刚刚回来,看到网友的评论,提到Consumer JRE快要出来了,就赶紧到了Chet Haase的博客上看了看,果真他在博文Early Access Granted: Java SE 6 Update N,原来Sun把以前的Consumer JRE重新命名成了Java SE 6 Update N。Chet认为这个新名字非常酷,但我觉得莫名其妙,而且容易和Java SE 6的Update Release想混淆。这儿需要澄清的是,Consumer JRE同标准JRE 安装不同。Consumer JRE出来之后,标准JRE安装还是继续独立发版的,只是安装版本多了个Consumer JRE版。因此Java SE 6 Update N很容易和Java SE Update 1, 2, 3..等等标准版JRE安装想混淆。不知道他们想过这个问题没有。

        目前Consumer JRE包含的重要feature有:

Java Quickstarter : 更快的启动速度

        这可能是最重要的改进了,它将大大提高applet部署和启动的速度。以前浏览器的第一个applet的启动往往需要好几秒钟,而且还经常冻结浏览器。Quickstarter将大大减小第一次启动时间(也称冷启动时间)。根据Chet的解释,Quickstarter技术将Java热启动需要的二进制映像数据作为磁盘缓冲放在操作系统的交换分区里,这个过程在安装时完成。然后Java应用程序在第一次启动时,将这些映像缓冲直接交换到内存,达到快速启动的目的。

Deployment Toolkit: 更方便的部署工具

        目前主要自动检测Java安装的工具是J2SE 5.0中发布的称作Auto-Install的ActiveX控件。这种机制局限于Internet Explorer,并且只有在用户允许ActiveX控件时才能起作用。除此外,安装过程需要许多手工过程,比如重定向到java.com网站下载安装java,而且还有可能导致回不到原来的网页。

        新的部署检测方法的介绍可以在下面网页上看到:

http://java.sun.com/developer/technicalArticles/JavaLP/javawebstart/AutoInstall.html

        部署工具项目目标是提供更强大的系统,可以在多种平台的多种浏览器中运行,允许开发者更为自动化的检测JRE安装和程序启动。另外还有浏览器插件允许高层检测、安装以及启动JRE。如果浏览器环境不允许使用插件,还有基于javascript的方案。

Graphics Performance : 缺省启动Windows平台上的Direct3D的图形加速功能

        重新编写Windows上的图形管线(Graphics Pipeline),充分利用Direct3D提升性能,包括从简单的矩形填充和复制到透明处理、渐变、任意图形转换以及其他许多高级2D操作。无论是简单还是复杂的Swing应用程序都将极大地受益于此,对于Swing应用程序来说是一个极大的好消息。可以肯定经过图形加速后的Swing应用将在现在Java 6的基础上性能得到进一步地提高!

        Swing的渲染是通过Java2D进行的,因此swing应用依赖于Java2D图形渲染速度来提高性能。在J2SE 1.4中,Swing开始通过DirectX使用本地硬件加速卡,但是仅限于基本操作,如矩形填充和复制、水平和垂直线渲染等。这些简单原语对于基本Swing组件的渲染起到了很大作用,大部分UI渲染是由这些原语组成。另外将Swing缓存成VRAM图像也极大的提升了双缓冲速度。随着Swing的UI界面变得越来越复杂,越来越多的高级操作如透明、反走样、渐变、放大、缩小等也越来越重要。

        Java2D的开发小组已经能很大地提升DirectX的渲染速度。通过使用Windows平台提供的本地Direct3D类库,Java2D能加速更多更高级的图形操作。目前由于速度和稳定性的原因,并没有在Java2D缺省启用这些性能。同时他们还实现了并发OpenGL渲染管线,使Java2D具备更高级的能力。同样由于稳定性等原因,这些特性并没有缺省地启用。

        现在他们打算重新编写DirectX管线,使其具备相当于OpenGL管线的能力。同时他们还要修改稳定性问题,使其能成为缺省渲染管线,并缺省地启用这些特性。这将使Swing能通过图形处理器运行在高速硬件加速卡上,大大提升目前Swing应用程序的性能,提升更为复杂和强大的Swing应用的性能,允许Swing集成复杂、华丽、动态的动画效果。

