JDK简介 |
1.JRE:Java Runtime Environment 即Java运行时环境,包含JVM+Java核心类库
2.JDK:Java Development Kit 即Java语言的软件开发工具
3.Java版本图示:
4.JDK也就是常说的J2SE,在1999年,正式发布了Java第二代平台,发布了三个版本:
-
J2SE:标准版,适用于桌面平台
-
J2EE:企业版,适用于企业级应用服务器开发(其中包含WEB服务器开发)
-
J2ME:微型版,适用于移动、无线、机顶盒等设备环境(但是J2ME没有开发好,一般不会使用)
-
2005年,Java版本更名为JavaSE、JavaEE、JavaME
-
注1:JDK不支持JavaEE中的Servlet和JSP。而Tomcat仅仅实现了JavaEE规范中与Servlet和JSP相关的类库,因此Tomcat相当于一个Servlet容器可以运行Servlet程序。因此实现Servlet和JSP功能使用Tomcat足以
-
注2:虽然目前Java已更新至Java11,但是JDK7、JDK8、JDK11是LTS(long term support),因此部署时一般还是以JDK7和JDK8为主,有时连JDK7.x/JDK8.x这样的小版本号也要注意,因此JDK一旦用的好稳定,一般不会升级。
安装JDK |
1.一般使用Oracle官网的JDK8/7的RPM安装
源码包获取以后
# yum install jdk-8u191-linux-x64.rpm
查看安装:
[root@centos7-17 local]# cd /usr/java/
[root@centos7-17 java]# ll
total 0
lrwxrwxrwx 1 root root 16 Nov 19 20:40 default -> /usr/java/latest
drwxr-xr-x 8 root root 258 Nov 19 20:40 jdk1.8.0_191-amd64
lrwxrwxrwx 1 root root 28 Nov 19 20:40 latest -> /usr/java/jdk1.8.0_191-amd64
[root@centos7-17 java]#
Java全局配置:
[root@centos7-17 java]# vim/etc/profile.d/jdk.sh
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
[root@centos7-17 java]# . /etc/profile.d/jdk.sh
Java为何要设置JAVA_HOME这个变量? |
Java的环境变量作用:
- 1、计算机自带的命令行cmd能运行Java的命令
- 2、计算机里安装的Java软件(Eclipse、Idea等)需要jre来运行,它们会去path中找jre路径找到jvm来运行
1.JAVA_HOME变量
JAVA_HOME是一个约定,通常它指的是JDK的目录。如果需要JDK的话,大部分程序会默认去环境变量中取JAVA_HOME这个变量。
例如,Tomcat的.bat/.sh文件中就会默认去取JAVA_HOME来用。
==> 所以,JAVA_HOME这个变量最需要设置,避免报错。
2.JRE_HOME变量
JRE_HOME也是一个约定的变量,通常指JRE目录。其实大部分Java程序不需要JDK,而是只需要其子集JRE,所以很多程序也会去取这个变量来用。
Tomcat中某些.bat文件中这样说到:
rem JAVA_HOME Must point at your Java Development Kit installation.
rem Using JRE_HOME instead works as well.
rem
rem JRE_HOME Must point at your Java Runtime installation.
rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
rem are both set, JRE_HOME is used.
==>Tomcat去取这两个变量,只要任意一个不为空就行,都不为空就用JRE_HOME了。因为Tomcat不需要JDK中的工具,它只是运行Java程序而已。
==>这个变量如果你明确知道应用程序只需要设置这个就行(比如上面Tomcat的注释),那么它可以代替JAVA_HOME,且最好就用这个。
3.JDK安装之后
1.需要在操作系统下设置的变量:
- ①PATH中包含JRE/JDK的bin目录。
- ②JAVA_HOME或者JRE_HOME。都设也可以,偷懒就只设 JAVA_HOME就可以。
2.很少需要设置的:
- CLASSPATH、CATALINA_HOME。