jdk目录结构

c1f0df3253f1414ea4c3ed89bee9437d.jpg

 

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) 文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】考研真题攻克与重点知识点剖析 - 第 6 篇:图

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

通过 ffmpeg命令行 调节视频播放速度

1. 仅调整视频速率 视频调速原理:修改视频的pts,dts # 可能会丢帧 ffmpeg -i input.mkv -an -filter:v "setpts0.5*PTS" output.mkv # 可用-r参数指定输出视频FPS以防止丢帧 ffmpeg -i input.mkv -an -r 60 -filter:v "setpts2.0*PTS&q…

redis的HyperLogLogs详细介绍

Redis的HyperLogLogs是一种概率数据结构,用于估计集合中的元素个数,即基数。即使存储了超大数据(超过2^64的基数)的集合,HyperLogLogs也只需要12KB的内存,所有这使得其非常适合做大规模数据的去重计数。 H…

MySQL | 如何使用mysqldumpslow命令进行SQL慢查询分析?

关注WX:CodingTechWork 介绍 启用慢查询日志 编辑 MySQL 配置文件:打开 MySQL 的配置文件(通常是 my.cnf 或 my.ini)。 启用慢查询日志:找到以下配置项并进行设置: slow_query_log 1 # 启用…

爱普生语音芯片的特点与应用市场

随着物联网与智能家居的普及,越来越多的电子产品有了语音播报的需求。但是很多客户没有类似的开发经验或者他们的产品内部只能承载一个蜂鸣器。这样的情况下要如何实现快速的产品升级呢?下面让我们来看一下差普生语音芯片是如果帮助客户的。目前爱普生语音芯片分为…

Redis 的主从复制、哨兵和cluster集群

目录 一. Redis 主从复制 1. 介绍 2. 作用 3. 流程 4. 搭建 Redis 主从复制 安装redis 修改 master 的Redis配置文件 修改 slave 的Redis配置文件 验证主从效果 二. Redis 哨兵模式 1. 介绍 2. 原理 3. 哨兵模式的作用 4. 工作流程 4.1 故障转移机制 4.2 主节…

记录一次内网渗透过程

0x01 前言: 一切以学习为主,记录一次小小的攻击过程 本次是通过外网漏洞撕开的口子,主要通过一下方式 拿到了目标资产 nday扫一扫 弱口令爆一爆 上传接口找一找 后台上传找一找 数据库弱口令 关注新day,有了立马在资产里面…

K8s学习三(Pod与探针)

深入学习Pod Pod配置文件 写一个自己的配置文件,nginx-po.yaml apiVersion: v1 #api文档版本 kind: Pod #资源类型对象,也可以配置为像Development,StatefulSet这一类的对象 metadata: # Pod相关的元数据,用于描述Pod的数据name: nginx-po…

深度比较Vue 3.0中的computed和watch属性用法与最佳实践

摘要:在Vue 3.0中,computed和watch属性是用于处理数据逻辑的重要工具。本文将详细对比这两个属性的工作原理、适用场景以及使用时的注意事项,旨在帮助开发者更有效地选择和使用它们。 一、computed属性 computed属性是Vue 3.0中用于计算数据…

【随笔】Git 高级篇 -- 相对引用2 HEAD~n(十三)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

D. Constructing the Array Codeforces Round 642 (Div. 3)

题目链接:Problem - 1353D - Codeforceshttps://codeforces.com/problemset/problem/1353/D 题目大意: 往空的数组里从1~n填数字,每次填最长的空区间的中间位置(位置向下取整)。 思路: 用二分判断放每一个数…

【WPF应用32】WPF中的DataGrid控件详解与示例

在WPF(Windows Presentation Foundation)开发中,DataGrid控件是一个强大的数据绑定工具,它以表格的形式展示数据,并支持复杂的编辑、排序、过滤和分组等操作。在本文中,我们将详细介绍DataGrid控件的功能、…

【信贷后台管理之(五)】

文章目录 目录结构一、面包屑组件封装二、退出登录接口联调三、申请列表的菜单路由3.1 路由创建,表格编写3.2 列表接口调用3.3 出生日期转变3.4 申请状态3.5 申请列表的操作3.5.1 编辑删除提交操作3.5.2 禁用状态3.5.3 操作接口3.5.4 搜索查询3.5.5 申请列表分页功能…

探索Python爬虫:解析网页数据的神奇之旅

在当今数字化时代,信息的获取变得比以往任何时候都更加便捷。然而,即使在互联网上,获取数据也需要通过正确的工具和技术。Python爬虫就是这样一种强大的工具,它可以让我们轻松地从互联网上收集数据,并将其转化为有用的…

DFS-0与异或问题,有奖问答,飞机降落

代码和解析 #include<bits/stdc.h> using namespace std; int a[5][5]{{1,0,1,0,1}}; //记录图中圆圈内的值&#xff0c;并初始化第1行 int gate[11]; //记录10个逻辑门的一种排列 int ans; //答案 int logic(int x, int y, int op){…

vue中的treeselect下拉框显示不全的解决办法

:appendToBody“true” z-index“9000” 如图&#xff1a;页面中显示的下拉框信息展示不全&#xff0c;就看不见了&#xff0c;也没有滚动条 解决办法&#xff1a;在代码中添加属性【:appendToBody“true” z-index“9000”】 z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺…

数据是一维数据,利用tensorflow深度学习框架,写一个带自注意力机制的卷积神经网络,并进行训练

下面是一个使用TensorFlow框架的带有自注意力机制的卷积神经网络&#xff08;Self-Attention Convolutional Neural Network&#xff09;的示例代码&#xff0c;包括数据处理、模型定义和训练过程&#xff1a; import tensorflow as tf from tensorflow.keras.layers import C…

C++ 动态字符串String的介绍及经典用法展示

std::string: 在C中&#xff0c;std::string是标准模板库&#xff08;STL&#xff09;中的一个类&#xff0c;用于表示和操作字符串。std::string提供了丰富的功能来处理文本数据&#xff0c;包括字符串的创建、修改、搜索、比较和转换等操作。 std::string的特点&#xff1a…

Redis: 持久化

文章目录 一、RDB持久化1、概念2、生成、载入RDB文件3、执行时机&#xff08;1&#xff09; 执行save命令&#xff08;2&#xff09;执行bgsave命令&#xff08;3&#xff09;Redis停机时&#xff08;4&#xff09;触发RDB条件 4、bgsave原理5、小结 二、AOF持久化1、概念2、AO…

蓝桥杯刷题-14-更小的数-区间DP⭐

蓝桥杯2023年第十四届省赛真题-更小的数 //区间DP #include <iostream> #include<bits/stdc.h> #define int long long using namespace std; const int N5e310; int f[N][N]; void solve(){string s;cin>>s;int ans0;for(int len2;len<s.size();len){for…