锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品高清国产麻豆专区,亚洲午夜精品一区二区公牛电影院,亚洲人成色77777在线观看http://www.tkk7.com/mikezeseler/寮犵粛鏋?/description>zh-cnSat, 12 Jul 2025 09:46:52 GMTSat, 12 Jul 2025 09:46:52 GMT60 Groovy and Javahttp://www.tkk7.com/mikezeseler/archive/2009/04/19/266382.htmlmike zeselermike zeselerSun, 19 Apr 2009 02:49:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/04/19/266382.htmlhttp://www.tkk7.com/mikezeseler/comments/266382.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/04/19/266382.html#Feedback0http://www.tkk7.com/mikezeseler/comments/commentRss/266382.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/266382.html  Groovy and Java



]]>
JDK 7 Twice as Fast* as JDK 6 for Arrays and Arithmetichttp://www.tkk7.com/mikezeseler/archive/2009/04/06/264120.htmlmike zeselermike zeselerMon, 06 Apr 2009 07:03:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/04/06/264120.htmlhttp://www.tkk7.com/mikezeseler/comments/264120.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/04/06/264120.html#Feedback0http://www.tkk7.com/mikezeseler/comments/commentRss/264120.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/264120.html鏈夋椂闂存垜鎶婂畠寮勬垚涓枃鐨勩?br /> The 7th version of the Java Developer’s Kit (aka JDK 7) delivers quite a speed boost over JDK 6 array accesses. For us, this is huge. It’s like another year and a half of Moore’s law for free. Only in software. And you don’t even have to write multi-threaded code.

I’ve been profiling my new K-Means++ implementation for the next LingPipe release on some randomly generated data. It’s basically a stress test for array gets, array sets, and simple multiply-add arithmetic. Many LingPipe modules are like this at run-time: named entity, part-of-speech tagging, language modeling, LM-based classifiers, and much more.

While I was waiting for a run using JDK 1.6 to finish, I installed the following beta release of JDK 7:

> java -version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b52)
Java HotSpot(TM) 64-Bit Server VM (build 15.0-b03, mixed mode)

You can get it, too:

I believe much of the reason it’s faster is the work of these fellows:

Java’s always suffered relative to C in straight matrix multiplication because Java does range checks on every array access (set or get). With some clever static and run-time analysis, Würthinger et al. are able to eliminate most of the array bounds checks. They show on matrix benchmarks that this one improvement doubles the speed of the LU matrix factorization benchmark in the U.S. National Institute of Standards (NIST) benchmark suite SciMark 2, which like our clustering algorithm, is basically just a stress test for array access and arithmetic.

So far, my tests have only been on a Thinkpad Z61P notebook running Windows Vista (64 bit) with an Intel Core 2 CPU (T2700; 2.0GHz), and 4GB of reasonably zippy memory. I don’t know if the speedups will be as great for other OSes or for 32-bit JDKs.

I’m pretty excited about the new fork-join concurrency, too, as it’s just what we’ll need to parallelize the inner loops without too much work for us or the operating system.

*Update: 2:30 PM, 30 March 2009 JDK 7 is only about 15% faster than Sun’s JDK 6 on my quad Xeons (E5410, 2.33GHz) at work running the same code. I’ll have to check the exact specs on both of my memory buses. The notebook has surprisingly fast memory and the Xeon’s running ECC registered memory that I don’t think is quite as fast.

Update: 11:00 AM, 31 March 2009 Like other matrix algorithms, k-means clustering is extremely front-side-bus sensitive (connection between memory and the CPU), because the bottleneck is often between memory and the CPU’s L2 cache. Memory’s significantly slower than CPU these days.

The Intel dual quad-core Xeon E5410 have 12MB of L2 cache at 2.3GHz, whereas the Thinkpad Z61P has Intel Core 2 Mobile T7200 has only 4MB of L2 cache at 2GHz. The Core 2 has a 667 MHz front-side bus whereas the Xeon reports a 1333 MHz front-side bus (is that just the confusion between spec reporting). I actually don’t know what kind of memory’s in the workstation 鈥?I’ll have to crack it open and look. I’ve got 4GB of RAM in the notebook, but the motherboard can only see 3GB (ithat is, it’s not Windows 鈥?the same thing happened when I installed Ubuntu on the notebook and it’s a known design limitation in many motherboards); I have 16GB of RAM in the workstation and the motherboard can see all of it. But it has two physical chips, each of which share the memory, so the motherboard’s architecture’s very different. There are so many confounding factors that I can’t tease apart what’s speeding up in JDK 7 so much on the notebook.

