java³ÌÐòÄÚ´æÖ÷Òª·ÖΪÁË2¸ö²¿·Ö£¬°üÀ¨ stack segment(Õ»ÄÚ´æ)¡¢heap segment(¶ÑÄÚ´æ)¡£
ÔÚ·ÖÎöJava³ÌÐòÄÚ´æ·ÖÅäÇé¿öʱ£¬ÎÒÃÇ´ÓÏÂÃæÕâ¸ö¾³£±»Ê¹ÓõÄÀý×Ó¿ªÊ¼°É¡£
ÏÂÃæ³ÌÐò½«´òÓ¡Ê²Ã´ÄØ£¿
Java´úÂë
String s1 = new String("abc");
String s2 = new String("abc");
System.out.print(s1.equals(s2)); // 1
System.out.print(s1 == s2); // 2
¿ÉÄÜ´ó¼ÒÐÄÖÐÒѾÓдð°¸ÁË£¬µÚ1ÌõÓï¾ä´òÓ¡µÄÊÇtrue£¬µÚ¶þÌõÓï¾ä´òÓ¡µÄfalse£¬Ã»´í£¬ÕýÈç´ó¼ÒËùÏ룬´òÓ¡½á¹û¾ÍÊÇÕâÑù¡£ÄÇô£¬´ó¼ÒÊÇ·ñÖªµÀΪʲôµÚ2ÌõÓï¾ä´òÓ¡µÄÊÇfalseÄØ£¿ÈÃÎÒÃÇÀ´¿´¿´Õâ¸ö³ÌÐòÖеÄÊý¾ÝÔÚÄÚ´æÖзÖÅäµÄÇé¿ö°É¡£
Ê×ÏÈ£¬ÎÒÃÇ·ÖÎöµÚÒ»ÌõÓï¾äS ......
½«±ðÈ˵ÄÏîÄ¿»òJAVAÎļþµ¼Èëµ½×Ô¼ºµÄEclipseÖÐʱ£¬³£³£»á³öÏÖJAVAÎļþµÄÖÐÎÄ×¢Êͱä³ÉÂÒÂëµÄÇé¿ö£¬Ö÷ÒªÔÒò¾ÍÊDZðÈ˵ÄIDE±àÂë¸ñʽºÍ×Ô¼ºµÄEclipse±àÂë¸ñʽ²»Í¬¡£
×ܽáÍøÉϵĽ¨ÒéºÍ×Ô¼ºµÄÌå»á£¬¿ÉÒԲο¼ÒÔϼ¸ÖÖ½â¾ö·½Ê½£º
1 ¸Ä±äÕû¸öÎļþÀàÐ͵ıàÂë¸ñʽ
1) eclipse->window->preferences->General->Content Types
2) ÕÒµ½ÒªÐ޸ĵÄÎļþµÄÀàÐÍ(JAVA,JSPµÈµÈ)£¬ÔÚÏÂÃæÓиöDefault encoding£¬ÔÚÊäÈë¿òÖÐÊäÈëGBK
3) µã»÷Update
4) µã»÷OK
5) ÖØÆôeclipse
2 ¸Ä±äÕû¸öEclipse¹¤×÷¿Õ¼äµÄ±àÂë¸ñʽ
1) eclipse->window->preferences->General->workspaceTypes
2) ¸Ä±äÎı¾Îļþ±àÂë¸ñʽΪGBK
3 ¸Ä±äµ¥¸öÎļþµÄ±àÂë¸ñʽ
ÔÚ°ü×ÊÔ´¹ÜÀíÆ÷ÓÒ¼üµã»÷Îļþ->ÊôÐÔ£¬¸Ä±äÎı¾Îļþ±àÂë¸ñʽΪGBK
4 Èç¹ûÒÔÉϼ¸ÖÖ·½Ê½ÈÔ²»Äܽâ¾ö£¬¿ÉÒÔÏÂÃæÕâ¸ö²»µÃÒѵİ취£º
ÓÃEditplus´ò¿ªÒª×ªÂëµÄÎļþ£¬Èç¹ûÔÚEditplusÖÐûÓÐÂÒÂ룬¿ÉÖ ......
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http://www.developer.com/java] – ÓÉGamelan.com ά»¤µÄJava¼¼ÊõÎÄÕÂÍøÕ¾.
5.[http://www.java.net] – Sun¹«Ë¾Î¬»¤µÄÒ»¸öJavaÉçÇøÍøÕ¾.
6.[http://www.builder.com] – CnetµÄBuilder.comÍøÕ¾ – ËùÓеļ¼ÊõÎÄÕÂ, ÒÔJavaΪÖ÷.
7.[http://www.ibm.com/developerworks/java] – IBMµÄDeveloperworks¼¼ÊõÍøÕ¾; ÕâÊÇÆäÖеÄJava¼¼ÊõÖ÷Ò³.
8.[http://www.javaworld.com] – ×îÔçµÄÒ»¸öJavaÕ¾µã. ÿÖܸüÐÂJava¼¼ÊõÎÄÕÂ.
9.[http://www.devx.com/java] – DevXά»¤µÄÒ»¸öJava¼¼ÊõÎÄÕÂÍøÕ¾.
10.[http://www.fawcette.com/javapro] – JavaProÔÚÏßÔÓÖ¾ÍøÕ¾.
11.[http://www.sys-con.com/java] – Java Developers JournalµÄÔÚÏßÔÓÖ¾ÍøÕ¾.
12.[http://www.javadesktop.org] &nd ......
ÔÎÄ£ºDependency Injection in Java EE 6 – Part 1
×÷ÕߣºReza Rahman
³ö´¦£ºhttp://www.theserverside.com/tt/articles/article.tss?l=DependencyInjectioninJavaEE6
ÕâÒ»ÎÄÕÂϵÁнéÉÜÁËJava EEµÄÉÏÏÂÎĺÍÒÀÀµ×¢È루Contexts and Dependency Injection for Java EE£¬CDI£©£¬CDIÊǼ´½«Íê³ÉµÄJava EE 6ƽ̨µÄ¹Ø¼ü×é³É²¿·Ö£¬¾ÓÉJSR 299½øÐбê×¼»¯¡£CDIÊÇJava EEÕû¸öÏÂÒ»´úÀàÐͰ²È«µÄÒÀÀµ×¢ÈëµÄÊÂʵÉϵÄAPI¡£JSR 299ÓÉGavin KingÁìµ¼£¬ÆäÄ¿±êÊÇ×ÛºÏÀ´×ÔÖîÈçSeam¡¢GuiceºÍSpringÒ»ÀàµÄ½â¾ö·½°¸µÄ×îºÃµÄÒÀÀµ×¢È빦ÄÜ£¬Í¬Ê±¼ÓÈëÐí¶à×Ô¼ºµÄÓÐÓô´Ð¡£
±¾ÎÄÊÇÎÄÕÂϵÁеĵÚһƪ£¬ÎÒÃÇ´òËã´ÓÒ»¸ö¸ß²ãÃæÀ´Ñо¿CDI£¬¿´¿´ËüÊÇÈçºÎÓëJava EEÕûÌåÏàÅäºÏµÄ£¬²¢ÌÖÂÛ»ù´¡µÄÒÀÀµ¹ÜÀí¼°×÷ÓÃÓò¡£ÔÚÕâһϵÁÐÎÄÕµĽéÉܹý³ÌÖУ¬ÎÒÃÇ»áÉæ¼°×é¼þÃüÃû¡¢°æÐÍ£¨stereotype£©¡¢Éú²úÕߣ¨producer£©¡¢´¦ÖÃÕߣ¨disposer£©¡¢×°ÊÎÆ÷£¨decorator£©¡¢À¹½ØÆ÷£¨interceptor£©¡¢Ê¼þ¡¢ÓÃÓÚ¿ÉÒÆÖ²À©Õ¹µÄCDI APIµÈ£¬ÒÔ¼°¸ü¶àÖîÈç´ËÀàµÄ¹¦ÄÜ¡£ÎÒÃÇ»¹½«ÌÖÂÛCDIÈçºÎÓëSeam¡¢SpringÒÔ¼°Guice±£³ÖÒ»Ö£¬²¢Í¨¹ýһЩʹÓÃCanDIµÄʵÏÖϸ½ÚÀ´²¹³äÕâÒ»ÌÖÂÛ¡£CanDIÊÇCaucho¶ÔJSR299µÄ¶ÀÁ¢ÊµÏÖ£¬±»ÊÕÈëµ½ResinÓ¦Ó ......
ÎÒ¸Õ´ÓÔÚAntwerpÕÙ¿ªµÄDevoxx
´ó»áÉÏ»ØÀ´£¬»áÉϽéÉÜÁËJava7µÄÐÂÌØÐÔ£¬¶ÔÓ¦µÄJDK½«ÓÚ2010Äê9Ô·¢²¼¡£
ÏÂÃæÊÇ7¸öÒѾÍê³ÉµÄÐÂÌØÐÔ£º
¶ÔcollectionsµÄÓïÑÔ¼¶Ö§³Ö
×Ô¶¯×ÊÔ´¹ÜÀí
¸Ä½ø·ºÐÍÔÚ´´½¨ÊµÀýʱµÄÀàÐÍÒýÓÃ
´øÏ»®ÏßµÄÊý×Ö
ÔÚswitchÖÐʹÓÃString
¶þ½øÖÆÎÄ×Ö
¼ò»¯µÄ¿É±ä²ÎÊý·½·¨µ÷ÓÃ
Java7»¹ÓкܶàÆäËûµÄÐÂÌØÐÔ£¬ÎÒ½«»á¶Ô´Ë½øÐÐ×·×Ù¡£
¶ÔCollectionsµÄÓïÑÔ¼¶Ö§³Ö
Java½«»á³ÉΪµÚÒ»¸ö¶ÔCollections´´½¨Ìṩ֧³ÖµÄÓïÑÔ¡£ÕâÒâζ×ÅÔÚjavaÖпÉÒÔÏñRuby, PerlÄÇÑù´´½¨collection¡£
Java7֮ǰµÄ´úÂ룺
view plain
copy to clipboard
print
?
List<String> list =
new
ArrayList<String>();
list.add("item"
);
String item = list.get(0
);
Set<String> set = new
HashSet<String>();
set.add("item"
);
Map<String, Integer> map = new
HashMap<String, Integer>();
map.put("key"
,
1
); ......
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄ Java ÀíÂÛÓëʵ¼ù
ÖУ¬Brian Goetz ½«½éÉܼ¸ÖÖÕýȷʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Õë¶ÔÆäÊÊÓÃÐÔÏÞÖÆÌá³öһЩ½¨Òé¡£
Java ÓïÑÔÖÐµÄ volatile ±äÁ¿¿ÉÒÔ±»¿´×÷ÊÇÒ»ÖÖ “³Ì¶È½ÏÇáµÄ synchronized
”£»Óë synchronized
¿éÏà±È£¬volatile ±äÁ¿ËùÐèµÄ±àÂë½ÏÉÙ£¬²¢ÇÒÔËÐÐʱ¿ªÏúÒ²½ÏÉÙ£¬µ«ÊÇËüËùÄÜʵÏֵŦÄÜÒ²½öÊÇ synchronized
µÄÒ»²¿·Ö¡£±¾ÎĽéÉÜÁ˼¸ÖÖÓÐЧʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Ç¿µ÷Á˼¸ÖÖ²»ÊʺÏʹÓà volatile ±äÁ¿µÄÇéÐΡ£
ËøÌṩÁËÁ½ÖÖÖ÷ÒªÌØÐÔ£º»¥³â£¨mutual exclusion£©
ºÍ¿É¼ûÐÔ£¨visibility£©
¡£
»¥³â¼´Ò»´ÎÖ»ÔÊÐíÒ»¸öÏ̳߳ÖÓÐij¸öÌØ¶¨µÄËø£¬Òò´Ë¿ÉʹÓøÃÌØÐÔʵÏÖ¶Ô¹²ÏíÊý¾ÝµÄе÷·ÃÎÊÐÒ飬ÕâÑù£¬Ò»´Î¾ÍÖ»ÓÐÒ»¸öÏß³ÌÄܹ»Ê¹Óøù²ÏíÊý¾Ý¡£¿É¼ûÐÔÒª¸ü¼Ó
¸´ÔÓһЩ£¬Ëü±ØÐëÈ·±£ÊÍ·ÅËøÖ®Ç°¶Ô¹²ÏíÊý¾Ý×ö³öµÄ¸ü¸Ä¶ÔÓÚËæºó»ñµÃ¸ÃËøµÄÁíÒ»¸öÏß³ÌÊǿɼûµÄ ——
Èç¹ûûÓÐͬ²½»úÖÆÌṩµÄÕâÖֿɼûÐÔ±£ ......