16.JRE和JDK

程序员在编写代码的时候其实是需要一些环境,例如我们之前写的HelloWorld。我们需要的东西有JVM、核心类库、开发工具。

1、JVM(Java Virtual Machine):Java虚拟机,真正运行Java程序的地方。没有虚拟机,代码都没地方运行。

2、核心类库:例如之前写的HelloWorld代码中,里面的System、out、println,每个单词都有其特定的含义,它们组合在一起就可以把小括号的内容直接展示出来。这些其实都是Java已经写好的东西,我们直接拿过来使用就行了。

3、开发工具:例如:javac 编译工具、java 运行工具、jdb 调试工具、jhat内存分析工具 ...

它们三个组成的整体,就叫JDK。JDK(Java Development Kit)称为Java开发工具包,包含了JRE和开发工具。

所以说简单理解程序员想要编写代码并且能成功运行,我们需要安装一个JDK就可以了。


除此之外,还有一种情况需要我们考虑,假设我现在将代码写完了,也编译完了,此时我需要将class文件交给别人运行,此时人家只需要运行class文件就行了,不需要开发了,但此时别人就不需要再安装一个完整的JDK了,因为在JDK里面,有些东西我们是用不到的,如果强行安装,就会占用硬盘空间。

但我又需要运行代码,那应该安装什么呢?虚拟机、核心类库肯定都是需要的,但是在运行的时候有一部分开发工具就不需要了。例如代码已经写好了,已经不需要javac编译工具;并且此时代码别人写好了,也已经没有问题了,此时也不再需要调试了,jdb工具也用不到了。

所以说java会在JVM、核心类库还有在运行的时候所用到的一些工具单独的抽取出来,又组成了一个 JRE。当我们以后只需要运行代码,不需要编写了,安装一个JRE就可以了。JRE比较短小,不会占用过多的硬盘空间。

JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API,即Java已经写好的一些东西,我们直接拿过来用就行了)。

总结:JDK包含了JRE,JRE包含了JVM。

相关推荐
vx+_bysj686913 小时前
【免费领源码】基于Springboot白隼校园音乐点歌系统 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·spring boot·mysql·课程设计
C雨后彩虹13 小时前
跨线程数据传递InheritableThreadLocal的原理
java·多线程·同步·异步·threadlocal
Ronin30513 小时前
虚拟机数据管理模块
开发语言·c++·rabbitmq
熬了夜的程序员13 小时前
【LeetCode】117. 填充每个节点的下一个右侧节点指针 II
java·算法·leetcode
3GPP仿真实验室13 小时前
【Matlab源码】6G候选波形:MIMO-OFDM-IM 增强仿真平台
开发语言·网络·matlab
yujunl13 小时前
排除一个版本原因导致Mybatis Plus不能分页的问题
java
上海合宙LuatOS13 小时前
LuatOS核心库API——【fatfs】支持FAT32文件系统
java·前端·网络·数据库·单片机·嵌入式硬件·物联网
晓131313 小时前
第五章 【若依框架:优化】高级特性与性能优化
java·开发语言·性能优化·若依
一叶之秋141213 小时前
基石之力:掌握 C++ 继承的核心奥秘
开发语言·c++·算法
见牛羊13 小时前
CMakeLists 写法总结3.0
开发语言·c++