¶àÏ̻߳·¾³ÖУ¬±È½ÏÕÆÎÕµÄÊÂÇéÖ®Ò»¾ÍÊÇÈçºÎ·µ»ØÏ̵߳ÄÐÅÏ¢¡£ÒòΪrunºÍstart·½·¨²¢²»·µ»ØÈκÎÖµ¡£
¼ÙÉèÏÖÔÚÓÐÁ½¸öỊ̈߳¬Ö÷Ï̺߳ÍÒ»¸ö×ÓỊ̈߳¬×ÓÏ̶߳ÁÎļþ£¬Ö÷Ïß³ÌÐèÒª¶ÔÎļþµÄ½á¹û½øÐвÙ×÷£¬µ±È»£¬×î¼òµ¥µÄ·½·¨¾ÍÊǶÁÎļþºÍ´¦Àí¶Á³öµÄÎļþÈ«²¿¶¼ÔÚÖ÷Ïß³ÌÖнø
ÐС£
Ïß³ÌÈçºÎ·µ»ØÐÅÏ¢£¿ Ê×ÏÈ£¬²ÉÓÃÂÖѯµÄ·½·¨£º
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOError;
import java.io.IOException;
public class MainThread {
public static void main(String[] args) throws Exception {
File[] files = new File[5];
ReadFileThread rft = new ReadFileThread(new File("test4.txt"));
rft.start();
//rft.join();
/*ÐèÒªÒ»¸öºÃµÄ·½·¨£¬À´±£Ö¤ getContentÔÚcontent×¼±¸ºÃ֮ǰ¾Íµ÷ÓÃ*/
//System.out.println(rft.getContent());
/*²ÉÓÃÂÖѯµÄ·½·¨*/
StringBuffer content = null;
while(true) {
content = rft.getContent();
if(content.length() > 0) {
System.out.println("ÎÄ ......
JVM±¾ÉíÌṩÁËÒ»×é¹ÜÀíµÄAPI£¬Í¨¹ý¸ÃAPI£¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡µÃµ½JVMÄÚ²¿Ö÷ÒªÔËÐÐÐÅÏ¢£¬°üÀ¨ÄÚ´æ¸÷´úµÄÊý¾Ý¡¢JVMµ±Ç°ËùÓÐÏ̼߳°ÆäÕ»Ïà¹ØÐÅÏ¢µÈ
µÈ¡£¸÷ÖÖJDK×Ô´øµÄÆÊÎö¹¤¾ß£¬°üÀ¨jps¡¢jstack¡¢jinfo¡¢jstat¡¢jmap¡¢jconsoleµÈ£¬¶¼ÊÇ»ùÓÚ´ËAPI¿ª·¢µÄ¡£±¾Æª¶ÔÕⲿ
·ÖÄÚÈݽøÐÐÒ»¸öÏêϸµÄ˵Ã÷¡£
²Î¿¼£ºhttp://java.sun.com/javase/6/docs/api/java/lang/management/package-summary.html
Ò»¡¢Management API
ÎÒÃÇÏÈ¿´Ò»Ï´ÓSun JVMÎÒÃÇ¿ÉÒÔ»ñÈ¡µ½ÄÄЩÐÅÏ¢£¬ÈçÏÂͼ£¨À´×ÔÓÚJConsoleµÄMBean²¿·ÖµÄ½ØÍ¼£©£º
1£®HotSpotDiagnostic£º·Ç±ê×¼µÄ¼à¿ØJMX£¬Õâ¿éÊÇSun JVM×Ô´øµÄ£¬Ö÷ÒªÌṩÁËÁ½¸ö¹¦ÄÜ
ÐÞ¸ÄJVMµÄÆô¶¯²ÎÊý£¨Æ©ÈçÔÚ²»ÐèÒªÖØÆôµÄÇé¿öÏÂÉèÖÃ-XX:+HeapDumpOnOutOfMemoryError²ÎÊýʹµÃJVMÄÚ´æ²»×ãµÄʱºò×Ô¶¯dump³ö¶Ñ¿Õ¼äµ½ÎļþÌṩºóÐø·ÖÎö£©
Dump¶ÑÐÅÏ¢µ½Îļþ£¬¿ÉÒԲ²âjmap¹¤¾ßÊÇ»ùÓڴ˹¦ÄÜÀ´Íê³ÉµÄ
ÎÒÃÇͨ¹ýcom.sun.management.HotSpotDiagnosticMXBean¶ ......
Ò»£® Incident
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
String[] tt =(String[]) list.toArray(new String[0]);
}
}
Õâ¶Î´úÂëÊÇûÎÊÌâµÄ£¬µ«ÎÒÃÇ¿´µ½String[] tt =(String[]) list.toArray(new String[0]) ÖеIJÎÊýºÜÆæ¹Ö£¬È»¶øÈ¥µôÕâ¸ö²ÎÊýnew String[0]È´ÔÚÔËÐÐʱ±¨´í¡£¡£¡£
¶þ£® &nb ......
´úÂëÈçÏ£º
List <?> lines = FileUtils.readLines(new File(fileName));
for(Object line : lines){
}
ÎÊÌ⣺
1.List <?> ±íʾʲôÒâ˼£¿
2.forÀ¨ºÅÄÚ²¿µÄ±í´ïʽÊÇʲôÒâ˼?
1¡¢·¶ÐÍ¡£±íʾlinesÖпɱ£´æÈÎÒâÀàÐÍ
2¡¢for-each Óï¾ä£¬×÷Ϊfor(int i=0;i<lines.length;i++){
Object line=lines.get(i);
...
}
µÄ¼òдÐÎʽ¡£ ......
1.À¬»ø»ØÊյıØÒªÐÔ
µ±¶ÔÏó±»´´½¨Ê±£¬»áÔÚJavaÐéÄâ»úÖзÖÅäÒ»¿éÄڴ棨ÄÚ´æ·ÖÅä-¡·Ä¬ÈÏÖµ-¡·³õʼ»¯Öµ£©£¬ÔÚJVMµÄÉúÃüÖÜÆÚÖУ¬Java³ÌÐòÔÚ²»¶ÏµØ´´½¨¶ÔÏó£¬Èç¹ûÕâЩ¶ÔÏóµÄÄÚ´æ²»±»¼°Ê±»ØÊÕ£¬»áµ¼ÖÂÄÚ´æ¿Õ¼ä²»×㣬Òò´ËÒªÓÐÒ»ÖÖ´ëÊ©¼°Ê±»ØÊÕÎÞÓöÔÏóµÄÄڴ棬±£Ö¤ÄÚ´æÄܹ»±»Öظ´ÀûÓá£
ÔÚ´«Í³µÄ±à³ÌÓïÑÔÖУ¬ÄÚ´æ»ØÊյŤ×÷ÓɳÌÐòÍê³É£¬³ÌÐòÏÔʽµØÎª¶ÔÏó·ÖÅäÄڴ棬ÏÔʽµØ»ØÊÕ£¬¿ÉÄܵ¼Ö¸ûØÊÕµÄûÓлØÊÕ£¬²»¸Ã»ØÊյķ´¶ø»ØÊÕÁË¡£
2.javaÖеÄÄÚ´æ»ØÊÕ¹¤×÷ÓÉJVM½ø³ÌµÄÒ»¸ö³ÆÎªÀ¬»ø»ØÊÕÆ÷µÄϵͳ¼¶Ïß³ÌÍê³É£¬Ëü¸ºÔð»ØÊÕÎÞÓöÔÏóµÄÄڴ棬»ØÊÕÄÚ´æµÄ¹ý³Ì³ÉΪÀ¬»ø»ØÊÕ¡£
3.À¬»ø»ØÊÕµÄÌØµã
a.Ö»Óе±¶ÔÏó²»ÔÙ±»ÈκαäÁ¿ÒýÓÃʱ£¬ËüµÄÄÚ´æ²Å¿ÉÄܱ»»ØÊÕ£»
b.³ÌÐòÎÞ·¨ÆÈʹÀ¬»ø»ØÊÕÆ÷Á¢¼´Ö´ÐÐÀ¬»ø»ØÊÕ²Ù×÷
c.À¬»ø»ØÊÕÆ÷ÔÚ»ØÊÕÄÚ´æÖ®Ç°»áµ÷ÓÃfinalize()·½·¨£¬¸Ã·½·¨ÓпÉÄÜʹ¶ÔÏ󸴻µ¼ÖÂÀ¬»ø»ØÊÕÆ÷È¡Ïû»ØÊոöÔÏóµÄ²Ù×÷¡£
4.´ÓÀ¬»ø»ØÊÕÆ÷µÄ½Ç¶È¿´¶ÔÏóµÄ״̬
a.¿É´¥¼°×´Ì¬£¬Ö»Òª³ÌÐòÖл ......
×î½ü¿´µ½ÂÛ̳ÀïÓиöÌû×ÓÔÚÌÖÂ۽ӿںͳéÏóÀàµÄÇø±ðºÍ×÷Óã¬ÕâÆäʵҲÊǺܶàÃæÊÔ¹Ùϲ»¶ÎʵÄÎÊÌ⣬ÕâÀïÎÒ¾Í˵˵ÎÒµÄ×ܽᣬ˳±ã˵˵ÄÚ²¿ÀàµÄ×÷Ó㬵±ÊǸø¸ÕÈëÃÅ£¬»òÕßÏëѧϰjavaµÄͬѧÃÇÄܸüºÃµÄÀí½âËüÃǵÄÓ÷¨¡£
1.½Ó¿Ú(interface)£¬½Ó¿Ú±»ÓÃÀ´½¨Á¢ÀàÓëÀàÖ®¼ä¹ØÁªµÄ±ê×¼¡£
Java code
public interface ITest{
public void test();
}
public class TestImpl implements ITest{
public void test(){
System.out.println("test");
}
}
2.³éÏóÀà(abstract class)£¬Ö»ÒªÀàÖÐÓÐÒ»¸ö³éÏó·½·¨£¬´ËÀà¾Í±»±ê¼ÇΪ³éÏóÀࡣʵ¼ÊÉϳéÏóÀà³ýÁ˱»¼Ì³ÐÖ®ÍâûÓÐÈκÎÒâÒå¡£
Çø±ð
1.
½Ó¿ÚÊǹ«¿ª(public)µÄ£¬ÀïÃæ²»ÄÜÓÐ˽Óеķ½·¨»ò±äÁ¿,ÊÇÓÃÓÚÈñðÈËʹÓõÄ,ʵÏÖ½Ó¿ÚµÄÒ»¶¨ÒªÊµÏÖ½Ó¿ÚÀﶨÒåµÄËùÓз½·¨¡£
¶ø³éÏóÀàÊÇ¿ÉÒÔÓÐ˽Óз½·¨»ò˽ÓбäÁ¿µÄ£¬ÊµÏÖ³éÏóÀà¿ÉÒÔÓÐÑ¡ÔñµØÖØÐ´ÐèÒªÓõ½µÄ·½·¨£¬µ«ÊDZØÐëʵÏÖÀïÃæËùÓеijéÏó·½·¨¡£
2.
³éÏóÀàÔÚ Java ÓïÑÔÖбíʾµÄÊÇÒ»Öּ̳йØÏµ£¬Ò»¸öÀàÖ»ÄÜʹÓÃÒ»´Î¼Ì³Ð¹ØÏµ¡£
µ«ÊÇ£¬Ò»¸öÀàÈ´¿ÉÒÔʵÏÖ¶à¸öinterface(javaÖÐʵÏÖ¶àÖØ¼Ì³ÐµÄ·½·¨Ö®Ò»)¡£
3.
³éÏóÀàÖпÉÒÔÓÐ×Ô¼ºµÄÊý¾Ý³ÉÔ±£¬Ò²¿ÉÒÔÓзÇabstarctµÄ³ÉÔ±·½·¨¡£
......