Anway, go forth and test. If you’re using a machine like my notebook to do number crunching, JDK 7 really is twice as fast as JDK 6 for matrix algorithms.



]]>
hibernate鍏ラ棬鏇存柊瀹屾垚http://www.tkk7.com/mikezeseler/archive/2009/02/13/254599.htmlmike zeselermike zeselerFri, 13 Feb 2009 11:47:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/02/13/254599.htmlhttp://www.tkk7.com/mikezeseler/comments/254599.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/02/13/254599.html#Feedback0http://www.tkk7.com/mikezeseler/comments/commentRss/254599.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/254599.htmlHibernate鍏ラ棬鎸囧崡

        浠婂ぉ鎶藉挴鏃墮棿瀹屾垚鍜嚜宸辨病鏈夊畬鎴愮殑涓滆タ銆?br />         甯屾湜澶у澶氬鏀寔鎴? 璇︾粏淇℃伅錛?br />         鍙傝http://www.tkk7.com/mikezeseler/archive/2009/01/15/251491.html 
                                  

                                                            Mike zeseler
                                                                                    

 



]]>
groovy寮鍙戝叆闂?/title><link>http://www.tkk7.com/mikezeseler/archive/2009/02/08/mikezeseler.html</link><dc:creator>mike zeseler</dc:creator><author>mike zeseler</author><pubDate>Sun, 08 Feb 2009 04:20:00 GMT</pubDate><guid>http://www.tkk7.com/mikezeseler/archive/2009/02/08/mikezeseler.html</guid><wfw:comment>http://www.tkk7.com/mikezeseler/comments/253772.html</wfw:comment><comments>http://www.tkk7.com/mikezeseler/archive/2009/02/08/mikezeseler.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.tkk7.com/mikezeseler/comments/commentRss/253772.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mikezeseler/services/trackbacks/253772.html</trackback:ping><description><![CDATA[<span style="color: #339966"><span style="color: #ff9900"><span style="color: #008000">鑷繁杞歡寮鍙戠粡楠屼笉鏄緢濂斤紝榪橀』鍚戝ぇ瀹跺涔狅紒甯屾湜澶у鏀寔涓嬫垜錛佹湁涓嶈凍涔嬪璇峰ぇ瀹舵壒璇勬寚姝c?/span></span><br />   <p>Groovy<span style="font-family: 瀹嬩綋">灝辨槸</span>java<span style="font-family: 瀹嬩綋">涓栫晫鐨勫姩鎬佽璦</span></p> <p><span style="font-family: 瀹嬩綋">涓錛氬揩閫熷紑濮嬶紙</span>gettingStart<span style="font-family: 瀹嬩綋">錛?/span></p> <p><span style="font-family: 瀹嬩綋">瀹夎</span>JDK<span style="font-family: 瀹嬩綋">鐜</span></p> <p>Groovy<span style="font-family: 瀹嬩綋">闇瑕?/span>JDK1.4<span style="font-family: 瀹嬩綋">浠ヤ笂鐗堟湰鐨勬敮鎸併傚洜姝ゅ湪瀹夎</span>groovy<span style="font-family: 瀹嬩綋">鏃墮鍏堣瀹夎</span>JDK<span style="font-family: 瀹嬩綋">銆?/span></p> <p>JDK<span style="font-family: 瀹嬩綋">瀹夎姝ラ錛?/span></p> <p><span style="font-family: 瀹嬩綋">•</span>     <span style="font-family: 瀹嬩綋">涓嬭澆鑷繁鍠滄鐨?/span>JDK<span style="font-family: 瀹嬩綋">鐗堟湰銆傦紙涓嬭澆緗戝潃錛?/span><a >http://java.sun.com</a><span style="font-family: 瀹嬩綋">錛?/span></p> <p><span style="font-family: 瀹嬩綋">•</span>   <span style="font-family: 瀹嬩綋">涓嬭澆</span>Groovy<span style="font-family: 瀹嬩綋">錛?/span></p> <p>Groovy<span style="font-family: 瀹嬩綋">鐨?/span> <span style="font-family: 瀹嬩綋">涓嬭澆棣栭〉鎴浘</span></p> <span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-fareast-font-family: 瀹嬩綋; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">  <span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-fareast-font-family: 瀹嬩綋; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy1.jpg.jpg" border="0" /><br />   <p><span style="font-family: 瀹嬩綋">鐐瑰嚮</span>Download</p> <p><span style="font-family: 瀹嬩綋">榪涘叆涓嬭澆欏甸潰</span></p> <p>Groovy<span style="font-family: 瀹嬩綋">鏈鏂扮増鏈細</span><span style="font-size: 11pt; color: #222233; font-family: Tahoma">Groovy 1.6-RC-2</span></p> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy2.jpg" border="0" /><br /> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"><br />   <p><span style="font-family: 瀹嬩綋">鎴戜笅杞界殑鏄細</span><strong><span style="font-size: 9pt; color: #222233; font-family: Tahoma">Download Windows-Installer</span></strong><span style="font-size: 9pt; color: #222233; font-family: Tahoma">: <a >Binary Release</a> </span><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋">瀹夎鐗堟湰</span></p> <p><span style="font-family: 瀹嬩綋">榪愯瀹夎鑰?/span></p> <p><span style="font-family: 瀹嬩綋">璁劇疆</span>JAVA_HOME <span style="font-family: 瀹嬩綋">鐜鍙橀噺</span>. <span style="font-family: 瀹嬩綋">鍦?/span>Windows<span style="font-family: 瀹嬩綋">騫沖彴閲岋紝姝ラ濡備笅</span>: </p> <p>(1)<span style="font-family: 瀹嬩綋">鎵撳紑緋葷粺</span>"<span style="font-family: 瀹嬩綋">鎺у埗闈㈡澘</span>" </p> <p><span style="font-family: 瀹嬩綋">鍗曞嚮</span>"<span style="font-family: 瀹嬩綋">楂樼駭</span>"<span style="font-family: 瀹嬩綋">閫夐」鍗?/span></p> <p><span style="font-family: 瀹嬩綋">鍗曞嚮</span>"<span style="font-family: 瀹嬩綋">鐜鍙橀噺</span>" <span style="font-family: 瀹嬩綋">鎸夐挳</span></p> <p><span style="font-family: 瀹嬩綋">娣誨姞涓涓悕縐頒負</span>"JAVA_HOME" <span style="font-family: 瀹嬩綋">鐨勬柊鐨勭郴緇熺幆澧冨彉閲忥紝騫朵笖灝嗕綘鐨?/span>Java<span style="font-family: 瀹嬩綋">鐨勫畨瑁呯洰褰曚綔涓哄畠鐨勫?/span> (<span style="font-family: 瀹嬩綋">渚嬪錛屾垜鐨勬槸</span>C:"Program Files"Java"jdk1.6.0<span style="font-family: 瀹嬩綋">錛堢増鏈彿錛?/span>) </p> <p><span style="font-family: 瀹嬩綋">浣犱篃鍙互娣誨姞</span> %JAVA_HOME%"bin<span style="font-family: 瀹嬩綋">鍒頒綘鐨勭郴緇熺殑</span>PATH<span style="font-family: 瀹嬩綋">鍙橀噺涓?/span></p> <p><span style="font-size: 9pt; color: #222233; font-family: Tahoma"><span style="color: #008000"><span style="font-size: 9pt; font-family: Tahoma">(2)</span><span style="font-size: 9pt; font-family: 瀹嬩綋">鍙沖嚮鎴戠殑鐢佃剳灞炴?/span></span></span><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋"><br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy4.jpg" border="0" /><br />   </p> <p class="MsoNormal"><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma">鐐瑰嚮楂樼駭閫夐」</span><span lang="EN-US" style="font-size: 9pt; color: #222233; font-family: Tahoma"><o:p></o:p></span></p> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy5.jpg" border="0" /><br />   <p><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋"><span style="color: #008000">鐐瑰嚮鐜鍙橀噺</span></span></p> <p><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋"><span style="color: #008000">鐐瑰嚮鏂板緩閫夐」錛?/span></span></p> <p><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋"><span style="color: #008000">鍏蜂綋璁劇疆</span></span></p> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy6.jpg" border="0" /><br />   <p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; color: #222233; font-family: Tahoma"><span style="color: #008000"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma">Path</span><span style="font-size: 9pt; font-family: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma">錛?/span></span></span></p> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy7.jpg" border="0" /><br /> <span style="color: #008000">  </span> <p><span style="color: #008000"><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋">鎴戠敤鐨?/span><span style="font-size: 9pt; color: #222233; font-family: Tahoma">Jdk</span><span style="font-size: 9pt; color: #222233; font-family: 瀹嬩綋">鐗堟湰鏄?/span><span style="font-size: 9pt; color: #222233; font-family: Tahoma">Jdk1.6</span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">•</span>     <span style="font-family: 瀹嬩綋">榪愯瀹夎鏂囦歡銆傦紙鏇存敼瀹夎璺緞鍒幫細</span>C:"Program Files"Java"jdk1.6.0<span style="font-family: 瀹嬩綋">錛堢増鏈彿錛夛級</span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">•</span>     <span style="font-family: 瀹嬩綋">璁劇疆</span>JAVA_HOME<span style="font-family: 瀹嬩綋">鐜鍙橀噺錛堝鎴戠殑</span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">•</span>     <span style="font-family: 瀹嬩綋">鍦ㄧ郴緇?/span>path<span style="font-family: 瀹嬩綋">涓鍔狅細</span>%JAVA_HOME%"bin </span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">娉細瀵逛簬</span>1.1-rc-1<span style="font-family: 瀹嬩綋">浠ヤ笂鐗堟湰闇瑕?/span>JDK1.5<span style="font-family: 瀹嬩綋">鐗堟垨鏇撮珮鐨勭増鏈?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">鐐瑰嚮鑷繁涓嬭澆鐨?/span>Groovy windows</span><span style="font-family: 瀹嬩綋"><span style="color: #008000">瀹夎鐗堟湰</span><img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy8.jpg" border="0" /><br />   </p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">瀹夎鍙互鏄粯璁ょ殑瀹夎鍏ㄧ偣鍑諱笅涓姝ワ紙</span>next<span style="font-family: 瀹嬩綋">錛夛細</span></span></p> <p><span style="font-family: 瀹嬩綋"><span style="color: #008000">瀹夎灝卞畬鎴愬暒</span></span></p> <p><span style="color: #008000">(Note: as an alternative to setting a system environment variable, you can create yourself a '.bat' or '.cmd' file which sets </span></p> <p><span style="color: #008000">the variable. You then need to run that batch file in any console window in which you wish to run Java and double clicking on </span></p> <span style="color: #008000">  </span> <p><span style="color: #008000">.bat' or '.cmd' files containing Java invocation instructions won't work. If you are unsure about what this means, follow </span></p> <p><span style="color: #008000">the earlier instructions.)</span></p> <p><span style="color: #008000">Note: JDK 1.5 is required for version 1.1-rc-1. In earlier versions of JDK (notably 1.4.2) the compiller throws an exception:</span></p> <p><span style="color: #008000">*nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError: </span></p> <p><span style="color: #008000">java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;<br /> </span></p> <p><span style="color: #008000">The method "replace" was introduced in JDK 1.5 and is not supportedin earlier versions. This is also a reason why GRails </span></p> <p><span style="color: #008000">framework doesn't run on JRE 1.4 </span></p> <p><span style="color: #008000">(1)<span style="font-family: 瀹嬩綋">濡傛灉浣犳槸瀹夎鐗堟湰</span>Groovy<span style="font-family: 瀹嬩綋">鐜鍙橀噺涓嶉渶瑕佹垜浠緗紝鍦ㄥ畨瑁呯殑鏃跺欏氨鑷姩璁劇疆濂藉暒銆?/span></span></p> <p><span style="color: #008000">(2)<span style="font-family: 瀹嬩綋">濡傛灉涓嶆槸錛岃鑷繁灝濊瘯</span>Groovy<span style="font-family: 瀹嬩綋">璁劇疆濡備笅錛?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">璁劇疆浣犵殑</span>Groovy<span style="font-family: 瀹嬩綋">鐜鍙橀噺</span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">浠庝笅杞介〉闈笅杞?/span>Groovy<span style="font-family: 瀹嬩綋">瀹夎鍣ㄦ垨鑰呬簩榪涘埗鍖咃紝騫朵笖璺熺潃浠嬬粛榪涜瀹夎鍗沖彲銆傦紙褰撳墠鏈変竴涓棶棰橈紝灝辨槸鍦?/span>windows<span style="font-family: 瀹嬩綋">涓嬶紝浣犵殑瀹夎璺緞涓嶈兘鍚湁絀烘牸</span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">錛屽嵆錛岃灝嗗叾緙虹渷鐨勫畨瑁呰礬寰?/span>"c:"Program Files"Groovy" <span style="font-family: 瀹嬩綋">鏀規垚璞?/span>"c:"Groovy"<span style="font-family: 瀹嬩綋">榪欐牱鐨勮礬寰勶級</span></span></p> <p><span style="font-family: 瀹嬩綋"><span style="color: #008000">鎴栬呰繖鏍?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">浠庣珯鐐逛笂寰楀埌</span>Groovy<span style="font-family: 瀹嬩綋">鍙戣鐗堢殑</span>copy,<span style="font-family: 瀹嬩綋">騫朵笖</span>copy<span style="font-family: 瀹嬩綋">瀹冨埌浣犵‖鐩樹笂鐨勬煇涓湴鏂廣?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">瑙e帇緙╄繖涓?/span>groovy<span style="font-family: 瀹嬩綋">鍖呭埌浣犵‖鐩樼殑鏌愪釜絀洪棿錛屽鎴戠殑鍦?/span> C:"dev"groovy-1.0-jsr-06 </span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">璁劇疆</span>GROOVY_HOME<span style="font-family: 瀹嬩綋">鐜鍙橀噺</span>. <span style="font-family: 瀹嬩綋">鍦?/span>Windows<span style="font-family: 瀹嬩綋">涓嬶紝浣滃涓嬫楠?/span>: </span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">娣諱腑鏂扮殑緋葷粺鐜鍙橀噺</span>GROOVY_HOME <span style="font-family: 瀹嬩綋">騫朵笖灝嗗艱涓轟綘鐨?/span>groovy<span style="font-family: 瀹嬩綋">瀹夎鐨勮礬寰勶紙</span> <span style="font-family: 瀹嬩綋">鎴戠殑鏄?/span> C:"dev"groovy-1.0-jsr-06) </span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">鎵撳紑鍛戒護琛岀獥鍙o紝騫朵笖閿叆</span>"set" <span style="font-family: 瀹嬩綋">鐒跺悗鎵撳洖杞︼紝鏌ョ湅浣犵殑鐜鍙橀噺璁劇疆鏄惁宸茬粡姝g‘銆?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">鍙夌殑錛屼綘涔熷彲浠ユ坊鍔?/span> %GROOVY_HOME%"bin <span style="font-family: 瀹嬩綋">鍒頒綘鐨?/span>PATH<span style="font-family: 瀹嬩綋">鐜鍙橀噺涓?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">閫氳繃鍙屽嚮璇曠潃榪愯</span>groovyConsole.bat<span style="font-family: 瀹嬩綋">銆傚鏋滃畠涓嶈兘宸ヤ綔錛屾墦寮涓浜哄懡浠よ紿楀彛錛屽皢鐩綍鏀瑰彉鍒?/span>bin<span style="font-family: 瀹嬩綋">鐩綍錛屽茍涓旇繍琛屽畠鐪嬩粬榪斿洖浠涔堥敊璇俊鎭?/span></span></p> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">浜岋細榪愯</span>groovy</span></p> <p><span style="color: #008000">Groovy<span style="font-family: 瀹嬩綋">瀹夎錛氱洰褰?/span></span></p> <img style="width: 633px; height: 472px" height="472" alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy9.jpg" width="633" border="0" /><br />   <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">鎴戜滑闇瑕佺偣鍑?/span>groovyConsole.bat<span style="font-family: 瀹嬩綋">鏂囦歡錛?/span></span></p> <p><span style="font-family: 瀹嬩綋"><span style="color: #008000">鏂囦歡璇︾粏鍐呭濡備笅錛?/span></span></p> <table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1"> <tbody> <tr> <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; color: #ff9900; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568"> <p><span style="color: #008000">@if "%DEBUG%" == "" @echo off</span></p> <p><span style="color: #008000">@rem </span></p> <p><span style="color: #008000">@rem $Revision: 2770 $ $Date: 2005-08-29 12:49:42 +0200 (Mo, 29. Aug 2005) $</span></p> <p><span style="color: #008000">@rem </span></p> <p><span style="color: #008000">@rem Set local scope for the variables with windows NT shell</span></p> <p><span style="color: #008000">if "%OS%"=="Windows_NT" setlocal</span></p> <p><span style="color: #008000">:begin</span></p> <p><span style="color: #008000">@rem Determine what directory it is in.</span></p> <p><span style="color: #008000">set DIRNAME=%~dp0</span></p> <p><span style="color: #008000">if "%DIRNAME%" == "" set DIRNAME=."</span></p> <p><span style="color: #008000">"%DIRNAME%"startGroovy.bat" "%DIRNAME%" groovy.ui.Console %*</span></p> <p><span style="color: #008000">@rem End local scope for the variables with windows NT shell</span></p> <p><span style="color: #008000">if "%OS%"=="Windows_NT" endlocal</span></p> </td> </tr> </tbody> </table> <p><span style="color: #008000"><span style="font-family: 瀹嬩綋">瀹夎瀹屾暣鏃犺鐨勮瘽</span> <span style="font-family: 瀹嬩綋">榪愯</span>groovyConsole.bat<span style="font-family: 瀹嬩綋">灝變細鍚姩</span>groovyConsole.exe</span><span style="font-family: 瀹嬩綋"><span style="color: #008000">錛屽嚭鏉ヤ竴涓紪杈戞銆?br /> </span></span></p> <span style="font-size: 10.5pt; font-family: 'Times New Roman'"><img style="width: 579px; height: 327px" height="327" alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/gr10.jpg" width="579" border="0" /> <br />   <p class="MsoNormal"><span style="color: #008000"><span style="font-family: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓婇潰鐨勬槸鏂囨湰杈撳叆妗嗭細鏍規嵁</span><span lang="EN-US">groovy</span><span style="font-family: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨勮娉曡緭鍏ヨ鏄劇ず鐨勫唴瀹癸細</span></span></p> <p class="MsoNormal"><span style="font-family: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="color: #008000">涓嬮潰鐨勬槸鍐呭杈撳嚭妗嗭細鏄劇ず涓婇潰鐨勫唴瀹癸細</span></span></p> <p class="MsoNormal"><span style="color: #008000"><span style="font-family: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寮濮嬭繍琛?/span><span lang="EN-US">groovy</span></span><span style="font-family: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/gr11.jpg.jpg" border="0" /><br /> <img alt="" src="http://www.tkk7.com/images/blogjava_net/mikezeseler/groovy.jpg" border="0" /><br />   </p> <p><span style="color: #ff9900"><span style="color: #008000">Hello, World</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"><span style="font-family: 瀹嬩綋">鍦?/span> groovyConsole<span style="font-family: 瀹嬩綋">榪愯紿楀彛鐨勯《閮?/span>,<span style="font-family: 瀹嬩綋">閿叆</span>println "Hello, World!" </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"><span style="font-family: 瀹嬩綋">騫朵笖閿叆</span> <CTRL-R>.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"><span style="font-family: 瀹嬩綋">娉ㄦ剰錛屽湪鎺у埗鍙扮獥鍙d腑錛堝嵆</span> groovyConsole<span style="font-family: 瀹嬩綋">紿楀彛鍓嶉潰鐨勯粦鑹茬殑閭d釜錛夛紝鏂囦綋寰楀埌鎵撳嵃騫朵笖</span> groovyConsole<span style="font-family: 瀹嬩綋">鐨勪笅閮ㄦ樉紺?/span> :</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">groovy> println "Hello, World!"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">null </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"> <span style="font-family: 瀹嬩綋">浠?/span>"groovy>"<span style="font-family: 瀹嬩綋">寮澶寸殑琛屾鏄帶鍒跺彴澶勭悊鐨勬枃鏈?/span>. "null" <span style="font-family: 瀹嬩綋">鏄〃杈懼紡鐨勫?/span>. <span style="font-family: 瀹嬩綋">鍥犱負琛ㄨ揪寮忔病鏈変換浣曞煎彲浠ユ墦鍗?/span> <span style="font-family: 瀹嬩綋">錛屾墍浠?/span>groovyConsole<span style="font-family: 瀹嬩綋">鎵撳嵃涓?/span>"null"</span></span></p> <p><span style="font-family: 瀹嬩綋"><span style="color: #ff9900"><span style="color: #008000">鎺ヤ笅鏉ワ紝鍐嶈瘯涓浜涘疄闄呯殑鍊鹼紝鐢ㄤ笅闈㈢殑瀛楃涓叉潵鏇挎崲鎺у埗鍙伴噷鐨勬枃鏈細</span></span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">123+45*67 </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"><span style="font-family: 瀹嬩綋">鎴栬呬綘鍠滄鐨勪換浣曡〃杈懼紡鐒跺悗鎸?/span><CTRL-R> (I'm going to stop telling you to hit <CTRL-R>, I think you get the idea). <span style="font-family: 瀹嬩綋">鐜板湪錛?/span> groovyConsole<span style="font-family: 瀹嬩綋">涓嬮潰鎵撳嵃鐨勫兼湁鏇村鐨勫惈涔?/span>.</span></span></p> <span style="color: #ff9900"><span style="color: #008000">  </span></span> <p><span style="color: #ff9900"><span style="color: #008000">Variables</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">You can assign values to variables for later use. Try the following:x = 1</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println x</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">x = new java.util.Date()</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println x</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">x = -3.1499392</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println x</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">x = false</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println x</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">x = "Hi"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println x </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Lists and Maps</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">The Groovy language has built-in support for two important data types, lists and maps (Lists can be operated as arrays in Java language). Lists are used to store ordered collections of data. For example an integer list of your favorite integers might look like this:myList = [1776, -1, 33, 99, 0, 928734928763]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">You can access a given item in the list with square bracket notation (indexes start at 0):</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println myList[0]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Should result in this output:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">1776 </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">You can get the length of the list with the "size" method:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println myList.size() </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Should print out:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">6 </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">But generally you shouldn't need the length, because unlike Java, the preferred method to loop over all the elements in an list is to use the "each" method, which is described below in the "Code as Data" section.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Another native data structure is called a map. A map is used to store "associative arrays" or "dictionaries". That is unordered collections of heterogeneous, named data. For example, let's say we wanted to store names with IQ scores we might have:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ] </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Note that each of the values stored in the map is of a different type. Brett's is an integer, Pete's is a string, and Andrew's is a floating point number. We can access the values in a map in two main ways:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println scores["Pete"]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println scores.Pete </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Should produce the output:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Did not finish</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Did not finish </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">To add data to a map, the syntax is similar to adding values to an list. For example, if Pete re-took the IQ test and got a 3, we might:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">scores["Pete"] = 3 </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Then later when we get the value back out, it will be 3.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println scores["Pete"]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">should print out 3.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Also as an aside, you can create an empty map or an empty list with the following:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">emptyMap = [:]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">emptyList = [] </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">To make sure the lists are empty, you can run the following lines:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println emptyMap.size()</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println emptyList.size() </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Should print a size of 0 for the List and the Map.</span></span></p> <p><span style="font-family: 瀹嬩綋"><span style="color: #ff9900"><span style="color: #008000">鏉′歡琛ㄨ揪寮?/span></span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">One of the most important features of any programming language is the ability to execute different code under different conditions. The simplest way to do this is to use the '''if''' construct. For example:amPM = Calendar.getInstance().get(Calendar.AM_PM)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">if (amPM == Calendar.AM)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">{</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println("Good morning")</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">} else {</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println("Good evening")</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">} </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Don't worry too much about the first line, it's just some code to determine whether it is currently before noon or after. The rest of the code executes as follows: first it evaluates the expression in the parentheses, then depending on whether the result is '''true''' or '''false''' it executes the first or the second code block. See the section below on boolean expressions.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Note that the "else" block is not required, but the "then" block is:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">amPM = Calendar.getInstance().get(Calendar.AM_PM)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">if (amPM == Calendar.AM)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">{</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println("Have another cup of coffee.")</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">} </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Boolean<span style="font-family: 瀹嬩綋">琛ㄨ揪寮?/span></span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">There is a special data type in most programming languages that is used to represent truth values, '''true''' and '''false'''. The simplest boolean expression are simply those words. Boolean values can be stored in variables, just like any other data type:myBooleanVariable = true </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">A more complex boolean expression uses one of the boolean operators:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">== </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">!= </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">> </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">>= </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">< </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000"><= </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Most of those are probably pretty intuitive. The equality operator is '''==''' to distinguish from the assignment operator '''='''. The opposite of equality is the '''!=''' operator, that is "not equal"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">So some examples:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice = 1234600000</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicDirector = "James Cameron" </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">trueLiesBoxOffice = 219000000</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">trueLiesDirector = "James Cameron"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">returnOfTheKingBoxOffice = 752200000</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">returnOfTheKingDirector = "Peter Jackson"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">theTwoTowersBoxOffice = 581200000</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">theTwoTowersDirector = "PeterJackson"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice > returnOfTheKingBoxOffice // evaluates to true</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice >= titanicBoxOffice // evaulates to true</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice > titanicBoxOffice // evaulates to false</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice // evaluates to false</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicDirector > returnOfTheKingDirector // evaluates to false, because "J" is before "P"</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicDirector < returnOfTheKingDirector // evaluates to true</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicDirector >= "James Cameron" // evaluates to true</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">titanicDirector == "James Cameron" // evaluates to true </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Boolean expressions are especially useful when used in conjunction with the '''if''' construct. For example:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">{</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println(titanicDirector + " is a better director than " + returnOfTheKingDirector)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">} </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">An especially useful test is to test whether a variable or expression is null (has no value). For example let's say we want to see whether a given key is in a map:</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">suvMap = ["Acura MDX":""$36,700", "Ford Explorer":""$26,845"]</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">if (suvMap["Hummer H3"] != null)</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">{</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">println("A Hummer H3 will set you back "+suvMap["Hummer H3"]);</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">} </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Generally null is used to indicate the lack of a value in some location.</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Debugging and Troubleshooting Tips</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Print out the class of a variable that you're interested in with myVar.getClass(). Then look up the documentation for that class. </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">If you're having trouble with a complex expression, pare it down to a simpler expression and evaluate that. Then build up to your more complex expression. </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Try restarting the groovyConsole (this will clear out all the variables so you can start over. </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">Look for the topic you're interested in in the Groovy User Guide </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">If you are a Java developer</span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">you might want to check on the Differences from Java </span></span></p> <p><span style="color: #ff9900"><span style="color: #008000">also there afew a few Things to remember </span></span></p> <p><span style="color: #008000"><span style="color: #ff9900"><span style="color: #008000">Labels parameters  </span></span>   </span></p> </span></span></span></span></o:lock></v:shapetype></span></span> <img src ="http://www.tkk7.com/mikezeseler/aggbug/253772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mikezeseler/" target="_blank">mike zeseler</a> 2009-02-08 12:20 <a href="http://www.tkk7.com/mikezeseler/archive/2009/02/08/mikezeseler.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>mike zeseler java瀛︿範http://www.tkk7.com/mikezeseler/archive/2009/02/04/253272.htmlmike zeselermike zeselerWed, 04 Feb 2009 08:30:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/02/04/253272.htmlhttp://www.tkk7.com/mikezeseler/comments/253272.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/02/04/253272.html#Feedback0http://www.tkk7.com/mikezeseler/comments/commentRss/253272.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/253272.html pdf  Search Engine
http://www.pdf-search-engine.com/
椴滄灉鍗氬姒溾斺旀悳緗楀ソ鐨刡log寰堝煎緱鐪嬬湅
http://bang.xianguo.com
Groovy鏄竴涓厖婊″垱鏂扮悊蹇靛叿鏈夊垱鏂扮簿紲炵殑欏圭洰

