JDK目录结构以及自带的工具解析

23 篇文章 0 订阅

学习Java的小伙伴都应该很熟悉JDK,当然这个熟悉也是有层度的,很多人往往只会用,知道装了JDK后就可以运行Java代码。但对于想深入学习Java的小伙伴来说这是不够的,这篇文章就作为我进阶JDK的一篇学习笔记。

一、基础概念

(1)JDK(Java Development ToolKit)
Java开发工具包,包括JRE,Java工具(javac,javap,javadoc等)和Java基础类库(Java API包括rt.jar)等。
(2)JRE(Java Runtime Environment)
Java运行环境,是运行基于Java语言编写的程序所不可缺少的运行环境。JRE由JVM,Java运行时类库,动态链接库等组成。
(3)JVM(Java Virtual Machine)
Java虚拟机,可以看做是一台抽象化的计算机,它有一套完整的体系架构,包括处理器、堆栈 、寄存器等。

(1)SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
(2)EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
(3)ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

二、JDK1.8目录结构

(1)JDK目录结构

C:\Program Files\Java\jdk1.8.0_152 的目录

2018/07/24  21:00    <DIR>          .
2018/07/24  21:00    <DIR>          ..
2018/07/24  20:59    <DIR>          bin
2017/09/14  03:15             3,244 COPYRIGHT
2018/07/24  20:59    <DIR>          db
2018/07/24  20:59    <DIR>          include
2018/07/24  20:59         5,202,881 javafx-src.zip
2018/07/24  20:59    <DIR>          jre
2018/07/24  20:59    <DIR>          lib
2018/07/24  20:59                40 LICENSE
2018/07/24  20:59               159 README.html
2018/07/24  20:59               426 release
2017/09/14  03:15        21,261,295 src.zip
2018/07/24  20:59            63,933 THIRDPARTYLICENSEREADME-JAVAFX.txt
2018/07/24  20:59           145,180 THIRDPARTYLICENSEREADME.txt
               8 个文件     26,677,158 字节
               7 个目录 16,916,439,040 可用字节

bin目录:Java工具的可执行文件,包括: java、javac、javap、keytool(密钥管理工具)、javadoc(Java文档工具)等。
COPYRIGHT文件:版权信息。
db目录:Java实现的数据库。
include目录:h头文件,C语言开发时用到的头文件。比如jni.h是开发jni程序时必须引用的头文件。
lib目录:Java类库,我们经常看到的dt.jar和tools.jar就在这个目录下。
src.zip文件:Java类库源码,包括了rt.jar库中的关键部分;除了Java类库,还包含了启动器(launcher)的源码(C语言实现)。
jre目录:Java运行环境。

(2)JRE目录结构

C:\Program Files\Java\jdk1.8.0_152\jre 的目录

2018/07/24  20:59    <DIR>          .
2018/07/24  20:59    <DIR>          ..
2018/07/24  20:59    <DIR>          bin
2018/07/24  20:59             3,244 COPYRIGHT
2018/07/24  20:59    <DIR>          lib
2018/07/24  20:59                40 LICENSE
2018/07/24  20:59                46 README.txt
2018/07/24  20:59            63,933 THIRDPARTYLICENSEREADME-JAVAFX.txt
2018/07/24  20:59           145,180 THIRDPARTYLICENSEREADME.txt
2018/07/24  20:59               955 Welcome.html
               6 个文件        213,398 字节
               4 个目录 16,691,589,120 可用字节

bin目录:包含了java运行所需要的可执行文件,比如java[.exe]
lib目录:包含了运行时依赖的java类库和动态链接库(.so或.dll或.dylib)。

三、自带工具(JDK包含的一些开发工具执行文件)

2018/07/24  20:59            15,904 appletviewer.exe
2018/07/24  20:59            16,416 extcheck.exe
2018/07/24  20:59            16,416 idlj.exe
2018/07/24  20:59            34,336 jabswitch.exe
2018/07/24  20:59            15,904 jar.exe
2018/07/24  20:59            16,416 jarsigner.exe
2018/07/24  20:59            15,904 java-rmi.exe
2018/07/24  20:59           206,880 java.exe
2018/07/24  20:59            15,904 javac.exe
2018/07/24  20:59            16,416 javadoc.exe
2018/07/24  20:59           148,512 javafxpackager.exe
2018/07/24  20:59            15,904 javah.exe
2018/07/24  20:59            15,904 javap.exe
2018/07/24  20:59           148,512 javapackager.exe
2018/07/24  20:59           206,880 javaw.exe
2018/07/24  20:59           319,520 javaws.exe
2018/07/24  20:59            15,904 jcmd.exe
2018/07/24  20:59            16,928 jconsole.exe
2018/07/24  20:59            16,416 jdb.exe
2018/07/24  20:59            15,904 jdeps.exe
2018/07/24  20:59            15,904 jhat.exe
2018/07/24  20:59            16,416 jinfo.exe
2018/07/24  20:59            15,904 jjs.exe
2018/07/24  20:59           175,136 jli.dll
2018/07/24  20:59            16,416 jmap.exe
2018/07/24  20:59           321,568 jmc.exe
2018/07/24  20:59               417 jmc.ini
2018/07/24  20:59            15,904 jps.exe
2018/07/24  20:59            16,416 jrunscript.exe
2018/07/24  20:59            16,416 jsadebugd.exe
2018/07/24  20:59            16,416 jstack.exe
2018/07/24  20:59            15,904 jstat.exe
2018/07/24  20:59            15,904 jstatd.exe
2018/07/24  20:59           196,640 jvisualvm.exe
2018/07/24  20:59            16,416 keytool.exe
2018/07/24  20:59            16,416 kinit.exe
2018/07/24  20:59            16,416 klist.exe
2018/07/24  20:59            16,416 ktab.exe
2018/07/24  20:59           829,264 msvcr100.dll
2018/07/24  20:59            16,416 native2ascii.exe
2018/07/24  20:59            16,416 orbd.exe
2018/07/24  20:59            16,416 pack200.exe
2018/07/24  20:59            16,416 policytool.exe
2018/07/24  20:59            15,904 rmic.exe
2018/07/24  20:59            15,904 rmid.exe
2018/07/24  20:59            16,416 rmiregistry.exe
2018/07/24  20:59            16,416 schemagen.exe
2018/07/24  20:59            16,416 serialver.exe
2018/07/24  20:59            16,416 servertool.exe
2018/07/24  20:59            16,416 tnameserv.exe
2018/07/24  20:59           199,712 unpack200.exe
2018/07/24  20:59            15,904 wsgen.exe
2018/07/24  20:59            16,416 wsimport.exe
2018/07/24  20:59            16,416 xjc.exe

