JDK1.7目录分析

在JDK1.7的根目录有bin,db,include,jre,lib五个文件夹,还有一个src.zip(Java的源码压缩包);其他的一些文件不做介绍..

bin:jdk/bin目录下基本都是.exe结尾的可执行文件:我们发现该目录下的文件都非常小,基本都是十几二十KB,是因为它们仅仅相当于一层代码的包装

这些工具的实现所要用到的类库都在tools.jar中,简单了解下各个exe文件的作用:

1:java.exe:java应用程序的启动器,

2:javac.exe:java语言编译器

3:javadoc.exe:java文档生成器

4:jvisualvm.exe:用来监控java运行程序的cpu、内存、线程等的使用情况

5:javap:class文件 反编译工具

...

lib:jdk/lib目录存放的都是Java开发工具要用的一些库文件,个人感觉需要重点明白dt.jar和tools.jar的作用

dt.jar:dt.jar是关于运行环境的类库,主要是swing的包   在用到swing时最好加上。

tools.jar:首先上面说了jdk/bin目录下的exe工具许多实现都是在该jar包下,(自己可以去对照下),也就是说bin目录下的exe工具可以直接调用该jar包里面的class类

再就是tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到

javac XXX.java

实际上就是运行

java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java

javac就是对上面命令的封装 所以tools.jar 也不用加到classpath里面

jdk/jre目录:This provides complete runtime support for Java applications(原文),提供java程序运行的全部环境,当我们打开jdk/jre/bin发现里面有很多.dll.exe文件,大部分与jdk/bin相似,例如:jdk\jre\bin\server\jvm.dll就是jvm运行所需要的DLL文件

jdk/jre/lib:该目录提供了JRE要用的代码库,属性设置,资源文件。其中就几个比较重要的JAR包:

1:rt.jar:rt.jar是JAVA基础类库,也就是你在java doc里面看到的所有的类的class文件,为java运行时所要的类的jar包,比如:java.io,java.util,由根classloader加载

2:charset.jar:字符装换,编码转换的jar包

3:ext文件夹:默认的Java平台扩展安装环境  ,包含localedata.jar 是 ava.text 和 java.util包要用到的地区数据 该目录下的类是由Extension ClassLoader来加载的

jdk/db目录,该目录应该是新加的,JDK6之后自带的微型数据库,这是一个纯 Java 实现、开源的数据库管理系统(DBMS)。

创建数据库:

 1 try { // load the driver
 2             Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
 3             System.out.println("Load the embedded driver");
 4             Connection conn = null;
 5             Properties props = new Properties();
 6             props.put("user", "user1");  props.put("password", "user1");
 7            //create and connect the database named helloDB
 8             conn=DriverManager.getConnection("jdbc:derby:helloDB;create=true", props);
 9             System.out.println("create and connect to helloDB");
10             conn.setAutoCommit(false);
11
12             // create a table and insert two records
13             Statement s = conn.createStatement();
14             s.execute("create table hellotable(name varchar(40), score int)");
15             System.out.println("Created table hellotable");
16             s.execute("insert into hellotable values(‘Ruth Cao‘, 86)");
17             s.execute("insert into hellotable values (‘Flora Shi‘, 92)");
18             // list the two records
19             ResultSet rs = s.executeQuery(
20                 "SELECT name, score FROM hellotable ORDER BY score");
21             System.out.println("name\t\tscore");
22             while(rs.next()) {
23                 StringBuilder builder = new StringBuilder(rs.getString(1));
24                 builder.append("\t");
25                 builder.append(rs.getInt(2));
26                 System.out.println(builder.toString());
27             }
28             // delete the table
29             s.execute("drop table hellotable");
30             System.out.println("Dropped table hellotable");
31
32             rs.close();
33             s.close();
34             System.out.println("Closed result set and statement");
35             conn.commit();
36             conn.close();
37             System.out.println("Committed transaction and closed connection");
38
39             try { // perform a clean shutdown
40                 DriverManager.getConnection("jdbc:derby:;shutdown=true");
41             } catch (SQLException se) {
42                 System.out.println("Database shut down normally");
43             }
44         } catch (Throwable e) {
45             // handle the exception
46         }
47         System.out.println("SimpleApp finished")

pom依赖:

1 <dependency>
2             <groupId>org.apache.derby</groupId>
3             <artifactId>derby</artifactId>
4             <version>10.6.1.0</version>
5             <scope>test</scope>
6 </dependency> 

上面的知识由自己参考了一些博客加以整理实践得出,可能会有一些错误,敬请谅解。

时间: 2024-08-17 23:10:55

JDK1.7目录分析的相关文章

uboot移植——uboot源码目录分析

