jdk目录详解

JDK介绍与文件结构
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者 编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。

      JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

      JDK包含的基本组件包括:

      ·javac – 编译器,将源程序转成字节码
      ·jar – 打包工具,将相关的类文件打包成一个文件
      ·javadoc – 文档生成器,从源码注释中提取文档
      ·jdb – debugger,查错工具

      JDK中还包括完整的JRE(Java Runtime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。

      JDK中还包括各种例子程序,用以展示Java API中的各部分。

      从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点 是随着Java (J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java 软件开发,也不利于团体协同开发。

      JDK一般有三种版本:

      SE(J2SE),standard edition,标准版,是我们通常用的一个版本
      EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序,
      ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序

      Java开发工具(JDK)是许多Java专家最初使用的开发环境。尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。

   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反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

一、JDK文件结构

      本文档给出 JDK 目录及其所包含的文件的概述。

      开发文件和目录

      本节对开发 Java 平台应用程序所要求的文件和目录进行说明。(不要求的目录有:演示程序、Java 源代码和 C 头文件。下一节附加文件和目录将对它们进行论述。) 下图列出的是最重要的目录:

                 jdk1.2
        ___________|____________________
       |           |                    |
      bin         lib                  jre
       |           |          __________|___________
   java.exe    tools.jar     |                      |
   javac.exe   dt.jar       bin                    lib
   javap.exe            _____|____          ________|________
   javah.exe           |          |        |        |        |
   javadoc.exe     java.exe    classic   rt.jar    ext   
security
                   java.dll       |      i18n.jar   |
                   awt.dll     jvm.dll            iiimp.jar   
      假定 JDK 软件安装在 c:\jdk1.2 目录中,下面列出的是那些关键目录及它们之所以重要的原因:

      c:\jdk1.2
      JDK 软件安装的根目录。包含版权、许可及 README 文件。还包括:
      src.jar -- 构成 Java 平台核心 API 的所有类的源文件的归档。
      c:\jdk1.2\bin
      Java 开发工具包 (JDK) 中所包含的开发工具的可执行文件。PATH 环境变量应该包含一个指示此目录的项。有关工具的详细信息,参见 JDK 工具。
      c:\jdk1.2\lib
      开发工具使用的文件。这些文件包括 tools.jar,它包含支持 JDK 的工具和实用程序的非核心类。还包括 dt.jar,它是 BeanInfo 文件的 DesignTime 归档,BeanInfo 文件用来告诉交互开发环境 (IDE) 如何显示 Java 组件以及如何让开发人员根据应用程序自定义它们。
      c:\jdk1.2\jre
      JDK 开发工具所使用的 Java 运行时环境的根目录。运行时环境是 Java 1.2 平台的实现。除了文档外,它与可部署的 JRE 完全相同。
      c:\jdk1.2\jre\bin
      Java 平台使用的工具和库的可执行文件及 DLL。可执行文件与 /jdk1.2/bin 中的文件相同。java 启动器工具担当应用程序启动器的角色,它替代了与 1.1 版的 JDK 软件一同发行的旧 jre 工具。不必将该目录放在 PATH 环境变量中。
      c:\jdk1.2\jre\bin\classic
      包含经典虚拟机使用的 Windows DLL 文件。经典虚拟机是 Java 虚拟机的语言解释器版本。当新的虚拟机可用时,它们的 DLL 将被安装在 jre/bin 的某个新子目录中。
      c:\jdk1.2\jre\lib
      Java 运行时环境使用的代码库、属性设置和资源文件。包括:
      rt.jar -- 自举类(构成 Java 平台核心 API 的 RunTime 类)。
      i18n.jar -- 字符转换类及其它与国际化和本地化有关的类。
      除(下面将要阐述的) ext 子目录以外,还有几个资源子目录不在此处说明。
      c:\jdk1.2\jre\lib\ext
      Java 平台扩展的缺省安装目录。例如,这是安装时 JavaHelp jar 文件的安装目录。包括:
iiimp.jar -- 实现 Internet-Intranet 输入方法协议的类,供从使用国际字符集的设备上接收输入的应用程序来使用。
      c:\jdk1.2\jre\lib\security
      包含用于安全管理的文件。这些文件包括安全策略 (java.policy) 和安全属性 (java.security) 文件。

      附加文件和目录

      本节说明演示程序、Java 源代码和 C 头文件的目录结构。下面是目录结构:

                   jdk1.2
      __________ _____|_____ _____________
     |          |           |             |
   src.jar    demo       include     include-old
             ___|___
            |       |
          applets  jfc
                    |
                  Java2D    
 
      以上所显示的附加目录为:

      c:\jdk1.2\demo
      含有源代码的程序示例,用于显示如何为 Java 平台编程。
      c:\jdk1.2\demo\applets
      可用在网页上的 applet。
      c:\jdk1.2\demo\jfc
      使用新 JFC\Swing 组件的示例。
      c:\jdk1.2\demo\jfc\Java2D
      使用新 Java 2D 图形的示例。
      c:\jdk1.2\include
      C 语言头文件,它支持使用 Java 本地接口 [ web]和 Java 虚拟机调试程序接口 [ web] 的本地代码编程技术。
      c:\jdk1.2\include-old
      头文件,支持使用旧接口的本地代码编程技术。提供这些头文件只是为了向后兼容。所有 Java 虚拟机都不推荐、不支持也不提供这些接口。
为什么要学JVM1、一切JAVA代码都运行在JVM之上,只有深入理解虚拟机才能写出更强大的代码,解决更深层次的问题。2、JVM是迈向高级工程师、架构师的必备技能,也是高薪、高职位的不二选择。3、同时,JVM又是各大软件公司笔试、面试的重中之重,据统计,头部的30家互利网公司,均将JVM作为笔试面试的内容之一。4、JVM内容庞大、并且复杂难学,通过视频学习是最快速的学习手段。课程介绍本课程包含11个大章节,总计102课时,无论是笔试、面试,还是日常工作,可以让您游刃有余。第1章 基础入门,从JVM是什么开始讲起,理解JDK、JRE、JVM的关系,java的编译流程和执行流程,让您轻松入门。第2章 字节码文件,深入剖析字节码文件的全部组成结构,以及javap和jbe可视化反解析工具的使用。第3章 类的加载、解释、编译,本章节带你深入理解类加载器的分类、范围、双亲委托策略,自己手写类加载器,理解字节码解释器、即时编译器、混合模式、热点代码检测、分层编译等核心知识。第4章 内存模型,本章节涵盖JVM内存模型的全部内容,程序计数器、虚拟机栈、本地方法栈、方法区、永久代、元空间等全部内容。第5章 对象模型,本章节带你深入理解对象的创建过程、内存分配的方法、让你不再稀里糊涂。第6章 GC基础,本章节是垃圾回收的入门章节,带你了解GC回收的标准是什么,什么是可达性分析、安全点、安全区,四种引用类型的使用和区别等等。第7章 GC算法与收集器,本章节是垃圾回收的重点,掌握各种垃圾回收算法,分代收集策略,7种垃圾回收器的原理和使用,垃圾回收器的组合及分代收集等。第8章 GC日志详解,各种垃圾回收器的日志都是不同的,怎么样读懂各种垃圾回收日志就是本章节的内容。第9章 性能监控与故障排除,本章节实战学习jcmd、jmx、jconsul、jvisualvm、JMC、jps、jstatd、jmap、jstack、jinfo、jprofile、jhat总计12种性能监控和故障排查工具的使用。第10章 阿里巴巴Arthas在线诊断工具,这是一个特别小惊喜,教您怎样使用当前最火热的arthas调优工具,在线诊断各种JVM问题。第11章 故障排除,本章会使用实际案例讲解单点故障、高并发和垃圾回收导致的CPU过高的问题,怎样排查和解决它们。课程资料课程附带配套项目源码2个159页高清PDF理论篇课件1份89页高清PDF实战篇课件1份Unsafe源码PDF课件1份class_stats字段说明PDF文件1份jcmd Thread.print解析说明文件1份JProfiler内存工具说明文件1份字节码可视化解析工具1份GC日志可视化工具1份命令行工具cmder 1份学习方法理论篇部分推荐每天学习2课时,可以在公交地铁上用手机进行学习。实战篇部分推荐对照视频,使用配套源码,一边练习一遍学习。课程内容较多,不要一次性学太多,而是要循序渐进,坚持学习。      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值