永中首页 | 产品聚焦 | 销售渠道 | 服务支持 | 教育专栏 | 二次开发 | 在线订购 | 产品注册 | 免费下载 | 新闻中心 | 关于永中 | 永中未来星
发新话题
打印

解构J2SE 1.4

解构J2SE 1.4

[这个贴子最后由woodworm在 2002/05/22 11:16am 编辑]

解构J2SE 1.4
宫力 (中国计算机报 出版日期:2002-03-18 总期号:1101 本年期号:18   宫力先生早期一直负责Java的研发工作,从1.1版一直到1.2版。从1.2版本之后开始负责Sun中国工程研究院,Sun中国工程研究院是美国在全球工程和研究的工作中心之一。

  编者按:J2SE新版本的推出,最直接的影响将是会出现更多的Java程序,这是因为速度更快,使用更方便,同时,新增的功能,也会促使更多用户来应用。对服务器、PC产品而言,应用程序多了,会带动产品的销售。就支持64位这个性能来说,像银行等行业以前使用的大服务器,内存很多,但不一定都能发挥作用,但支持64位后,功能将得到发挥,同时将会有更大型的服务器出现。

  速度比以前快了60%

  新版本带来了很大改变,首先是速度得到了提升。Java出来以后,有人感觉挺慢的。这是有一些原因的,因为Java是跨平台的。因而刚开始的时候就不像一个平台那样精,需要一步步调整。1.4版本的速度较以前版本有了大幅度的提升。怎么叫跑得快,不能说一个跑七米快,另一个跑八米快,只能大家在同一个标准下测试。在国外都有专门的测试工具与方法。据BanchMarK测试,1.4版本比1.3.1版本快了60%。
  第二个方面是支持64位。基于J2SE所开发的软件,原来不支持64位的时候,内存只能应用到4G,如果超过4G就不行了,而现在内存无限扩大都没有问题。举个例子讲,Sun最大的机器是 Fire 15K,其最基本的配置,内存是288个GB,如果使用以前的Java,很多内存根本就用不上。像数据库在进行数据存取的时候,来回存取肯定很慢,那么就需要把数据放到内存,内存不够大,就调不进来。现在内存都越来越多,像Fire 15K,但是如果不支持64位,装了288个GB也没有用,因为每一个内存都有一个地址,地址数不够,再多的内存也用不上。这相当于盖了一栋大楼来做办公室,有很多房间,但只有两位的号码,也就是说最多只能标记100个房间,如果每个房间都贴一个号码,则有一些房间就没有号码。而如果到了64位,基本上可以说,无论内存有多少都可以用上,特别是对数据量特别大的软件来说,提供的支持就更好。
  再有一个比较大的改进,就是安全系统比较以前更完整。以前的版本内部有安全系统,但同时还带了一些外部的安全系统,可以装在一起用,但不包括在Java里面,比如加密、身份验证等,用户在使用的时候可能就要去外部来找。而新的版本把这些经常用的都放到核心里面,就不用再担心没有了。这样会使用户在使用的时候比较方便,不会造成说一个程序在一个地方可以运行,而在另一个地方就无法运行,因为一个插件在这里有,在那里就没有。举个例子说,一个程序需要身份验证,而这个验证的插件在这里有,而在那里没有,就无法在那里通过身份验证,无法运行。
  除此之外,新版本全部支持Unicode 3.0,这对于国际化和本地化来说非常好。在Debug方面,通常一个软件在运行的时候有两种形式,一是正常运行,一是抓错的形式。通常来说,在抓错的时候,这个软件都要放慢速度,而在1.4版本当中,可以在抓错的同时,软件照样正常运行。Java里面也是可以调C语言的,新版本在这方面也有较大的提高。新版本全面支持XML,包括如何处理XML文件,怎么去满足各种标准。Java是跨平台的,据称,新版本支持这样一些平台:Sun solaris、Windows、Linux、MAC OS、IBM AIX、HP-UX。

  为什么速度会变快?

  J2SE新版本一共立了11个专项,在具体的操作过程中,就要考虑很多技术如何来操作。
  拿速度提升来说,比如一个机器在联网的时候,可以联接很多的网络端口,一台机器可以跑到这个地方抓东西,也可以跑到那个地方抓东西,也可以同时到几个地方去抓东西。原来,每新开一个窗口,都有一个完整的机制去拿,这样做的好处是比较容易做,但缺点是浪费,需要资源,而每一个窗口里面都有很多资源是重复的。像在新版本中,每新开一个窗口的时候,能共享的就共享了,而不是来一个全套的完整机制。这样就可以省很多资源,速度自然也就快了。
  共享听起来容易,但做起来不容易,如何让他们能够协调起来,而又相互之间不影响,这也是非常复杂的。
  再有,Java是跨平台的,在它上层也是跨平台的,但是下面一层操作系统则不是跨平台的,每个操作系统都不一样,通常都是用C语言写的。虚拟机里面都有一些C的成份,这是因为要和操作系统接口。所以,最简单的做法就是,上端是上端,下端是下端,但很多时候发现,这也浪费,比如一个数据结构,一个日历,2002年3月,31天,在Java里面肯定要用,在操作系统里面,C肯定又要来一份,因为上下层不一样,但实际上这就是一种浪费。但是你原来设计的时候,是两个不同的世界,是不能共享的,而现在则实现了某些数是可以共享的,这样也就可以节省了很多地方。
  中间层次越多,相对的设计和管理维护越容易,但从应用上来讲,浪费的资源就会越多,Java就是把很多中间的界限给模糊起来,这样速度会更快,而模糊的这部分实际上是用户用不到的。

  国内公司要多研究J2SE

  新版本和1.3.1是完全兼容的,原来版本直接就可以运行在新版本上,重新安装后,会发现程序运行得更快。新版本把安全系统放进去后,会让编程复杂性降低,很多情况都不用再去考虑。
  J2EE也会跟着J2SE升级,很快也会体现在应用上。比如原来不支持64位,那么随后也会支持64位。
  一种看法认为,国内对J2SE还不够关注,我想这可能有两个原因,一是国内软件市场不是很成熟,但相比之下,企业级的软件还较为成熟,因而各家公司可能更多地去关注企业版。而从全球的角度来讲,中间这一块,也就是J2SE方面还是非常重要的。
  第二点,在企业版方面,J2EE没有太多的竞争,大家基本上使用的都是这样一个开发平台。而在中间这一层,PC和工作站,还有很多竞争的平台,相对来说,大家对J2SE关注的力度不是特别强。而实际上,J2SE在全球应用得非常多。浏览器里使用的就是J2SE版,下载的时候Aplet的用法,其实都是J2SE,可能在用的时候不知道。
  举个例子来说,Sun公司内部的管理软件大部分都是用网页做的,比如员工要报销一次出差费用,如果用一般网页来做,就要填很多项内容,而每一项每个人都不同,用一般网站做的表就比较困难,而Sun公司就是用Java程序来做,可以把很多内容做到里面。

  这样做有什么好处呢?一是可以随时升级,增加功能不用每次都去下载,Java Aplet只是在使用的时候才调用;另外一点就是只要有浏览器,只要有J2SE在里面,不管到哪里,都可以使用同样的系统。
  实际上,J2SE的安装套数已经非常大,浏览器、AOL,实际上已经内嵌在里面了。而现在,基于互联网的技术和产品越来越多,同时,J2SE又有三个优势,自身既是一个平台,同时又是去J2EE的一个渠道,又是J2ME的研发环境。
  如果国内用户不重视J2SE的话,那么是一个错误。国内用户应当真正地去花点时间去研究,国内对Java的理解相对还比较低,一个是因为懂Java的人不多,第二是Java的高手少,第三是有些想在Java上努力的工程师找不到环境。实际上这三点都是相关的,国内的用户还是应当在Java上多研究一下,研究国外在Java方面的应用案例。

--------------------------------------------------------------------------------

  J2SE的用途

  Java之所以能够发展得很快,是因为互联网的发展非常快,Java可以和浏览器结合在一起,因而很自然地就在桌面系统站住了。
  从计算的结构来看,主要是三大类,一是服务器端,这里就有了J2EE,企业版;第二是桌面PC,这一类是用的J2SE;第三类,就是掌上电脑、移动设备,用的都是J2ME。
  大部分非企业级软件开发的时候,还是在J2SE上做的标准比较高。首先,这是因为在全球非企业使用计算机的比较多,很多的应用软件都是在J2SE上开发的,这是一个平台,是很多软件开发的基础。
  第二点,J2SE是和J2EE兼容的,企业版是在标准版上的扩充,在J2SE的版本上开发的软件,拿到企业的平台上是一样可以运行的,在标准版上运行的软件在企业版上也是可以的。
  第三,在微型版上,比如在Java手机上开发应用程序。一般不会在手机上开发,因为手机上没有开发环境,一般开发还是在J2SE的环境上开发,只是说J2ME提供微型版的一个环境。在J2SE上虚拟出一个环境,开发出来的应用软件是可以拿到微型版上运行的。
  因而,J2SE是非常重要的。 :em28:

TOP

解构J2SE 1.4

SUN公司更新JDK的速度的确是很快

TOP

解构J2SE 1.4

效率也是稳步上升

TOP

解构J2SE 1.4

不知道永中换到1.4平台要多长时间
有没有测试过,速度如何?

TOP

解构J2SE 1.4

正在进行时

TOP

解构J2SE 1.4

宫力和宫敏是不是兄弟啊?
I love Java!

TOP

解构J2SE 1.4

谁谁?楼上你认识他们?

TOP

解构J2SE 1.4

不是不是,随便说说的,如果是的话,就厉害了
I love Java!

TOP

解构J2SE 1.4

不一定哦,人不可貌相哦^_^

TOP

发新话题