一起学习
Java 2 Enterprise Edition(J2EE)定位于服务器端程序的应用;
Java 2 Micro Edition(J2ME)定位于嵌入式系统的应用。
使用Java写过程序的人应该都知道,Java规范之中有一组核心类(Core Class,即java.*),在核心类之外还有扩充类(Extended Class,即javax.*),前面的三种不同的Java版本正是根据对这两种类的支持程度来划分的(见图1)。
要理解图1,我们必须以java 2 Standard Edition(J2SE)为基准,这个版本包含了所有Java规范之中定义的核心类,也支持所有的Java基本变量,J2SE定位在客户端程序的应用上。
从J2SE向外延伸,其外面为Java 2 Enterprise Edition(J2EE),这个版本除了支持所有的标准核心类之外,还增加了许多适合企业内部使用的扩充类,比如支持Servlet/JSP的javax.servlet.*类、支持Enterprise Java Bean的javax.ejb.*类。当然J2EE必定支持所有的Java基本类,J2EE定位在服务器端程序的应用上。
从J2SE往内看,Java 2 Micro Edition(J2ME)所支持的只是核心类的子集,例如在J2ME CLDC(也就是那些运算能力有限、电力有限的嵌入设备的应用,例如掌上电脑)规范中,只支持java.lang.*、java.io.*、及java.util.*类。当然这个版本也增加了一些适合“微小装置”的类,例如javax.microedition.io.*类。同样在对变量的支持上J2ME也有所精简,拿在PalmOS上运行的KVM(K Virtual Machine,K虚拟机)来说,它就不支持浮点类型(float、double),因此J2ME定位于嵌入式系统的应用。
JVM(Java虚拟机)的分类
由于Java注重的是与平台无关性,Java编译器所生成的代码是一种可移植的中间代码,使用我们通常称之为Virtual Machine(也就是虚拟机)的方式来运行。在前面所述的每一种Java版本之中,都有属于自己的虚拟机,借以达成“Write once,run anywhere”的终极目标。在J2ME的世界里,标准的虚拟机是KVM,用来执行下载至嵌入设备上的Spotlet(Palm等掌上电脑使用的Java应用程序)或MIDlet(移动通信设备使用的Java应用程序,例如Java手机);在J2SE和J2EE之中,有Classic VM与HotSpot VM负责执行Applet(Java小应用程序,主要应用于Web网页中)、Servlet(服务器端Java应用程序)或Java Application(见图2)。HotSpot VM是新一代的JVM,比较之下Classic VM则是传统的JVM。根据Sun的说法,HotSpot VM让Java程序的执行效率大幅度提升。其实HotSpot VM还分为Client和Server两种版本。这样区分的原因是由于客户端执行的应用程序与在服务器上执行的应用程序在基本需求上有所不同——客户端应用程序比较注重画面的美观、用户界面的灵敏程度;服务器端应用程序则没有太多界面上的要求,注重效率和资源占用率。因此HotSpot VM的两种版本就是根据不同的需求而分别给予最佳化的结果。
滴滴香浓,意犹未尽—畅游Java世界(1)
滴滴香浓,意犹未尽—畅游Java世界(2)
滴滴香浓,意犹未尽—畅游Java世界(3)
滴滴香浓,意犹未尽—畅游Java世界(4)
下载本文示例代码
滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)滴滴香浓,意犹未尽—畅游Java世界(2)
阅读(113) | 评论(0) | 转发(0) |