Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

µ÷ÓÃJava±àÒëÆ÷API±àÒëJavaÔ´´úÂë

Compiling with the Java Compiler API
µ÷ÓÃJava±àÒëÆ÷API±àÒëJava
´ÓµÚÒ»Ì쿪ʼ,±ê×¼Javaƽ̨¾ÍȱÉÙÄܹ»±»µ÷ÓÃ,È¥²úÉúJava×Ö½ÚÂëµÄ±àÒëÆ÷½Ó¿Ú. ʹÓÃSunʵÏֵį½Ì¨,Ò»¸öÓû§¿ÉÒÔͨ¹ý·Ç±ê×¼µÄ com.sun.tools.javac  °üÖеÄMain class È¥±àÒëÄãµÄ´úÂë (Äã¿ÉÒÔÔÚlib×ÓĿ¼Ï嵀 tools.jar ÎļþÀïÕÒµ½Ëü). È»¶øÕâ¸ö°ü²¢Ã»ÓÐÌṩһ¸ö±ê×¼µÄ¹«¿ªµÄ±à³Ì½Ó¿Ú. ʹÓÃÆäËüʵÏÖµÄÓû§±ØÈ»²»ÄÜ·ÃÎÊÕâ¸öÀà. ʹÓÃJava SE 6ºÍÔÚJSR-199Öж¨ÒåµÄËüµÄеÄJava±àÒëÆ÷½Ó¿Ú,Äã¿ÉÒÔ´ÓÄã×Ô¼ºµÄÓ¦ÓóÌÐòÀï·ÃÎÊjavac±àÒ빤¾ßÁË.
ÓÐÁ½ÖÖ·½Ê½Ê¹ÓÃÕâÖÖ¹¤¾ß. Ò»ÖÖÊǼòµ¥µÄ,Ò»ÖÖÊÇÉÔ΢¸´Ôӵ㵫ӵÓиü¶àÑ¡ÏîµÄ. ÄãÊ×ÏȽ«»áÓýϼòµ¥µÄÒ»ÖÖÈ¥±àÒë "Hello, World"³ÌÐò,¾ÍÊÇÏÂÃæµÄÕâ¸ö:
 
public class Hello {
  public static void main(String args[]) {
    System.out.println("Hello, World");
  }
}  
 
ÒªÏë´ÓJava³ÌÐòÀïµ÷ÓÃJava±àÒëÆ÷,ÄãÐèÒª·ÃÎÊJavaCompiler ½Ó¿Ú. ³ý´ËÍâ,ͨ¹ý·ÃÎÊÕâ¸ö½Ó¿Ú,Äã¿ÉÒÔÉèÖÃÔ´´úÂëµÄ·¾¶,classpath,ºÍÄ¿±êĿ¼. ͨ¹ýÖ¸¶¨¿É±àÒëµÄÎļþΪ JavaFileObjectinstance ,Äã¿ÉÒÔ½«ËüÃÇÈ«²¿±àÒë. È»¶ø,Äã²¢²»ÐèÒª¶Ô JavaFileObject Á˽â¶àÉÙ.
¿ÉÒÔʹÓà ToolProvider ÀàÈ¥ÇëÇó theJavaCompiler ½Ó¿ÚµÄȱʡʵÏÖ. Õâ¸ö ToolProvider ÀàÌṩÁËÒ»¸ö getSystemJavaCompiler() ·½·¨, Ëü·µ»ØÒ»¸ö JavaCompiler ½Ó¿ÚµÄʵÀý.
 
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();  
 
ʹÓà JavaCompiler ÔËÐбàÒë×î¼òµ¥µÄ·½·¨Êǵ÷ÓÃÔÚÕâ¸ö½Ó¿Ú¹¤¾ßÀﶨÒåµÄ run() ·½·¨,ËüµÄʵÏÖÊÇ:
 
int run(InputStream in, 
    OutputStream out, 
    OutputStream err, 
    String... arguments)  
 
·Ö±ðΪǰÈý¸öȱʡ²ÎÊý System.in, System.out, and System.err ´«Èë null Öµ. ²ÎÊý¼¯ String ¶ÔÏó±íʾ×Å´«Èë±àÒëÆ÷µÄÎļþµÄÃû³Æ.
ÕâÑù,ÄãÓ¦¸ÃÏñÏÂÃæÕâÑùÈ¥±àÒëÇ°ÃæÏÔʾµÄ Hello Ô´³ÌÐò:
 
