Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版 (J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统
中文名
java2标准版
外文名
Java2 Standard Edition
包    括
标准版、企业版和微缩版
应    用
嵌入式系统开发
特    性
易于开发性 元数据

简介

编辑

Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程
Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJBservlet、JSP、XML、事务控制
Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒
简单讲就是:
J2SE:java2 Standard edition (java 2 标准版)
J2EE:java2 enterprise edition( Java 2 企业版)
J2ME:java2 micro edition (Java 2 微缩版)
他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类
应用场合,API的覆盖范围各不相同。
笼统的讲,可以这样理解:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。
补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。
J2SE商业版本,标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程。
J2SE 包含那些构成Java语言核心的类。
比如:数据库连接、接口定义、输入/输出、网络编程
J2SE 是J2EE的基础,他大量的JDK代码库是每个要学习J2EE的编程人员必须掌握的。
JDK5.0开始,不再叫J2SE,改名为Java SE了,因为那个2已经失去了其应该有的意义。

特性

编辑

(以下每种特性基本上都有示例代码,或要了解其它特性,详见参考资料的“J2SE 1.5(并非最新版本) 简介”)

易于开发性

您也许已经见过这样的报告,即一些新的Java语言变化包含易于开发性主题。这些变化包括泛型、元数据、autoboxing、增强的 for 循环、枚举类型、静态导入、C 风格的格式化 I/O、可变参数、并发实用程序以及更简单的 RMI 接口生成。
JSR 201 包括如下四个语言变化:增强的 for 循环、枚举类型、静态导入和 autoboxing;JSR175 指定了新的元数据功能,而 JSR 14 则详细说明了泛型。
javac编译器执行的默认语言规范是版本 1.4(并非最新版本)。这意味着要利用以下语言变化的任何好处,需要向javac命令传递参数 -source 1.5。

元数据

J2SE 1.5 (并非最新版本)中的元数据特性提供这样的能力,即向 Java 类、接口、方法和字段关联附加的数据。这些附加的数据或者注释,可以被javac编译器或其他工具读取,并且根据配置不同,可以被保存在类文件中,也可以在运行时使用 Java 反射API被发现。
向 Java 平台增加元数据的一个主要原因是,使得开发工具和运行工具有一个通用的基础结构,以减少开发和部署所需的成本。工具可以使用元数据信息生成附加的源代码,或者在调试时提供附加信息。
下面的例子用元数据工具创建了一个调试元数据注释,这些元数据注释然后又简单地在运行时显示出来。可以想像,大部分的元数据标签形成一个标准,即一个良好规范的集合。利用一个元数据处理工具,许多重复的代码编写步骤可以减少成一个简练的元数据标签。

泛型

泛型一直是 Java 社团所广泛期待的,现在已经是 J2SE 1.5 的一部分了。最先见到使用泛型的地方是在 Collections API 中。CollectionsAPI提供可以被多个 Java 类型使用的公共功能性,比如LinkedLists、ArrayLists 和 HashMaps。下一个例子使用 1.4.2 库和默认的javac编译模式。
泛型化 API 的用户必须使用 <> 符号简单地声明在编译类型中使用的类型。不需要任何类型转换,在本例中试图向一个 Integer 类型的集合中添加 String 对象将会在编译时被捕获。
因此,泛型允许 API 设计者提供这样的公共功能性:可以与多种数据类型一起使用,也可以在编译时出于类型安全对它进行检查。
设计自己的 Generic API 比起只是使用它们来说要稍微复杂一些。请从查看java.util.Collection源代码API指南开始。

并发实用程序

并发实用程序库由 Doug Lea 定义在 JSR-166 中,是 J2SE 1.5 平台中流行的并发软件包的一个特殊版本。它提供强大的、高级别的线程构造,包括 executors(这是一个线程任务框架)、线程安全队列、Timers、锁(包括原子锁)和其他同步原语
著名的旗语(semaphore)是这样一个锁。旗语与现在使用的 wait 的使用方式相同,用于限制对一块代码的访问。旗语更加灵活,并且也允许许多并发的线程访问,同时允许您在获得一个锁之前对它进行测试。

可扩展性和性能

1.5 版本承诺在可扩展性和性能方面的改进,新的重点在于启动时间和内存占用,使它更加易于以最大的速度部署应用程序。
最重大的一个更新是引入了 Hotspot JVM 中的类数据共享。该技术不仅在多个正在运行的 JVM 之间共享只读数据,而且改进了启动时间,因为核心的JVM类都是预先打包的。
性能工效是 J2SE 1.5 中的一个新特性,这意味着如果您一直使用的是以前版本中专门的 JVM 运行时选项, 那么可能值得不用选项或者用很少的选项重新验证您的性能。
 

监控和可管理性

监控和可管理性是 Java 平台中的RAS(Reliability, Availability, Serviceability,即可靠性、可用性、可服务性) 的一个关键组件。
JVM Monitoring & ManagementAPI(JSR-174) 指定一组全面的可以从正在运行的JVM进行监控的 JVM internals。 该信息可通过 JMX (JSR-003) MBeans 访问到,也可以使用JMX远程接口 (JSR-160) 和行业标准SNMP工具而远程访问得到。

桌面客户端

Java桌面客户端保留有 Java 平台的一个关键组件,并且这一点成了 J2SE 1.5 中许多改进的焦点。
这个 Beta 版本包含启动时间和内存占用方面的一些早期改进。该版本不仅更快,并且Swing工具集采用了一个崭新的叫做Ocean的主题。
通过建立 J2SE 1.4.2 中的更新,GTK和 Windows XP 外观方面有了更进一步的改进。
具有最新OpenGL驱动程序并且选择了图形卡的LinuxSolaris用户,可以使用下面的运行时属性从 Java2D 获得本机硬件加速

核心 XML 支持

J2SE 1.5 引入了核心XML平台的几个修订,包括 XML 1.1 和Namespace、XML Schema、SAX2.0.1、XSLT和快速 XLSTC 编译器,以及最后的 DOM 第 3 层支持。
除了支持核心 XML 之外,未来版本的 Java Web Services Developer Pack 将交付最新的 Web 服务标准:JAX-RPC &SAAJ(WSDL/SOAP)、JAXB、XML Encryption and Digital Signature,以及用于注册的JAXR

辅助字符支持

32 位的辅助字符支持作为传输到Unicode4.0 支持的一部分,已经慎重地添加到该平台。辅助字符被编码为一对特殊的UTF16值,以生成一个不同的字符或者码点(codepoint)。一个代理对(surrogate pair)是一个高 UTF16 值和后面的一个低 UTF16 值的组合。这些高值和低值来自一个特殊范围的 UTF16 值。
一般来说,当使用 String 或者字符序列时,核心 API 库将透明地为您处理新的辅助字符。但是因为 Java "char" 仍然保留为 16 位,所以非常少的一些使用 char 作为参数的方法,现在有了足够的可以接受 int 值的方法,其中 int 值可以代表新的更大的值。特别是 Character 类,具有附加的方法来检索当前的字符和接下来的字符,以便检索辅助的码点值。

JDBC RowSets

JDBC行集支持有两个主要的更新。CachedRowSet 包含从数据库检索的行的内存中的集合。但是它们也是不连接的,这意味着以后更新可以与数据库重新同步。另一个组件是 WebRowSet,它使用数据库行通过 XML 来传输数据。

证书比较

编辑

J2SE与Java 代码签名证书比较
Java代码签名证书主要用于证明软件开发者开发的软件代码符合 Sun Java 规范。您可以使用Java 代码签名证书来为您的 Java 代码进行数字签名,以便通过互联网安全分发,使得最终用户能确信您的代码已经通过权威的第三方认证,而且没有在传输过程中被非法篡改和被破坏。
Java 代码签名证书可以用于数字签名运行J2ME MIDlet(MIDP2.0) 代码,支持诺基亚和索爱等手机的MIDlet应用软件,运行签名后的MIDlet Suite就会显示软件发行商名称,否则会显示让用户不敢下载的警告“应用软件来源未知,继续?”。同时,签名后访问网络等都不会弹出烦人的警告框了,让 手机应用更加安全,更有利于软件开发商推广其应用软件。如果需要签名J2SE的.Jar代码,则推荐您购买Thawte Java代码签名证书,因为其价格比VeriSign的便宜。 如果您希望有比Thawte Java代码签名证书更便宜的Java代码签名证书,则您可以选购 WoSign Java代码签名证书,但请注意,WoSign Java代码签名证书只支持Java J2SE 1.5.008版本或以上版本。

J2SE语言--百度百科的更多相关文章

  1. R语言爬虫:爬取百度百科词条

    抓取目标:抓取花儿与少年的百度百科中成员信息 url <- "http://baike.baidu.com/item/%E8%8A%B1%E5%84%BF%E4%B8%8E%E5%B0 ...

  2. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

    前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...

  3. redis百度百科和维基百科知识总结:

    1. 百度百科知识总结: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis ...

  4. libiconv_百度百科

    libiconv_百度百科   由于历史原因,国际化的文字常常由于语言或者国家的原因使用不同的编码.目录     1libiconv历史简介     2libiconv编码简介     3libico ...

  5. salon_百度百科

    salon_百度百科     salon    编辑    是法语Salon一字的译音,中文意即客厅,原指法国上层人物住宅中的豪华会客厅.从十七世纪,巴黎的名人(多半是名媛贵妇)常把客厅变成著名的社交 ...

  6. Bee Framework_百度百科

    Bee Framework_百度百科 Bee Framework 编辑   目录 1详细信息 简介 特性 2工作 主要模块 编译要求 运行要求 目录结构 运行例程 安装步骤     1详细信息 简介 ...

  7. AngularJS_百度百科

    AngularJS_百度百科     AngularJS    编辑     AngularJS是为克服HTML在构建应用上的不足而设计的.    目录         1简介引引        端对 ...

  8. Python 爬虫实例(爬百度百科词条)

    爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入 ...

  9. [转帖] 百度百科 sino

    sino https://baike.baidu.com/item/sino/2830?fr=aladdin 百度百科 sinograin 中储粮 (组合词前缀) 编辑 讨论 Sino,就是「中国.东 ...

随机推荐

  1. sqlalchemy源代码阅读随笔(4):url。py 阅读

    在_to_string中,有 _rfc_1738_quote(text): 这个函数.这个主要是遵循 RFC 1738的规则.对传入的信息(主要是用户名或者密码)进行格式匹配.其代码就一行: retu ...

  2. 《锋利的JQuery》读书要点笔记5——jQuery与Ajax的应用

    第6章 jQuery与Ajax的应用 Ajax的全称:Asynchronous JavaScript and XML (异步Javascript和XML) 传统模式中,数据提交通过表单方式实现,数据的 ...

  3. ros pcl sensor::pointcloud2 转换成pcl::pointcloud

    #include <pcl_conversions/pcl_conversions.h> #include <pcl/point_types.h> #include <p ...

  4. 通过Cookie来记住用户名出现乱码问题(URL编码)

    在登录时,提交一个中文名的用户名到服务器并返回到客户端的Cookie中时, 这个过程会后台会报 java.lang.IllegalArgumentException (非法数据异常) -->在给 ...

  5. C3P0连接池一些基本配置

    C3P0连接池配置 数据库连接是一个耗费大量资源且相当慢的操作,所以为了提高性能和连接速度,诞生了连接池这样的概念. 在多用户并发操作过程中,连接池尤为重要. 它是将那些已连接的数据库连接存放在一个容 ...

  6. java常见异常归纳

    1.java.lang.NullPointerException(空指针异常)    调用了未经初始化的对象或者是不存在的对象 经常出现在创建图片.调用数组这些操作中,比如图片未经初始化,或者图片创建 ...

  7. web前端读取文本文件内容

    html5+js实现,参照xxyy888的CSDN博客文章<使用HTML+javascrpt读取txt文本文件>失败,将作者文章中的代码重新整理了下依然不行,文章代码存在的问题是括号错误, ...

  8. Scrum之成败——从自身案例说起,仅供参考

    从07年中初次接触Scrum的概念到其中几年项目中逐渐实践CI.TDD,到亲自掌握项目实践Scrum近一年,最终我们放弃了Scrum这个框架和所谓的“自组织”.原因为何? 1.成员放弃了Scrum所“ ...

  9. 1.3(Mybatis学习笔记)动态SQL

    一.<if> 使用<if>可以根据具体情况来拼接SQL语句,使其更加灵活更加适应我们的需求. <if>的标签体中是需要拼接的语句,满足条件才会将其进行拼接. < ...

  10. 实用类String.length应用-用户名密码长度

    package demo3; import java.util.Scanner; //会员注册,用户名长度不小于3,密码长度不小于6,两次输入的密码必须相同 public class Register ...