下面通过表格的形式介绍所有工具的可执行文件:

可执行文件工具类型作用
javac.exe基本工具Java语言编译器, 将Java源代码转换成字节码
java.exe基本工具Java应用程序启动器,直接从类文件执行Java应用程序字节代码
javadoc.exe基本工具Java API 文档生成器,从源码注释中提取文档
apt.exe基本工具Java API java 注释处理器
appletviewer.exe基本工具java applet 小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
jar.exe基本工具java文件压缩打包工具
jdb.exe基本工具Java 调试器,debugger,查错工具
javah.exe基本工具C 头文件和stub生成器,用于写本地化方法,例如生产JNI样式的头文件。产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件
javap.exe基本工具class文件反编译工具,显示编译类文件中的可访问功能和数据,同时显示字节代码含义
extcheck.exe基本工具用于检测jar包中的问题
keytool.exe基本工具管理密钥库和证书
jarsigner.exe基本工具生产和校验JAR签名
policytool.exe基本工具有用户界面的规则管理工具
kinit.exe基本工具用于获得和缓存网络认证协议Kerberos 票证的授予票证
klist.exe基本工具凭据高速缓存和密钥表中的 Kerberos 显示条目
ktab.exe基本工具密钥和证书管理工具
native2ascii.exeJava国际化工具将文本转化为 Unicode Latin-1。详情参考http://java.sun.com/javase/6/docs/technotes/tools/windows/native2ascii.html
rmic.exe远程方法调用工具生成远程对象的stubs and skeletons(存根和框架)
rmid.exe远程方法调用工具Java 远程方法调用(RMI:Remote Method Invocation) 活化系统守护进程
rmiregistry.exe远程方法调用工具Java 远程对象注册表
serialver.exe远程方法调用工具返回类的 serialVersionUID.
tnameserv.exeJava IDL and RMI-IIOP 工具Provides access to the naming service
idlj.exeJava IDL and RMI-IIOP 工具生产映射到OMG IDL接口可以使Java应用程序使用CORBA的.java文件
orbd.exeJava IDL and RMI-IIOP 工具为客户可以在CORBA环境下透明的定位和调用服务器的稳定的对象提供支持
servertool.exeJava IDL and RMI-IIOP 工具为应用程序提供易于使用的接口用于注册,注销,启动,关闭服务器
pack200.exeJava 部署工具使用java gzip压缩工具将JAR文件转换为压缩的pack200文件,生产打包文件是高度压缩的JAR包,可以直接部署,减少下载时间
unpack200.exeJava 部署工具解包pack200文件为JARs
htmlconverter.exeJava 插件工具Java Plug-in HTML转换器 htmlconverter -gui 可以启动图形界面
javaws.exeJava web 启动工具Java web 启动命令行工具
jvisualvm.exeJava 故障检修,程序概要分析,监视和管理工具一个图形化的Java虚拟机,不说了 大家研究一下就发现太酷了.这是想了解JVM的人的神器http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html
jconsole.exeJava 故障检修,程序概要分析,监视和管理工具java监视台和管理控制台,图形界面的功能太强大了,运行一下就知道 ,不想多说,看了就知道
schemagen.exeJava web 服务工具Java构架的XML Schema生成器
wsgen.exeJava web 服务工具生成 JAX-WS
wsimport.exeJava web 服务工具生成 JAX-WS
xjc.exeJava web 服务工具绑定编译器
jps.exe监视工具JVM Process Status 进程状态工具。列出目标系统的HotSpot JJVM , 监视Java虚拟机的性能,不支持Windows 98 和Windows ME 平台
jstat.exe监视工具按照命令行的具体要求记录和收集一个JVM的性能数据
jstatd.exe监视工具JVM jstat 的守护进程
jinfo.exe故障检测和修理工具配置或打印某个Java进程VM flag
jhat.exe故障检测和修理工具堆储存查看器
jmap.exe故障检测和修理工具Java内存图
jsadebugd.exe故障检测和修理工具Java 的 Serviceability Agent Debug的守护进程
jstack.exe故障检测和修理工具Java堆栈跟踪
jrunscript.exeJava脚本工具运行脚本
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值