mike zeseler

张绍林

 

2009年1月30日

Groovy and Java

  Groovy and Java

posted @ 2009-04-19 10:49 mike zeseler 阅读(196) | 评论 (0)编辑 收藏

JDK 7 Twice as Fast* as JDK 6 for Arrays and Arithmetic

有时间我把它弄成中文的。
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.

posted @ 2009-04-06 15:03 mike zeseler 阅读(267) | 评论 (0)编辑 收藏

hibernate入门更新完成

Hibernate入门指南

        今天抽咯时间完成咯自己没有完成的东西。
        希望大家多多支持我. 详细信息:
        参见http://www.blogjava.net/mikezeseler/archive/2009/01/15/251491.html 
                                  

                                                            Mike zeseler
                                                                                    

 

posted @ 2009-02-13 19:47 mike zeseler 阅读(611) | 评论 (0)编辑 收藏

groovy开发入门

自己软件开发经验不是很好,还须向大家学习!希望大家支持下我!有不足之处请大家批评指正。
 

Groovy就是java世界的动态语言

一:快速开始(gettingStart

安装JDK环境

Groovy需要JDK1.4以上版本的支持。因此在安装groovy时首先要安装JDK

JDK安装步骤:

     下载自己喜欢的JDK版本。(下载网址:http://java.sun.com

   下载Groovy

Groovy 下载首页截图

   
 

点击Download

进入下载页面

Groovy最新版本:Groovy 1.6-RC-2



 

我下载的是:Download Windows-Installer: Binary Release 安装版本

运行安装者

设置JAVA_HOME 环境变量. Windows平台里,步骤如下:

(1)打开系统"控制面板"

单击"高级"选项卡

单击"环境变量" 按钮

添加一个名称为"JAVA_HOME" 的新的系统环境变量,并且将你的Java的安装目录作为它的值 (例如,我的是C:"Program Files"Java"jdk1.6.0(版本号))

你也可以添加 %JAVA_HOME%"bin到你的系统的PATH变量中

(2)右击我的电脑属性

 

点击高级选项


 

点击环境变量

点击新建选项:

具体设置


 

Path


 

我用的Jdk版本是Jdk1.6

     运行安装文件。(更改安装路径到:C:"Program Files"Java"jdk1.6.0(版本号))

     设置JAVA_HOME环境变量(如我的

     在系统path中增加:%JAVA_HOME%"bin

注:对于1.1-rc-1以上版本需要JDK1.5版或更高的版本。

点击自己下载的Groovy windows安装版本
 

安装可以是默认的安装全点击下一步(next):

安装就完成啦

(Note: as an alternative to setting a system environment variable, you can create yourself a '.bat' or '.cmd' file which sets

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

 

.bat' or '.cmd' files containing Java invocation instructions won't work. If you are unsure about what this means, follow

the earlier instructions.)

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:

*nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError:

java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

The method "replace" was introduced in JDK 1.5 and is not supportedin earlier versions. This is also a reason why GRails

framework doesn't run on JRE 1.4

(1)如果你是安装版本Groovy环境变量不需要我们设置,在安装的时候就自动设置好啦。

(2)如果不是,请自己尝试Groovy设置如下:

设置你的Groovy环境变量

从下载页面下载Groovy安装器或者二进制包,并且跟着介绍进行安装即可。(当前有一个问题,就是在windows下,你的安装路径不能含有空格

,即,要将其缺省的安装路径"c:"Program Files"Groovy" 改成象"c:"Groovy"这样的路径)

或者这样

从站点上得到Groovy发行版的copy,并且copy它到你硬盘上的某个地方。

解压缩这个groovy包到你硬盘的某个空间,如我的在 C:"dev"groovy-1.0-jsr-06

设置GROOVY_HOME环境变量. Windows下,作如下步骤:

添中新的系统环境变量GROOVY_HOME 并且将值设为你的groovy安装的路径( 我的是 C:"dev"groovy-1.0-jsr-06)

打开命令行窗口,并且键入"set" 然后打回车,查看你的环境变量设置是否已经正确。

可选的,你也可以添加 %GROOVY_HOME%"bin 到你的PATH环境变量中

通过双击试着运行groovyConsole.bat。如果它不能工作,打开一人命令行窗口,将目录改变到bin目录,并且运行它看他返回什么错误信息。

二:运行groovy

Groovy安装:目录


 

我们需要点击groovyConsole.bat文件:

文件详细内容如下:

@if "%DEBUG%" == "" @echo off

@rem

@rem $Revision: 2770 $ $Date: 2005-08-29 12:49:42 +0200 (Mo, 29. Aug 2005) $

@rem

@rem Set local scope for the variables with windows NT shell

if "%OS%"=="Windows_NT" setlocal

:begin

@rem Determine what directory it is in.

set DIRNAME=%~dp0

if "%DIRNAME%" == "" set DIRNAME=."

"%DIRNAME%"startGroovy.bat" "%DIRNAME%" groovy.ui.Console %*

@rem End local scope for the variables with windows NT shell

if "%OS%"=="Windows_NT" endlocal

安装完整无误的话 运行groovyConsole.bat就会启动groovyConsole.exe,出来一个编辑框。

 
 

上面的是文本输入框:根据groovy的语法输入要显示的内容:

下面的是内容输出框:显示上面的内容:

开始运行groovy


 

Hello, World

groovyConsole运行窗口的顶部,键入println "Hello, World!"

并且键入 <CTRL-R>.

注意,在控制台窗口中(即 groovyConsole窗口前面的黑色的那个),文体得到打印并且 groovyConsole的下部显示 :

groovy> println "Hello, World!"

null

 "groovy>"开头的行正是控制台处理的文本. "null" 是表达式的值. 因为表达式没有任何值可以打印 ,所以groovyConsole打印为"null"

接下来,再试一些实际的值,用下面的字符串来替换控制台里的文本:

123+45*67

或者你喜欢的任何表达式然后按<CTRL-R> (I'm going to stop telling you to hit <CTRL-R>, I think you get the idea). 现在, groovyConsole下面打印的值有更多的含义.

 

Variables

You can assign values to variables for later use. Try the following:x = 1

println x

x = new java.util.Date()

println x

x = -3.1499392

println x

x = false

println x

x = "Hi"

println x

Lists and Maps

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]

You can access a given item in the list with square bracket notation (indexes start at 0):

println myList[0]

Should result in this output:

1776

You can get the length of the list with the "size" method:

println myList.size()

Should print out:

6

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.

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:

scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ]

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:

println scores["Pete"]

println scores.Pete

Should produce the output:

Did not finish

Did not finish

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:

scores["Pete"] = 3

Then later when we get the value back out, it will be 3.

println scores["Pete"]

should print out 3.

Also as an aside, you can create an empty map or an empty list with the following:

emptyMap = [:]

emptyList = []

To make sure the lists are empty, you can run the following lines:

println emptyMap.size()

println emptyList.size()

Should print a size of 0 for the List and the Map.

条件表达式

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)

if (amPM == Calendar.AM)

{

println("Good morning")

} else {

println("Good evening")

}

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.

Note that the "else" block is not required, but the "then" block is:

amPM = Calendar.getInstance().get(Calendar.AM_PM)

if (amPM == Calendar.AM)

{

println("Have another cup of coffee.")

}

Boolean表达式

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

A more complex boolean expression uses one of the boolean operators:

==

!=

>

>=

<

<=

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"

So some examples:

titanicBoxOffice = 1234600000

titanicDirector = "James Cameron"

trueLiesBoxOffice = 219000000

trueLiesDirector = "James Cameron"

returnOfTheKingBoxOffice = 752200000

returnOfTheKingDirector = "Peter Jackson"

theTwoTowersBoxOffice = 581200000

theTwoTowersDirector = "PeterJackson"

titanicBoxOffice > returnOfTheKingBoxOffice // evaluates to true

titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true

titanicBoxOffice >= titanicBoxOffice // evaulates to true

titanicBoxOffice > titanicBoxOffice // evaulates to false

titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice // evaluates to false

titanicDirector > returnOfTheKingDirector // evaluates to false, because "J" is before "P"

titanicDirector < returnOfTheKingDirector // evaluates to true

titanicDirector >= "James Cameron" // evaluates to true

titanicDirector == "James Cameron" // evaluates to true

Boolean expressions are especially useful when used in conjunction with the '''if''' construct. For example:

if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)

{

println(titanicDirector + " is a better director than " + returnOfTheKingDirector)

}

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:

suvMap = ["Acura MDX":""$36,700", "Ford Explorer":""$26,845"]

if (suvMap["Hummer H3"] != null)

{

println("A Hummer H3 will set you back "+suvMap["Hummer H3"]);

}

Generally null is used to indicate the lack of a value in some location.

Debugging and Troubleshooting Tips

Print out the class of a variable that you're interested in with myVar.getClass(). Then look up the documentation for that class.

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.

Try restarting the groovyConsole (this will clear out all the variables so you can start over.

Look for the topic you're interested in in the Groovy User Guide

If you are a Java developer

you might want to check on the Differences from Java

also there afew a few Things to remember

Labels parameters    

posted @ 2009-02-08 12:20 mike zeseler 阅读(3004) | 评论 (5)编辑 收藏

mike zeseler java学习

好的学习资料需要自己——Google^_^——mike zeseler
pdf  Search Engine
http://www.pdf-search-engine.com/
鲜果博客榜——搜罗好的blog很值得看看
http://bang.xianguo.com
Groovy是一个充满创新理念具有创新精神的项目

JAX 是德国十分重要的Java技术会议(Java conference),每一年该组织都会召开会议评选最具创新精神的项目,评选委员会从40个提名项目中选择十个候选项目,许多优秀项目如Matisse GUI builder(NetBeans的一个插件,用于构建GUI程序)、Nuxeo(企业级内容管理解决方案)等都入围候选,最后Groovy赢得了1等奖!这是一个崇高的荣誉,我们感到非常高兴,特别是和许多非常优秀的项目一起竞赛。另外该奖项的上一期胜出者是Spring framework。

还有,由Dierk König创作出版的畅销书------《Groovy in Action》,也会作为奖品赠予Groovy社团,随后JAX将单独设置Groovy主题的会议进行颁奖。这些奖项证明并肯定了Groovy的创新价值,并说明Groovy在Java社团有不小的影响力
http://groovy.codehaus.org
mxjava
http://www.mxjava.com/blog/

国外著名java技术资料网站

http://www.onjava.com

    O'Reilly的Java网站. 每周都有新文章

http://java.sun.com

    官方的Java开发者网站 - 每周都有新文章发表

http://www.developer.com/java

    由Gamelan.com 维护的Java技术文章网站

http://www.java.net

    Sun公司维护的一个Java社区网站

http://www.builder.com

    Cnet的Builder.com网站 - 所有的技术文章, 以Java为主.

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

    IBM的Developerworks技术网站; 这是其中的Java技术主页

http://www.javaworld.com

    最早的一个Java站点. 每周更新Java技术文章

http://www.devx.com/java

    DevX维护的一个Java技术文章网站

http://www.fawcette.com/javapro

    JavaPro在线杂志网站.

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

    Java Developers Journal的在线杂志网站.

http://www.javadesktop.org

    位于Java.net的一个Java桌面技术社区网站.

http://www.theserverside.com

    这是一个讨论所有Java服务器端技术的网站.

http://www.jars.com

    提供Java评论服务. 包括各种framework和应用程序

http://www.jguru.com

    一个非常棒的采用Q&A形式的Java技术资源社区.

http://www.javaranch.com

     一个论坛,得到Java问题答案的地方,初学者的好去处。

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

    comp.lang.java的FAQ站点 - 收集了来自comp.lang.java新闻组的问题和答案的分类目录.

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

    来自SUN公司的官方Java指南 - 对于了解几乎所有的java技术特性非常有帮助.

http://www.javablogs.com

    互联网上最活跃的一个Java Blog网站.

posted @ 2009-02-04 16:30 mike zeseler 阅读(158) | 评论 (0)编辑 收藏

java开源学习交流社区

我的最爱 code
http://www.java2s.com/Code/Java/CatalogJava.htm
Open Source Software
http://sourceforge.net/index.php
IBMblog
http://www.ibm.com/developerworks/blogs/
Sun China
http://developers.sun.com.cn
开源中文文档
http://ajava.org/
EXT
http://www.easyjf.com/blog/index.html
openABC
http://www.openabc.org
Sun
http://java.sun.com/javaee/index.jsp
javablogs
http://www.javablogs.com
java开源
http://www.open-open.com
开发文档:
http://docviewer.net/
JAVA中文世界社区
http://bbs.chinajavaworld.com/
http://blog.chinajavaworld.com/
csdn
http://blog.csdn.net/heiyeshuwu
tarena
http://bbs.tarena.com.cn
转:

1.TheServerside.com  。

2.InfoQ.com Floyd Marinescu 在离开 TSS 后另起炉灶,2006年中最重要推荐。

视野不再局限于Java 而是包括Java,.Net, Ruby ,SOA, Agile方法等热门话题。

3.JDJ的电子杂志 在JDJ首页的最底处订阅,文章质量不低于5-7的传统三强。

4.SWik.net  收集了大量OpenSource Project的资源聚合。其中如Spring,

Hibernate的更新度非常高,出现什么和Spring有关的blog,article,project都会

马上被聚合。

5.IBM DeveloperWorks 传统、稳定的Java文章来源地。

6.JavaWorld 传统、稳定的Java文章来源地。

7.OnJava  传统、稳定的Java文章来源地。

8.Artima.com 类似于TSS而略逊,其中Spotlight 文章值得关注,而Java News是

聚合了所有其他Java站点的大聚合。

9.JavaLobby  站内的Announcements 是大大小小Java  Project的发布声明区,

Trips and Tricks 有很多的Tips。

10. No Fluff Just Stuff 的Blogs 聚合 一直缺一个所有优秀Java Blogger的

rss总聚合,NFJS这里勉强算一个。

Ajaxian

一个接近于门户类型的AJAX资源站点,包括Ajax示例收集,博客,论坛和教程等等。

5. DHTML Goodies

6. Javascript Kit

7. Dynamic Drive

8. DHTML Site

9. Solutoire

10. DevSnippets

2008年国外最佳Web设计/开发技巧、脚本及资源

工具&Web应用

13个可能会让你说”Thank You”的必不可少的开源应用

14个免费工具让你了解为什么人们会放弃访问你的网站

40+CSS生成器

74个我们可能已经忘记的适合网页设计师的很棒的Web应用

50+能提高你的网站速度和性能的技巧和资源

15个可以监视网站人气的工具

20个免费的SEO网站分析工具(已翻译成中文)

11个功能强大甚至可以替代标准应用程序的Firefox3扩展插件

10个你至少应该了解的免费照片管理软件

作为Web前端开发工程师应到感谢的15件事

15个前端开发/网页设计师必备的Bookmarklet(已翻译成中文)

20大的PHP开发框架

66个学习网页设计基础的链接

Web开发工具箱: 120 +Web开发新工具

脚本、补丁及Hack

40大免费Ajax及JavaScipt代码

所有顶级网站应有的15个关键元素

将PSD效果图转换为HTML/CSS的10大教程

30+JavaScript, Ajax & CSS工具提示脚本

50+漂亮的基于纯CSS的导航脚本

40+最热门的wordpress秘诀和技巧30+ More

30+让你大开眼界的Web前端开发视频教程

19个CSS菜单教程来为你的网站添加更多趣味

精选30个优秀的CSS技术和实例(已翻译成中文)

34+免费通讯(Email等)用HTML模板

50个优秀的Ajax教程

12种Javascript解决常见浏览器兼容问题的方法(已翻译成中文)

15个有帮助的基于浏览器的Web前端开发工具

75个(真正的)很有帮助的JavaScipt技术

63个必不可少的Wordpress Hack、教程、帮助文件和手册

Web设计/开发最佳使用手册(19)

10个针对Worpress有用的RSS技巧和Hack

20个神奇的Javascipt脚本原型、元素、Widgets、类…

10个聪明的JavaScipt技术用来提升你的UI界面

10个你必须知道的很棒的Ajax特效

35个使用简便的Ajax/JavaScipt导航解决方案

10大CSS按钮教程列表

10个免费图表脚本

技巧

10个精通PHP的原理

6个简单方法来改善您的HTML邮件

整理及优化CSS代码的7个原则(已翻译成中文)

保持你的代码整洁的12个原则

10个改善你编程的高级PHP技巧

使用CSS为图片添加更多趣味的5种方法(已翻译成中文)

10个优化技巧

所有网站都应具备的10个SEO元素

来自8为极具灵感的演讲者的10个网络应用技巧

编写赏心悦目的代码的7种方法

10个CSS简写技巧让你永远受用(已翻译成中文)

10个Web开发小技巧

15个必须学会的CSS技巧

101个CSS技术-第一部分,第二部分

资源

推荐20个关于网站可用性及界面设计的网站(已翻译成中文)

精选31个网站界面设计实践教程(已翻译成中文)

成为Web设计/开发自由职业者所要遵循了53个步(60+资源)

Ajax网页趋势研究,什么是最好的免费Ajax资源?(70+最佳Ajax资源)

155个Wordpress资源、教程、插件、主题、Ajax、播客…庞大的WP列表

10个非常棒的Ajax及Javascript实例资源网站(已翻译成中文)

精选2008年最佳设计素材资源&灵感 (已翻译成中文)

10种JavaScript特效实例让你的网站更吸引人

精选15个国外CSS框架(已翻译成中文)

41个最佳Mootools Ajax实例下载

推荐20个让你学习并精通CSS的网站(已翻译成中文)

65个优秀的jQuery资源(教程、手册、电子书、demo、插件…)

300+Jquery, CSS, MooTools 和 JS的导航菜单资源(已翻译成中文)

推荐12款可用于前端开发的免费文本编辑器

网页设计必备的10套漂亮图标集(已翻译成中文)

生成器

25个用于网页设计的颜色调色板生成器资源

12款免费在线工具帮助你创建和托管你的网站

25款Web2.0生成器

插件和主题

10个用来得到更多评论的最棒的插件

将Wordpress变为CMS系统的20大插件

你会用在Wordpress主题或博客中的10款插件

10款用于评分和投票的Wordpress插件

30款确实有用的Wordpress插件

你早晚会用到的130款Wordpress插件-第一部分-第二部分

18个让你的博客更专业的Wordpress插件

7个创建你自己的CSS画廊的Wordpress主题



and so on..........

posted @ 2009-01-30 18:05 mike zeseler 阅读(394) | 评论 (0)编辑 收藏

中国java开源界

1、  Huihoo动力—当之无愧的老大 

代表人物:龙辉(Allen)程勇(Peter)、杨泳(Orbat) 

代表项目:JFox

官方网站:http://www.huihoo.org/

简评:说到java开源,大家不可能不知道HuihooHuihoo曾经创造了很多奇迹,不管是对是团队成员的技术水平还是开源理念、开源组织的管理等都可以说是最棒的,JFox项目一直具有生命力,huihoo这么多年了也一直具有生命力,AllenPeterOrbat等对这个团队这么多年来的坚持及贡献,要选国内最值得推崇的开源团体,huihoo排在第一位可以说是当之无愧。因此,他们是最可爱的人。

2Jdon高处不胜寒

代表人物:彭晨阳(板桥里人)

代表项目:jdonframework

官方网站:http://www.jdon.com/

简评:作为国内第一个开源框架的发起人,作为国内第一个敢于与国外框架叫板的板桥里人,他曾经带给大家很多很多的欣喜及回忆,桥技术水平及造诣这里就更不用说了,他“ 一个开源人的孤独告白”,有点沧桑,有点心寒,jdon今天的现状,是中国对待技术人才的真实写照。无论如何,选中国Java开源界最可爱的人,板桥当之无愧。

3Apusic OperaMasks谁说开源不赚钱

代表人物:袁红岗 张勇

代表项目:OperaMasks

官方网站:http://www.operamasks.org/

  简评:1000万人民币的投入,一篇“勇敢者的新世界”也算是在中国开源界掀起了一阵波澜,产品发布会上那一份份合同,更是让同行的老总们有点眼红。除去商业因素不说,这两天Check outOperaMasks的代码,也看了示例,表现非常不错,值得深层次的java开发人员学习。老袁深厚的技术功底、老张卖力的全国路演,公司经营战略的成功,OperaMasks能否发展成为一个最能适合中国国情的开源组织,让我们拭目以待。
 

  4EasyJF后生可畏

  代表人物:蔡世友(大峡)、吴嘉俊(stef_wu)、程强(天一)

代表项目:EasyJWeb

官方网站:http://www.easyjf.com/

  简评:看了大峡小朋友的一些文章, 看到EasyJF现在的发展,真真实实有一种后生可畏的感叹。他们有自己的专职团队,有网下办公室,还有硬件设施,还拥有一群有激情、好学的年轻小伙子们。虽然要得到中国人自己的认可是很不容易的事情,但搜索一下带是发现国内已经有不少网站在用EasyJWeb做开发。因此,最可爱的人当他们莫属,衷心希望他们能成功。
 

  5SpringSide天才团队

代表人物:肖桦(江南白衣)陈俊(cac)、田淼(差沙)

代表项目:SpringSide

官方网站:http://www.springside.org.cn/

简评:虽然只是站在春天的傍边,但已经带给了整天忙于追逐新技术、新潮流的Java程序员们很多极具参考价值的东西。江南白衣同学可以算是一个天才般的人物,技术的攻底、接受并译释新技术的速度、能力及水平,可以说是少数中的少数。因此,SpringSide可以称得上最具有偶像潜质的团队,Java开源界最可爱的人,他们当之无愧,希望他们能从“傍边”走到“中间”。
 

6Buffalo社区浓缩是精

代表人物:陈金洲(Michael Chen)

代表项目: Buffalo

官方网站:http://buffalo.sourceforge.net/

简评:作为第一个国人开发的Ajax框架,作为一个能把一直受java大拿们岐视javascript玩转得如何熟悉的项目,作为一个能几年坚持更新的开源项目,Buffalo是成功的,Michael Chen让我们体会到国内开源贡献者们执着与坚持。他是不是最可爱的人,谁是?
 

7、天乙社区—享受开源动力

代表人物:laoer

代表项目:天乙开源社区

官方网站:http://www.laoer.com/

简评:有多少开源项目的产品发布到8.0,从jspstruts1struts2一路走来,一直能跟着新技术的步伐,不断改进及完善。因此,当之无愧java开源界最可爱的人。
 

8CowNew开源真有一点牛

代表人物:杨中科

代表项目:CowNewSQL

官方网站:http://www.cownew.com/

简评:看过杨中科同学的两篇文章,我觉得他是可爱的。多数据库翻译引擎CowNewSQL的价值将在哪里体现?CowNew能在何时给我们带来更多实用的东西,值得大家期待。无论如何,他们的进步是有目共睹。
 

9CommonTemplate值得期待

代表人物:梁飞(javatar)

代表项目:CommonTemplate

官方网站:http://www.commontemplate.org/

简评:也许很多人不知道这个项目,但他确实是一个很不错的模板引擎,金子总有发光的时候。只要坚持,相信有一天梁飞同学会给大家带来更多的惊喜。
 

10、恩信—小公司也能开源mike zeseler

代表人物:刘有涛

代表项目:恩信开源ERP

官方网站:http://www.nseer.com/

简评:听过刘总的演讲,从“捕鱼”到“授之以渔”,从刘总一系列运作手法,我觉得恩信可以成为很多追逐开源但又没有上千万资金来投入而总在为是否参加开源而徘徊的老总们的参考学习的案例。虽然没有技术牛人加盟,虽然还使用稍为古老的技术体系,但既然开源了,总能让我们学到很多东西。呵呵,所有最可爱的开源人中,刘总算是算是最年长的了,祝他们开源ERP大卖

posted @ 2009-01-30 17:59 mike zeseler 阅读(331) | 评论 (1)编辑 收藏

导航

统计

常用链接

留言簿(2)

随笔分类

随笔档案

文章档案

.net

“美少女股神”王雅媛

blogjava

books

dzineblog

europe open source

flash

google

j2EE

open erp

open source

Open Source Web Design

seo

seo 国外

sex

sns

Tiobe

w3c

web

Web 前端开发

web 设计blog

web2.0

web-design resource

兄弟软件

免费电子书

博客园

友情链接

建站

开源项目

房产博客

源码

计算机书籍下载站

音乐论坛

搜索

最新评论

阅读排行榜

评论排行榜