¡¾×ª¡¿ÊµÕ½ Groovy: Groovy£ºJava ³ÌÐòÔ±µÄ DSL
Óà Groovy ±àд¸üÉٵĴúÂ룬Íê³É¸ü¶àµÄ¹¤×÷
¼¶±ð£º ³õ¼¶
Scott Davis , ´´Ê¼ÈË, ThirstyHead.com
2009 Äê 3 ÔÂ 09 ÈÕ
Groovy ר¼Ò Scott Davis ½«ÖØÐ¿ªÊ¼×«Ð´ ʵս Groovy ϵÁÐÎÄÕ£¬¸ÃϵÁÐÎÄÕÂÓÚ 2006 ÄêÍ£Ö¹±àд¡£×÷Ϊ¿ªÆªÎÄÕ£¬±¾ÎĽ«½éÉÜ Groovy ×î½üµÄ·¢Õ¹ÒÔ¼° Groovy µ±Ç°µÄ״̬¡£È»ºóÁ˽â´óÔ¼ ´Ó 2009 Ä꿪ʼ£¬Ê¹Óà Groovy ÊǶàôÇáËÉ¡£
Andrew Glover ÓÚ 2004 Ä꿪ʼΪ developerWorks ׫д¹ØÓÚ Groovy µÄÎÄÕ£¬ËûÏÈ׫дÁË alt.lang.jre ϵÁÐÖеĽéÉÜÐÔÎÄÕ “alt.lang.jre: ¸ÐÊÜ Groovy ”£¬ÓÖ¼ÌÐø×«Ð´Á˳¤ÆÚ¿¯·¢µÄ ʵս Groovy ϵÁС£·¢±íÕâЩÎÄÕÂʱÊг¡ÉÏ»¹Ã»ÓгöÏÖ¹ØÓÚ Groovy µÄÊé¼®£¨ÏÖÔÚÕâÑùµÄÊé¼®³¬¹ýÊ®¼¸±¾£©£¬¶øÇÒ Groovy 1.0 ÔÚ¼¸Äêºó²ÅÓÚ 2007 Äê 1 Ô·¢²¼¡£×Ô 2006 ÄêÄ©·¢²¼ ʵս Groovy µÄ×îºóÒ»ÆÚºó£¬Groovy ·¢ÉúÁ˺ܴóµÄ±ä»¯¡£
ÏÖÔÚ£¬Groovy ÿ¸öÔÂµÄÆ½¾ùÏÂÔØÊýÁ¿´óԼΪ 35,000¡£Mutual of Omaha µÈ±£ÊصĹ«Ë¾ÓµÓг¬¹ý 70,000 ÐÐ Groovy Éú²ú´úÂë¡£Groovy ÔÚ Codehaus.org ÖÐÓÐÒ»¸ö×îæµµÄÓʼþÁÐ±í£¬ÕâÊÇÍйܸÃÏîÄ¿µÄλÖã¨Çë²ÎÔÄ ²Î¿¼×ÊÁÏ £©¡£Grails ÊÇΩһһ¸öÓµÓн϶àÏÂÔØÊýÁ¿ÒÔ¼°·±Ã¦ÓʼþÁбíµÄÏîÄ¿£¬ËüÊÇÔÚ Groovy ÖÐʵÏÖµÄÁ÷ÐÐ Web ¿ò¼Ü£¨Çë²ÎÔÄ ²Î¿¼×ÊÁÏ £©¡£
ÔÚ JVM ÖÐÔËÐÐ·Ç Java™ ÓïÑÔ²»½ö³£¼û£¬¶øÇÒÒ²ÊÇ Sun µÄ JVM ²ßÂԵĺËÐIJ¿·Ö¡£Groovy ¼ÓÈë½øÁË Sun Ö§³ÖµÄ±¸Ñ¡ÓïÑÔ£¨Èç JavaScript, JavaFX, JRuby ºÍ Jython£©ÐÐÁÐÖС£2004 ÄêËù×öµÄʵÑéÏÖÔÚ³ÉΪÁË×îÇ°ÑØµÄ¼¼Êõ¡£
2009 Äê׫дµÄ¹ØÓÚ Groovy µÄÎÄÕÂÔÚÐí¶à·½ÃæÓë Andy ¿ªÊ¼×«Ð´µÄÎÄÕÂÏàͬ¡£2005 ÄêÈ·Á¢µÄÓï·¨ÈÔÈ»±£ÁôÖÁ½ñ¡£Ã¿¸ö·¢Ðа涼Ìí¼ÓÁËÒýÈËעĿµÄй¦ÄÜ£¬µ«ÊǶÔÓÚÏîÄ¿Ö÷¹ÜÀ´Ëµ£¬±£ÁôÏòºó¼æÈÝÐÔÊǼ«ÎªÖØÒªµÄ¡£ÕâÏî¿É¿¿µÄ»ù´¡Ê¹µÃ Java ¿ª·¢×éÖ¯ÔÚÆäÓ¦ÓóÌÐò½øÈëÉú²ú»·¾³²¢¿ªÊ¼ÒÀÀµ¸÷Ïî¼¼Êõʱ£¬ºÁ²»ÓÌÔ¥µØÑ¡ÔñÁË Groovy¡£
±¾ÎĵÄÄ¿±êÊÇʹ¾Ñé·á¸»µÄ Java ¿ª·¢ÈËÔ±¿ÉÒÔÏñ Groovy ¿ª·¢ÈËÔ±Ò»Ñù½øÐпìËÙ¿ª·¢¡£²»Òª±»ËüµÄ±íÃæËùÃÉÆ¡£±¾ÏµÁÐÈçÃû³ÆËùʾȫ²¿¶¼ÊÇʵ¼ÊʹÓÃµÄ Groovy ʵ¼ù֪ʶ¡£ÔÚ×ʼ±àдÍê “Hello, World” Ö®ºó£¬Çë×¼±¸ºÃ¾¡¹ÜÕÆÎÕʵ¼ÊµÄÓ¦Óá£
¹ØÓÚ±¾ÏµÁÐ
Groovy ÊÇÔËÐÐÔÚ Java ƽ̨ÉϵÄÏÖ´ú±à³ÌÓïÑÔ¡£Ëü½«ÌṩÓëÏÖÓÐ Java ´úÂëµÄÎ޷켯³É£¬Í¬Ê±ÒýÈë±Õ°üºÍÔª±à³ÌµÈ³öÉ«µÄй¦ÄÜ¡£¼òÑÔÖ®£¬Groovy ÊÇ 21 ÊÀ¼Í¸ù¾Ý Java ÓïÑÔµÄÐèÒª±àдµÄ¡£
°ÑÈÎÒâÒ»¸öй¤¾ß¼¯³Éµ½¿ª·¢¹¤¾ß°ü
Ïà¹ØÎĵµ£º
°Ë¡¢¶Ñ
µ±Java³ÌÐò´´½¨Ò»¸öÀàµÄʵÀý»òÕßÊý×éʱ£¬¶¼ÔÚ¶ÑÖÐΪеĶÔÏó·ÖÅäÄÚ´æ¡£ÐéÄâ»úÖÐÖ»ÓÐÒ»¸ö¶Ñ£¬ËùÓеÄÏ̶߳¼¹²ÏíËü¡£
1¡¢À¬»øÊÕ¼¯£¨Garbage Collection£©
À¬»øÊÕ¼¯ÊÇÊÍ·ÅûÓб»ÒýÓõĶÔÏóµÄÖ÷Òª·½·¨¡£ËüÒ²¿ÉÄÜ»áΪÁ˼õÉٶѵÄË鯬£¬¶øÒÆ ......
±äÁ¿ÊÇJava ³ÌÐòµÄÒ»¸ö»ù±¾´æ´¢µ¥Ôª¡£±äÁ¿ÓÉÒ»¸ö±êʶ·û£¬ÀàÐͼ°Ò»¸ö¿ÉÑ¡³õʼֵµÄ×éºÏ¶¨Òå¡£´ËÍ⣬ËùÓеıäÁ¿¶¼ÓÐÒ»¸ö×÷ÓÃÓò£¬¶¨Òå±äÁ¿µÄ¿É¼ûÐÔ£¬Éú´æÆÚ¡£
¡¡¡¡ÉùÃ÷Ò»¸ö±äÁ¿
Ò»¡¢ ¾²Ì¬³õʼ»¯
¡¡¡¡ÔÚJava ÖУ¬ËùÓеıäÁ¿±ØÐëÏÈÉùÃ÷ÔÙʹÓ᣻ù±¾µÄ±äÁ¿ÉùÃ÷·½ ......
/*
ÌṩzipÎļþµÄ½âѹËõ½Ó¿Ú£º
AdapterZipFile£º
ÊäÈ룺zipFileName£¨zipÎļþµÄ¾ø¶Ô·¾¶£©£¬outputDirectory£¨zipÎļþ½âѹËõºóµÄ´æ·Å·¾¶£©
Êä³ö£º
˵Ã÷£º³õʼ»¯º¯Êý
unZipFile£º
ÊäÈ룺ÎÞ
Êä³ö£º
˵Ã÷£º½âѹËõzipÎļþ£¬½âѹËõ ......
ÀûÓÃjava·´Éä¼¼ÊõÌáÈ¡ÀàÐÅÏ¢
1 package day15;
2
3 import java.lang.reflect.*;
4
5 public class ReflectionTest {
6
7 public& ......
ÔÚjava¿ª·¢µÄÔçÆÚ£¬Öص㱻·ÅÔÚÁ˿ͻ§¶Ë¿ª·¢¡£ÓïÑÔÖжÔÓÚappletºÍ°²È«ÏÂÔØµÄÖ§³Ö
¶ÔÓÚÍòÎ¬Íø£¨WWW£©µÄ·¢²¼¿´ÉÏÈ¥ÊǸö²»´íµÄÖ÷Òâ¡£µ«ÊÇÏÖʵÊÇjava×î´óµÄ³É¹¦ÔÚÓÚ·þÎñÆ÷¶Ë£¬javaµÄÇ¿´ó¹¦ÄܺÍÊÊÓ¦ÐÔÓ®µÃÁË·þÎñÆ÷¶Ë¿ª·¢ÕßµÄÐÄ¡£Í¬Ê±£¬¿Í»§¶ËµÄ¿ª·¢ÂäºóÁË¡£¼¬ÊֵĿª·¢ÎÊÌâÏÞÖÆÁËappletµÄЧÓ㬿ª·¢Õß±»ÆÈתÏò»ùÓÚä¯ÀÀÆ÷µÄÊݿͻ§¶ ......