JAX 鏄痙鍥藉崄鍒嗛噸瑕佺殑Java鎶鏈細璁紙Java conference錛夛紝姣忎竴騫磋緇勭粐閮戒細鍙紑浼氳璇勯?strong>鏈鍏峰垱鏂扮簿紲炵殑欏圭洰錛岃瘎閫夊鍛樹細浠?a >40涓彁鍚?/a>欏圭洰涓夋嫨鍗佷釜鍊欓夐」鐩?/a>錛岃澶氫紭縐欏圭洰濡侻atisse GUI builder錛圢etBeans鐨勪竴涓彃浠訛紝鐢ㄤ簬鏋勫緩GUI紼嬪簭錛夈丯uxeo錛堜紒涓氱駭鍐呭綆$悊瑙e喅鏂規錛夌瓑閮藉叆鍥村欓夛紝鏈鍚嶨roovy璧㈠緱浜?絳夊錛佽繖鏄竴涓磭楂樼殑鑽h獕錛屾垜浠劅鍒伴潪甯擱珮鍏達紝鐗瑰埆鏄拰璁稿闈炲父浼樼鐨勯」鐩竴璧風珵璧涖傚彟澶栬濂栭」鐨勪笂涓鏈熻儨鍑鴻呮槸Spring framework銆?/p>

榪樻湁錛岀敱Dierk König鍒涗綔鍑虹増鐨勭晠閿涔?-----銆奊roovy in Action銆嬶紝涔熶細浣滀負濂栧搧璧犱簣Groovy紺懼洟錛岄殢鍚嶫AX灝嗗崟鐙緗瓽roovy涓婚鐨勪細璁繘琛岄濂栥?strong>榪欎簺濂栭」璇佹槑騫惰偗瀹氫簡Groovy鐨勫垱鏂頒環鍊鹼紝騫惰鏄嶨roovy鍦↗ava紺懼洟鏈変笉灝忕殑褰卞搷鍔?/strong>銆?
http://groovy.codehaus.org
mxjava
http://www.mxjava.com/blog/

鍥藉钁楀悕java鎶鏈祫鏂欑綉绔?

http://www.onjava.com

    O'Reilly鐨凧ava緗戠珯. 姣忓懆閮芥湁鏂版枃绔?

http://java.sun.com

    瀹樻柟鐨凧ava寮鍙戣呯綉绔?- 姣忓懆閮芥湁鏂版枃绔犲彂琛?

http://www.developer.com/java

    鐢盙amelan.com 緇存姢鐨凧ava鎶鏈枃绔犵綉绔?

http://www.java.net

    Sun鍏徃緇存姢鐨勪竴涓狫ava紺懼尯緗戠珯