Nimbus: 新的快平台的NimbusLookAndFeel,取代以往的缺省外观

        这个不再详细描述。简单地说以前Swing的缺省外观太过丑陋,他们想换一个新的基于Synth的外观。下面是新Nimbus外观的截图:

nimbus

 

        至于Kernel JRE,根据项目主页上的说法, The Kernel installation mode will be available at a later date. Stay tuned or subscribe our live link feed for lastest news & information。

         Java SE Update N主页在https://jdk6.dev.java.net/6uNea.html

 

评论:

楼主终于回来了
又可以看到楼主的文章了!
^_^

发表于 小虫 在 2007年10月13日, 01:09 上午 CST #

Williamchen,你好!
一直关注着你的博客来着.我最近用swing写了一个小的数据库管理工具(数据库用的是hsqldb,功能比较简单,界面也比较简单),但不知道是什么原因,每当我向tabbed pane 加一个tab的时候,它占用的内存迅速的增加(我曾注意过,添加一个含有大约1万个汉字的tab时,内存会增加十几二十MB),有时随便打开几个tab,就占了100多MB内存,速度很慢,我一直找不出原因来.
我想,你能不能帮我个忙?我把那个程序(包括源代码)发给你,你帮我分析一下问题可能出在哪里?如果可以的话,能给我你的邮箱吗?非常感谢!

发表于 hqhhq 在 2007年10月14日, 08:25 下午 CST #

忘了,我的邮箱是: qing112119@gmail.com.
PS:那个小程序是我自己写着玩的..非常期待能得到您的回复,先谢了!

发表于 hqhhq 在 2007年10月14日, 08:26 下午 CST #

刚自己又发现一个问题,如果是用java默认的laf的话,则不会出现上述问题,但一量将laf换成windows下的话,问题就变得非常明显,速度慢了许多,内存也急剧上升..

发表于 hqhhq 在 2007年10月14日, 10:30 下午 CST #

hqhhq:我也遇到过这样的问题。所以我现在用netbeans时,不用默认的windows laf,而是用metal laf,其实metal laf在jdk6中的感觉还是不错的。
产生内存暴涨的原因可能是tab页中显示文字时java2d画出来的图形文字没有正确释放掉内存。
不知William有什么更深入的见解?

另,Nimbus外观对中文支持一直有问题.

发表于 HEDY 在 2007年10月15日, 09:59 下午 CST #

hqhhq:
你将你的代码发送到rehte@hotmail.com我先看看。

发表于 williamchen 在 2007年10月16日, 11:44 上午 CST #

Williamchen您好!我已经发到您的邮箱了,麻烦您帮忙分析一下问题所在,再次表示感谢!

发表于 hqhhq 在 2007年10月16日, 09:21 下午 CST #

hqhhq:

问题解决了,解决方法给你发过去了。

发表于 williamchen 在 2007年10月17日, 04:37 下午 CST #

楼主。。。可以把怎么解决问题的方法也发出来让大家学习学习呀。。。。

发表于 bluewoods 在 2007年10月17日, 11:57 下午 CST #

WilliamChen:
邮件昨天已收到,谢谢您!
bluewoods:
主要是因为我给JEditorPane添加了TitleBorder.
当我使用windows laf时,WindowsLookAndFeel使用XPStyle的Skin进行绘制这些TitleBorder,这种绘制方式将产生大量的BufferredImage,而这种BufferedImage是尺寸是W*H,当一篇文章的尺寸很大时,造成JEditorPane的尺寸很大。因此每打开一个JEditorPane就会多出几十M的内存。可以使用netbeans的memory analysis进行查看.解决方法时不用这个title border.这应该算WindowsLookAndFeel的一个bug.(From WilliamChen给我的回复).

发表于 hqhhq 在 2007年10月18日, 09:36 上午 CST #

我现在用的是JNI,用JNI调MFC,然后MFC和Java Class交互做界面显示

发表于 aa 在 2007年10月28日, 10:12 下午 CST #

cool

发表于 wow gold 在 2008年11月03日, 09:27 上午 CST #

发表一条评论:
  • HTML语法: 禁用

This blog copyright 2009 by williamchen