int results = tool.run(null, null, null, "Hello.java");  
 
¼ÙÉèûÓбàÒë´íÎó,ÕâÑù»áÔÚÄ¿±êĿ¼Àï²úÉúÒ»¸ö Hello.classÎļþ. Èç¹ûÕâÀïÓдíÎó, run() ·½·¨»á°ÑËüÊä³öµ


Ïà¹ØÎĵµ£º

javaÖеļ̳У¨×ÓÀàµ÷Óø¸À๹Ôì·½·¨»¹²»¶®£©

declarations  n. ÉùÃ÷
extends  v. ¼Ì³Ð
¼Ì³ÐÖÐ×¢ÒâµÄÎÊÌ⣺
1  ÖØÐ´(Ò²½Ð¸²¸Ç£¬Ò²½ÐÖØ¹¹)£ºÖØÐ´·½·¨±ØÐëºÍ±»ÖØÐ´·½·¨¾ßÓÐÏàͬµÄ·½·¨Ãû³Æ¡¢²ÎÊýÁбíºÍ·µ»ØÖµÀàÐÍ£»
            ÖØÐ´·½·¨²»ÄÜʹÓñȱ»ÖØÐ´·½·¨¸üÑϸñµÄ·ÃÎÊȨÏÞ¡£
ÖØÐ´ÊÇÀàÓëÀà ......

javaÖеÄtoString() ·½·¨£¨¶à¿´±¾ÎĵÄÀý×Ó£¡£©

toString() ·½·¨£º
    toString()·½·¨ÔÚObjectÀàÖж¨Ò壬Æä·µ»ØÖµÊÇStringÀàÐÍ£¬ÃèÊöµ±Ç°¶ÔÏóµÄÓйØÐÅÏ¢
    ÔÚ½øÐÐStringÓëÆäËüÀàÐÍÊý¾ÝµÄÁ¬½Ó²Ù×÷ʱ£¬×Ô¶¯µ÷ÓÃtoString()·½·¨
    ¿ÉÒÔ¸ù¾ÝÐèÒªÔÚÓû§×Ô¶¨ÒåÀàÐÍÖÐÖØÐ´toString()·½·¨
    »ù±¾ÀàÐÍÊý¾Ý× ......

Java¶àÏß³Ì

¶àÏß³Ì
Ị̈߳ºÊÇÖ¸½ø³ÌÖеÄÒ»¸öÖ´ÐÐÁ÷³Ì¡£
Ïß³ÌÓë½ø³ÌµÄÇø±ð£ºÃ¿¸ö½ø³Ì¶¼ÐèÒª²Ù×÷ϵͳΪÆä·ÖÅä¶ÀÁ¢µÄÄÚ´æµØÖ·¿Õ¼ä£¬¶øÍ¬Ò»½ø³ÌÖеÄËùÓÐÏß³ÌÔÚͬһ¿éµØÖ·¿Õ¼äÖй¤×÷£¬ÕâЩÏ߳̿ÉÒÔ¹²Ïíͬһ¿éÄÚ´æºÍϵͳ×ÊÔ´¡£
ÈçºÎ´´½¨Ò»¸öỊ̈߳¿
´´½¨Ïß³ÌÓÐÁ½ÖÖ·½Ê½£¬ÈçÏ£º
1¡¢ À©Õ¹java.lang.ThreadÀà
2¡¢ ʵÏÖRunnable½Ó¿Ú ......

javaÖеÄSingleton (µ¥Á¢)Éè¼ÆÄ£Ê½£¨»¹Ã»Ð´Í꣩

Java Singleton
ģʽ(µ¥Éíģʽ,µ¥Ì¬Ä£Ê½)ÊÇÒ»ÖÖ´´½¨ÐÍÉè¼ÆÄ£Ê½¡£ÓÃÀ´±£Ö¤ÔÚÔËÐеÄÓ¦ÓóÌÐòÖУ¬Ò»¸öClassÖ»ÊÇʵÀý»¯Ò»´Î£¬Ò²¾ÍÊÇÖ»ÓÐÒ»¸öÏàÓ¦µÄ¶ÔÏó´æÔÚ¡£ÔÚ
web ³ÌÐòÖÐÎÒÃÇ»áÓÃÒ»¸öºËÐĵķÖÅ书ÄܵÄServlet³ÌÐò£¬ÔÚÕâÀïÎÒÃǾͿÉÒÔÔËÓÃÕâÖÖÉè¼ÆÄ£Ê½ÁË¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