java퉀ÏÈÉùÃ÷һϣ¬ÌâĿԳöÓÚ£ºhttp://gocom.primeton.com/modules/newbb/item60284_60284.htm
JVMÊÇJava³ÌÐòµÄÔËÐл·¾³£¬Òò´Ë¶ÔÓÚJVMµÄÕÆÎÕÓÐÖúÓÚÀí½âJava³ÌÐòµÄÖ´ÐÐÒÔ¼°±àд£¬ÓÈÆäÊÇÔËÐÐʱÅöµ½µÄһЩ¹îÒìÎÊÌ⣬ÄÇôÔõôÑùÄÜ¿¼²ì×Ô¼º¶ÔÓÚJVM¹Ø¼ü֪ʶµãµÄÕÆÎÕÇé¿ö£¬°ïÖúѧϰJVM»úÖÆÄØ£¬ÔÚÕâÆªblogÖÐÀ´Ì½ÌÖÏ¡£
¶ÔÓÚJava³ÌÐò¶øÑÔ£¬JVMµÄ¹Ø¼ü»úÖÆÓУº×Ö½ÚÂëµÄ¼ÓÔØ¡¢·½·¨µÄÖ´ÐС¢¶ÔÏóÄÚ´æµÄ·ÖÅäºÍ»ØÊÕ¡¢Ï̺߳ÍËø»úÖÆ£¬Õ⼸¸ö»úÖÆÉæ¼°µ½µÄjvmµÄ֪ʶµãԶûÓÐдÕ⼸¸ö×ÖÕâô¼òµ¥£¬ÀïÃæµÄ¸´ÔÓ¶È»¹ÊǷdz£¸ßµÄ¡£
×Ö½ÚÂëµÄ¼ÓÔØ
JVMͨ¹ýClassLoaderÀ´Íê³É×Ö½ÚÂëµÄ¶¯Ì¬¼ÓÔØ£¬ÕâÀïÃæÉæ¼°µ½µÄÖ÷ÒªÊÇClassLoaderµÄË«Ç×ίÅÉ¡¢ClassLoaderµÄ±àд·½·¨¡¢ClassÊÇ·ñ±»¼ÓÔØµÄΨһ±êʶÒÔ¼°ClassµÄ¼ÓÔØ¹ý³Ì¡£
ÔÚ¿¼²ìµÄʱºòÎÒ¾õµÃ¿ÉÒÔÒÔÕâôÁ½µÀ¼òµ¥µÄÌâÀ´¿¼²ì£º
1¡¢Ð´Ò»¶Î½«Ä¿Â¼ÖÐÖ¸¶¨µÄ.classÎļþ¼ÓÔØµ½JVMµÄ³ÌÐò£¬²¢Í¨¹ýClass¶ÔÏó»ñÈ¡µ½ÍêÕûÀàÃûµÈÐÅÏ¢£»
2¡¢Ò»¶Îչʾ´úÂ룬ÀïÃæ°üº¬Ò»¸öÈ«¾Ö¾²Ì¬ÕûÐͱäÁ¿£¬ÎÊÈç¹ûÓÃÁ½¸öClassLoader¼ÓÔØ´Ë¶ÔÏó£¬Ö´ÐÐÕâ¸öÕûÐͱäÁ¿++²Ù×÷ºó½á¹û»áÊÇÔõôÑùµÄ£¿
·½·¨µÄÖ´ÐÐ
JVMÓÐ×Ô¼ºµÄÒ»Ì×Ö¸Áîϵͳ£¬×Ö½ÚÂëÖм´ÒѾÊÇÖ¸ÁîÁË£¬ÐèÒª´ó¸ÅÕÆÎÕÁËJVM¶Ôstatic¡¢interface¡¢instance¡¢¹¹ÔìÆ÷²ÉÓõIJ»Í¬µÄÖ´Ðз½·¨£¬ÁíÍâ¾ÍÊÇJVMÖз´ÉäµÄʵÏÖ£¨¿ÉÒÔÒÔSun JDKÀ´¾ÙÀý£©¡¢¶¯Ì¬´úÀíµÄʵÏÖ£¬×îºóÏà¹ØµÄ¾ÍÊÇJVMÖ´ÐÐ×Ö½ÚÂëµÄ·½Ê½£¨½âÊÍ¡¢JIT¡¢Hotspot£©£¬ÒÔ¼°Ê²Ã´Ê±ºò´¥·¢±àÒë³É»úÆ÷Â룬ÈçºÎ¿ØÖÆ¡£
ÔÚ¿¼²ìµÄʱºòÎÒ¾õµÃ¿ÉÒÔÒÔÕâôÈýµÀÌâÀ´¿¼²ì£º
1¡¢A a=new A();a.execute();ºÍIA a=new A();a.execute();Ö´ÐÐÓÐʲô²»Í¬£»
2¡¢·´ÉäµÄÐÔÄܵ͵ÄÔÒòÊÇ£¿
3¡¢±àдһ¶Î³ÌÐò£¬¶¯Ì¬µÄ´´½¨Ò»¸ö½Ó¿ÚµÄʵÏÖ£¬²¢¼ÓÔØµ½JVMÖÐÖ´ÐУ»£¨¿ÉÒÔÔÊÐíÓÃBCELµÈ¹¤¾ß£©
¶ÔÏóÄÚ´æµÄ·ÖÅäºÍ»ØÊÕ
Õâ¿éÉæ¼°µÄ֪ʶµãÒ²ÊDZȽϵĶ࣬ÀýÈçJVMÄÚ´æÇøÓòµÄ»®·Ö¡¢×ÔÈ»ÀàÐͺÍÒýÓÃÀàÐ͵ÄÄÚ´æ·ÖÅäµÄ²»Í¬¡¢TLAB¡¢GCµÄËã·¨¡¢Sun JDK¶ÔÓÚGCµÄʵÏÖ¡¢GC´¥·¢µÄʱ»ú¡¢GCµÄ¸ú×ٺͷÖÎöµÄ·½·¨¡£
ÔÚ¿¼²ìµÄʱºòÎÒ¾õµÃ¿ÉÒÔÒÔÕâôÈýµÀÌâÀ´¿¼²ì£º
1¡¢¾µäµÄString±È½Ï³ÌÐòÌ⣺
String a="a";
String b="b";
String ab="ab";
(a+b)==ab; ?? (ÒýÉîÌ⣬ÈçºÎ²ÅÄÜÈÃ(a+b)==ab£©
("a"+"b")==ab; ??
2¡¢Ð´Ò»¶Î³ÌÐò£¬ÈÃÆäOutOfMemory£¬»òƵ·±Ö´ÐÐMinor GC£¬µ«ÓÖ²»´¥·¢Full GC£¬ÓÖ»òƵ·±Ö´ÐÐFull GC£¬µ«²»Ö´ÐÐminor GC£¬¶øÇÒ²
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
Õâ²»ÊÇʲô½Ì²Ä£¬±ÊÕßÓÐʱ»áÔÚÂÛ̳ÉÏÇÆÇÆ£¬¿´µ½²»ÉÙ³õѧÕßÎʵ½ºÜ¶àÎÊÌ⣬ÕâЩÎÊÌâÊÇjava³ÌÐòÔ±Ó¦¸Ã¶®µÃµÄ£¬¶øÒ»°ãÊéÉϲ»»á½²µ½»òÕßÒ»±Ê´ø¹ýµÄ֪ʶ¡£Òò´Ë¶·µ¨Í¿Ñ»Ò»ÆªÎÄÕ£¬°ÑÏë˵µÄÔÚÕâÀïÒ»¿ÚÆøËµÍê¡£ÕâÒ²ÊDZ¾È˵ÚÒ»´Îд¼¼ÊõÐÔµÄÎÄÕ£¬Îıʲ»³©Ö®Í⣬»¹Çë¸÷λ¼ûÁ¡£
Ê×ÏȽ²Çå³þÀàºÍ¶ÔÏóµÄÇø±ð¡£
ÀàÊǹ㷺µÄ¸ÅÄ±íʾһ¸ö ......
1.±à³Ì½ç×îÖøÃûµÄÒ»¾ä»°“Hello world!”,ÈκÎÒ»¸ö³ÌÐòÔ±Æð²½Ê±±ØÓöµÄÓï¾ä
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Hello World!");
......
JAVA³ÌÐòÔ±ÃæÊÔ32ÎÊ
µÚÒ»£¬Ì¸Ì¸final, finally, finalizeµÄÇø±ð¡£
final ÐÞÊηû£¨¹Ø¼ü×Ö£©Èç¹ûÒ»¸öÀà±»ÉùÃ÷Ϊfinal£¬Òâζ×ÅËü²»ÄÜÔÙÅÉÉú³öеÄ×ÓÀ࣬²»ÄÜ×÷Ϊ¸¸Àà±»¼Ì³Ð¡£Òò´ËÒ»¸öÀ಻Äܼȱ»ÉùÃ÷Ϊ abstractµÄ£¬ÓÖ±»ÉùÃ÷ΪfinalµÄ¡£½«±äÁ¿»ò·½·¨ÉùÃ÷Ϊfinal£¬¿ÉÒÔ±£Ö¤ËüÃÇÔÚʹÓÃÖв»±»¸Ä±ä¡£±»ÉùÃ÷ΪfinalµÄ±äÁ¿±ØÐëÔÚÉù ......
ʹÓà java ½øÐÐÎļþ¿½±´ ÏàÐźܶàÈ˶¼»áÓÃ,,²»¹ýЧÂÊÉÏÊÇ·ñ×îºÃÄØ?
×î½ü¿´ÁË¿´NIO¾ö¶¨ÊÔÒ»ÊÔ java NIO µ½µ×ÓÐʲôÐÔÄܵÄÌáÉý.
µÚÒ»ÖÖ·½·¨:¹ÅÀϵķ½Ê½
public static long forJava(File f1,File f2) throws Exception{
long time=new Date().getTime();
int length=2097152;
FileInp ......