JDK 8 官方下载(最新版)
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JDK 8 官方安装文档
https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html
ps:英文关键字很容易搜索到官方一手资料,比如搜索“jdk 8 install”,关键字就可以,不用很全
==后续文章使用的JDK版本是Java™ SE Development Kit 8, Update 45 (JDK 8u45)==
JDK,JRE,JVM等基础概念
我们通常所说的JDK,其实是指Java开发包,里面包含Java开发用到的工具集。
JDK(Java Development ToolKit),包含了Java运行环境(JRE)和开发工具(编译器,调试器,javadoc等)。我们就是依靠JDK来开发和运行Java程序的。
JDK的编译器Javac[.exe],会将Java代码编译成字节码(.class文件)。编译出的字节码在任何平台上都一样的内容,所以我们说Java语言是门跨平台语言。Write once, run anywhere。
JRE(Java Runtime Environment) ,它为Java提供了运行环境,其中重要的一环就是通过JVM将字节码解释成可执行的机器码。
JRE由JVM,Java运行时类库,动态链接库等组成。
JVM(Java Virtual Machine),Java虚拟机,可以看做是一台抽象化的计算机,它有一套完整的体系架构,包括处理器、堆栈 、寄存器等。
在运行时环境,JVM会将Java字节码解释成机器码。机器码和平台相关的(不同硬件环境、不同操作系统,产生的机器码不同),所以JVM在不同平台有不同的实现。
目前JDK默认使用的实现是Hotspot VM。
JDK 目录结构
jdk1.8.0_45的目录结构如下(常用目录):
/jdk1.8.0_45
|--bin……………………………………………………Java开发可执行文件
|----javac.exe
|----java.exe
|----jar.exe
|----javadoc.exe
|----jconsole.exe
|----jhat.exe
|----jmap.exe
|----jps.exe
|----jstat.exe
|----jstack.exe
|----jvisualvm.exe
|----keytool.exe
|----native2ascii.exe
|----……
|--db…………………………………内置Java开发的数据库Apache Derby
|----bin
|----lib
|------derby.jar
|----……
|--include……………C语言头文件,Java本地接口和Java虚拟机接口
|----jni.h
|----……
|--jre……………………………………………………………………………jre目录
|----bin
|------java.dll
|------java.exe
|------……
|----lib
|------charsets.jar…………………字符转换库
|------rt.jar…………………………Java运行时库
|------plugin.jar
|------fontsr…………………………………字体库
|------security
|------……
|--lib
|----dt.jar……………………………………Swing库
|----tools.jar………………………Java工具类库
|----……
|--src.zip………………………………………………………………Java源代码
|--……
Derby数据库
http://db.apache.org/derby/manuals/index.html
JDK常用包
java.applet………………………Applet包
java.awt………………………………AWT包
java.beans…………………………Java Bean包
java.io…………………………………I/O包
java.lang……………………………Java语言包
java.math……………………………数学计算包
java.net………………………………网络包
java.nio………………………………New I/O包
java.rmi………………………………RMI包
java.security………………………安全包
java.sql………………………………数据库包
java.text……………………………格式转换包
java.time……………………………日期时间包
java.util……………………………工具包
javax.annotation………………增强注解包
javax.rmi……………………………增强RMI包
javax.sql……………………………增强数据库包
javax.swing………………………增强Swing包
javax.transaction…………………增强事务包
org.w3c.dom…………………XML Standard API
org.xml.sax………………Simple API for XML
参考资料
JDK基础概念及目录结构
https://www.jianshu.com/p/f98c3acd8df8
JDK 1.7 基本概念和目录结构
https://www.cnblogs.com/cynthiahuo/archive/2013/06/03/3115921.html
java中rt.jar包的含义
https://blog.csdn.net/lqw_java_home/article/details/52815505