uboot移植(一)--uboot源码目录分析 本文分析的uboot是九鼎官方提供的,是对应s5pv210开发板x210bv3的uboot 一:uboot的概念及移植的原理. uboot就是在内核运行前的一段小程序,用来初始化硬件设备,建立内存空间映射图.从而将系统的软硬件带到合适的状态,主要功能就是为了启动内核,它将内核从flash中拷贝到ddr中,然后跳转到内核入口中,交由内核控制权,uboot严重依赖硬件,因此一个通用的uboot不太可能. 移植原理:uboot中有很多平行代码,各自属于各

android版微信5.3安装目录分析及主界面高仿

一.安装目录分析 最近在做手机项目时,涉及很多本地文件管理方面的内容,比如用户的头像.下载的图片.视频等等,将这些文件缓存在本地,必须设计一个合理的组织方式,这样才能便于管理和后面的扩展及维护.这期间先后看了微视和美拍的本地文件组织方式,基本属于大家都在采用的方式,即一个大的cache文件夹,然后里面是按照类别划分的子文件夹,分别存放图片.视频等.随后又看了一下微信的组织方式,觉得微信的组织方式有点意思.同时也产生了几个疑问,到现在也没闹明白. 微信的安装目录位于Tencent文件夹内,该文件夹

嵌入式linux开发uboot移植(二)——uboot工程源码目录分析

嵌入式linux开发uboot移植(二)--uboot工程源码目录分析 本文分析的uboot为uboot_smdkv210,是三星官方发布的基于S5PV210评估开发板对应的uboot. 一.uboot源码目录结构解析 1.cpu 本文件夹下的子文件与处理器相关,每个文件夹代表一种CPU系列.每个子目录中都包括cpu.c.interrupts.c.start.S文件. cpu.c主要用于初始化CPU.设置指令Cache和数据Cache等 interrupt.c主要用于设置系统的各种中断和异常 s

LR学习笔记2-LoadRunner目录分析

1.为什么要做目录分析?对于初学者来说:安装完软件,只是傻瓜式应用,那么就会忽略掉LR自带的分析方法和方式,学习这个可以帮助我们更好的掌握. 主要学习完本节要做到: --了解软件安装后目录结构的必要性 --简单分析主要目录 2.下面进入重点内容: --analysis templates--分析模板,我的在安装目录在:D:\Program Files (x86)\HP\LoadRunner\AnalysisTemplates\DefaultTemplate1 --bin目录,可执行程序注意这里的

(二)LoadRunner目录分析

学习一个软件的适用,首先应该了解软件目录,对以后深入学习工具有很大的好处. 查看目录文件如下: Analysis Templates--分析模板(默认的模板,可以将自己的模板保存到该目录下) bin--目录下多为一些可执行文件(注意里面的后缀为chm的帮助文档) classes--可能用到的jar包 dat--配置,备份等信息 EJBContainer--ejb的相关jar包 help--帮助中心 include--头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目录,以后就只需调用

1、android源代码下载及目录分析,和eclipser的跟踪

1.在eclipse中跟踪源代码:假如对mainactivity.java里面的activity按Ctrl+鼠标左键(前提已经导入android源代码:方法1:在项目点击右键,然后找到properties,然后在project build targe选择对应的版本.方法2:对一个类右键ctrl+鼠标左键进入一个界面,然后点击里面的attach source,然后把自己下载好的安卓源代码导进去)2.Android源代码分析目录结构分析: http://blog.csdn.net/wulianghu

maven配置多个源码目录分析

最近项目涉及到了多源码目录的问题,因为是用的maven管理项目,虽然maven可以配置源码目录,但是不支持多目录结构.如果要实现多源码目录,需要应用相应插件. 下面多maven的源码目录的配置进行简易分析.图1为项目结构.IDE使用的是eclipse. 新增forg的源码目录和prop的配置目录.默认配置的jar包 (jar包中没有 forg目录和prop.properties文件) maven配置指定源码目录,增加资源目录 maven有一套默认的目录结构,使用maven一般需要遵循此结构来组织

OpenWRT开发之——目录分析与make过程

OpenWrt 目录下的 trunk 结构如下: [trunk]$ ls bin/         Config.in  feeds.conf.default  rules.mk     tmp/ BSDmakefile  dl/        include/            scripts/     toolchain/ build_dir/   docs/      LICENSE             package/     staging_dir/ tools/ config

loadrunner目录分析

analysis templates——分析模板 可以制定自己的模板保存到analysis templates下 bin——可执行程序 注意里面的chm帮助文档,有c语言的函数帮助文档 bincerts——安全证书 classes——可能用到的jar包 dat——配置,备份等信息 ejbcomponent——ejb的相关jar包 help——帮助中心 include——头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目录,以后就只需要调用这个头文件就可以方便使用了) samples—