2004年12月
原本下了很大决心才做的事,没想到只用了短短五天,就草草收尾了,心中难免有些说不出的滋味,说不上好,也说不上不好。总体说来,应该还是开心吧。谢谢各位网友的关注和反馈。
在过去的五天中,零零碎碎的跟大家一起粗略过了一遍J2SE 5.0主要的新特性,其中很大的篇幅放在了语言特性上,我想,这也是J2SE 5.0带给我们最直观的变化吧。希望这个小小专题能给刚接触J2SE 5.0的朋友有一些参考价值。
巧的是,正好用了5天,一共也写了5个部分,而话题中的J2SE版本又是5.0。:)
需要对Java初学者说的是,做Java,一定要勤动手和上网查资料,一定要学会看API文档。你会发现,有很多东西,其实你自己也可以做到。
最后,祝大家新年快乐!
大胃
2004年12月
阅读全文>
发表于 @ 2004年12月31日 00:33:00|评论(loading...)|编辑
Doug Lea是Java并发编程的大拿,我想不少人都应该听说过那一本Concurrent Programming in Javatm
Design principles and patterns,几乎是学习Java并发编程必看的一本书。这回Doug Lea牵头的JSR-166在J2SE 5.0中引入的新的并发工具包绝对值得关注。
阅读全文>
发表于 @ 2004年12月31日 00:12:00|评论(loading...)|编辑
RowSet是javax.sql包下面的一个接口,继承自ResultSet接口,在1.4版本中被引入。不过当时只有孤零零的这么一个接口,JDK并没有提供更多细分的类别。我们来看看5.0版本中javax.sql.RowSet新增了哪些有趣的子接口。
阅读全文>
发表于 @ 2004年12月30日 22:39:00|评论(loading...)|编辑
首先,非常抱歉,我在这一专题第一篇文章中提到的大纲可能有所变动。这将是本专题最后一部分。一方面,我发现根据SUN的官方文档列出的大纲,后面的章节涉及的范围太广太泛,而有一些也是平常我们很少会用到和考虑到的。另一方面,我的时间也确实有限,如果真的要写,可能跟[J2SE 5.0专题][3]虚拟机类似,只能泛泛而谈。所以,在本专题的最后这一部分,我将从剩下的一些亮点中选择一些比较实用和具有特色的重要更新跟大家一起学习。
随着J2SE 5.0的发布,不少基本类库都有更新,有一些新的API类库被引入,其中我认为比较重要和值得关注的(至少我比较感兴趣的)是下面两个:新的JDBC RowSet子接口和并发工具包。在接下来的专题文章中我们逐一了解。
阅读全文>
发表于 @ 2004年12月30日 12:27:00|评论(loading...)|编辑
随着J2SE 5.0的发布,JavaTM HotSpot虚拟机也随之更新。新的变化包括:类数据共享、垃圾收集、服务器级机器侦测、线程优先级变化、致命错误处理、高精度计时支持等。
阅读全文>
发表于 @ 2004年12月29日 21:19:00|评论(loading...)|编辑
在前面的专题文章中,我和大家一起大概过了一遍J2SE 5.0中新引入的语言特性。总的说来,Java还是我们认识的那个Java,基本语法也是在原有基础上做了一些改进。最大的感受是新的特性或多或少提高了编写代码的方便程度。也许要大家完全接受这些新变化还需要一段时间,但是我想基本上这次的语言改动还是朝着好的方向发展。
就我个人而言,我比较欣赏泛型、枚举和注解,不是很接受静态引用,你呢?
如果有什么意见和建议,欢迎反馈。阅读全文>
发表于 @ 2004年12月29日 09:10:00|评论(loading...)|编辑
你是否曾经觉得C中的printf用上去很顺手,而在Java中却没有类似的便利?现在好了,我们的Java也开始支持printf()方法,这个特性建立在可变长度参数的基础之上。
阅读全文>
发表于 @ 2004年12月28日 23:38:00|评论(loading...)|编辑
注解(Annotations)在我看来是J2SE 5.0中比较重大的新特性。将来的EJB 3.0规范将会全面利用该特性来简化Session Bean、 Message-Driven Bean和EntityBean的定义和实现。
阅读全文>
发表于 @ 2004年12月28日 23:06:00|评论(loading...)|编辑
所谓静态引入就是指除了引入类之外,我们现在又多了一种选择,引入某个类的静态字段。我个人认为这个新特色是所有J2SE 5.0语言新特色中唯一没有什么明显优点的,除非我认为特别必要,我想我不会在自己的代码中使用它。原因很简单:把太多的其他类的静态字段放到自己的代码中明显会降低代码的可读性,到最后自己都搞不清楚引用的那些XXX是什么和从哪里来的了。在使用一个类的静态成员时,写清楚类名,并不会给代码太多臃肿的感觉,但却明确的标示出来源,我想这个是一个优点而不是缺点。不管怎么说,多一个选择总是好的。阅读全文>
发表于 @ 2004年12月28日 13:09:00|评论(loading...)|编辑
顾名思义,可变长度参数就是指在方法的参数体中,只要定义恰当,我们可以使用任意数量的参数,类似于使用对象数组。在J2SE 5.0中,一个新的语法被引入,就是在参数类型名称后面加上 ... ,表示该方法可以接受多个该类型的参数。需要说明的是可变长度参数必须放在参数列表的最后,且一个方法只能包含一个这样的参数。
阅读全文>
发表于 @ 2004年12月28日 09:27:00|评论(loading...)|编辑
在细述J2SE 5.0中引入的类型安全枚举的用法之前,我想先简单介绍一下这一话题的背景。...阅读全文>
发表于 @ 2004年12月27日 23:19:00|评论(loading...)|编辑
看过.NET基础的朋友可能对这个装箱和拆箱的概念并不陌生。首先,我们必须明确一点,在Java中,有两种截然不同的数据类型:值类型和引用类型。值类型的数据不是对象,因而所占的内存和资源都相对较少,但是不能作为对象调用其toString()、hashCode()、getClass()、equals()等等方法,也不能被直接加入到集合中;引用类型的数据是一个一个的对象,占用内存和资源较多,但是提供丰富的访问方法,同时作为真正的对象,可以直接放入集合。
阅读全文>
发表于 @ 2004年12月27日 19:22:00|评论(loading...)|编辑
你是否已经厌倦了每次写for循环时都要写上那些机械的代码,尤其当你需要遍历数组或者Collection,如:...阅读全文>
发表于 @ 2004年12月27日 13:00:00|评论(loading...)|编辑
大凡用过C/C++的朋友对“泛型”这个词都不会陌生吧?我相信有过一些Java编码经验的朋友或多或少也遇到过使用集合类的方法时必须要手工做类型转换的情况。看下面的例子:...阅读全文>
发表于 @ 2004年12月26日 22:03:00|评论(loading...)|编辑
J2SE 5.0引入了很多激进的语言元素变化,这些变化或多或少减轻了我们的一些编码负担,其中的大部分也必然会被应用到即将发布的J2EE 1.5.0 (J2EE 5.0?)中。主要的新特性包括:1- 泛型2- 增强的for循环3- 自动装箱/拆箱4- 类型安全的枚举5- 可变长度参数6- 静态引用7- 元数据(注解)8- C风格的格式化输入/输出我会在接下来的专题对上述各项分别做更详细的说明。阅读全文>
发表于 @ 2004年12月26日 21:14:00|评论(loading...)|编辑
自J2SE 1.4发布以来,已经有超过两年半的时间,相信很多人也已期待这个新的JDK很久。我想应该还有不少人对当初1.4对1.3在性能上的大幅提升还记忆犹新,尤其是java.nio (New I/O)包的引入和JVM对HotSpot技术的更全面支持。那么J2SE 5.0 (codenamed Tiger)又给我们带来了哪些惊喜呢?
阅读全文>
发表于 @ 2004年12月26日 20:57:00|评论(loading...)|编辑
自从J2SE 5.0于今年9月29日正式发布以来,一直希望有时间和大家一起学习它的新特性。无奈项目进度十分紧张,至今没有形成一个比较清晰的认识。
就目前的情形看来,估计紧张的日子还会持续相当长的一段时间,于是我暗下决心:既然时间总是不够用,那么我就争取在工作之余挤出点时间,通过在我的blog上发表学习笔记的方式,一方面与大家分享我的学习心得,一方面也是整理思路,同时促使自己更有效的学习新的知识。希望对需要学习Java和J2SE 5.0的朋友有所帮助,或者使大家能够少走些弯路。我初步打算按照SUN Java网站上给出的New Features and Enhancements in J2SE 5.0的大纲来安排我的专题,大致分为性能提升、语言特性、虚拟机、基本库、集成库、用户界面、部署、工具及工具架构、操作系统和硬件平台等9个部分,其中一些可能会一笔带过,而另一些则可能需要更多的篇幅,不过一般我都会尽量给出相关的链接供大家参考。阅读全文>
发表于 @ 2004年12月26日 16:48:00|评论(loading...)|编辑
Firefox is just cool. Give it a try.
http://www.mozilla.net.cn/firefox/
阅读全文>
发表于 @ 2004年12月22日 19:24:00|评论(loading...)|编辑
C++/CLI, a savior or a devil?
The latest version of Visual C++阅读全文>
发表于 @ 2004年12月21日 23:34:00|评论(loading...)|编辑