Java¾²Ì¬±äÁ¿ÒÔ¼°·Ç±ê×¼µ¥Ì¬Ä£Ê½µÄ¿Ó
½ñÌìÓöµ½Ò»¸öºÜ¹îÒìµÄbug£¬µ÷ÊÔÁ˰ëÌìҲûÓп´³öÀ´ÓÐʲôÎÊÌ⣬³éÏóһϴúÂëÈçÏ£º
public class Instance
{
public static Instance instance = new Instance();
public static Map<String, String> map = new HashMap<String, String>();
public static Instance instance()
{
return Instance.instance;
}
public static void main(String[] args)
{
Instance.instance().test();
}
public Instance()
{
Instance.map.put("abc", "def");
}
public void test()
{
System.out.println("test called");
}
}
½á¹ûÒ»ÔËÐоͳöÏÂÃæµÄ´íÎó£¬
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at edu.bupt.test.Instance.<init>(Instance.java:27)
at edu.bupt.test.Instance.<clinit>(Instance.java:9)
Exception in thread "main"
µ±Ê±Ã»ÓÐ̫עÒâÕâ¸öException£¬ÒòΪ»¹ÓÐÁíÍâÒ»¸öNullException
ºóÀ´×Ðϸ¿´ÁËһ϶ÑÕ»²Å·¢ÏÖ£¬ÕâÊÇÔÚ³õʼ»¯µÄ¹ý³ÌÖгöµÄÎÊÌ⣬
Ê×ÏÈÎÒÃÇÀ´»ØÒäÒ»ÏÂÀàµÄ¼ÓÔØ¹ý³Ì
1¡¢¼ÓÔØÀàÎļþ
2¡¢³õÔØ¸¸Àà
3¡¢³õʼ»¯¾²Ì¬±äÁ¿ºÍstatic´úÂë¿é
4¡¢µ÷Óù¹Ô캯Êý
ºÃÁË£¬ÎÊÌâ¾Í³öÔÚµÚ3²½ÁË£¬ÒòΪÕâÀïÎÒÃÇÓÃÁËÒ»¸ö·Ç±ê×¼µÄµ¥Ì¬Ä£Ê½£¬
Ö±½Ó°Ñ¾²Ì¬±äÁ¿ÔÚstaticÀï³õʼ»¯ÁË¡£ÓÉÓÚµÚÈý²½µÄ³õʼ»¯²½ÖèÊǸù¾ÝÄã
µÄ±äÁ¿µÄ¶¨Òå˳ÐòÀ´³õʼ»¯µÄ£¬ÓÚÊDZ¾ß²úÉúÁË£º
Ê×ÏÈ£¬ÄãÒª³õʼ»¯static Instance instance£¬ÕâÑùÄã¾ÍÒªµ÷ÓÃInstance
µÄ¹¹Ô캯Êý£¬Õâ¸öʱºò£¬¹¹Ô캯ÊýÀïÒª·ÃÎÊmap±äÁ¿£¬¶øÕâ¸östatic±äÁ¿
»¹Ã»Óгõʼ»¯ÄØ£¬ÓÚÊÇ¿ÕÖ¸Õë¾Í³öÏÖÁË¡£
½áÂÛ£ºÒª×ÐϸÔĶÁÕ»µÄ»°£¬Õâ¸öÎÊÌ⻹ÊǺÜÈÝÒ×¶¨Î»µÄ£¬Õâô¿´init´ú±í¹¹Ô캯Êý
¶øcinit´ú±í¾²Ì¬³õʼ»¯º¯Êý£¬Òò´ËÕâ¸ö¹ý³ÌÆäʵÊÇÔÚ¾²Ì¬³õʼ»¯µ÷Óù¹Ô캯Êýʱ
·¢ÉúµÄ£¬È¥¿´Ò»¸ö¹¹Ô캯Êý·ÖÎöһϾ͵õ½½á¹ûÁË¡£
ÁíÍ⾡¿ÉÄܱÜÃâµØÊ¹ÓÃÔÚ±äÁ¿¶¨Òåʱ¾Í³õʼ»¯±äÁ¿£¬ÕâÑù»áµ¼ÖÂһЩÎÊÌâµÄ×·²é
±È½ÏÂé·³£¬±ÈÈçÕâ¸öÎÊÌâ¾ÍÊÇÒ»¸öºÜµäÐ͵ÄÀý×Ó£¬½â¾öÎÊÌâµÄ°ì·¨¾ÓÈ»ÊÇÒª½«Á½¸ö
±äÁ¿¶¨Òå˳Ðòµ÷Õûһϣ¬Èç¹ûʹÓÃÁËһЩ´úÂëformat¹¤¾ß£¬±ÈÈçeclipseµÄformat¹¦ÄÜ£¬
ÕâÖÖ¹îÒìµÄbug¾Í»á³öÏÖÁË¡£
Ïà¹ØÎĵµ£º
ÍÆ¼ö¼¸¸öjavaÑ§Ï°ÍøÕ¾
Java´úÂë²éѯվµã S+\s4hh@k
1. java2s http://www.java2s.com/ PeYmf1ox
Õâ¸öÍøÕ¾·Ç³£ºÃ£¬·Ö³ÉÈý´óÀ࣬·Ö±ðÊÇExample¡¢Products¡¢ Articles£¬Ã¿¸ö´óÀàÏÂÓÖ·Ö±ðÉèÐí¶àСÀ࣬»¹ÓÐËÑË÷¹¦ÄÜ£¬ÕâÑù²éÕÒÆðÀ´·Ç³£·½±ã¡£¡£±ÈÈ磬Èç¹ûҪѧϰSWT/JFace£¬Ö»Òª°ÑExampleϵÄSWT JFace Eclipse ......
ºÜ¶àµÄÎı¾Îļþ»áÓв»Í¬µÄ±àÂë¸ñʽ£¬Ôì³ÉÕâÖÖ±àÂë²îÒìµÄ¿ÉÄÜÊÇϵͳµÄ²îÒ죬¿ÉÄÜÊÇÔÚ±£´æÎļþʱ²ÉÓÃÌØ¶¨µÄ×Ö·û¼¯±àÂëÀ´±£´æ¡£ÕâʱÎÒÃÇÀûÓÃJavaÓïÑÔÀ´´ò¿ªÕâЩÎı¾Ê±£¬Èç¹û²»Ê¹ÓÃÕýÈ·µÄ×Ö·û¼¯½âÂëÆ÷´ò¿ª£¬¿Ï¶¨»á³öÏÖÂÒÂë¡£ºÃÔÚjava.io°üÌṩÁËÒ»¸öjava.io.InputStreamReaderÀàÀ´Ö§³ÖÖ¸¶¨Îı¾× ......
¸ÄÒ»¸öÕâÑùµÄÌâÄ¿Õýʽ¸æËßÄ㣬ÎÒÖÕÓÚ¶¯ÊּǼһЩjavaµÄ±Ê¼ÇÁË¡£ÊµÔںܾÃûÓÐдjavaÁË¡£¹þ¹þ£¬²»ºÃÒâ˼£¬ÎªÁËflash ºǫ́ÓиöÖ§³Ö£¬java Õⲿ·Ö»¹ÊÇҪѧһµã£¬µ«²»ÊǺÜÖØµãѧ¡£Õⲿ·Ö¶«Î÷£¬ÎÒ²»ÊìϤ£¬Ò²ÔÚÂýÂý¼Ç¼¡£×Ô¼º¿´µÄ±Ê¼Ç£¬ËùÒÔÒªÊÇÄã²»ÊÇɵB£¬×îºÃ²»Òª¿´¡£
ÔÚ½ñÍíÁ·Ï°µÄʱºò£¬³¢ÊÔÈ¥Á¬½Ó¿É°®µÄ ......
// multi.MultiServer.java
package multi;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
private int port = 8000;
private int backlog = 42;
private ServerSocket server_socket;
private Thread ......
¶ÔÓÚJava³ÌÐò£¬ÎÞÂÛÊÇδ´ò°üµÄ»¹ÊÇ´ò°üµÄJAR»òWARÎļþ£¬ÓÐʱºò¶¼ÐèÒª»ñÈ¡ËüÔËÐÐËùÔÚĿ¼ÐÅÏ¢£¬ÈçºÎ×öµ½ÕâÒ»µãÄØ£¿
ÔÚJava´¦ÀíµÄÎļþϵͳÖУ¬Ä¿Â¼µÄ±íʾ·½Ê½ÓÐÁ½ÖÖ£º
£¨1£©¾ø¶ÔĿ¼£¬ËüÒÔ"/"ΪÆðʼ×Ö·û£¬´ú±í´Ó¸ùĿ¼Ï¿ªÊ¼Ñ°ÕÒ¸ø³öµÄĿ¼£¬Èç/c:/java
£¨2£©Ïà¶Ô·¾¶£¬ËüÒÔ²»´ø“/”µÄĿ¼Ãû±íʾ£¬±íʾÒÔµ±Ç ......