http://www.builder.com

    Cnet鐨凚uilder.com緗戠珯 - 鎵鏈夌殑鎶鏈枃绔? 浠ava涓轟富.

http://www.ibm.com/developerworks/java

    IBM鐨凞eveloperworks鎶鏈綉绔? 榪欐槸鍏朵腑鐨凧ava鎶鏈富欏?

http://www.javaworld.com

    鏈鏃╃殑涓涓狫ava绔欑偣. 姣忓懆鏇存柊Java鎶鏈枃绔?

http://www.devx.com/java

    DevX緇存姢鐨勪竴涓狫ava鎶鏈枃绔犵綉绔?

http://www.fawcette.com/javapro

    JavaPro鍦ㄧ嚎鏉傚織緗戠珯.

http://www.sys-con.com/java

    Java Developers Journal鐨勫湪綰挎潅蹇楃綉绔?

http://www.javadesktop.org

    浣嶄簬Java.net鐨勪竴涓狫ava妗岄潰鎶鏈ぞ鍖虹綉绔?

http://www.theserverside.com

    榪欐槸涓涓璁烘墍鏈塉ava鏈嶅姟鍣ㄧ鎶鏈殑緗戠珯.

http://www.jars.com

    鎻愪緵Java璇勮鏈嶅姟. 鍖呮嫭鍚勭framework鍜屽簲鐢ㄧ▼搴?

http://www.jguru.com

    涓涓潪甯告鐨勯噰鐢≦&A褰㈠紡鐨凧ava鎶鏈祫婧愮ぞ鍖?

http://www.javaranch.com

     涓涓鍧涳紝寰楀埌Java闂絳旀鐨勫湴鏂癸紝鍒濆鑰呯殑濂藉幓澶勩?

http://www.ibiblio.org/javafaq/javafaq.html

    comp.lang.java鐨凢AQ绔欑偣 - 鏀墮泦浜嗘潵鑷猚omp.lang.java鏂伴椈緇勭殑闂鍜岀瓟妗堢殑鍒嗙被鐩綍.

http://java.sun.com/docs/books/tutorial/

    鏉ヨ嚜SUN鍏徃鐨勫畼鏂笿ava鎸囧崡 - 瀵逛簬浜嗚В鍑犱箮鎵鏈夌殑java鎶鏈壒鎬ч潪甯告湁甯姪.

