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。

相关推荐
海宇AI19 分钟前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
xiangyun6137 分钟前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun611 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
cfm_29142 小时前
单例模式详解
java
我叫张土豆2 小时前
本体论、DDD、SDD、TDD:AI 编程时代的四层认知栈
java·人工智能
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
海南java第二人2 小时前
从诞生到回收:JVM对象生命周期与垃圾回收全链路解析
java
SL_staff3 小时前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
forestsea3 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus