零基础Java学习笔记
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 Java 的版本

Java 主要分为两个版本:Java SE 和Java EE。

Java SE 是Java 的标准版,主要用于桌面应用程序的开发,它包含了Java 语言基础、JDBC(Java 数据库连接)、I/O(输入/ 输出)、多线程等技术。

Java EE 是Java 的企业版,主要用于服务器应用程序的开发,如网站、服务器接口等,其核心为EJB(企业Java 组件)。Java EE 版本兼容Java SE 版本。

以Java SE 为例,各版本的特点如下:

●JDK1.0 ~JDK1.4 已不能满足开发需求而被广大开发者放弃。

●JDK1.5 添加了自动装箱、自动拆箱、枚举、不定长参数、泛型等功能。

●JDK1.6 在JDK1.5 的基础上添加了许多新的类,但核心语法没有发生变化。

●JDK7 也可以称为JDK1.7,该版本的switch 语句可以使用字符串参数,简化了泛型语法,添加了try 语句自动关闭流资源等功能。

●JDK8 添加了Lambda 表达式、JavaFX 技术、流式处理和JavaScript 脚本引擎等功能。

●JDK9 在JDK8 的基础上添加了许多新的类,优化了线程并发处理和垃圾回收处理的代码,并开启了模块化Java API 的先河。然而,JDK9 刚推出半年就被JDK10 替代了。

●JDK10 添加了var 关键字,同时进一步优化了JDK9 的代码,并删除了冗余的过时代码。

在JDK7 升级到JDK8 的过程中,Oracle 公司放弃了原本的1.X 版本号名称,直接使用版本号的第二位数字,所以很多资料中仍会记载JDK1.7 而不是JDK7,其实这两个名称是同一个版本的不同叫法。即使是JDK8 版本,使用java-version 命令查询出的结果仍然是1.8.XX。版本名称不统一的问题直到JDK9 才得以解决,JDK9 彻底删除了1.X 前缀。

以上介绍的是Oracle 公司推出的JDK,除此之外,还有一个Open JDK。Open JDK最早由SUN 公司推出,它是一个完全开源且商业免费的Java 平台,被广泛应用到Linux系统中。因为Oracle JDK 的源码有知识产权的问题,所以Open JDK 的源码和Oracle JDK的源码并不是完全一样的。

Open JDK 有如下几个特点:

●所有代码都是开源代码。在Open JDK 中有知识产权的代码都被替换掉了,不存在知识产权纠纷,所以完全免费。

●虽然它的所有代码都是开源代码,但其功能并不完整,只包含了JDK 中最精简的功能。

●不包含Oracle JDK 的Deployment(部署)功能。

●不能使用Java 的商标。

●性能不如Oracle JDK 高。

不同版本的JDK 之间可能存在不兼容问题。当技术人员开发服务器应用程序时,需要提前知道服务器的JDK 版本,并按照对应版本的要求编写Java 代码。