http://www.javablogs.com

    浜掕仈緗戜笂鏈媧昏穬鐨勪竴涓狫ava Blog緗戠珯.


]]>
java寮婧愬涔犱氦嫻佺ぞ鍖?/title><link>http://www.tkk7.com/mikezeseler/archive/2009/01/30/252749.html</link><dc:creator>mike zeseler</dc:creator><author>mike zeseler</author><pubDate>Fri, 30 Jan 2009 10:05:00 GMT</pubDate><guid>http://www.tkk7.com/mikezeseler/archive/2009/01/30/252749.html</guid><wfw:comment>http://www.tkk7.com/mikezeseler/comments/252749.html</wfw:comment><comments>http://www.tkk7.com/mikezeseler/archive/2009/01/30/252749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mikezeseler/comments/commentRss/252749.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mikezeseler/services/trackbacks/252749.html</trackback:ping><description><![CDATA[鎴戠殑鏈鐖?nbsp;code<br /> <a>http://www.java2s.com/Code/Java/CatalogJava.htm</a><br /> Open Source Software<br /> http://sourceforge.net/index.php<br /> IBMblog<br /> http://www.ibm.com/developerworks/blogs/<br /> Sun China<br /> http://developers.sun.com.cn<br /> 寮婧愪腑鏂囨枃妗?br /> <a >http://ajava.org/</a><br /> EXT<br /> http://www.easyjf.com/blog/index.html<br /> openABC<br /> http://www.openabc.org<br /> Sun<br /> http://java.sun.com/javaee/index.jsp<br /> javablogs<br /> <a >http://www.javablogs.com</a><br /> java寮婧?br /> http://<a >www.open-open</a>.com<br /> 寮鍙戞枃妗o細<br /> http://docviewer.net/<br /> JAVA涓枃涓栫晫紺懼尯<br /> http://bbs.chinajavaworld.com/<br /> http://blog.chinajavaworld.com/<br /> csdn<br /> http://blog.csdn.net/heiyeshuwu<br /> tarena<br /> http://bbs.tarena.com.cn<br /> 杞細<br /> <p>1.TheServerside.com  銆?/p> <p>2.InfoQ.com Floyd Marinescu 鍦ㄧ寮 TSS 鍚庡彟璧風倝鐏訛紝2006騫翠腑鏈閲嶈鎺ㄨ崘銆?/p> <p>瑙嗛噹涓嶅啀灞闄愪簬Java 鑰屾槸鍖呮嫭Java,.Net, Ruby ,SOA, Agile鏂規硶絳夌儹闂ㄨ瘽棰樸?/p> <p>3.JDJ鐨勭數瀛愭潅蹇?鍦↗DJ棣栭〉鐨勬渶搴曞璁㈤槄錛屾枃绔犺川閲忎笉浣庝簬5-7鐨勪紶緇熶笁寮恒?/p> <p>4.SWik.net  鏀墮泦浜嗗ぇ閲廜penSource Project鐨勮祫婧愯仛鍚堛傚叾涓Spring錛?/p> <p>Hibernate鐨勬洿鏂板害闈炲父楂橈紝鍑虹幇浠涔堝拰Spring鏈夊叧鐨刡log,article,project閮戒細</p> <p>椹笂琚仛鍚堛?/p> <p>5.IBM DeveloperWorks 浼犵粺銆佺ǔ瀹氱殑Java鏂囩珷鏉ユ簮鍦般?/p> <p>6.JavaWorld 浼犵粺銆佺ǔ瀹氱殑Java鏂囩珷鏉ユ簮鍦般?/p> <p>7.OnJava  浼犵粺銆佺ǔ瀹氱殑Java鏂囩珷鏉ユ簮鍦般?/p> <p>8.Artima.com 綾諱技浜嶵SS鑰岀暐閫婏紝鍏朵腑Spotlight 鏂囩珷鍊煎緱鍏蟲敞錛岃孞ava News鏄?/p> <p>鑱氬悎浜嗘墍鏈夊叾浠朖ava绔欑偣鐨勫ぇ鑱氬悎銆?/p> <p>9.JavaLobby  绔欏唴鐨凙nnouncements 鏄ぇ澶у皬灝廕ava  Project鐨勫彂甯冨0鏄庡尯錛?/p> <p>Trips and Tricks 鏈夊緢澶氱殑Tips銆?/p> <p>10. No Fluff Just Stuff 鐨凚logs 鑱氬悎 涓鐩寸己涓涓墍鏈変紭縐Java Blogger鐨?/p> <p>rss鎬昏仛鍚堬紝NFJS榪欓噷鍕夊己綆椾竴涓?br /> </p> <a title="鍥藉10澶ф敹闆咥jax/Javascript鐗規晥鐨勭珯鐐? href="" rel="http://ajaxian.com/">Ajaxian</a></p> <p>涓涓帴榪戜簬闂ㄦ埛綾誨瀷鐨凙JAX璧勬簮绔欑偣錛屽寘鎷珹jax紺轟緥鏀墮泦錛屽崥瀹紝璁哄潧鍜屾暀紼嬬瓑絳夈?/p> <p>5. <a >DHTML Goodies</a></p> <p>6. <a >Javascript Kit</a></p> <p>7. <a >Dynamic Drive</a></p> <p>8. <a >DHTML Site</a></p> <p>9. <a >Solutoire</a></p> <p>10. <a >DevSnippets</a></p> <a >2008騫村浗澶栨渶浣砏eb璁捐/寮鍙戞妧宸с佽剼鏈強璧勬簮</a><br /> <h3>宸ュ叿&Web搴旂敤</h3> <p><a target="_blank">13涓彲鑳戒細璁╀綘璇?#8221;Thank You”鐨勫繀涓嶅彲灝戠殑寮婧愬簲鐢?/a></p> <p><a target="_blank">14涓厤璐瑰伐鍏瘋浣犱簡瑙d負浠涔堜漢浠細鏀懼純璁塊棶浣犵殑緗戠珯</a></p> <p><a target="_blank">40+CSS鐢熸垚鍣?/a></p> <p><a target="_blank">74涓垜浠彲鑳藉凡緇忓繕璁扮殑閫傚悎緗戦〉璁捐甯堢殑寰堟鐨刉eb搴旂敤</a></p> <p><a target="_blank">50+鑳芥彁楂樹綘鐨勭綉绔欓熷害鍜屾ц兘鐨勬妧宸у拰璧勬簮</a></p> <p><a target="_blank">15涓彲浠ョ洃瑙嗙綉绔欎漢姘旂殑宸ュ叿</a></p> <p><a target="_blank">20涓厤璐圭殑SEO緗戠珯鍒嗘瀽宸ュ叿</a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">11涓姛鑳藉己澶х敋鑷沖彲浠ユ浛浠f爣鍑嗗簲鐢ㄧ▼搴忕殑Firefox3鎵╁睍鎻掍歡</a></p> <p><a target="_blank">10涓綘鑷沖皯搴旇浜嗚В鐨勫厤璐圭収鐗囩鐞嗚蔣浠?/a></p> <p><a target="_blank">浣滀負Web鍓嶇寮鍙戝伐紼嬪笀搴斿埌鎰熻阿鐨?5浠朵簨</a></p> <p><a target="_blank">15涓墠绔紑鍙?緗戦〉璁捐甯堝繀澶囩殑Bookmarklet</a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">20澶х殑PHP寮鍙戞鏋?/a></p> <p><a target="_blank">66涓涔犵綉欏佃璁″熀紜鐨勯摼鎺?/a></p> <p><a target="_blank">Web寮鍙戝伐鍏風錛?120 +Web寮鍙戞柊宸ュ叿</a></p> <h3>鑴氭湰銆佽ˉ涓佸強Hack</h3> <p><a target="_blank">40澶у厤璐笰jax鍙奐avaScipt浠g爜</a></p> <p><a target="_blank">鎵鏈夐《綰х綉绔欏簲鏈夌殑15涓叧閿厓绱?/a></p> <p><a target="_blank">灝哖SD鏁堟灉鍥捐漿鎹負HTML/CSS鐨?0澶ф暀紼?/a></p> <p><a target="_blank">30+JavaScript, Ajax & CSS宸ュ叿鎻愮ず鑴氭湰</a></p> <p><a target="_blank">50+婕備寒鐨勫熀浜庣函CSS鐨勫鑸剼鏈?/a></p> <p><a target="_blank">40+鏈鐑棬鐨剋ordpress縐樿瘈鍜屾妧宸?/a>錛?<a >30+ More</a></p> <p><a target="_blank">30+璁╀綘澶у紑鐪肩晫鐨刉eb鍓嶇寮鍙戣棰戞暀紼?/a></p> <p><a target="_blank">19涓狢SS鑿滃崟鏁欑▼鏉ヤ負浣犵殑緗戠珯娣誨姞鏇村瓚e懗</a></p> <p><a target="_blank">綺鵑?0涓紭縐鐨凜SS鎶鏈拰瀹炰緥</a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">34+鍏嶈垂閫氳(Email絳?鐢℉TML妯℃澘</a></p> <p><a target="_blank">50涓紭縐鐨凙jax鏁欑▼</a></p> <p><a target="_blank">12縐岼avascript瑙e喅甯歌嫻忚鍣ㄥ吋瀹歸棶棰樼殑鏂規硶</a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">15涓湁甯姪鐨勫熀浜庢祻瑙堝櫒鐨刉eb鍓嶇寮鍙戝伐鍏?/a></p> <p><a target="_blank">75涓?鐪熸鐨?寰堟湁甯姪鐨凧avaScipt鎶鏈?/a></p> <p><a target="_blank">63涓繀涓嶅彲灝戠殑Wordpress Hack銆佹暀紼嬨佸府鍔╂枃浠跺拰鎵嬪唽</a></p> <p><a target="_blank">Web璁捐/寮鍙戞渶浣充嬌鐢ㄦ墜鍐?19)</a></p> <p><a target="_blank">10涓拡瀵筗orpress鏈夌敤鐨凴SS鎶宸у拰Hack</a></p> <p><a target="_blank">20涓濂囩殑Javascipt鑴氭湰鍘熷瀷銆佸厓绱犮乄idgets銆佺被…</a></p> <p><a target="_blank">10涓仾鏄庣殑JavaScipt鎶鏈敤鏉ユ彁鍗囦綘鐨刄I鐣岄潰</a></p> <p><a target="_blank">10涓綘蹇呴』鐭ラ亾鐨勫緢媯掔殑Ajax鐗規晥</a></p> <p><a target="_blank">35涓嬌鐢ㄧ畝渚跨殑Ajax/JavaScipt瀵艱埅瑙e喅鏂規</a></p> <p><a target="_blank">10澶SS鎸夐挳鏁欑▼鍒楄〃</a></p> <p><a target="_blank">10涓厤璐瑰浘琛ㄨ剼鏈?/a></p> <h3>鎶宸?/h3> <p><a target="_blank">10涓簿閫歅HP鐨勫師鐞?/a></p> <p><a target="_blank">6涓畝鍗曟柟娉曟潵鏀瑰杽鎮ㄧ殑HTML閭歡</a></p> <p><a target="_blank">鏁寸悊鍙婁紭鍖朇SS浠g爜鐨?涓師鍒?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">淇濇寔浣犵殑浠g爜鏁存磥鐨?2涓師鍒?/a></p> <p><a target="_blank">10涓敼鍠勪綘緙栫▼鐨勯珮綰HP鎶宸?/a></p> <p><a target="_blank">浣跨敤CSS涓哄浘鐗囨坊鍔犳洿澶氳叮鍛崇殑5縐嶆柟娉?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">10涓紭鍖栨妧宸?/a></p> <p><a target="_blank">鎵鏈夌綉绔欓兘搴斿叿澶囩殑10涓猄EO鍏冪礌</a></p> <p><a target="_blank">鏉ヨ嚜8涓烘瀬鍏風伒鎰熺殑婕旇鑰呯殑10涓綉緇滃簲鐢ㄦ妧宸?/a></p> <p><a target="_blank">緙栧啓璧忓績鎮︾洰鐨勪唬鐮佺殑7縐嶆柟娉?/a></p> <p><a target="_blank">10涓狢SS綆鍐欐妧宸ц浣犳案榪滃彈鐢?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">10涓猈eb寮鍙戝皬鎶宸?/a></p> <p><a target="_blank">15涓繀欏誨浼氱殑CSS鎶宸?/a></p> <p><a target="_blank">101涓狢SS鎶鏈?絎竴閮ㄥ垎</a>,<a target="_blank">絎簩閮ㄥ垎</a></p> <h3>璧勬簮</h3> <p><a target="_blank">鎺ㄨ崘20涓叧浜庣綉绔欏彲鐢ㄦу強鐣岄潰璁捐鐨勭綉绔?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">綺鵑?1涓綉绔欑晫闈㈣璁″疄璺墊暀紼?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">鎴愪負Web璁捐/寮鍙戣嚜鐢辮亴涓氳呮墍瑕侀伒寰簡53涓(60+璧勬簮)</a></p> <p><a target="_blank">Ajax緗戦〉瓚嬪娍鐮旂┒錛屼粈涔堟槸鏈濂界殑鍏嶈垂Ajax璧勬簮錛?70+鏈浣矨jax璧勬簮)</a></p> <p><a target="_blank">155涓猈ordpress璧勬簮銆佹暀紼嬨佹彃浠躲佷富棰樸丄jax銆佹挱瀹?#8230;搴炲ぇ鐨刉P鍒楄〃</a></p> <p><a target="_blank">10涓潪甯告鐨凙jax鍙奐avascript瀹炰緥璧勬簮緗戠珯</a>(宸茬炕璇戞垚涓枃)</p> <p><a >綺鵑?008騫存渶浣寵璁$礌鏉愯祫婧?amp;鐏墊劅</a> (宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">10縐岼avaScript鐗規晥瀹炰緥璁╀綘鐨勭綉绔欐洿鍚稿紩浜?/a></p> <p><a target="_blank">綺鵑?5涓浗澶朇SS妗嗘灦</a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">41涓渶浣矼ootools Ajax瀹炰緥涓嬭澆</a></p> <p><a target="_blank">鎺ㄨ崘20涓浣犲涔犲茍綺鵑欳SS鐨勭綉绔?/a>(宸茬炕璇戞垚涓枃)</p> <p><a target="_blank">65涓紭縐鐨刯Query璧勬簮(鏁欑▼銆佹墜鍐屻佺數瀛愪功銆乨emo銆佹彃浠?#8230;)</a></p> <p><a target="_blank">300+Jquery, CSS, MooTools 鍜?JS鐨勫鑸彍鍗曡祫婧?/a>(宸茬炕璇戞垚涓枃)</p> <p><a >鎺ㄨ崘12嬈懼彲鐢ㄤ簬鍓嶇寮鍙戠殑鍏嶈垂鏂囨湰緙栬緫鍣?/a></p> <p><a target="_blank">緗戦〉璁捐蹇呭鐨?0濂楁紓浜浘鏍囬泦</a>(宸茬炕璇戞垚涓枃)</p> <h3>鐢熸垚鍣?/h3> <p><a target="_blank">25涓敤浜庣綉欏佃璁$殑棰滆壊璋冭壊鏉跨敓鎴愬櫒璧勬簮</a></p> <p><a target="_blank">12嬈懼厤璐瑰湪綰垮伐鍏峰府鍔╀綘鍒涘緩鍜屾墭綆′綘鐨勭綉绔?/a></p> <p><a target="_blank">25嬈網eb2.0鐢熸垚鍣?/a></p> <h3>鎻掍歡鍜屼富棰?/h3> <p><a target="_blank">10涓敤鏉ュ緱鍒版洿澶氳瘎璁虹殑鏈媯掔殑鎻掍歡</a></p> <p><a target="_blank">灝哤ordpress鍙樹負CMS緋葷粺鐨?0澶ф彃浠?/a></p> <p><a target="_blank">浣犱細鐢ㄥ湪Wordpress涓婚鎴栧崥瀹腑鐨?0嬈炬彃浠?/a></p> <p><a target="_blank">10嬈劇敤浜庤瘎鍒嗗拰鎶曠エ鐨刉ordpress鎻掍歡</a></p> <p><a target="_blank">30嬈劇‘瀹炴湁鐢ㄧ殑Wordpress鎻掍歡</a></p> <p><a target="_blank">浣犳棭鏅氫細鐢ㄥ埌鐨?30嬈網ordpress鎻掍歡-絎竴閮ㄥ垎</a>-<a target="_blank">絎簩閮ㄥ垎</a></p> <p><a target="_blank">18涓浣犵殑鍗氬鏇翠笓涓氱殑Wordpress鎻掍歡</a></p> <p><a target="_blank">7涓垱寤轟綘鑷繁鐨凜SS鐢誨粖鐨刉ordpress涓婚</a></p> <br /> <br /> and so on..........<br /> <br /> <img src ="http://www.tkk7.com/mikezeseler/aggbug/252749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mikezeseler/" target="_blank">mike zeseler</a> 2009-01-30 18:05 <a href="http://www.tkk7.com/mikezeseler/archive/2009/01/30/252749.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓浗java寮婧愮晫http://www.tkk7.com/mikezeseler/archive/2009/01/30/252747.htmlmike zeselermike zeselerFri, 30 Jan 2009 09:59:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/01/30/252747.htmlhttp://www.tkk7.com/mikezeseler/comments/252747.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/01/30/252747.html#Feedback1http://www.tkk7.com/mikezeseler/comments/commentRss/252747.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/252747.html

1銆?nbsp; Huihoo鍔ㄥ姏鈥斿綋涔嬫棤鎰х殑鑰佸ぇ 

浠h〃浜虹墿錛?/strong>榫欒緣(Allen)銆?/span>紼嬪媷(Peter)銆佹潹娉?/span>(Orbat)

浠h〃欏圭洰錛?/span>JFox絳?/span>

瀹樻柟緗戠珯錛?/span>http://www.huihoo.org/

綆璇勶細璇村埌java寮婧愶紝澶у涓嶅彲鑳戒笉鐭ラ亾Huihoo錛?/span>Huihoo鏇劇粡鍒涢犱簡寰堝濂囪抗錛屼笉綆℃槸瀵規槸鍥㈤槦鎴愬憳鐨勬妧鏈按騫寵繕鏄紑婧愮悊蹇點佸紑婧愮粍緇囩殑綆$悊絳夐兘鍙互璇存槸鏈媯掔殑錛?/span>JFox欏圭洰涓鐩村叿鏈夌敓鍛藉姏錛?/span>huihoo榪欎箞澶氬勾浜嗕篃涓鐩村叿鏈夌敓鍛藉姏錛?/span>Allen銆?/span>Peter銆?/span>Orbat絳夊榪欎釜鍥㈤槦榪欎箞澶氬勾鏉ョ殑鍧氭寔鍙婅礎鐚紝瑕侀夊浗鍐呮渶鍊煎緱鎺ㄥ磭鐨勫紑婧愬洟浣擄紝huihoo鎺掑湪絎竴浣嶅彲浠ヨ鏄綋涔嬫棤鎰с傚洜姝わ紝浠栦滑鏄渶鍙埍鐨勪漢銆?br style="font-family: " />

2銆?/span>Jdon鈥?/span>楂樺涓嶈儨瀵?/span>

浠h〃浜虹墿錛?/span>褰櫒闃?/span>(鏉挎ˉ閲屼漢)

浠h〃欏圭洰錛?/span>jdonframework

瀹樻柟緗戠珯錛?/span>http://www.jdon.com/

綆璇勶細浣滀負鍥藉唴絎竴涓紑婧愭鏋剁殑鍙戣搗浜猴紝浣滀負鍥藉唴絎竴涓暍浜庝笌鍥藉妗嗘灦鍙澘鐨勬澘妗ラ噷浜猴紝浠栨浘緇忓甫緇欏ぇ瀹跺緢澶氬緢澶氱殑嬈e枩鍙婂洖蹇嗭紝妗ユ妧鏈按騫沖強閫犺榪欓噷灝辨洿涓嶇敤璇翠簡錛屼粬“ 涓涓紑婧愪漢鐨勫鐙憡鐧?#8221;錛屾湁鐐規缽妗戯紝鏈夌偣蹇冨瘨錛?/span>jdon浠婂ぉ鐨勭幇鐘訛紝鏄腑鍥藉寰呮妧鏈漢鎵嶇殑鐪熷疄鍐欑収銆傛棤璁哄浣曪紝閫変腑鍥?/span>Java寮婧愮晫鏈鍙埍鐨勪漢錛屾澘妗ュ綋涔嬫棤鎰с?br style="font-family: " />

3銆?/span>Apusic OperaMasks鈥?/span>璋佽寮婧愪笉璧氶挶

浠h〃浜虹墿錛?/span>琚佺孩宀椼寮犲媷

浠h〃欏圭洰錛?/span>OperaMasks

瀹樻柟緗戠珯錛?/span>http://www.operamasks.org/

銆銆綆璇勶細1000涓囦漢姘戝竵鐨勬姇鍏ワ紝涓綃?#8220;鍕囨暍鑰呯殑鏂頒笘鐣?#8221;涔熺畻鏄湪涓浗寮婧愮晫鎺璧蜂簡涓闃墊嘗婢滐紝浜у搧鍙戝竷浼氫笂閭d竴浠戒喚鍚堝悓錛屾洿鏄鍚岃鐨勮佹諱滑鏈夌偣鐪肩孩銆傞櫎鍘誨晢涓氬洜绱犱笉璇達紝榪欎袱澶?/span>Check out浜?/span>OperaMasks鐨勪唬鐮侊紝涔熺湅浜嗙ず渚嬶紝琛ㄧ幇闈炲父涓嶉敊錛屽煎緱娣卞眰嬈$殑java寮鍙戜漢鍛樺涔犮傝佽娣卞帤鐨勬妧鏈姛搴曘佽佸紶鍗栧姏鐨勫叏鍥借礬婕旓紝鍏徃緇忚惀鎴樼暐鐨勬垚鍔燂紝OperaMasks鑳藉惁鍙戝睍鎴愪負涓涓渶鑳介傚悎涓浗鍥芥儏鐨勫紑婧愮粍緇囷紝璁╂垜浠嫮鐩互寰呫?br style="font-family: " />  

銆銆4銆?/span>EasyJF鈥?/span>鍚庣敓鍙晱

銆銆浠h〃浜虹墿錛?/strong>钄′笘鍙?/span>(澶у場)銆佸惔鍢変繆(stef_wu)銆佺▼寮?/span>(澶╀竴)

浠h〃欏圭洰錛?/span>EasyJWeb

瀹樻柟緗戠珯錛?/span>http://www.easyjf.com/

銆銆綆璇勶細鐪嬩簡澶у場灝忔湅鍙嬬殑涓浜涙枃绔狅紝 鐪嬪埌EasyJF鐜板湪鐨勫彂灞曪紝鐪熺湡瀹炲疄鏈変竴縐嶅悗鐢熷彲鐣忕殑鎰熷徆銆備粬浠湁鑷繁鐨勪笓鑱屽洟闃燂紝鏈夌綉涓嬪姙鍏錛岃繕鏈夌‖浠惰鏂斤紝榪樻嫢鏈変竴緹ゆ湁嬋鎯呫佸ソ瀛︾殑騫磋交灝忎紮瀛愪滑銆傝櫧鐒惰寰楀埌涓浗浜鴻嚜宸辯殑璁ゅ彲鏄緢涓嶅鏄撶殑浜嬫儏錛屼絾鎼滅儲涓涓嬪甫鏄彂鐜板浗鍐呭凡緇忔湁涓嶅皯緗戠珯鍦ㄧ敤EasyJWeb鍋氬紑鍙戙傚洜姝わ紝鏈鍙埍鐨勪漢褰撲粬浠帿灞烇紝琛峰績甯屾湜浠栦滑鑳芥垚鍔熴?br style="font-family: " />  

銆銆5銆?/span>SpringSide鈥?/span>澶╂墠鍥㈤槦

浠h〃浜虹墿錛?/strong>鑲栨ˇ(姹熷崡鐧借。)銆?a style="font-family: " name="cac">闄堜繆(cac)銆佺敯娣?/span>(宸矙)

浠h〃欏圭洰錛?/span>SpringSide

瀹樻柟緗戠珯錛?/span>http://www.springside.org.cn/

