JavaÄÚ´æ¹ÜÀí(¶þ¡¢JavaÀ¬»ø»ØÊÕ)
¶þ¡¢JavaÀ¬»ø»ØÊÕ
1. JVMÔËÐл·¾³ÖÐÀ¬»ø¶ÔÏóµÄ¶¨Òå
Ò»¸ö¶ÔÏó´´½¨ºó±»·ÅÖÃÔÚJVMµÄ¶ÑÄÚ´æÖУ¬µ±ÓÀÔ¶²»ÔÙÒýÓÃÕâ¸ö¶ÔÏóʱ£¬Ëü½«±»JVMÔÚ¶ÑÄÚ´æÖлØÊÕ¡£»ò µ±¶ÔÏóÔÚJVMÔËÐпռäÖÐÎÞ·¨Í¨¹ý¸ù¼¯ºÏ(root set)µ½´ïʱ£¬Õâ¸ö¶ÔÏó¾Í±»³ÆÎªÀ¬»ø¶ÔÏó¡£
2. ¶ÑÄÚ´æ
* ÔÚJVMÆô¶¯Ê±±»´´½¨£»¶ÑÄÚ´æÖÐËù´æ´¢µÄ¶ÔÏó¿ÉÒÔ±»JVM×Ô¶¯»ØÊÕ£¬²»ÄÜͨ¹ýÆäËûÍⲿÊֶλØÊÕ
* ¶ÑÄÚ´æ¿É·ÖΪÁ½¸öÇøÓò£ºÐ¶ÔÏóÇøºÍÀ϶ÔÏóÇø
-- жÔÏóÇø¿É·ÖΪÈý¸öÐ¡Çø£ºEdenÇø¡¢fromÇø¡¢ToÇø
EdenÇøÓÃÀ´±£´æÐ´´½¨µÄ¶ÔÏ󣬵±EdenÇøÖеĶÔÏóÂúÁËÖ®ºó£¬JVM½«»á×ö¿É´ïÐÔ²âÊÔ£¬¼ì²âÓÐÄÄЩ¶ÔÏóÓɸù¼¯ºÏ³ö·¢ÊDz»¿É´ïµÄ£¬²»¿É´ïµÄ¶ÔÏó¾Í»á±» JVM»ØÊÕ£¬²¢½«ËùÓеĻ¶ÔÏó´ÓEdenÇø¿½µ½ToÇø£¬´ËʱһЩ¶ÔÏ󽫷¢Éú״̬½»»»£¬ÓеĶÔÏó¾Í´ÓToÇø±»×ªÒƵ½fromÇø¡£
3. JVMÖжÔÏóµÄÉúÃüÖÜÆÚ
* ´´½¨½×¶Î(²½Öè)
-- Ϊ¶ÔÏó·ÖÅä´æ´¢¿Õ¼ä
-- ¿ªÊ¼¹¹Ôì¶ÔÏó
-- µÝ¹éµ÷ÓÃÆä³¬ÀàµÄ¹¹Ôì·½·¨
-- ½øÐжÔÏóʵÀý³õʼ»¯Óë±äÁ¿³õʼ»¯
-- Ö´Ðй¹Ôì·½·¨Ìå
* Ó¦Óý׶Î
-- ÌØÕ÷£ºÏµÍ³ÖÁÉÙά»¤×ŶÔÏóµÄÒ»¸öÇ¿ÒýÓã»ËùÓжԸöÔÏóÒýÓÃÇ¿ÒýÓÃ(³ý·ÇÏÔʾÉùÃ÷ΪÆäËüÒýÓÃ)
-- Ç¿ÒýÓÃ
Ö¸JVMÄÚ´æ¹ÜÀíÆ÷´Ó¸ùÒýÓü¯ºÏ³ö·¢£¬±éѰ¶ÑÖÐËùÓе½´ï¶ÔÏóµÄ·¾¶¡£µ±µ½´ïij¶ÔÏóµÄÈÎÒâ·¾¶¶¼²»º¬ÓÐÒýÓöÔÏóʱ£¬¶ÔÕâ¸ö¶ÔÏóµÄÒýÓþͱ»³ÆÎªÇ¿ÒýÓá£
µ±ÄÚ´æ²»×ãʱ£¬JVMÄþÔ¸Å׳öOutOfMemeryError´íÎóʹ³ÌÐòÍ£Ö¹£¬Ò²²»»á¿¿ÊջؾßÓÐÇ¿ÒýÓõĶÔÏóÀ´ÊÍ·ÅÄÚ´æ¿Õ¼ä
-- ÈíÒýÓÃ
ËüÄÜʵÏÖcache¹¦ÄÜ£¬·ÀÖ¹×î´óÏ޶ȵÄʹÓÃÄÚ´æÊ±ÒýÆðµÄOutOfMemoryÒì³££¬ÔÚÄÚ´æ²»¹»ÓõÄʱºòjvm»á×Ô¶¯»ØÊÕSoft Reference¡£
ÈíÒýÓÿÉÒÔºÍÒ»¸öÒýÓöÓÁÐ(ReferenceQueue)ÁªºÏʹÓã¬Èç¹ûÈíÒýÓÃËùÒýÓõĶÔÏó±»À¬»ø»ØÊÕ£¬javaÐéÄâ»ú¾Í»á°ÑÕâ¸öÈíÒýÓüÓÈëµ½ÓëÖ®¹ØÁªµÄÒýÓöÓÁÐÖС£
JavaÖÐÌṩÈíÒýÓõİü£ºjava.lang.ref.SoftReference(ºóÐøÏê½â)
ÈíÒýÓÃ
ʵÏÖcache¹¦ÄÜ,·ÀÖ¹×î´óÏ޶ȵÄʹÓÃÄÚ´æÊ±ÒýÆðµÄOutOfMemoryÒì³£,ÔÚÄÚ´æ²»¹»ÓõÄʱºòjvm»á×Ô¶¯»ØÊÕSoft Reference.ÈíÒýÓÃ
Ïà¹ØÎĵµ£º
½ñÌì³é¿ÕÏÂÁË¡¶java½â»ó¡·Õâ±¾Êé¿´ÁËһϣ¬È·Êµ²»´í£¬Ìá³öÁ˺ܶàÎÒÃÇÆ½Ê±²»»á×¢ÒâµÄСÎÊÌâ¡£ÏëÏëÈç¹û²»×¢Òâ˵²»¶¨»áÒòΪһ¸öBUGÓôÃÆ¸öÒ»Á½ÌìÒ²ÕÒ²»µ½¡£ÒÔÏÂÊÇ×ܽáµÄ±Ê¼Ç£¬±¸Íü~~
1.ÅÐ¶ÏÆæÊý
i % 2 == 1 ÔÚi Ϊ¸ºÊýʱ½á¹ûΪ-1£¬ËùÒÔʹÓÃi % 2 != 0À´Åжϣ»µ±ÓÐÐÔÄÜÒªÇóʱʹÓà (i & 1) != 0¡£
*ÔÚʹÓÃ%ʱһ¶¨Òª¿¼Âǵ ......
1£¬Ò»ÐдúÂë×öÒ»¼þÊ£¬²»ÒªÔÚÒ»ÐдúÂëÀïÃæ´¦Àí¶à¼þÊ¡£ÄþÔ¸¶àÉùÃ÷¼¸¸ö±äÁ¿£¬Ò²Òª±£³Ö´úÂëµÄÇåÎú£¬ÒòΪ´úÂëµÄÉùÃ÷²¢²»»áÕ¼¶àÉÙÄÚ´æ¡£
ÀýÈ磺
String tmpa = errIdList.get(i).toString().substring(2);
......
Today , i take the first lesson of java ,let me sum up the details:
firstly,about jdk and jre.jdk stands for java development kit,while jre represent java Runtime Environment. jdk is the key of Java. And,jvm(java virtual machine) is the key of jre.
then ,about the platform independence of java.Dur ......
¸Õ²ÅÔÚ×ö¸ö²âÊÔʱ ɾ³ýÎļþÀÏÊÇʧ°Ü...Ò»Ö±ÕÒ²»µ½ÔÒò.. file.delete();
×ÜÊÇ·µ»Øfalse.
ÔÚÍøÉÏÕÒÁ˰ëÌì ¶¼ÕÒ²»µ½´íÔÚÄĶù..
if(file.exists() && file.canWrite())
file.delete();
ÕâÑù¶¼²»ÐС
ºóÀ´Í»È»Í»È»Ïëµ½´íÔÚÄĶùÁË..
¾ÍÊÇÔÚдÍêÎļþºóûÓÐclose
out.write(b);
out.flush();
out.close();
......