当前位置:首页 > Java技术 > 谈谈对JVM虚拟机的认识

谈谈对JVM虚拟机的认识

2022年08月04日 23:19:56Java技术10
1)java程序之所以能够跨平台运行,正是因为JVM虚拟机。Java程序只需要生成在JVM虚拟机上能够运行的(目标代码)字节码,就可以在各种平台上运行。
2)jre、jdk、jvm三者关系:jre就是Java运行平台,Java程序运行就必须在jre环境下才能运行。JVM虚拟机就是jre的一部分。
JDK就是Java开发工具,所以它的运行也要依赖于jre,我们经常会看到看着JDK,响应的目录下也会有一个jre,这是为了保证JDK的完整性和独立性,把JDK和JRE打包在一起了。
3)Java程序开发不考虑内存的管理,是因为把内存的管理交给了JVM。JVM有一套完整的存储和垃圾回收机制。说到存储,一般在开发中认为JVM不过有堆和栈两部分组成,但是实际的Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。每个数据区域有分为:方法区、堆、栈(虚拟机栈和本地方法栈)、程序计数器。
我们new一个对象的时候,栈中存储的是对象的引用、堆中存放的是具体new出来的对象实体,而对象的类型信息(比如实现的接口、父类、方法等)存储在了方法区域。至于程序计数器是为了方便多线程调用用的。每个单线程都有一个程序计数器,就如身份证一样。
4) Java垃圾回收机制的话采用的是“根搜索算法” ,来判断对象是否存活,从这些节点开始向下搜索,搜索所走过的路径称为 引用链 ( Reference Chain),当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是不可用的。然后就会被回收掉。

作者:请你吃鸡蛋面
来源链接:https://blog.csdn.net/yangzhanghui/article/details/79473676

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/17462.html

分享给朋友:

“谈谈对JVM虚拟机的认识” 的相关文章

性能优化|快速掌握JVM内存分配机制

性能优化|快速掌握JVM内存分配机制

JVM整体结构 堆 线程共享的区域,也是垃圾回收器要收集的区域,这地方主要保存用户创建的对象。例如 new User(),这个对象是保存在堆上面的。...

JVM内存模型及垃圾收集策略解析

JVM内存模型及垃圾收集策略解析

JVM内存模型是Java的核心技术之一,之前51CTO曾为大家介绍过JVM分代垃圾回收策略的基础概念,现在很多编程语言都引入了类似Java JVM的内存模型和垃圾收集器的机制,下面我们将主要针对Java中的JVM内存模型及垃圾收集的具体策略进行综合的分析。 一 JVM内存模型...

jvm优化——运行参数篇

jvm优化——运行参数篇

在这篇文章中主要介绍jvm的一些运行参数 对jvm优化总结篇可以阅读:JVM优化——总结篇 1、jvm的运行参数 1.1、三种参数类型 jvm的参数类型分为三种,分别是: 1、标准参数: 标准参数的意思是说一般比较稳定,在以后jvm的版...

浅谈JVM内存模型

浅谈JVM内存模型

JAVA虚拟机在执行JAVA程序的时候,会把它管理的内存分成若干不同的数据区域,每个区域都有各自的用途。目前大致把JVM内存模型划分为五个区域:程序计数器,虚拟机栈,本地方法栈,堆和方法区。   程序计数器 程序计数器(ProgramCounterR...

深入理解JVM(1)——JVM内存模型

Java虚拟机的内存空间分为五个部分,分别是: 程序计数器; Java虚拟机栈 本地方法栈 堆 方法区 接下来对这五部分分别进行详细的介绍 1、程序计数器:   a)什么是程序计数器:程序计数器是内存中的一个很小...

深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型

原文地址:http://yhjhappy234.blog.163.com/blog/static/316328322011101723933875/?suggestedreading&wumii 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁...

JVM——JVM大厂面试问题与解答

JVM——JVM大厂面试问题与解答

摘要 本博文主要分享在JVM中的大厂面试问题。总结相关面试问题与yu解答。帮助大家更好的学习与理解JVM的原理。同时也是分享一些有关于JVM实战的经验,帮助大家在工作中排查错误。 一、JVM的内存模型 1.1 JVM1.8内存模型 1.2 JVM内存模型中...

【Java】JVM内存模型解析

【Java】JVM内存模型解析

   JVM内存模型主要分为五大区域:栈、堆、本地方法栈、程序计数器、方法区。   本地方法栈: 跟虚拟机栈非常相似,也是线程私有的,不过虚拟机栈是针对Java方法,而本地方法栈是针对native方法,也就是底层方...

JVM 算法简介

JVM 算法简介

JVM学习目录 1.JVM 概念简介 2.JVM 运行时内存 3.JVM算法简介 4.JVM 垃圾收集器 5.JVM 调优实战 通过以上的文章我们对JVM有了初步的认识,在前几篇文章中也说过一些算法知识点,今天这篇文章我们进行算法的分享 一、...

JVM之-内存模型(转)

JVM之-内存模型(转)

JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。   程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。