浅谈JDK,JRE, JVM

1、JVM(Java  Virtual Machine)

JVM就是我们常说的Java虚拟机,用来执行我们的.class文件,.class文件是.java源码编译产生的一种字节码文件。.class文件不是直接与我们的操作系统相对应,它运行在虚拟机上,由虚拟机将程序解释成本地系统可以识别运行的二进制文件。

JVM和实际的操作系统一样,有自己的指令集和内存区域,JVM提供了一种与平台无关的代码执行方法,与主机硬件和操作系统无关,它最上层的源码实现不关心,只关心生成的字节码。但是不同的JVM也有一点细微的区别,比如垃圾回收算法,线程调度之类的,主要的虚拟机有HotSpot、JRockit等等。

2、JRE(Java Runtime Environment)

JRE指的是Java运行环境,有了JVM并不能直接执行.class文件,因为在解释class文件时JVM还需要调用所需的类库lib。我们在jre的安装目录下可以看到bin和lib两个文件夹,可以认为bin就是jvm,lib就是jvm工作所需的类库。有了jre之后,就可以在PC上运行Java程序了

3、JDK(Java Development Kit)

JDK就是Java Development Kit,简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JDK主要是提供给Java开发人员使用,可以编译Java文件。

下面介绍一下jdk目录下的文件夹

bin:jdk包含的一些开发工具执行文件,javac.exe就在里面

include:存放编译本地方法的头文件

jre:这个就不用说了

lib:Java开发需要的库文件,包含了支持JDK工具的非核心类库tool.jar

还有一个文件夹不知道大家有没有,db文件夹,我网上查了一下:纯Java开发的数据库Derby,是一个开源的100%Java开发的关系数据库

--------------------------------------------------------------

最后说明一下困扰了我的问题,为什么jdk安装好有两套jre,也是我在别的博客上看来的。之所以需要两套 jre ,是因为可以分担工作;当用户只需要执行 java 的程序时,那么 c:\program files\java\jre 下的 jre 就 ok !当用户是 java 程序员,需要 java 开发环境,那么开发时,系统就会优先去找“ java 、 javac ”这些命令本身的目录或者他们的父目录的 jre ;这样开发时一般运行的是 jdk 下的 jre ;而运行外部程序时,一般运行的是c:\program files\java\jre ,实现了分工,不同的 jre 负责各自范围的内容。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值