Java Stack Heap
stack ºÍ heep ¶¼ÊÇÄÚ´æµÄÒ»²¿·Ö
stack ¿Õ¼äС£¬ËٶȱȽϿ죬 ÓÃÀ´·Å¶ÔÏóµÄÒýÓÃ
heap ´ó£¬Ò»°ãËùÓд´½¨µÄ¶ÔÏó¶¼·ÅÔÚÕâÀï¡£
Õ»(stack):ÊÇÒ»¸öÏȽøºó³öµÄÊý¾Ý½á¹¹,ͨ³£ÓÃÓÚ±£´æ·½·¨(º¯Êý)ÖеIJÎÊý,¾Ö²¿±äÁ¿.
ÔÚjavaÖÐ,ËùÓлù±¾ÀàÐͺÍÒýÓÃÀàÐͶ¼ÔÚÕ»Öд洢.Õ»ÖÐÊý¾ÝµÄÉú´æ¿Õ¼äÒ»°ãÔÚµ±Ç°scopesÄÚ(¾ÍÊÇÓÉ{...}À¨ÆðÀ´µÄÇøÓò).
¶Ñ(heap):ÊÇÒ»¸ö¿É¶¯Ì¬ÉêÇëµÄÄÚ´æ¿Õ¼ä(Æä¼Ç¼¿ÕÏÐÄÚ´æ¿Õ¼äµÄÁ´±íÓɲÙ×÷ϵͳά»¤),CÖеÄmallocÓï¾äËù²úÉúµÄÄÚ´æ¿Õ¼ä¾ÍÔÚ¶ÑÖÐ.
ÔÚjavaÖÐ,ËùÓÐʹÓÃnew xxx()¹¹Ôì³öÀ´µÄ¶ÔÏó¶¼ÔÚ¶ÑÖд洢,µ±À¬»ø»ØÊÕÆ÷¼ì²âµ½Ä³¶ÔÏóδ±»ÒýÓÃ,Ôò×Ô¶¯Ïú»Ù¸Ã¶ÔÏó.ËùÒÔ,ÀíÂÛÉÏ˵javaÖжÔÏóµÄÉú´æ¿Õ¼äÊÇûÓÐÏÞÖÆµÄ,Ö»ÒªÓÐÒýÓÃÀàÐÍÖ¸ÏòËü,ÔòËü¾Í¿ÉÒÔÔÚÈÎÒâµØ·½±»Ê¹ÓÃ.
1. Õ»(stack)Óë¶Ñ(heap)¶¼ÊÇJavaÓÃÀ´ÔÚRamÖдæ·ÅÊý¾ÝµÄµØ·½¡£ÓëC++²»Í¬£¬Java×Ô¶¯¹ÜÀíÕ»ºÍ¶Ñ£¬³ÌÐòÔ±²»ÄÜÖ±½ÓµØÉèÖÃÕ»»ò¶Ñ¡£
2. Õ»µÄÓÅÊÆÊÇ£¬´æÈ¡ËٶȱȶÑÒª¿ì£¬½ö´ÎÓÚÖ±½ÓλÓÚCPUÖеļĴæÆ÷¡£µ«È±µãÊÇ£¬´æÔÚÕ»ÖеÄÊý¾Ý´óСÓëÉú´æÆÚ±ØÐëÊÇÈ·¶¨µÄ£¬È±·¦Áé»îÐÔ¡£ÁíÍ⣬ջÊý¾Ý¿ÉÒÔ¹²Ïí£¬Ïê¼ûµÚ3µã¡£¶ÑµÄÓÅÊÆÊÇ¿ÉÒÔ¶¯Ì¬µØ·ÖÅäÄÚ´æ´óС£¬Éú´æÆÚÒ²²»±ØÊÂÏȸæËß±àÒëÆ÷£¬JavaµÄÀ¬»øÊÕ¼¯Æ÷»á×Ô¶¯ÊÕ×ßÕâЩ²»ÔÙʹÓõÄÊý¾Ý¡£µ«È±µãÊÇ£¬ÓÉÓÚÒªÔÚÔËÐÐʱ¶¯Ì¬·ÖÅäÄڴ棬´æÈ¡ËٶȽÏÂý¡£
3. JavaÖеÄÊý¾ÝÀàÐÍÓÐÁ½ÖÖ¡£
Ò»ÖÖÊÇ»ù±¾ÀàÐÍ(primitive types), ¹²ÓÐ8ÖÖ£¬¼´int, short, long, byte, float, double, boolean, char(×¢Ò⣬²¢Ã»ÓÐstringµÄ»ù±¾ÀàÐÍ)¡£ÕâÖÖÀàÐ͵͍ÒåÊÇͨ¹ýÖîÈçint a = 3; long b = 255L;µÄÐÎʽÀ´¶¨ÒåµÄ£¬³ÆÎª×Ô¶¯±äÁ¿¡£ÖµµÃ×¢ÒâµÄÊÇ£¬×Ô¶¯±äÁ¿´æµÄÊÇ×ÖÃæÖµ£¬²»ÊÇÀàµÄʵÀý£¬¼´²»ÊÇÀàµÄÒýÓã¬ÕâÀﲢûÓÐÀàµÄ´æÔÚ¡£Èçint a = 3; ÕâÀïµÄaÊÇÒ»¸öÖ¸ÏòintÀàÐ͵ÄÒýÓã¬Ö¸Ïò3Õâ¸ö×ÖÃæÖµ¡£ÕâЩ×ÖÃæÖµµÄÊý¾Ý£¬ÓÉÓÚ´óС¿ÉÖª£¬Éú´æÆÚ¿ÉÖª(ÕâЩ×ÖÃæÖµ¹Ì¶¨¶¨ÒåÔÚij¸ö³ÌÐò¿éÀïÃæ£¬³ÌÐò¿éÍ˳öºó£¬×Ö¶ÎÖµ¾ÍÏûʧÁË)£¬³öÓÚ×·ÇóËٶȵÄÔÒò£¬¾Í´æÔÚÓÚÕ»ÖС£
ÁíÍ⣬ջÓÐÒ»¸öºÜÖØÒªµÄÌØÊâÐÔ£¬¾ÍÊÇ´æÔÚÕ»ÖеÄÊý¾Ý¿ÉÒÔ¹²Ïí¡£¼ÙÉèÎÒÃÇͬʱ¶¨Ò壺
int a = 3;
int b = 3£»
±àÒëÆ÷ÏÈ´¦Àíint a = 3£»Ê×ÏÈËü»áÔÚÕ»Öд´½¨Ò»¸
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
¶¨Òå:¶¨ÒåÁËËã·¨×壬·Ö±ð·â×°ÆðÀ´£¬ÈÃËüÃÇÖ®¼ä¿ÉÒÔ»¥ÏàÌæ»»£¬´ËģʽÈÃËã·¨µÄ±ä»¯¶ÀÁ¢ÓÚʹÓÃËã·¨µÄ¿Í»§¡£
ÊÊÓÃÐÔ
Ðí¶àÏà¹ØµÄÀà½ö½öÊÇÐÐΪÓÐÒì¡£“²ßÂÔ”ÌṩÁËÒ»ÖÖÓöà¸öÐÐΪÖеÄÒ»¸öÐÐΪÀ´ÅäÖÃÒ»¸öÀàµÄËã·¨¡£
ÐèҪʹÓÃÒ»¸öËã·¨µÄ²»Í¬±äÌå¡£ÀýÈ磬Äã¿ÉÄܻᶨÒåһЩ·´Ó³²»ÈݵĿռä/ʱ¼äȨºâµÄËã·¨¡£µ±ÕâЩ±äÌåʵ ......
Ê×ÏÈÁ˽âÒ»ÏÂʲôÊÇQname
ÏÂÃæÊÇһƪдµÄ±È½ÏºÃµÄ¹ØÓÚQnameµÄ½éÉÜ£º
http://blog.csdn.net/fbysss/archive/2007/06/24/1664076.aspx
¿É¼ûQnameÖ÷ÒªÊÇ´¦ÀínamesapceµÄ£¬ÊÇÖ¸¾ßÓÐÌØ¶¨Ç°×ºµÄxml element¡£¶øÇÒQname¾ÍÊÇQualifiedNameµÄËõд£¬ËùÒÔQnameÔÚC#ÖжÔÓ¦µÄÓ¦¸ÃÊÇXmlQualifiedNameÕâ¸öÀà ......
¾Å javaÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(this¹Ø¼ü×Ö)
/**
* ÃæÏò¶ÔÏóÖ®ËÄ
* this¹Ø¼ü×Ö×ܽá
*/
/*this¹Ø¼ü×ֵĵÚÒ»ÖÖÓ÷¨*/
//ÔÚ·½·¨Öе÷ÓÃͬÀàÖеķ½·¨,ÕâʱµÄthis¿ÉÒÔÊ¡ÂÔ.
class ThisPointer
{
public void function1()
{
System.out.println("function1 is calling...");
......