Effective Java¶ÁÊé±Ê¼Ç
package chape8;
import java.math.BigDecimal;
/**
* 8-48
* Èç¹ûÏëÒªÖªµÀ¾«È·µÄ´ð°¸£¬¾ÍÒª±ÜÃâʹÓÃdoubleºÍfloat
¶ÔÓÚ½ðÈÚÐÐÒµÀ´Ëµ£¬¶ÔÊý¾ÝµÄÑÏÕûÐÔÒªÇóÊǺܸߵģ¬²»ÈÝ°ëµãÂí»¢£¬
ÄÇ´ó¼Ò¶¼ÖªµÀÔÙÎÒÃǵÄJavaÓïÑÔÀïÃæÓÐÁ½¸ö¸¡µãÊýÀàÐ͵ıäÁ¿floatºÍdouble£¬
¿ÉÄÜ´ó¼Ò»áÈÏΪËûÃǵľ«¶È¶ÔÓÚ½ðÈÚÐÐÒµÕâÑù¶ÔÊý×ÖÃô¸ÐµÄÐÐÒµÀ´Ëµ£¬ÒѾ¹»ÓÃÁË£¬
µ«ÊÇÔÚ¿ª·¢µ±ÖУ¬ÎÒÃÇÒª¾¡Á¿ÉÙʹÓÃdoubleºÍfloat£¬ÒòΪÈÃËûÃǾ«È·µÄ±í´ï0.1ÊDz»¿ÉÄܵġ£
ÄÇÎÒÃÇÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¬
´ð°¸ÊÇʹÓÃBigDecimal,int»òÕßlong½øÐлõ±Ò¼ÆËã¡£
ÔÚÕâÀï¶Ô´ó¼ÒµÄÖÒ¸æÊÇ£º
floatºÍdouble ÀàÐÍÓÈÆä²»ÊʺÏÓÃÓÚ»õ±Ò¼ÆË㣻ÒòΪÈÃÒ»¸öfloat»òÕßdouble
¾«È·µØ±íʾ0.1»òÕß10µÄÈκÎÆäËû¸ºÊý´Î·½Öµ£¬¶¼ÊDz»¿ÉÄܵģ»
* @author lee
*
*/
public class Chape48 {
/**
* @param args
*/
public static void main(String[] args) {
/**
* À´¿´Ò»¸öÀý×Ó
* Äã¿Ú´üÀïÓÐ1ÃÀÔª£¨100ÃÀ·Ö£©£¬Äã´òËãÂòÌÇ£¬Ìǵļ۸ñΪ10ÃÀ·Ö20ÃÀ·Ö
* 30ÃÀ·ÖµÈµÈ Ò»Ö±µ½1ÃÀ·Ö Äã´òËã´Ó10ÃÀ·ÖµÄ¿ªÊ¼Âò£¬Ã¿ÖÖ¼Û¸ñÖ»ÂòÒ»¸ö
* ÄÇÄãÄÜÂò¼¸¸öÌÇÄØ£¿ÄÜÕһضàÉÙÄØ£¿
*/
/* double sum = 1;
int count = 0 ;
for(double x = .10;x<sum;x+=.10)
{
sum-=x;
count++;
}
System.out.println(sum);
System.out.println(count);*/
/**
* Êä³ö½á¹ûÊÇ
* 0.3999999999999999ºÍ3
* ÎÒÃÇÓÃÊÖËãһϠ100-10-20-30=40
* ÄǾÍÊÇ˵ÎÒÃÇ»¹¿ÉÒÔÂòÒ»¸ö.40µÄÌÇ ÄÇô³ÌÐòÄÇÀï´íÁË£¿
* ´íÎó¾ÍÔÚÓÚÎÒÃÇÓÃÁËdouble
* ½â¾ö°ì·¨¾ÍÊÇÓÃBigDecimal »òÕßint »òÕßlong ½øÐлõ±ÒµÄ¼ÆËã
*/
BigDecimal sum1 = new BigDecimal("1");
BigDecimal price = new BigDecimal(".10");
int count1 = 0 ;
for(BigDecimal b = price;sum1.compareTo(b) >=0 ;b=b.add(price))
{
sum1 = sum1.subtract(b);
count1++;
}
System.out.println(sum1);
System.out.println(count1);
/**
* Êä³ö½á¹û0.00ºÍ4 ÕâÑù¾ÍÕýÈ·ÁË
* ¹ØÓÚBigDecimalµÄ·½·¨ÎÒÃÇÏÂÈ¥ÔÙ×Ðϸ¿´¿´£»
* ÕâÀïҪ˵µÄÊÇBigDecimalÊÇÒýÓÃÊý¾ÝÀàÐÍ
*/
/**
* ×ܶøÑÔÖ®£º ¶ÔÓÚÈκÎÒª¾«È·´ð°¸µÄ¼ÆËãÈÎÎñ£¬Çë²»ÒªÓÃdoubleºÍfloat£¬Èç¹ûÄãÏë
* ¼ÆËãÊ®½øÖÆСÊýµã£¬²¢ÇÒ²»½éÒâ·Ç»ù±¾ÀàÐÍ´øÀ´µÄ²»±ã£¬ÄǾÍÓÃBigDecimal£»Ê¹ÓÃ
* BigDecimal»¹Óиö¶îÍâµÄºÃ´¦¾ÍÊÇËûÔÊÐíÄãÍêÈ«¿ØÖÆÉáÈ룬ÿµ±Ò»¸ö²Ù×÷Éæ¼°
Ïà¹ØÎĵµ£º
Ê×ÏÈÈ·¶¨ÓõÄServlet / JSPµÄ°æ±¾¡£
²é¿´web.xmlµÄ¿ªÍ·²¿·Ö£¬Èç¹ûÓÐÒÔÏÂÄÚÈÝ£¬±íʾÊÇServlet 2.4 / JSP 2.0¡£
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.s ......
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ ......
3.package com.ncs.opts.tools;
import java.util.HashMap;
import java.util.Map;
import com.ncs.opts.common.icp.dao.po.audit.IcpMainHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpModifyHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpSiteAccessHistory;
import com.ncs.opts.common.i ......
JavaµÚÈý·½library ecosystemÊÇÒ»¸öºÜ¹ãÀ«µÄ·¶³ë¡£²»¾ÃÇ°ÓÐÈË׫ÎÄ£ºÃ¿¸öÏîÄ¿ÖУ¬Äã±ØÐëÖªµÀµÄ11¸öJavaµÚÈý·½Àà¿â¡£
µ¥Ôª²âÊÔ
1.DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд³ö ......
package chape7;
/**
* 檢²é參數µÄÓÐЧÐÔ
* 當編寫·½·¨»òÕß構ÔìÆ÷時£¬應該¿¼慮ËûµÄ參數ÓÐʲ÷áÏÞÖÆ 應該°É這ЩÏÞÖÆ寫ÔÚÎÄ檔ÖУ¬並ÇÒÔÚ這個·½·¨µÄ開頭 ......