JAVA GC
Êܵ½“15ÄêÄã»ýÀÛÁËʲô”Ò»ÎĵÄÕ𶯣¬ÌرðÊÕ¼¯¸ÃÎÄѧϰ
Java gc
¹Ø¼ü×Ö: java gc, À¬»ø»ØÊÕ»úÖÆ
1.JVMµÄgc¸ÅÊö
¡¡¡¡gc¼´À¬»øÊÕ¼¯»úÖÆÊÇÖ¸jvmÓÃÓÚÊÍ·ÅÄÇЩ²»ÔÙʹÓõĶÔÏóËùÕ¼ÓõÄÄÚ´æ¡£javaÓïÑÔ²¢²»ÒªÇójvmÓÐgc£¬Ò²Ã»Óй涨gcÈçºÎ¹¤×÷¡£²»¹ý³£ÓõÄjvm¶¼ÓÐgc£¬¶øÇÒ´ó¶àÊýgc¶¼Ê¹ÓÃÀàËÆµÄËã·¨¹ÜÀíÄÚ´æºÍÖ´ÐÐÊÕ¼¯²Ù×÷¡£
¡¡¡¡ÔÚ³ä·ÖÀí½âÁËÀ¬»øÊÕ¼¯Ëã·¨ºÍÖ´Ðйý³Ìºó£¬²ÅÄÜÓÐЧµÄÓÅ»¯ËüµÄÐÔÄÜ¡£ÓÐЩÀ¬»øÊÕ¼¯×¨ÓÃÓÚÌØÊâµÄÓ¦ÓóÌÐò¡£±ÈÈ磬ʵʱӦÓóÌÐòÖ÷ÒªÊÇΪÁ˱ÜÃâÀ¬»øÊÕ¼¯Öжϣ¬¶ø´ó¶àÊýOLTPÓ¦ÓóÌÐòÔò×¢ÖØÕûÌåЧÂÊ¡£Àí½âÁËÓ¦ÓóÌÐòµÄ¹¤×÷¸ººÉºÍjvmÖ§³ÖµÄÀ¬»øÊÕ¼¯Ëã·¨£¬±ã¿ÉÒÔ½øÐÐÓÅ»¯ÅäÖÃÀ¬»øÊÕ¼¯Æ÷¡£
¡¡¡¡À¬»øÊÕ¼¯µÄÄ¿µÄÔÚÓÚÇå³ý²»ÔÙʹÓõĶÔÏó¡£gcͨ¹ýÈ·¶¨¶ÔÏóÊÇ·ñ±»»î¶¯¶ÔÏóÒýÓÃÀ´È·¶¨ÊÇ·ñÊÕ¼¯¸Ã¶ÔÏó¡£gcÊ×ÏÈÒªÅжϸöÔÏóÊÇ·ñÊÇʱºò¿ÉÒÔÊÕ¼¯¡£Á½ÖÖ³£Óõķ½·¨ÊÇÒýÓüÆÊýºÍ¶ÔÏóÒýÓñéÀú¡£
¡¡¡¡1.1.ÒýÓüÆÊý
¡¡¡¡ÒýÓüÆÊý´æ´¢¶ÔÌØ¶¨¶ÔÏóµÄËùÓÐÒýÓÃÊý£¬Ò²¾ÍÊÇ˵£¬µ±Ó¦ÓóÌÐò´´½¨ÒýÓÃÒÔ¼°ÒýÓó¬³ö·¶Î§Ê±£¬jvm±ØÐëÊʵ±Ôö¼õÒýÓÃÊý¡£µ±Ä³¶ÔÏóµÄÒýÓÃÊýΪ0ʱ£¬±ã¿ÉÒÔ½øÐÐÀ¬»øÊÕ¼¯¡£
¡¡¡¡1.2.¶ÔÏóÒýÓñéÀú
¡¡¡¡ÔçÆÚµÄjvmʹÓÃÒýÓüÆÊý£¬ÏÖÔÚ´ó¶àÊýjvm²ÉÓöÔÏóÒýÓñéÀú¡£¶ÔÏóÒýÓñéÀú´ÓÒ»×é¶ÔÏó¿ªÊ¼£¬ÑØ×ÅÕû¸ö¶ÔÏóͼÉϵÄÿÌõÁ´½Ó£¬µÝ¹éÈ·¶¨¿Éµ½´ï£¨reachable£©µÄ¶ÔÏó¡£Èç¹ûij¶ÔÏó²»ÄÜ´ÓÕâЩ¸ù¶ÔÏóµÄÒ»¸ö£¨ÖÁÉÙÒ»¸ö£©µ½´ï£¬Ôò½«Ëü×÷ΪÀ¬»øÊÕ¼¯¡£ÔÚ¶ÔÏó±éÀú½×¶Î£¬gc±ØÐë¼ÇסÄÄЩ¶ÔÏó¿ÉÒÔµ½´ï£¬ÒÔ±ãɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó£¬Õâ³ÆÎª±ê¼Ç£¨marking£©¶ÔÏó¡£
¡¡¡¡ÏÂÒ»²½£¬gcҪɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó¡£É¾³ýʱ£¬ÓÐЩgcÖ»ÊǼòµ¥µÄɨÃè¶ÑÕ»£¬É¾³ýδ±ê¼ÇµÄδ±ê¼ÇµÄ¶ÔÏ󣬲¢ÊÍ·ÅËüÃǵÄÄÚ´æÒÔÉú³ÉеĶÔÏó£¬Õâ½Ð×öÇå³ý£¨sweeping£©¡£ÕâÖÖ·½·¨µÄÎÊÌâÔÚÓÚÄÚ´æ»á·Ö³ÉºÃ¶àС¶Î£¬¶øËüÃDz»×ãÒÔÓÃÓÚеĶÔÏ󣬵«ÊÇ×éºÏÆðÀ´È´ºÜ´ó¡£Òò´Ë£¬Ðí¶àgc¿ÉÒÔÖØÐÂ×éÖ¯ÄÚ´æÖеĶÔÏ󣬲¢½øÐÐѹËõ£¨compact£©£¬ÐγɿÉÀûÓõĿռ䡣
¡¡¡¡Îª´Ë£¬gcÐèҪֹͣÆäËûµÄ»î¶¯»î¶¯¡£ÕâÖÖ·½·¨Òâζ×ÅËùÓÐÓëÓ¦ÓóÌÐòÏà¹ØµÄ¹¤×÷Í£Ö¹£¬Ö»ÓÐgcÔËÐС£½á¹û£¬ÔÚÏìÓ¦ÆÚ¼äÔö¼õÁËÐí¶à»ìÔÓÇëÇó¡£ÁíÍ⣬¸ü¸´ÔÓµÄgc²»¶ÏÔö¼Ó»òͬʱÔËÐÐÒÔ¼õÉÙ»òÕßÇå³ýÓ¦ÓóÌÐòµÄÖжϡ£ÓеÄgcʹÓõ¥Ïß³ÌÍê³ÉÕâÏ×÷£¬ÓеÄÔò²ÉÓöàÏß³ÌÒÔÔö¼ÓЧÂÊ¡£
¡¡¡¡2.¼¸ÖÖÀ¬»ø»ØÊÕ»úÖÆ
¡¡¡¡2.1.±ê¼Ç£Çå³ýÊÕ¼¯Æ÷
¡¡¡¡ÕâÖÖÊÕ¼¯Æ÷Ê×ÏȱéÀú¶ÔÏóͼ²¢±ê¼Ç¿Éµ½´ïµÄ¶ÔÏó£¬È»ºóɨÃè¶ÑÕ»ÒÔѰÕÒδ±ê¼Ç¶ÔÏó²¢ÊÍ·ÅËüÃǵÄÄÚ´æ¡£ÕâÖÖÊÕ¼¯Æ÷Ò»°ãÊ
Ïà¹ØÎĵµ£º
import java.io.*;
public class IoTest
{
public static void main(String[] args)
{
String s;
s=calculate();
System.out.println(s);
}
static String calculate()
{
StringBuffer sb=new StringBuffer("");
try{
FileReader re ......
µÚÒ»´Î·¢,Ñ¡¸öÄѶÈÊʵ±ÖеÄ:ÎÒ¸Õ±Ïҵʱ²Î¼ÓµÄÒ»´Î±ÊÊÔ.
Ìâ:¶ÔÈÎÒâÊäÈëÈëµÄÒ»¸ö×Ö·û´®£¬°ÑÊý×Ö´ÓСµ½´óÅÅÁУ¬×ÖďĿÐòÅÅÁÐ,²¢ÇÒÊäÈëºó×ÖĸÓëÊý¾Ý½»ÌæÅÅÁС£
Èç:"5s3fa72cs4z134556sdd"Ö´ÐкóΪ"z1s2s3s3f4d4d5c5a56".
´ó¼Ò¿ÉÒÔÊÔÒ»ÏÂ,¹²Í¬Ñ§Ï°Âð?ÏÂÃæÊÇÎÒµ±³¡×öµÄ,Ïëµ½ÄÄдµ½ÄÄ,Ëã·¨¿Ï¶¨²»ÓÅ,½ö¹©²Î¿¼.
import java.util ......
³ÌÐòÉè¼ÆÊǽâ¾öÎÊÌâ˼·µÄ¾ßÌ廯.¾ÍÏñ½¨ÔìÒ»×ù·¿×ÓÒ»Ñù£¬ÓÃʲôÑùµÄ²ÄÁÏ,½¨Ôìʲô·ç¸ñµÄ½¨Öþ,¾ßÌåÿ¸öλÖÃÊÇʲô... ²»Í¬µÄ½¨Öþʦ»áÓв»Í¬µÄ·½·¨. ¶ø°ÑÍê³ÉÄ³Ò»ÌØ¶¨ÎÊÌâµÄ½â¾ö˼·¹æ·¶Ò»Ï ¾Í¿ÉÒÔ³Æ×÷ΪһÖÖÉè¼ÆÄ£Ê½.
³ÌÐòÉè¼ÆÖÐÉè¼ÆÄ£Ê½ÎªÎÒÃÇÔÚijһÎÊÌâÓòÌṩÁËÒ»ÖÖÁ¼ºÃµÄʵÏÖ·½·¨²Î¿¼£¬¿ÉÒÔ´ó´óʵÏÖ¸´Óú͸ßЧ¡£
ÏÂÃæÎ ......
btraceÊÇsunÍÆ³öµÄÒ»¿îjavaÐÔÄÜ¼à¿Ø¹¤¾ß£¬ÀûÓÃjava agent ºÍ jvm attach¼¼Êõ£¬¿ÉÒÔ²»Í£»úµÄÇé¿öÏÂ¼à¿ØÏßÉÏÇé¿ö£¬²¢ÇÒ×öµ½×îÉÙµÄÇÖÈ룬ռÓÃ×îÉÙµÄϵͳ×ÊÔ´¡£
Ïêϸ¼û¹Ù·½Îĵµ
ÁíÍâbtraceÓкÜÑϸñµÄÏÞÖÆ£¬±ÈÈçÆ´½Ó×Ö·û´®¡¢Ñ»·¡¢µÝ¹é¡¢ÒÔ¼°ÎÒÃÇÆ½Ê±¾³£ÓõÄһЩ·½·¨¶¼²»¿ÉÒÔÓã¬ËûÓÐËû×Ô¼º×¨ÃŵÄÀà¿â¡£
btrace»¹ÌṩÁËVi ......
ºÜ¼òµ¥µÄСÀý×Ó£¬ÊʺϳõѧÕßÀí½â
1£¬JavaFlex.java
package flex;
public class JavaFlex {
public String helloJavaFlex(String name) {
return name;
}
}
2£¬remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.Remo ......