綆璇勶細铏界劧鍙槸绔欏湪鏄ュぉ鐨勫倣杈癸紝浣嗗凡緇忓甫緇欎簡鏁村ぉ蹇欎簬榪介愭柊鎶鏈佹柊娼祦鐨?/span>Java紼嬪簭鍛樹滑寰堝鏋佸叿鍙傝冧環鍊肩殑涓滆タ銆傛睙鍗楃櫧琛e悓瀛﹀彲浠ョ畻鏄竴涓ぉ鎵嶈埇鐨勪漢鐗╋紝鎶鏈殑鏀誨簳銆佹帴鍙楀茍璇戦噴鏂版妧鏈殑閫熷害銆佽兘鍔涘強姘村鉤錛屽彲浠ヨ鏄皯鏁頒腑鐨勫皯鏁般傚洜姝わ紝SpringSide鍙互縐板緱涓婃渶鍏鋒湁鍋跺儚娼滆川鐨勫洟闃燂紝Java寮婧愮晫鏈鍙埍鐨勪漢錛屼粬浠綋涔嬫棤鎰э紝甯屾湜浠栦滑鑳戒粠“鍌嶈竟”璧板埌“涓棿”銆?br style="font-family: " />  

6銆?/span>Buffalo紺懼尯鈥?/span>嫻撶緝鏄簿

浠h〃浜虹墿錛?/strong>闄堥噾媧?/span>(Michael Chen)

浠h〃欏圭洰錛?/span> Buffalo

瀹樻柟緗戠珯錛?/span>http://buffalo.sourceforge.net/

綆璇勶細浣滀負絎竴涓浗浜哄紑鍙戠殑Ajax妗嗘灦錛屼綔涓轟竴涓兘鎶婁竴鐩村彈java澶ф嬁浠矏瑙?/span>javascript鐜╄漿寰楀浣曠啛鎮夌殑欏圭洰錛屼綔涓轟竴涓兘鍑犲勾鍧氭寔鏇存柊鐨勫紑婧愰」鐩紝Buffalo鏄垚鍔熺殑錛?/span>Michael Chen璁╂垜浠綋浼氬埌鍥藉唴寮婧愯礎鐚呬滑鎵х潃涓庡潥鎸併備粬鏄笉鏄渶鍙埍鐨勪漢錛岃皝鏄紵
 

7銆佸ぉ涔欑ぞ鍖?/span>鈥斾韓鍙楀紑婧?/span>鍔ㄥ姏

浠h〃浜虹墿錛?/span>laoer

浠h〃欏圭洰錛?/strong>澶╀箼寮婧愮ぞ鍖?/span>

瀹樻柟緗戠珯錛?/span>http://www.laoer.com/

綆璇勶細鏈夊灝戝紑婧愰」鐩殑浜у搧鍙戝竷鍒?/span>8.0錛屼粠jsp銆?/span>struts1鍒?/span>struts2涓璺蛋鏉ワ紝涓鐩磋兘璺熺潃鏂版妧鏈殑姝ヤ紣錛屼笉鏂敼榪涘強瀹屽杽銆傚洜姝わ紝褰撲箣鏃犳劎java寮婧愮晫鏈鍙埍鐨勪漢銆?br style="font-family: " />  

8銆?/span>CowNew寮婧?/span>鈥?/span>鐪熸湁涓鐐圭墰

浠h〃浜虹墿錛?/strong>鏉ㄤ腑縐?/span>

浠h〃欏圭洰錛?/span>CowNewSQL

瀹樻柟緗戠珯錛?/span>http://www.cownew.com/

綆璇勶細鐪嬭繃鏉ㄤ腑縐戝悓瀛︾殑涓ょ瘒鏂囩珷錛屾垜瑙夊緱浠栨槸鍙埍鐨勩傚鏁版嵁搴撶炕璇戝紩鎿?/span>CowNewSQL鐨勪環鍊煎皢鍦ㄥ摢閲屼綋鐜幫紵CowNew鑳藉湪浣曟椂緇欐垜浠甫鏉ユ洿澶氬疄鐢ㄧ殑涓滆タ錛屽煎緱澶у鏈熷緟銆傛棤璁哄浣曪紝浠栦滑鐨勮繘姝ユ槸鏈夌洰鍏辯澒銆?br style="font-family: " />  

9銆?/span>CommonTemplate鈥?/span>鍊煎緱鏈熷緟

浠h〃浜虹墿錛?/strong>姊侀(javatar)

浠h〃欏圭洰錛?/span>CommonTemplate

瀹樻柟緗戠珯錛?/span>http://www.commontemplate.org/

綆璇勶細涔熻寰堝浜轟笉鐭ラ亾榪欎釜欏圭洰錛屼絾浠栫‘瀹炴槸涓涓緢涓嶉敊鐨勬ā鏉垮紩鎿庯紝閲戝瓙鎬繪湁鍙戝厜鐨?/span>鏃跺?/span>銆傚彧瑕佸潥鎸侊紝鐩鎬俊鏈変竴澶╂椋炲悓瀛︿細緇欏ぇ瀹跺甫鏉ユ洿澶氱殑鎯婂枩銆?br style="font-family: " />  

10銆佹仼淇♀斿皬鍏徃涔熻兘寮婧?a href="http://www.tkk7.com/mikezeseler/">mike zeseler

浠h〃浜虹墿錛?/strong>鍒樻湁娑?/span>

浠h〃欏圭洰錛?/strong>鎭╀俊寮婧?/span>ERP

瀹樻柟緗戠珯錛?/span>http://www.nseer.com/

綆璇勶細鍚繃鍒樻葷殑婕旇錛屼粠“鎹曢奔”鍒?#8220;鎺堜箣浠ユ笖”錛屼粠鍒樻諱竴緋誨垪榪愪綔鎵嬫硶錛屾垜瑙夊緱鎭╀俊鍙互鎴愪負寰堝榪介愬紑婧愪絾鍙堟病鏈変笂鍗冧竾璧勯噾鏉ユ姇鍏ヨ屾誨湪涓烘槸鍚﹀弬鍔犲紑婧愯屽緲寰婄殑鑰佹諱滑鐨勫弬鑰冨涔犵殑妗堜緥銆傝櫧鐒舵病鏈夋妧鏈墰浜哄姞鐩燂紝铏界劧榪樹嬌鐢ㄧ◢涓哄彜鑰佺殑鎶鏈綋緋伙紝浣嗘棦鐒跺紑婧愪簡錛屾昏兘璁╂垜浠鍒板緢澶氫笢瑗褲傚懙鍛碉紝鎵鏈夋渶鍙埍鐨勫紑婧愪漢涓紝鍒樻葷畻鏄畻鏄渶騫撮暱鐨勪簡錛岀浠栦滑寮婧?/span>ERP澶у崠



]]>
Hibernate鍏ラ棬http://www.tkk7.com/mikezeseler/archive/2009/01/15/251491.htmlmike zeselermike zeselerThu, 15 Jan 2009 11:49:00 GMThttp://www.tkk7.com/mikezeseler/archive/2009/01/15/251491.htmlhttp://www.tkk7.com/mikezeseler/comments/251491.htmlhttp://www.tkk7.com/mikezeseler/archive/2009/01/15/251491.html#Feedback3http://www.tkk7.com/mikezeseler/comments/commentRss/251491.htmlhttp://www.tkk7.com/mikezeseler/services/trackbacks/251491.html闃呰鍏ㄦ枃

]]>
主站蜘蛛池模板: 亚洲欧美日韩中文无线码| 亚洲国产精品特色大片观看完整版 | 亚洲va在线va天堂va888www| 精品一区二区三区免费观看 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 中文字幕无码免费久久9一区9 | 毛片免费视频在线观看| 亚洲一区二区三区乱码在线欧洲| 色se01短视频永久免费| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲JIZZJIZZ中国少妇中文| 亚洲Av永久无码精品三区在线| 国产美女视频免费观看的网站| 亚洲高清视频一视频二视频三| 免费人妻精品一区二区三区| 亚洲国产V高清在线观看| 久久久免费观成人影院| 久久亚洲精品国产精品黑人| 国产妇乱子伦视频免费| 亚洲AV色无码乱码在线观看 | 青娱分类视频精品免费2| 亚洲人成色777777老人头| 国产精品久久久久影院免费| 一区二区三区免费在线视频| 国产亚洲精品福利在线无卡一| 一级毛片免费一级直接观看| 亚洲乱码国产乱码精品精| 亚洲成人免费在线观看| 亚洲精品V天堂中文字幕| 久久精品国产亚洲一区二区三区 | 亚洲第一成年免费网站| 粉色视频免费入口| 亚洲av日韩av天堂影片精品| 成年人免费网站在线观看| 草久免费在线观看网站| 久久精品a亚洲国产v高清不卡| 日韩成全视频观看免费观看高清| a免费毛片在线播放| 亚洲日产2021三区在线| 亚洲 无码 在线 专区| 亚洲高清视频免费|