JDK,JVM和JRE之间的关系

        JDK:java开发工具包,它包括了jre,除了jre以为还包括javac(java compiler)等编译器和其他工具;打开你的idea,可以看到我们编译代码前需要选择sdk,而sdk(software development kit)包括了jdk。顺带一提,javac就是负责把java代码编译成.class文件(字节码)的那个工具;

        那么什么是JRE(Java Runtime Environment)呢?

        JRE主要包括了JVM(java virtual machine和Java基础类库),为了理解JRE我们需要直到它被提出来的作用:JRE主要是为java的运行提供一个运行环境而生,因为我们知道很多语言的运行环境就是操作系统,而为了适配每个操作系统,需要开发者去不断编写各种版本的代码以适配不同的操作系统。而我们的JRE就是为此而生,它负责给我们的代码一个运行环境,以便对内存进行访问以及获取其他资源等等;

        而运行所需要的环境的提供者正是JRE所包含的JVM,听名字也知道,JVM就是java的虚拟机;就像我们在操作系统上部署的虚拟机一样,JVM就是干这事儿的,它负责给字节码(class文件)提供直接的运行环境;

        当然,只有运行环境还不行,为了实现快速编码我们经常需要调各种库,否则不就需要一直造轮子了嘛。因此,JRE中的基础类库干的就是这个工作,像我们常用的java.util、java.lang等等的基础类库都是它给我们写好的!省去了反复造轮子的时间;

        说到这,不知道大家对于三者之间的关系有没有更深的影响?其实笔者之前看了不少类似的八股文,试图死记硬背,发现根本记不住,最好的记忆方法还是要落在实践上,不如打开自己的开发工具去看看平常对它们的使用,更容易加深影响和理解;

        说到JVM,这也是很大的一块知识点,先挖个坑后续慢慢更新补上:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值