安装目录介绍:
bin:主要存放的是java的编译器、解析器等工具
jre:java runtime environment ——java运行时环境
jre/bin:java平台所使用的的工具或者可执行程序
jre/lib:jre在运行的时候需要的一些类库、属性设置、资源文件
lib:java开发工具要是用的一些类库,包含了支持JDK工具的核心类库,tools.jar、dt.jar……
src.zip:源码
可以点击README.html看看,会跳转到ORACLE
里面有java的具体介绍
内容
- 介绍
- 系统要求和安装
- JDK文档
- 发行说明
- 兼容性
- 错误报告和反馈
- JDK的内容
- Java运行时环境
- 再分配
- Java认可的标准覆盖机制
- 网页
介绍
感谢您下载此版本的Java平台标准版开发工具包(JDK)。 JDK是一个使用Java编程语言构建应用程序,applet和组件的开发环境。
JDK包括用于开发和测试用Java编程语言编写并在Java平台上运行的程序的工具。
系统要求和安装
系统要求,安装说明和故障排除提示位于Java Platform网站上:
https://docs.oracle.com/javase/8/docs/technotes/guides/install/index.html
JDK文档
在线Java平台标准版(Java SE)文档包含API规范,功能描述,开发人员指南,JDK工具和实用程序的参考页面,演示以及相关信息的链接。 Java SE文档也可以在您的计算机上安装的下载包中找到。要获取文档包,请参阅下载页面。有关API文档,请参阅The Java Platform,Standard Edition API Specification。本文档提供了API的简要说明,重点是规范,而不是代码示例。
发行说明
有关此版本的其他信息,请参阅Java Platform网站上的发行说明。请偶尔查看在线发布说明以获取最新信息,因为它们将根据需要进行更新。
兼容性
有关已知兼容性问题的列表,请参阅Java平台网站上与早期版本的兼容性。我们已尽最大努力支持为以前版本的Java平台编写的程序。虽然一些不兼容的更改是必要的,但大多数软件应该迁移到当前版本而可以不进行重新编程。除了少数情况下故意破坏兼容性的情况,在我们的兼容性网页所述,任何未能这样做都被视为一个错误。需要进行一些兼容性的更改才能解决潜在的安全漏洞或修复实现或设计错误。
错误报告和反馈
JDK Bug数据库网站允许您搜索和检查现有的错误报告,提交您自己的错误报告,并告诉我们哪些错误修复对您最重要。要直接提交错误或请求功能,请填写以下表单:
http://bugreport.java.com/bugreport/
您可以将反馈发送给Java SE文档团队。
注 : 请不要通过Bug数据库或我们的开发团队寻求技术支持。有关支持选项,请参阅Oracle支持网站上的支持和服务。
JDK的内容
本节包含JDK中文件和目录的一般摘要。有关文件和目录的详细信息,请参见适用于您的平台的Java SE文档的“文件结构”部分。
开发工具
在bin /子目录中有可帮助您开发,执行,调试和记录用Java编程语言编写的程序的工具和实用程序。有关详细信息,请参阅工具文档。
运行环境
在jre /子目录中,JDK使用的Java运行时环境(JRE)的实现。 JRE包括Java虚拟机(JVM),类库以及支持用Java编程语言编写的程序执行的其他文件。
其他类库
在lib /子目录中,开发工具所需的其他类库和支持文件。
Java DB
在db /子目录中,Java DB,Oracle的Apache Derby关系数据库的分发。有关详细信息,请参阅文档。
C头文件
在include /子目录中,头文件支持使用Java 原生的接口,JVM Tool 接口和Java平台的其他功能进行本机代码编程。
源代码
在src.zip中,构成Java核心API的所有类的Java编程语言源文件(即java.*,javax.和一些org.包的源文件,但不包括com.sun.的源文件包)。此源代码仅供参考,以帮助开发人员学习和使用Java编程语言。这些文件不包含特定于平台的实现代码,不能用于重建类库。要提取这些文件,请使用任何常用的zip实用程序。或者,您可以在JDK的bin /目录中使用Jar实用程序:
jar xvf src.zip
JavaFX工具
包括特定于JavaFX的各种工具。请注意,ARM上的JDK不包含JavaFX。
JavaFX打包工具: bin/ javafxpackager.exe
JavaFX打包程序的文档:
man / man1 / javafxpackager.1 [Mac OS X,Linux]
man / ja_JP.UTF-8 / man1 / javafxpackager.1 [Linux]
JavaFX打包程序ant任务: lib /ant-javafx.jar
用于javadoc的JavaFX doclet: lib / Javafx-doclet.jar
对JMX的JavaFX支持的jar: lib / Javafm-mx.jar
Java™运行时环境(JRE™)
Java Runtime Environment(JRE)可作为可单独下载的产品提供。请参阅下载网站。
JRE允许您运行用Java编程语言编写的应用程序。与JDK一样,它包含Java虚拟机(JVM),包含Java平台API的类和支持文件。与JDK不同,它不包含编译器和调试器等开发工具。
根据JRE许可证的条款,您可以随应用程序自由地重新分发JRE。使用JDK开发应用程序后,可以使用JRE发送应用程序,以便最终用户拥有运行软件的Java平台。
再分配
注 : 此软件的许可证不允许重新分发测试版和其他预发布版本。
您可以复制和分发本软件(以及下面标识为可再发行的软件的一部分),前提是您遵守Java SE平台产品的Oracle二进制代码许可协议的条款和条件。
这里使用的术语“供应商”是指许可证持有者,开发人员和独立软件供应商(ISV),他们使用他们的程序许可和分发Java运行时环境(JRE)。供应商必须遵守Java SE平台产品的Oracle二进制代码许可协议的条款。
必需与可选文件
组成Java运行时环境(JRE)的文件分为两类:必需和可选。可供选择的文件可以由供应商自行决定从JRE的再分发中排除。
在JDK安装中,包含可再发行部分的JRE目录位于jdk1.8.0_ / jre目录中,其中是更新版本号。
有关在分发JRE时需要哪些文件以及哪些文件是可选的详细信息,请参阅JRE自述文件。
JDK包含可能还会重新分发的其他工具。
可再发行的JDK文件
下面列出的JDK中有限的文件和目录集可能包含在Java Runtime Environment(JRE)的供应商重新分发中。它们不能单独重新分发,必须伴随JRE分发。所有路径都相对于JDK的顶级目录。对于任何包含的可执行文件,应包含相应的手册页(下面列出的路径以bin /开头,对于Solaris操作系统和Linux)。
jre / lib / cmm / PYCC.pf
颜色配置文件仅当希望在PYCC颜色空间和另一个颜色空间之间进行转换时,才需要此文件。
jre / lib / fonts /目录中的所有.ttf字体文件。
请注意,LucidaSansRegular.ttf字体已包含在JRE中,因此无需从JDK中提取该文件。
javac字节码编译器,由以下文件组成:
bin / javac [Solaris操作系统(x86)和Linux]
bin / sparcv9 / javac [Solaris操作系统(SPARC(R)平台版)]
bin / amd64 / javac [Solaris操作系统(x64)]
bin \ javac.exe [Microsoft Windows]
lib / tools.jar [所有平台]
lib / jconsole.jar
Jconsole应用程序。
动态附加机制包含以下文件:
lib / tools.jar / [所有平台]
jre / lib / sparcv9 / libattach.so [Solaris操作系统(SPARC(R)平台版)]
jre / lib / i386 / libattach.so [Linux(x86)]
jre / lib / amd64 / libattach.so [Solaris操作系统(x64)和Linux(x64)]
jre \ bin \ attach.dll [Microsoft Windows]
动态附加机制不适用于ARM上的JDK。
jre \ bin \server\
在Microsoft Windows平台上,JDK包括Java HotSpot™ Server VM和Java HotSpot™Client VM。但是,Microsoft Windows平台的JRE仅包含Java HotSpot™客户端VM。那些希望将Java HotSpot Server VM与JRE一起使用的人可以将JDK的jre \ bin \ server文件夹复制到JRE中的bin \ server目录。软件供应商可以使用JRE的重新分发来重新分发Java HotSpot Server VM。
bin/的jarsigner
JAR签名和验证工具。
src.zip
存档源文件
无限强度Java密码学扩展
由于某些国家/地区的导入控制限制,JDK和JRE附带的Java密码术扩展(JCE)策略文件允许使用强大但有限的加密。这些文件位于:
<java-home>/lib/security/local_policy.jar
<java-home> /lib/security/US_export_policy.jar
其中<java-home>是JDK的jre目录或JRE的顶级目录。
JDK网站上提供了这些文件的无限强度版本,表明对加密强度没有限制,适用于符合条件的国家/地区的用户。那些居住在符合条件的国家/地区的人可以下载无限强度版本,并使用无限强度文件替换强加密jar文件。
cacerts证书文件
可以在位于以下位置的Java SE证书文件中添加或删除根CA证书:
<java-home> / LIB /security/ cacerts中。
有关更多信息,请参阅keytool文档中的cacerts Certificates File部分。
Java认可的标准覆盖机制
有时需要更新Java平台,以便合并在Java Community ProcessSM(JCPSM http://www.jcp.org/)(背书标准)之外创建的更新版本的标准,或者按顺序更新平台中包含的技术版本,以对应该技术的后续独立版本(独立技术)。
支持标准覆盖机制提供了一种方法,可以将实现认可标准或独立技术的更高版本的类和接口合并到Java平台中。
有关Endorsed Standards Override Mechanism的更多信息,包括可能用于覆盖的平台包列表,请参阅:
http://docs.oracle.com/javase/8/docs/technotes/guides/standards/
网页
有关其他信息,请参阅万维网上的以下Oracle页面:
http://www.oracle.com/technetwork/java/
Java平台网站,提供有关Java技术,产品信息,新闻和功能的最新信息。
http://docs.oracle.com/javase/8/docs/
Java平台文档提供对白皮书,Java教程和其他文档的访问。
http://www.oracle.com/technetwork/java/
开发人员服务网站(需要免费注册)。其他技术信息,新闻和功能;用户论坛;支持信息等等。
http://www.oracle.com/technetwork/java/
Java技术产品和API
(1)JDK包含的基本组件包括:
- javac – 编译器,将源程序转成字节码
- jar – 打包工具,将相关的类文件打包成一个文件
- javadoc – 文档生成器,从源码注释中提取文档
- jdb – debugger,查错工具
JDK中还包括完整的JRE(JavaRuntime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。
JDK中还包括各种例子程序,用以展示Java API中的各部分。
(2)JDK一般有三种版本:
SE(J2SE),standard edition,标准版,是我们通常用的一个版本;
EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序;
ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序;
(3)JDK
JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O。一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。
作为JDK实用程序,工具库中有七种主要程序。
- Javac:Java编译器,将Java源代码转换成字节码。
- Java:Java解释器,直接从类文件执行Java应用程序字节代码。
- appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- Javadoc:根据Java源码及说明语句生成HTML文档。
- Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。
- Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
(4)JDK、JRE、JVM的关系
官方说明地址:https://docs.oracle.com/javase/8/docs/index.html
(1)java,javax和org
java.*:java SE标准库,是java标准的一部分,不会轻易修改,要保证兼容性
javax.*:非一般性的api,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。 所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所有也应该属于新版本JDK的标准库。比如jmx,Java 5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。
org.*:是由企业或者组织提供的java类库,大部分不是sun公司提供的
(2)java包
- java.lang:包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
- java.awt:包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
- java.applet:包含applet运行所需的一些类。
- java.net:包含执行与网络相关的操作的类。
- java.io:包含能提供多种输入/输出功能的类,通过数据流、序列化和文件系统提供系统输入和输出
- java.util:包含一些实用工具类,包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
- java.math:一些数学及科学计算相关的包,提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
**- java.rmi:**Java远程方法调用,即Java RMI(Java Remote Method Invocation)是java编程语言里,一种用于实现远程过程调用的应用程序编程接口。
- java.security:为安全框架提供类和接口。
- java.sql:提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。
注:java.lang这个包会自动被导入,对于其中的类,不需要使用import语句来做导入。