选择显示字体大小

j2se 1.5 in a nutshell 中文版(1)

java2平台标准版(j2se)1.5版本(代号"tiger")是对java平台和语言的下一个重要修改;目前1.5版本的j2se包含了15个jsr的请求,相应的jcp导致了将近100个显著的修改.

看到这个版本带来了这么多激动人心的变动,你可能想知道你应该从哪里开始.和以往的发布一样,所有的改动都会有一个清晰的列表保存在"release notes guide".这篇来自j2se开发团队的文章将带领你巡视主要的变动,使得你可以在深入api文档之前快速的把握j2se 1.5能提供什么.

j2se 1.5版本将关注在下面几个关键的主题:

简易的开发 ease of development

可扩展性和性能 scalability and performance

监视和管理能力 monitoring and manageability

桌面客户端 desktop client

还有一些特性也很重要,但是和这些主题不相关,所以他们被列在了文末:

其他的特性 miscellaneous features

简易开发 ease of development

你可能已经看到了一些能使得开发变得更加简易的java语言上新特性的报告.这些特性包括了泛型类别,元数据,自动装箱,一个增强的for循环,枚举类型,静态引入,c语言风格的输入输出,变量参数,并行工具和一个简单化了的rmi接口生成.

jsr 201包含了上述语言特性中的4个:增强的for循环,枚举类型,静态导入和自动装箱;jsr 175 说明了元数据机能;而jsr 14则详细说明了泛型类别.

javac编译器中使用的默认的语言是j2se1.4.这就意味着如果你想使用任何的这些新语言特性必须在编译的时候在javac的命令行上添加一个参数 -source 1.5.(译者按:这也是目前很多的开发人员下载了这个版本以后发现无法使用这些新特性的原因.)

元数据 metadata

j2se 1.5 中的元数据特性提供了一个连接附加数据到java class,interface,method和field中的能力.这些附加的数据或者注解能被javac编译器或者其他的工具识别,并且可以根据配置保存在class文件中,并且能在运行时通过java的reflection api来发现.

java平台添加元数据的一个主要原因是似的开发和运行工具能得到一个基础框架,使得可以减少在编码和发布的时候需要的额外的努力.一个工具能使用这些元数据信息来产生一些额外的代码或者在调试的时候提供额外的信息.

代替元数据工具,下面的范例代码创建了一个智能调试的元数据注解.这个注解将在随后的调试中简单的显示出来.我们可以看到大部分的元数据标签组成了一个标准的,固定的集合.

import java.lang.annotation.*;

import java.lang.reflect.*;

@retention(java.lang.annotation.retentionpolicy.runtime)
 @interface debug {

boolean devbuild() default false;

int counter();

}

public class metatest {

final boolean production=true;

@debug(devbuild=production,counter=1) public void testmethod() {

}

public static void main(string[] args) {

metatest mt = new metatest();

try {

annotation[] a = mt.getclass().getmethod("testmethod").getannotations();

for (int i=0; isystem.out.println("a["+i+"]="+a[i]+" ");

}

} catch(nosuchmethodexception e) {

system.out.println(e);

}

}

}

有了元数据处理工具,很多重复的编码步骤可以减少到一个简洁的元数据标签中.比如访问jax-rpc的时候需要的远程接口服务实现可以按照下面这样实现:

以前 before

public interface pingif extends remote {

public void ping() throws remoteexception;

}

public class ping implements pingif {

public void ping() {

}

}

用了元数据后 after

public class ping {

public @remote void ping() {

}

}


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons