首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JDK、JRE、JVM 关系

JDK、JRE、JVM 关系Java 是一种跨平台编程语言,它实现离不开三个关键组件:JDK、JRE 和 JVM。本文将深入探讨这三个组件之间关系以及它们在 Java 技术体系中作用。...JRE 版本号与 JDK 版本号相对应。例如,JDK 1.8 版本对应 JRE 版本为 Java 8。...开发者需要确保目标计算机上安装了与 Java 程序所需 JRE 版本相对应 Java 运行环境,以确保 Java 程序能够正确运行。...JDK、JRE、JVM 之间关系JDK、JRE 和 JVM 之间关系可以简单地概括为:JDK 是开发 Java 程序工具集,JRE 是 Java 程序运行基础环境,JVM 是 Java 程序运行核心组件...运行 Java 程序时,需要先在目标计算机上安装对应 JRE 版本,然后使用 JDK 提供工具运行 JAR 文件。在运行过程中,JVM 负责解释执行 Java 字节码,并将其转换成机器码。

23100
您找到你想要的搜索结果了吗?
是的
没有找到

JDK和JRE关系

回答这个问题前,首先要知道JDK和JRE是什么关系。 啥是JDK,啥是JRE 我们看看来自百度百科解释: JDK是 Java 语言软件开发工具包,主要用于移动设备、嵌入式设备上java应用程序。...百度百科 它意思是说JDK包含了JRE,在逻辑关系上运行Java程序肯定是需要JRE,即JDK包含JRE。这点我们可以证实,在安装JDK目录下找到JRE文件夹: ?...也就是说,当你安装JDK完成后已经默认安装了JRE,因为安装完JDK肯定是要开发,开发就要运行Java程序,所以JDK包含了JRE。...如果你只是单纯要运行Java程序而不进行开发、调试等,就只需要安装JRE。 通过查阅,我们总结出JDK和JRE关系图如下: ?...所以上文首到问题,对于开发人员来说安装完JDK后就不需要再安装JRE了;如果只是运行Java程序就只需安装JRE

2.5K30

JDK,JRE,JVM之间区别

JDK,JRE,JVM之间区别 JDK, JRE和JVM是java编程语言核心概念。他们看起来有点相似。作为一个编程者我们似乎也并不是很关心这个概念。...我们可以认为JDK就是一个jre超集。因为jdk包含了含有java编译器、debugger以及一些核心类。 JDK是为写代码的人准备。...Java Runtime Environment (JRE) JRE是JVM实现,JRE提供了platform(平台)来执行java program。...记住了,JRE不包含任何和development有关工具,比如java compiler,debugger等等。也就是jre不是给开发准备,而是给运行准备。...如果你想要执行java program,你应该要安装JRE,就没必要安装JDK了。 现在你应该明白了。JDK是为开发准备,然而JRE只是为了run javaprogram。

1.3K90

JDK和JRE区别

JRE(Java Runtime Enviroment)是Java运行环境。面向Java程序使用者,而不是开发者。如果你仅下载并安装了JRE,那么你系统只能运行Java程序。...JRE是运行Java程序所必须环境集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。...JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java开发环境(提供了编译器javac...如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运行Java程序平台。...JDK是整个Java核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。

1.1K80

性能超过MySQLMariaDB到底强在哪里

MySQL发展史 MySQL历史可以追溯到1979年,它创始人叫作Michael Widenius,他在开发一个报表工具时候,设计了一套API,后来他客户要求他API支持sql语句,他直接借助于...一到1996年,MySQL 1.0发布,仅仅过了几个月时间,1996年10月MySQL 3.11.1当时发布了Solaris版本,一个月后,linux版本诞生,从那时候开始,MySQL慢慢被人所接受...2001年,MySQL生命中大事发生了,那就是存储引擎InnoDB诞生!直到现在,MySQL可以选择存储引擎,InnoDB依然是No.1。...Sun为MySQL发展提供了绝佳环境,2008年11月,MySQL 5.1发布,MySQL成为了最受欢迎小型数据库。...因此,大家都认为,MariaDB拥有比MySQL更纯正MySQL血脉。最初版本更新与MySQL同步,相对MySQL5以后版本,MariaDB也有相应5.1~5.5版本。

2.2K20

MySQL内存到底消耗在哪里

MySQL内存到底消耗在哪里? 一说起MySQL使用内存,你可能会想到各种buffer,最著名莫过于innodb buffer pool了,它是内存使用大户,还有sort buffer等等。...内存分配器: 和其他数据库一样,MySQL内存分配器也要长时间持有一部分内存,以供正常内存销毁和分配,从而实现内存重复使用。...因此,我们可以简单推导一个公式,就是MySQL中内存使用量,大概等于: SELECT ( @@key_buffer_size + @@innodb_buffer_pool_size + @@innodb_log_buffer_size...从公式中不难看出,当基础配置不变情况下,连接数很多时候,MySQL占用内存数据,就会上涨比较快。...02 performance_schema维度分析 Performance_schema特性可以监控MySQL运行指标,通常情况下,默认是开启,开启时候,会带来10%左右MySQL性能损耗

2.6K30

MYSQL 8 show processlist 到底信息从哪里来,换到哪里了,怎么打开,哪里有进步?

放假最后一天,回答最近有一个小朋友问了一个关于 processlist 问题,基于MYSQL 8 show processlist 到底从哪里信息,MYSQL 8 中提供processlist...MYSQL SHOW PROCESSLIST 是每个MYSQL DBA 通过这个命令来获得MYSQL数据库当时访问信息。...在MYSQL 8.022 之前获取这些信息是需要根据线程管理模块通过全局互斥方式来获得数据。...语句执行时间 7 语句分配内存 8 事务状态,以及事务对应 PID 信息 具有以上信息后,一个mysql thread 运行中信息都已经获得,基于MYSQL 8 在获取 show processlist...那么说说为什么在MYSQL 8 中不在建议使用原有的方式来获得系统信息。

1.9K20

JVM、JRE、JDK作用与区别

一、引言 在Java环境配置和项目启动中,这三者配置是项目启动基础保证,但这三者作用和区别呢,本文将对JVM、JRE、JDK作用与区别进行讲解。...在JDK下面的JRE目录里面有两个文件夹bin和lib,在这里可以认为bin就是JVM,lib中则是JVM工作所需要类库,而JVM和lib和起来就称为JRE。JVM+lib=JRE。...区别 JDK和JRE区别:在bin文件夹目录下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件,这是开发者需要,而用户(运行程序的人)是不需要...JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRElib类库支持,尤其是rt.jar。...通过对JVM,JRE,JDK描述,我们就能看出三者之间关系: JDK: javac,jar,debugging,tools,javap JRE:java,javaw,libraries,rt_jar

1.2K10

数据包在 Kubernetes 中一生(1)

即使是对于具备一定虚拟网络和路由知识的人来说,Kubernetes 集群网络也是个颇为麻烦事情。本文尝试帮助读者理解 Kubernetes 网络基础知识。...初期目标是根据一个发往 Kubernetes 集群 Service HTTP 请求路线,来理解 Kubernetes 网络复杂性。这中间会涉及到命名空间、CNI 以及 Calico。...没有命名空间的话,A 容器中进程可能会卸载 B 容器中文件系统,或者修改 C 容器主机名,又或删除 D 容器网卡。...Docker 就是这样为同一主机内容器进行连接。...CNI 是一个 CNCF 项目,其中包含了在 Linux 容器进行网络配置规范和库。CNI 主要工作就是容器网络连接能力,并在容器销毁时移除相应已分配资源。

74120

数据包在kubernetes中一生(一)

即使是对于具备一定虚拟网络和路由知识的人来说,Kubernetes 集群网络也是个颇为麻烦事情。本文[1]尝试帮助读者理解 Kubernetes 网络基础知识。...初期目标是根据一个发往 Kubernetes 集群 Service HTTP 请求路线,来理解 Kubernetes 网络复杂性。这中间会涉及到命名空间、CNI 以及 Calico。...没有命名空间的话,A 容器中进程可能会卸载 B 容器中文件系统,或者修改 C 容器主机名,又或删除 D 容器网卡。...Docker 就是这样为同一主机内容器进行连接。...CNI 是一个 CNCF 项目,其中包含了在 Linux 容器进行网络配置规范和库。CNI 主要工作就是容器网络连接能力,并在容器销毁时移除相应已分配资源。

78940

mysql慢查询日志默认在哪里_MySQL 慢查询日志

慢查询日志概念 MySQL 慢查询日志是 MySQL 提供一种日志记录,它用来记录在 MySQL 中查询响应时间超过阈值语句,具体指响应时间超过 long_query_time 值 SQL,会被记录到慢查询日志...默 认情况下,MySQL 是不开启慢查询日志,需要我们手动设置这个参数值,当然,如果不是调优需要的话,一般不建议开启慢查询日志, 因为开启慢查询日志或多或少会带来一定性能影响。...MySQL 同时支持两种日志存储方式,配置时候以逗号分隔开,如:log_output=’FILE,TABLE’。...和 slow_query_log_file 后,然后重启 MySQL 服务器,如下所示: 现在已经开启了慢查询日志,那么什么样 SQL 才会被记录到日志中呢?...‘%long_query_time%’ 查看 我们来测试一下,在 MySQL 中执行下面 SQL 语句,然后我们去检查对应慢日志: log_output 是用来指定存储日志方式,操作如下: 设置慢日志存储方式

4.2K20

构建属于自己 jre Docker 镜像

概述 在实际项目中,有时官方提供相关 docker 镜像不能满足企业对于镜像内部安全要求;所以大型企业都会构建属于企业内部中间件 docker 镜像。 2....基于Alpine 制作 jre 镜像 alpine Linux 简介 Alpine Linux 是一个轻型 Linux 发行版,它不同于通常 Linux 发行版,Alpin e采用了musl libc...Linux 官方镜像容量对比图 先准备构建镜像所需jre,下载 jre8 https://www.oracle.com/java/technologies/downloads/ https:...# 4.将jre安装包复制到镜像中(ADD与COPY区别:ADD复制并解压,COPY仅复制) ADD jre-8u321-linux-x64.tar.gz . # 5.更改 Alpine 软件源为阿里云.../jdk ENV JAVA_HOME=/servers/jdk/jre1.8.0_321 ENV CLASSPATH=.

78910

精简JRE思路初探「建议收藏」

引言: JRE是Java程序赖以执行基础环境,眼下JRE已经很庞大;即使为了执行一个简单Hello World程序。可能依旧须要依赖整个JRE,将近百兆大小依赖性。...能否够对特定Java程序依赖JRE进行精简呢? 当然是能够。依据当前代码须要,动态精简JRE,仅仅依赖须要class。而非所有。 1. 总体思路   a....首先找到当前Java程序依赖全部class,包含自身类库/第三方类库,以及JRE类库。   b. 将JRE中不须要类库文件移除掉,仅仅保留须要类库。   C....从rt.jar中提取对应所须要class 4.4. 将rt.jar中提取class进行打包,就可以得到所需jre核心jar包。 代码假定前提:  1. Jre所在路径   2....目标java类已经编译成class.这里未考虑动态编译情况   3. 将jrert.jar打包在当前路径。

39410

JVM,JRE,JDK之间区别和联系

[jdl, jre, jvm] JDK包含了JRE,JRE包含了JVM JDK:java开发工具包,针对java开发人员,可以编译运行java程序 JRE:java运行时环境,针对使用java程序客户...,可以运行字节码(.class),但是不能编译Java源码 JVM:用来解释执行字节码文件(.class),但不能正确执行 什么是JVM JVM是JRE一部分,是虚拟出来一台计算机.通过实体计算机仿真各种计算功能来实现...什么是JRE JRE是Java运行环境,所有Java程序必须依赖JRE才能运行.只有JVM是不能运行字节码文件(.class),因为解释字节码时候需要lib库....JVM+lib=JRE 什么是JDK JDK是Java核心,包含运行Java运行环境(JRE)和一些Java工具及Java基础类库 。...jre区别 相同点:这两个JRE都可以作为Java程序运行环境 不同点:JDK只能使用自己目录自带JRE,不能使用外面单独安装JRE 开发到运行 安装JDK环境,调用本地Java api完成业务代码

3.5K00
领券