JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境( JavaOS +Java系统类库)和JAVA工具。
版本
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始, JBoss 改名为 Jakarta EE 。
ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的 JRE 。
以下是各版本的名称及发布日期:
jdk各个版本的特性
1997 年Servlet技术的产生以及紧接着JSP的产生,为Java对抗 PHP ,ASP等等服务器端语言带来了筹码。1998年,Sun发布了EJB1.0标准,至此 JBoss 平台的三个核心技术都已经出现。于是,1999年,Sun正式发布了J2EE的第一个版本。并于1999年底发布了J2EE1.2,在 2001年发布了J2EE1.3,2003年发布了J2EE1.4。
2.J2EE1.3 J2EE1.3的架构,其中主要包含了Applet容器,Application Client容器,Web容器和EJB容器,并且包含了Web Component,EJB Component,Application Client Component,以JMS,JAAS,JAXP,JDBC,JAF, JavaMail ,JTA等等技术做为基础。 1.3中引入了几个值得注意的功能:Java消息服务(定义了 JMS 的一组API), JBoss 连接器技术(定义了扩展J2EE服务到非J2EE应用程序的标准), XML 解析器的一组Java API,Servlet2.3,JSP1.2也都进行了性能扩展与优化,全新的CMP组件模型和MDB(消息Bean)。
3.J2EE1.4 J2EE1.4 大体上的框架和J2EE1.3是一致的,1.4增加了对Web服务的支持,主要是Web Service,JAX-RPC,SAAJ,JAXR,还对EJB的消息传递机制进行了完善(EJB2.1),部署与管理工具的增强(JMX),以及新版本的Servlet2.4和JSP2.0使得Web应用更加容易。
4.JAVA EE 5
JAVA EE 5拥有许多值得关注的特性。其中之一就是新的 Java Standard Tag Library (JSTL) 1.2 规范。JSTL 1.2 的关键是统一表达式语言,它允许我们在 JavaServer Faces (JSF) 中结合使用 JSTL 的最佳特性。
jdk1.8新特性
Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可。
新增lambda表达式
提供函数式接口
Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用
我们可以直接在lambda表达式中访问 散逸层 的局部变量。
1.
Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可。
2.
新增lambda表达式
3.
提供函数式接口
4.
Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用
5.
我们可以直接在lambda表达式中访问外层的局部变量。
组成
JDK包含的基本组件包括:
javac – 编译器,将源程序转成 字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer :小程序浏览器,一种执行 HTML 上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示 字节 代码含义。
jconsole : Java进行系统调试和监控的工具
jdk结构图
分类
java.lang:这个是系统的基础类,比如String等都是这里面的,这个包是一个可以不用引入(import)就可以使用的包。
java.io:这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包,例如NIO非堵塞应用
java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
java.util:这个是系统辅助类,特别是集合类Collection,List,Map等。
java. SQL :这个是数据库操作的类,Connection,Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
环境配置
在Windows下
java运行环境安装与测试及HelloWorld的实现。
1.下载j2sdk 1.6.0_21或更高版本 (http://java.sun .com,建议同时下载其Java Documentation,这是Java帮助文档)。
2.运行刚刚下载的 安装程序 进行正式安装(以下假设安装于c:\jdk1.6.0_21\,建议安装路径不要有空格,不宜安装在\Program Files目录下!)。
3.设置运行环境参数:
a.如果是 Windows 95 、 Windows 98 ,在\autoexec.bat的最后面添加如下3行语句:
set JAVA_HOME=JDK安装目录
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\ lib
注意:---可用dos命令 notepad c:\autoexec.bat打开记事本,加入上面的3行语句。
b.如果是 Windows 2000 、 Windows XP 系统,使用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:JDK安装目录
系统变量->新建->变量名: CLASSPATH 变量值:.;%JAVA_HOME%\lib
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;
c.如果是 Windows Vista 、 Windows 7 、 Windows 8 系统,使用鼠标右击“ 计算机 ”->属性->左侧高级系统设置->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:JDK安装目录
系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;
( CLASSPATH 中有一英文句号“.”后跟一个分号,表示当前路径的意思)
(使用命令行的方法设置环境变量,只会对当前窗口生效)
(改Path变量时,不是删除原有的值而是添加新的路径)
4.使用文本编辑器(比如:edit .com/记事本/UltraEdit/EditPlus)编写如下代码,并保存为文件:HelloWorld.java(必须大小写正确!假设为c:\test\HelloWorld.java)
/* HelloWorld.java */
public class HelloWorld
{
public static void main(String[] arg )
{
System.out.println("Hello,World!");
}
}
5.开启一个命令提示符窗口,跳转到HelloWorld.java所在的目录中
c:\>cd \test
6.编译HelloWorld.java为HelloWorld.class
c:\test> javac HelloWorld.java
7.运行HelloWorld.class
c:\test>java HelloWorld
Hello,World!
其中步骤5~7可以简化成 批处理 ,这样可以不用切换路径,方法如下:
在java源文件所在文件夹建立一个记事本文档,输入以下3行代码
javac HelloWorld.java
java HelloWorld
@pause
将其保存为"Java运行批处理.bat"
然后双击这个批处理文件,将出现 运行指令 窗口下的编译运行结果,结果如下:
C:\test> javac HelloWorld.java
C:\test>java HelloWorld
Hello,World!
请按 任意键 继续. . .
在 Linux 下
Ubuntu Linux下jdk的安装与配置
1.安装
从 sun公司 网站www.sun .com下载 linux 版本的jdk
打开终端,用cd命令进入jdk所在目录,执行复制命令
sudo cp jdk-6u7-linux-i586.bin /usr
即将jdk复制到/usr目录下
然后进入/usr目录
cd /usr
执行权限
chmod +x jdk-6u7-linux-i586.bin
执行安装命令
./jdk-6u21-linux-i586.bin
(文件名)
如遇错误,可先切换至 root 用户下,su root,再执行安装命令
安装成功会在/usr目录下生成jdk1.6.0_07目录,就是jdk的安装目录
重启电脑,打开终端,输入java -version
如若有显示java的版本信息,则表示安装成功,
2.配置
安装成功后需要配置jdk环境变量
用cd命令进入/etc目录
sudo vi profile
即执行编辑profile文件命令
在umas k022前添加如下内容:
export JAVA_HOME=/usr/jdk1.6.0_21
export JRE_HOME=/usr/jdk1.6.0_21/jre
export PATH=$PATH:/usr/jdk1.6.0_21/bin
export CLASSPATH=./:/usr/jdk1.6.0_21/ 天秤座 :/usr/jdk1.6.0_21/jre/lib
保存退出,重启电脑
3.测试
新建Test.java
public class Test{
public static void main(String[] args){
System.out.println("Hello,Welcome to Linux World!");
}
}
在终端用cd命令进入Test.java目录,然后输入
javac Test.java
java Test
若输出
Hello,Welcome to Linux World!
则表明配置成功!
如不能通过编译,可通过重新启动系统试试
4.注意
在用vi命令编辑profile文件时, Linux 初学者可能还不熟用
sudo vi profile进入编辑文件后如出现
Press ENTER or type command to continue
则按回车
然后按方向键“下”直到umas k022前一行
按字母o进入编辑状态
输入环境变量内容
回车,按几次ESC键,直到听到"嘀"声,输入
:x
回车
即保存退出
至此,Linux jdk环境变量配置完成
如果安装完成时候在终端输入:java -version 不显示当前的安装版本的话
则需要卸载原先的版本即可。
yum -y remove <java版本>
例如: centos 版本
[root@localhost /]# yum -y remove java-1.4.2-gcj-compat 卸载它。
[ root @localhost soft]# chmod 700 jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# ./jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# mv jdk1.5.0_13/ /usr/local/
为了方便以后升级,建立软链接
[root@localhost local]# ln -s /usr/local/jdk1.5.0_13/ /usr/local/jdk
定义环境变量
[root@localhost local]# vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ok,至此java环境配置完毕
常用基本工具
javac :Java源程序编译器,将Java源代码转换成 字节码 。
Java: Java解释器,直接从字节码文件,又称为类文件。执行Java应用程序的 字节 代码。
applet viewer.exe Java applet浏览器:appletviewer命令可在脱离万维网浏览器环境的情况下运applet。
jar:java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。
Javadoc:Java API文档生成器从Java源程序代码注释中提取文档,生成API文档 HTML 页。
jdb :Java调试器(debugger),可以逐行执行 计算机程序 设置断点和检查变Md。
jps:查看Java 虚拟机 进程列表。