Effective Java ѧϰ±Ê¼Ç£¨3£©
ÔÚʵÏÖsingletonģʽʱ£¬ÎÒÃÇÓÐÒÔϼ¸ÖÖ·½·¨¡£ 1. public static final ×ֶμÓÉÏprivate µÄ¹¹Ô캯Êý¡£ public class Singleton{
public static final Singleton INSTANCE = new Singleton();
private Singleton() { ... }
} ÕâÖÖ·½·¨¼òµ¥£¬ÆäÖеÄ×Ö¶ÎÈÃÈËһĿÁËÈ»¾ÍÖªµÀÕâ¸öÀàÊÇSingletonģʽ£¬ÓÃfinal¹Ø¼ü×ÖÈ·±£Õâ¸ö±äÁ¿ÔÚ³õʼ»¯ºó¾Í²»»áÔÙ±»¸ü¸Ä£¬µ«Òª×¢ÒâµÄÊÇСÐÄ·ÀÖ¹ÉÙÊý±ðÓÐÓÃÐĵijÌÐòʹÓÃAccessibleObject.setAccessibleÀ´·ÃÎÊ˽Óй¹Ô캯Êý£¬Õâʱ¿ÉÒÔÔÚ˽Óй¹Ô캯ÊýÖÐÅжϵ±´´½¨µÚ¶þ¸öʵÀýµÄʱºòÅ׳öÒ»¸öÒì³£¡£ 2. private static final ×ֶμÓÉÏprivate µÄ¹¹Ô캯ÊýÔÙ¼ÓÉÏpublic ¾²Ì¬¹¤³§º¯Êý public class Singleton{
private static final Singleton INSTANCE = new Singleton();
private Singleton() { ... }
public static Singleton getInstance{}{return INSTANCE;} } ÕâÖÖ·½Ê½²»Óõ£ÐÄÐÔÄÜÎÊÌ⣬ÒòΪÏÖÔÚµÄJVM»á°Ñ¾ø´ó¶àÊýµÄ¾²Ì¬¹¤³§º¯Êý¸ÄΪÄÚÁª¡£´ËÍ⣬ÕâÖÖ·½·¨»¹¿ÉÒÔÔÚ²»¸Ä±äAPIµÄÇé¿ö϶Էµ»ØÖµ½øÐиı䣬¼´ÔÚÒÔºó¸ù¾ÝÐèÒªÊÇ·ñ·µ»ØµÚ¶þ¸öʵÀý£¬»òÊÇÿ¸öÏß³ÌÒ»¸öʵÀý¡£ ¶ÔÓÚÒÔÉÏÁ½ÖÖ·½·¨ÔÚ´®Ðл¯µÄʱºòҪעÒ⣬²»Äܽö½öÖ»¼ÓÉÏimplements Serializable½Ó¿Ú£¬ÕâÑù»áµ¼ÖÂÿ´Î·´ÐòÁл¯µÄʱºò´´½¨Ò»¸öжÔÏó£¬ÕâÑù¾Í²»ÊÇÕæÕýµÄsingletonÁË£¬½â¾öÕâ¸öÎÊÌâµÄ·½·¨ÊÇÔÚÉùÃ÷µÄʱºò¶Ôÿһ¸öfinal×ֶμÓÉÏtransient¹Ø¼ü×Ö£¬È»ºóÔÙʵÏÖÒ»¸öreadResolve·½·¨¡£ private Object readResolve() {
return INSTANCE;
} ¶ÔÓÚjava 1.5ºóµÄ°æ±¾£¬ÊµÏÖsingletonģʽ×îºÃµÄ·½·¨ÊÇÓÃö¾Ù¡£
public enum Singleton {
INSTANCE; } ÕâÖÖ·½·¨Ã»ÓÐÉÏÃæËµµÄȱµã£¬ÊÇ×îÓŵķ½·¨¡£
Ïà¹ØÎĵµ£º
¶ÔÓÚ½«ÒªÊ¹ÓõÄJSP¹æ·¶µÄÒ»¸öÌØµã£¬¾ÍÊÇJSP±í´ïʽÓïÑÔ¡£Ôںܴó³Ì¶ÈÉÏ£¬ËüÊÇÓÐÒâ¼ò»¯µÄ£¬²¢¶ÀÁ¢ÓÚJSP¡£
ÔÚJSPµÄÔçÆÚ°æ±¾ÖУ¬Java´úÂëÒԽű¾µÄÐÎʽǶÈëµ½JSPÒ³ÃæÖУ¬ÀýÈ磺
<%
MyBean bean = new MyBean();
String name = bean.getName();
out.println(name);
%>
Õâ¸ö½Å±¾´úÂëн¨ÁËÒ»¸öÃûΪMyBeanµÄʵÀý£¬»ñµÃË ......
ÀûÓÃJNI¼¼Êõ£¬¿ÉÒÔ×öµ½C/C++ÓëJavaÖ®¼äµÄÏ໥µ÷Óá£
1¡¢Javaµ÷ÓÃC/C++½Ó¿Ú
Õâ¸öÊÇJNI×î»ù±¾µÄÓ¦Óã¬JNIÓкܶàÕâ·½ÃæµÄÀý×Ó´úÂë¡£Ò»°ã°ÑC/C++д³É¶¯Ì¬Á´½Ó¿â£»ÔÚJava³ÌÐòÔÚLoadLibrary£¬ÀûÓÃnative½Ó¿Ú£¬¼´¿ÉÍê³Éµ÷Óá£
2¡¢C/C++»Øµ÷Java½Ó¿Ú
ÕâÖÖÓ÷¨£¬JNIµÄÀý×ӱȽÏÉÙ¡£Æäʵ£¬Ò²±È½Ï¼òµ¥£¬JNIÒ²ÌṩÁËÕâÑùµÄ½Ó¿Ú¡ ......
1.PaginationTable.java
package com.sinoest.train.common;
import java.util.List;
/**
* ·ÖÒ³±í
* @author ÀîÒ×烜-ÐÞ¸Ä
* 2009-6-17
*/
public class PaginationTable {
private List<?> entryList;//> Êý¾Ý
private int totalNumOfRows;// ×ÜÐÐÊý
private int rowsPerPage = 10;// ......
Java6 ½Å±¾ÒýÇæ(ÓÃJavaµ÷ÓÃJS½Å±¾)µ÷ÓÃjs
import java.io.FileNotFoundException;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
&n ......
Java ±à³Ì¼¼ÊõÖкº×ÖÎÊÌâµÄ·ÖÎö¼°½â¾ö
ÏÖÔÚ Java ±à³ÌÓïÑÔÒѾ¹ã·ºÓ¦ÓÃÓÚ»¥ÁªÍøÊÀ½ç£¬ÔçÔÚ Sun ¹«Ë¾¿ª·¢ Java ÓïÑÔµÄʱºò£¬¾ÍÒѾ¿¼Âǵ½¶Ô·ÇÓ¢ÎÄ×Ö·ûµÄÖ§³ÖÁË¡£Sun ¹«Ë¾¹«²¼µÄ Java ÔËÐл·¾³£¨JRE£©±¾Éí¾Í·ÖÓ¢ÎİæºÍ¹ú¼Ê°æ£¬µ«Ö»Óйú¼Ê°æ²ÅÖ§³Ö·ÇÓ¢ÎÄ×Ö·û¡£²»¹ýÔÚ Java ±à³ÌÓïÑÔµÄÓ¦ÓÃÖУ¬¶ÔÖÐÎÄ×Ö·ûµÄÖ§³Ö²¢·ÇÈçͬ Java S ......