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£¬¶øÇÒ²
Ïà¹ØÎĵµ£º
JAVAÃæÊÔÌ⼯- -
»ù´¡ÖªÊ¶£º
1.C++»òJavaÖеÄÒì³£´¦Àí»úÖƵļòµ¥ÔÀíºÍÓ¦Óá£
µ±JAVA³ÌÐòÎ¥·´ÁËJAVAµÄÓïÒå¹æÔòʱ£¬JAVA
ÐéÄâ»ú¾Í»á½«·¢ÉúµÄ´íÎó±íʾΪһ¸öÒì³£¡£Î¥·´ÓïÒå¹æÔò°üÀ¨2ÖÖÇé¿ö¡£Ò»ÖÖÊÇJAVAÀà¿âÄÚÖõÄÓïÒå¼ì²é¡£ÀýÈçÊý×éϱêÔ½½ç,»áÒý·¢
IndexOutOfBoundsException;·ÃÎÊnullµÄ¶ÔÏóʱ»áÒý·¢NullPointerExcepti ......
³£¼ûµÄJAVA³ÌÐò°üÀ¨ÒÔÏÂÀà±ð£º
*Ö±½ÓÔÚconsoleÉÏÔËÐеÄÀà(°üÀ¨¿ÉÊÓ»¯½çÃæµÄÀà)
*JSP´úÂëÀࣨע£ºJSPÊÇServletsÀàµÄ±äÐÍ£©
*ServeletsÀà
*EJBÀà
*ÆäËü²»¿ÉÒÔÖ±½ÓÔËÐеÄÖ§³ÖÀà
ÕâЩÀàÎļþÖУ¬¶¼ÓпÉÄܺ¬ÓÐÖÐÎÄ×Ö·û´®£¬²¢ÇÒ³£ÓÃÇ°ÈýÀàJAVA³ÌÐòºÍÓû§Ö±½Ó½»»¥£¬ÓÃÓÚÊä³öºÍÊäÈë×Ö·û£¬È磺ÔÚJSPºÍServletÖеõ½¿Í»§ ......
1¡¢ÐòÁл¯ÊǸÉʲôµÄ£¿
¼òµ¥Ëµ¾ÍÊÇΪÁ˱£´æÔÚÄÚ´æÖеĸ÷ÖÖ¶ÔÏóµÄ״̬£¨Ò²¾ÍÊÇʵÀý±äÁ¿£¬²»ÊÇ·½·¨£©£¬²¢ÇÒ¿ÉÒ԰ѱ£´æµÄ¶ÔÏó״̬ÔÙ¶Á³öÀ´¡£ËäÈ»Äã¿ÉÒÔÓÃÄã×Ô¼ºµÄ¸÷ÖÖ¸÷ÑùµÄ·½·¨À´±£´æobject states£¬µ«ÊÇJava¸øÄãÌṩһÖÖÓ¦¸Ã±ÈÄã×Ô¼ººÃµÄ±£´æ¶ÔÏó״̬µÄ»úÖÆ£¬ÄǾÍÊÇÐòÁл¯¡£
2¡¢Ê²Ã´Çé¿öÏ ......
public class DealLockTest implements Runnable {
static String i = new String();
static String j = new String();
private String str = null;
public DealLockTest(String str) {
this.str = str;
}
public static void main(String[] args) {
new Thread(new DealLockTest("i")).start( ......
1.ʹÓÃJFrameµÄenableEventsºÍprocessWindowEvent
//Frame1.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
this.setSize(ne ......