On Java
sean_gao
这个作者很懒,什么都没留下…
展开
-
easyb - Getting Started
从某种意义上讲,easyb就是Groovy版的RSpec,是一个基于"BDD: Behavior-Driven Development"思维方式的测试框架。其作者Andrew Glover是《Groovy in Action》一书的合著者之一。项目的主页在:http://easyb.org/不多废话了,上代码,一个story大概长成这个样子(为了方便大家理解,举一个无比弱智的例子):scen...2009-01-04 22:28:00 · 170 阅读 · 0 评论 -
[Eclipse笔记]关于3.1M5a的性能
在之前的blog中间我们曾经提到过3.1M5a这个版本的性能似乎并不尽如人意,许多使用报告和用户反馈似乎在支持这个结论。如果你像我一样,想弄个究竟的话,下面有几个链接可以给我们一些有价值的参考,它们是eclipse.org官方公布的3.1M5a相对于3.0版本的对比测试结果:(由于 3.1M5a发布版本的构建时间是2月19号15时整,所以报告中采用的版本号I20050219-1500跟3.1M5a原创 2005-03-14 21:12:00 · 3698 阅读 · 0 评论 -
Eclipse SDK 3.1M5a is out.
最近忙得昏头转向的,还没有仔细看Eclipse CON 2005的内容,却偶然发现Eclipse SDK的新的Milestone build已经可以下载,版本号3.1M5a。印象中这次的release已经等了很长时间了。接下来打算抽时间看一下它的新特性,J2SE 5.0兼容度,以及SWT、PDE、RCP等内容(谢谢Kukoo的大力推荐)。会同步推出相关blog文章。新版本下载地址:http://m原创 2005-03-08 14:40:00 · 1417 阅读 · 1 评论 -
[Eclipse笔记]一个最简单的SWT程序
我们来看一段最简单的SWT程序是什么样子:package sean.test.swt;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;public class SimplestSWT { public static void main(String[] args) { Dis原创 2005-03-11 17:17:00 · 3061 阅读 · 1 评论 -
[Eclipse CON 2005摘录]Eclipse创世纪
今年的Eclipse CON年度大会于2月28日至3月3日在美国加州Burlingame的Hyatt Regent酒店隆重举行。3月3日上午,来自IBM Rational的Lee Nackman做了题为《Eclipse现象》的演讲。以下是eclipsepowered.org上的一篇相关报道的摘要。 原文见:http://www.eclipsepowered.org/archives/2005原创 2005-03-04 13:00:00 · 2914 阅读 · 8 评论 -
给你很多选择,或者没得选择,你更希望是哪一种?
这话要从最近我改乘可刷卡公交车一事说起。由于是外资高新企业,所以我现在的公司设在高新区,通常高新区离市区都比较远,我们这个高新区也不例外,每天上班至少需要40分钟。我们这里的公交车大致可以分为两种:可以刷卡的和不可以刷卡的。刷卡实行包月限次的优惠方式,即按照正常的情况估算,次数使用越多越划算。现实的情况有些让人为难,因为事实上从市区通往高新区的公交车有五路之多,其中两个可以刷卡,三个只收现金,而从原创 2005-03-04 01:42:00 · 1747 阅读 · 2 评论 -
[XML学习笔记][4]结语
至此我的XML学习笔记就截止了,大家也看到,这些都是十分基础的内容,然而我们平时很少去关心它。我的初衷是在做了N久的J2EE后回过头来温习一下XML的基本概念和用法,并不要求自己太深入,目的也达到了。具体的语法细节我想大家可以参考W3C和SUN官网上的资料和JavaDoc。希望能当作XML的Java版快速入门来看,这些都是我们做Java的需要了解的最基本的XML常识,了解这些以后对一般的XM原创 2005-02-24 23:07:00 · 819 阅读 · 0 评论 -
[XML学习笔记][3.3]通过JAXP使用XSLT
最后我们来看看如何通过JAXP调用XSLT,同样很简单:/**//* * Created on 2005-2-24 * All rights reserved. * */package sean.home.test;import java.io.File;import javax.xml.transform.Source;import javax.xml.transform.Tran原创 2005-02-24 23:06:00 · 902 阅读 · 0 评论 -
[XML学习笔记][3.1]通过JAXP使用SAX
在前面的笔记中,我们曾经提到读取XML数据的两种截然不同的方式,SAX就是其中一种。来看一段代码:/**//* * Created on 2005-2-24 * All rights reserved. * */package sean.home.test;import java.io.File;import javax.xml.parsers.SAXParser;import j原创 2005-02-24 23:04:00 · 950 阅读 · 0 评论 -
[XML学习笔记][3]在Java的世界中使用XML
在前面,我们一起很粗略的过了一遍XML的基础知识,下面该看看如何在Java中使用功能强大的XML了。由于XML的广泛应用,许多厂商或者团体都使用Java编写了用于处理XML的类库,这些类库之间并不兼容,为了给这些类库的使用者们提供一个通用的接口,我们欣喜地看到Java中引入了JAXP,Java API for XML Processing,我们当然也可以通过实现和扩展JAXP来构建我们自己的XML原创 2005-02-24 23:03:00 · 819 阅读 · 0 评论 -
[XML学习笔记][2.1]XML验证
为了使得我们定义的XML文档有意义,我们通常必须为它定义一组语法,如:这个文档应该包含那种类型的数据,这种数据的层次结构又是怎样的,等等。这样我们的XML文档就可以通过专门的工具来验证其合法性。有两种方式:I- DTD (document type definition); II- XSD (XML Schema definition),我们分别来看一下。DTD比较简单和直截了当,它原创 2005-02-19 22:08:00 · 1030 阅读 · 1 评论 -
"Spring in Action" goes to press
由Craig Walls和Ryan Breidenbach合著的新书《Spring in Action》已交付印刷,北美市场和Amazon应该很快会上架,期待国内的引进版。另外不知道有没有人愿意翻译,如果有时间,我也想参与,呵呵。有路子的朋友别忘了通知一声哦。你如果对这本书和Craig Walls感兴趣,可以上Craig的blog了解该书的最新动向。原创 2005-02-17 00:27:00 · 1027 阅读 · 5 评论 -
[XML学习笔记][2.3]XML转换
作为W3C推出的拳头标准,XML的强大优势之一就是它可以方便的被转换成其他格式的XML或者其他不同类型的文件,如PDF、HTML等都是常见的XML转换的输出格式。为了实现这个功能,我们需要利用到eXtensible Stylesheet Language for Transformations (XSLT)。XSL文件是这样一些样式表,它们指定如何从一个XML文件转换出其他的格式。这原创 2005-02-19 23:09:00 · 832 阅读 · 0 评论 -
[Eclipse笔记]How about NetBeans?
由kukoo的blog上面提供的链接来看,最近似乎NetBeans和Eclipse阵营又开始了新一轮的口水战?我们先看看这两个对手之间近来都发生了些什么事:首先是J2SE 5.0的发布,几乎同时NetBeans就宣布了全面的新语法支持,并且发布了新的4.0版,以及同JDK的捆绑版;而Eclipse则花了相当一段时间来完善对J2SE 5.0新语法的兼容,并且至今还没有哪个release版本的Ecli原创 2005-03-14 23:14:00 · 16345 阅读 · 45 评论 -
[Eclipse笔记]一些基本概念
上一篇blog我提到了新发布的Eclipse SDK 3.1M5a,在接下来的系列文章中,我会零散的记录我对Eclipse一些相关内容,如SWT、PDE、RCP这些的学习过程和心得,并非作为正式的教程或者严谨的文档,只是想到哪儿说到哪儿了。更早的一篇blog,我提到Eclipse SDK 3.1M4的发布,其实在那个时候,Eclipse的JDT已经支持所有J2SE 5.0的新语法了,只是有一些bu原创 2005-03-11 17:15:00 · 1226 阅读 · 1 评论 -
CMP Media’s Software Development Magazine Announces Winners for the 15th Annual Jolt Product Excellence & Productivity Awards
第15届Jolt大奖评选结果已经公布,可以在以下地址下载PDF:http://www.sdmagazine.com/pressroom/jolt_winners_2005.pdf比较有意思的是:Eclipse 3.0力压IntelliJ IDEA 4.5成为语言和开发环境类的Jolt奖得主,可能出于Eclipse开源的关系;Hibernate 2.1力压J2SE (TM) 5.原创 2005-03-18 16:27:00 · 1341 阅读 · 0 评论 -
[Eclipse笔记]插件和可扩展体系结构
随着Eclipse的流行,我们越来越多的看到插件给现代应用程序带来的新的活力。这里有一篇很好的文章,是由来自Eclipse的IBM资深工程师Dorian Birsan发表在近期(三月)ACM Queue杂志上的。本想用中文转述一遍,苦于没有时间,又想让大家知道,只好将链接贴于此,希望能给大家对当今的插件体系结构,尤其是Eclipse的体系结构,一个比较宏观的认识:http://www.acmque原创 2005-04-08 22:58:00 · 272 阅读 · 0 评论 -
Eclipse 3.1M6 的相关信息
如果你在决定使用并下载这一新版本之前,想了解一下M6跟正式发布的3.0在性能上有什么区别的话(应该说比上一个里程碑版本M5a好了不少,但是仍不如3.0稳定),可以参考如下网址:http://download.eclipse.org/eclipse/downloads/drops/S-3.1M6-200504011645/performance/performance.php如果你对该版本有哪些新的原创 2005-04-08 22:57:00 · 224 阅读 · 0 评论 -
Eclipse 3.1M6经过一天半左右的测试后,终于可以下载了!
这是我刚刚在eclipse.org站上看到的。目前由主下载站点提供下载,其他分站,如我喜欢的Pacific Internet还没有这个版本,大家赶紧下啊,我是等不及了,呵呵。主站下载地址:http://download.eclipse.org/eclipse/downloads/drops/S-3.1M6-200504011645/eclipse-SDK-3.1M6-win32.zip原创 2005-04-08 22:56:00 · 195 阅读 · 0 评论 -
TheServerSide changing focus
TheServerSide今后将更多的关注的脚本语言,如PHP、Ruby等。这是我今天在TheServerSide.com上看到的消息。原文:http://www.theserverside.com/news/thread.tss?thread_id=33028原创 2005-04-08 22:55:00 · 238 阅读 · 0 评论 -
又一本Manning的电子书 - Jakarta Commons Online Bookshelf
今天在TheServerSide.com上闲逛的时候发现首页又多了一个免费电子书节选的链接:由Manning Publications出版的Jakarta Commons Online Bookshelf中的第六个模块 – Validating data with Validator。下载地址:http://www.theserverside.com/articles/content/Jakar原创 2005-04-08 22:51:00 · 336 阅读 · 0 评论 -
[Eclipse笔记]Eclipse真的是商用IDE的杀手吗?
今天在ADTmag.com上看到一篇文章,大意是说Eclipse虽然给IDE市场带来了非常大的冲击,但它并非是商用IDE的杀手。正如我上一篇随笔《Eclipse创世纪》引用EclipseCON 2005上Lee Nackman所说,Eclipse的出现是为了提供一套被广泛认可和接受的实现了基本功能的平台,然后在这个基础上大家来开发真正满足市场具体需求的产品,同Visual Stud原创 2005-03-30 13:59:00 · 4473 阅读 · 2 评论 -
[Eclipse笔记]作为Java IDE的Eclipse有多流行?看看今年TheServerSide的Java研讨会上做的一个调查。
今天无意中在TheServerSide.com上闲逛时发现一条有趣的调查结果。作为今年TheServerSide举办的Java研讨会活动的一部分,每天上午组委会都会向与会代表做一些问卷调查,其中有一项叫做:What is your preferred Java IDE?你最喜欢的Java IDE是什么?下面是这项调查的结果:What is y原创 2005-03-26 19:42:00 · 4052 阅读 · 2 评论 -
[Eclipse笔记]Just for fun – 在Eclipse下编译和运行C#的代码
仅仅是为了好玩,我们来看一个Eclipse的C#插件,该插件由一家法国公司Improve Technologies开发和维护,目前支持Eclipse 3.0和.NET Framework 1.1。首先,我们需要在本机安装.NET Framework SDK和Eclipse。接下来我们通过Eclipse和一个update site来下载和安装该插件:在Eclipse的工作台选择Help原创 2005-03-22 22:55:00 · 4808 阅读 · 9 评论 -
[Eclipse笔记]Eclipse项目3.1开发目标和进度
目前Eclipse的最新的正式发布(release)版本是3.0.1,这个3.0的版本是在2.1的版本已经流行了很长时间以后才迟迟推出的,不论是核心功能还是界面都有了极大的更新。不过在我看来,它有一个很大的遗憾,毕竟不是SUN乐意推行的产品,在这个重大版本提升时,没有包含对J2SE 5.0的支持。不像NetBeans,仿佛确切知道J2SE5.0具体的发布时间一样,几乎在J2SE 5.原创 2005-03-21 21:30:00 · 3860 阅读 · 3 评论 -
[Eclipse笔记]配置SWT开发环境
本文假定读者使用Windows操作系统+JDK1.4,其他平台和JDK版本应该也是八九不离十。为了编译和运行SWT程序,我们有两种选择:1- 使用Eclipse SDK;2- 下载单独的SWT二进制文件和源文件。随Eclipse SDK,我们可以在它的plugins目录下找到SWT的二进制文件,通常的目录名称是:org.eclipse.swt.win32_原创 2005-03-20 01:16:00 · 2187 阅读 · 2 评论 -
[Eclipse笔记]在SWT中有效的管理图形系统资源
本文部分内容和灵感来自eclipse.org网站,特此声明。更多内容,请参考:http://eclipse.org/articles/Article-SWT-Design-2/SWT-Design-2.html 由于SWT直接跟操作系统打交道,所以我们需要在处理系统的图形资源时格外小心,以免不必要的资源泄漏。所幸SWT提供了很好的资源管理机制,我们绝大多数情况下需要做的只是确保两原创 2005-03-20 17:19:00 · 1269 阅读 · 0 评论 -
[Eclipse笔记]SWT设计思路
本文部分内容和灵感来自eclipse.org网站,特此声明。更多内容,请参考:http://eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html 众所周知,SWT与Swing最大的不同就是它直接使用操作系统提供的现成的本地图形接口,于是具备本地化的Look & Feel。但是它是怎么做到这一点的呢,当然是通过JN原创 2005-03-20 15:52:00 · 1544 阅读 · 0 评论 -
[XML学习笔记][2.2]XML内容提取
为了让XML文档能够被应用程序识别和处理,必须提供一个读取XML文档的途径。当然,你也许会说,XML不就是文本文件吗?我用java.io包不就可以读取了?XML文件并非简单的plain text,它有自己的结构和描述性,我们需要在基本的I/O之上更进一步。常见的XML读取有两种不同的方式:SAX和DOM,下面我们分别来看一下:SAX是Simple API for XML的缩写,顾名思义,原创 2005-02-19 22:10:00 · 915 阅读 · 0 评论 -
谁有兴趣翻译Spring in Action的请在这里留言。
还记得我在上一个关于这本书的帖子时我还在问,谁有路子提供翻译机会,没想到这次有路子的人是我。今天早上收到Manning Publications Co.的Publisher,Marjan Bace的E-mail,大意是他们计划跟Hibernate in Action类似,将会推出简体中文版的Spring in Action,作为eBook在Manning的网站上提供下载(估计不是免费的)。如果你有翻译 2005-02-26 10:47:00 · 1382 阅读 · 1 评论 -
[J2SE 5.0专题][2.5]可变长度参数
顾名思义,可变长度参数就是指在方法的参数体中,只要定义恰当,我们可以使用任意数量的参数,类似于使用对象数组。在J2SE 5.0中,一个新的语法被引入,就是在参数类型名称后面加上 ... ,表示该方法可以接受多个该类型的参数。需要说明的是可变长度参数必须放在参数列表的最后,且一个方法只能包含一个这样的参数。需要注意的是,这个语法只是在声明一个方法的时候管用,真正当我们具体实现这个方法时,我们通常都不原创 2004-12-28 09:27:00 · 1706 阅读 · 4 评论 -
[J2SE 5.0专题][2.4]类型安全的枚举
在细述J2SE 5.0中引入的类型安全枚举的用法之前,我想先简单介绍一下这一话题的背景。我们知道,在C中,我们可以定义枚举类型来使用别名代替一个集合中的不同元素,通常是用于描述那些可以归为一类,而又有限数量的类别或者概念,如一周的每一天、月份、颜色、扑克牌、太阳系的行星、五大洲、四大洋、季节、学科、运算符,等等。它们通常看上去是这个样子:typedef enum {SPRING, SUMMER,原创 2004-12-27 23:19:00 · 1528 阅读 · 1 评论 -
[J2SE 5.0专题][2.3]自动装箱和自动拆箱
看过.NET基础的朋友可能对这个装箱和拆箱的概念并不陌生。首先,我们必须明确一点,在Java中,有两种截然不同的数据类型:值类型和引用类型。值类型的数据不是对象,因而所占的内存和资源都相对较少,但是不能作为对象调用其toString()、hashCode()、getClass()、equals()等等方法,也不能被直接加入到集合中;引用类型的数据是一个一个的对象,占用内存和资源较多,但是提供丰富的原创 2004-12-27 19:22:00 · 1697 阅读 · 3 评论 -
[J2SE 5.0专题][4.1]新的RowSet子接口
RowSet是javax.sql包下面的一个接口,继承自ResultSet接口,在1.4版本中被引入。不过当时只有孤零零的这么一个接口,JDK并没有提供更多细分的类别。我们来看看5.0版本中javax.sql.RowSet新增了哪些有趣的子接口。继承关系大概是这样的:ResultSet |-- RowSet |-- Cache原创 2004-12-30 22:39:00 · 1884 阅读 · 0 评论 -
[J2SE 5.0专题][4]其他重要更新
首先,非常抱歉,我在这一专题第一篇文章中提到的大纲可能有所变动。这将是本专题最后一部分。一方面,我发现根据SUN的官方文档列出的大纲,后面的章节涉及的范围太广太泛,而有一些也是平常我们很少会用到和考虑到的。另一方面,我的时间也确实有限,如果真的要写,可能跟[J2SE 5.0专题][3]虚拟机类似,只能泛泛而谈。所以,在本专题的最后这一部分,我将从剩下的一些亮点中选择一些比较实用和具有特色的重要更新原创 2004-12-30 12:27:00 · 846 阅读 · 1 评论 -
[J2SE 5.0专题][2.7]注解
注解(Annotations)在我看来是J2SE 5.0中比较重大的新特性。将来的EJB 3.0规范将会全面利用该特性来简化Session Bean、 Message-Driven Bean和EntityBean的定义和实现。Java的注解或多或少也是受了.NET的影响。这不是说Java本来没有注解,以前的诸如JavaDoc的标注,尤其@deprecated,都是注解,只不过这一次的更新将注解原创 2004-12-28 23:06:00 · 1841 阅读 · 3 评论 -
[J2SE 5.0专题][2.2]增强的for循环
你是否已经厌倦了每次写for循环时都要写上那些机械的代码,尤其当你需要遍历数组或者Collection,如: public void showAll (Collection c) { for (Iterator iter = c.iterator(); iter.hasNext(); ) { System.out.println(iter.next().toString()); } }原创 2004-12-27 13:00:00 · 2242 阅读 · 0 评论 -
[J2SE 5.0专题][5]结语
原本下了很大决心才做的事,没想到只用了短短五天,就草草收尾了,心中难免有些说不出的滋味,说不上好,也说不上不好。总体说来,应该还是开心吧。谢谢各位网友的关注和反馈。在过去的五天中,零零碎碎的跟大家一起粗略过了一遍J2SE 5.0主要的新特性,其中很大的篇幅放在了语言特性上,我想,这也是J2SE 5.0带给我们最直观的变化吧。希望这个小小专题能给刚接触J2SE 5.0的朋友有一些参考价值。巧的是,正原创 2004-12-31 00:33:00 · 1003 阅读 · 5 评论 -
[J2SE 5.0专题][4.2]并发工具包
Doug Lea是Java并发编程的大拿,我想不少人都应该听说过那一本Concurrent Programming in JavatmDesign principles and patterns,几乎是学习Java并发编程必看的一本书。这回Doug Lea牵头的JSR-166在J2SE 5.0中引入的新的并发工具包绝对值得关注。新引入的java.util.concurrent包,以及背后的实现和A原创 2004-12-31 00:12:00 · 3428 阅读 · 1 评论 -
[J2SE 5.0专题][2.1]泛型
大凡用过C/C++的朋友对“泛型”这个词都不会陌生吧?我相信有过一些Java编码经验的朋友或多或少也遇到过使用集合类的方法时必须要手工做类型转换的情况。看下面的例子:import java.util.ArrayList;import java.util.Iterator;public class MyGenerics { public static void main(String[原创 2004-12-26 22:03:00 · 2724 阅读 · 3 评论