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。

相关推荐
沉着的码农17 分钟前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式
Mr_Xuhhh29 分钟前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
纳兰青华40 分钟前
bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
java·开发语言·spring·list
好开心啊没烦恼42 分钟前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
liulilittle1 小时前
VGW 虚拟网关用户手册 (PPP PRIVATE NETWORK 基础设施)
开发语言·网络·c++·网关·智能路由器·路由器·通信
coding and coffee1 小时前
狂神说 - Mybatis 学习笔记 --下
java·后端·mybatis
千楼1 小时前
阿里巴巴Java开发手册(1.3.0)
java·代码规范
Devil枫1 小时前
Kotlin高级特性深度解析
android·开发语言·kotlin
ChinaDragonDreamer1 小时前
Kotlin:2.1.20 的新特性
android·开发语言·kotlin
reiraoy1 小时前
缓存解决方案
java