¡¾×ª¡¿ÊµÕ½ 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 ÓïÑÔµÄÐèÒª±àдµÄ¡£
°ÑÈÎÒâÒ»¸öй¤¾ß¼¯³Éµ½¿ª·¢¹¤¾ß°ü
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
¿ÉÄܺܶàjavaµÄ³õѧÕß¶ÔStringµÄ´æ´¢ºÍ¸³ÖµÓÐÃÔ»ó£¬ÒÔÏÂÊÇÒ»¸öºÜ¼òµ¥µÄ²âÊÔÓÃÀý£¬ÄãÖ»ÐèÒª»¨¼¸·ÖÖÓʱ¼ä±ã¿ÉÀí½â¡£
1.ÔÚ¿´Àý×Ó֮ǰ£¬È·±£ÄãÀí½âÒÔϼ¸¸öÊõÓ
Õ» £ºÓÉJVM·ÖÅäÇøÓò£¬ÓÃÓÚ±£´æÏß³ÌÖ´Ðе͝×÷ºÍÊý¾ÝÒýÓá£Õ»ÊÇÒ»¸öÔËÐеĵ¥Î»£¬JavaÖÐÒ»¸öÏ߳̾ͻáÏàÓ¦ÓÐÒ»¸öÏß³ÌÕ»ÓëÖ®¶ÔÓ¦¡£
¶Ñ £ºÓÉJVM·ÖÅä ......
oracleÖеÄBLOB×Ö¶ÎÊÇ´æ´¢2½øÖƵÄÎļþ£¬±ÈÈçÎļþ£¬Í¼Æ¬µÈ¡£
1¡¢°Ñ±¾µØÎļþдÈëÊý¾Ý¿â
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.R ......
ÔÚjava¿ª·¢µÄÔçÆÚ£¬Öص㱻·ÅÔÚÁ˿ͻ§¶Ë¿ª·¢¡£ÓïÑÔÖжÔÓÚappletºÍ°²È«ÏÂÔØµÄÖ§³Ö
¶ÔÓÚÍòÎ¬Íø£¨WWW£©µÄ·¢²¼¿´ÉÏÈ¥ÊǸö²»´íµÄÖ÷Òâ¡£µ«ÊÇÏÖʵÊÇjava×î´óµÄ³É¹¦ÔÚÓÚ·þÎñÆ÷¶Ë£¬javaµÄÇ¿´ó¹¦ÄܺÍÊÊÓ¦ÐÔÓ®µÃÁË·þÎñÆ÷¶Ë¿ª·¢ÕßµÄÐÄ¡£Í¬Ê±£¬¿Í»§¶ËµÄ¿ª·¢ÂäºóÁË¡£¼¬ÊֵĿª·¢ÎÊÌâÏÞÖÆÁËappletµÄЧÓ㬿ª·¢Õß±»ÆÈתÏò»ùÓÚä¯ÀÀÆ÷µÄÊݿͻ§¶ ......
Îļþ¶ÔÏóµÄÉú³ÉºÍÎļþµÄ´´½¨
/*
* ProcessFileName.java
*
* Created on 2006Äê8ÔÂ22ÈÕ, ÏÂÎç3:10
*
* Îļþ¶ÔÏóµÄÉú³ÉºÍÎļþµÄ´´½¨
*/
package study.iostudy;
import java.io.*;
public class GenerateFile
{
public static void main(String ......