千家信息网

JVM基础知识都有什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,JVM基础知识都有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、什么是JVM?JVM是可运行Java代码的假想计
千家信息网最后更新 2026年11月03日JVM基础知识都有什么

JVM基础知识都有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、什么是JVM?

JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。

二、运行过程

① Java 源文件-->编译器-->字节码文件

② 字节码文件-->JVM-->机器码

三、JVM 内存区域

主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区

域【JAVA 堆、方法区】、直接内存。



四、jvm内加载机制

Java源代码被编译成class字节码,JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)七个阶段,其中验证、准备、解析三个部分统称链接。

五、JVM 运行时内存

新生代:gc回收主要用复制算法

老年代:gc回收主要用标记清除算法

永久代:jdk8移除,被元数据区取代

堆内存结构

栈和堆的区别?

栈的优势:存取速度比堆要快,仅次于直接位于 CPU 中的寄存器。但缺点是,栈中的数据大小与生存周期必须是确定的。

堆的优势:可以动态地分配内存大小,生存周期也不必事先告诉编译器,Java 的垃圾回收器会自动收走那些不再使用的数据。但由于要在运行时动态分配内存,存取速度较慢。

六、GC垃圾回收

(1)如何确定垃圾

引用计数法

可达性分析

(2)回收对象

超出作用域的对象/引用计数为空的对象。

从gc root开始搜索,搜索不到的对象。

回收新生代区。

(3)回收算法

引用计数法

标记清除法

标记压缩法

复制算法

分代算法

七、JAVA 引用类型

强引用:把一个对象赋给一个引用变量,这个引用变量就是一个强引

用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因之一。

软引用:需要用 SoftReference 类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被回收。软引用通常用在对内存敏感的程序中

弱引用:需要用 WeakReference 类来实现,它比软引用的生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管 JVM 的内存空间是否足够,总会回收该对象占用的内存。

虚引用:需要 PhantomReference 类来实现,它不能单独使用,必须和引用队列联合使用。虚引用的主要作用是跟踪对象被垃圾回收的状态。

八、常用JVM参数调优

Xss:每个线程的Stack大小

-verbose:gc 现实垃圾收集信息

-Xloggc:gc.log 指定垃圾收集日志文件

-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一

-XX:+UseParNewGC :缩短minor收集的时间

-XX:+UseConcMarkSweepGC :缩短major收集的时间

重要参数:

-Xms 堆初始值

-Xmx 堆最大可用值

-Xmn 新生代堆最大可用值

-Xmn 新生代大小,一般设为整个堆的1/3到1/4左右

注意:堆初始值=堆最大值,减少垃圾回收次数,提升效率。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内存 对象 垃圾 运行 大小 字节 数据 文件 新生 新生代 机制 算法 最大 区域 变量 周期 方法 标记 系统 线程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网科技垄断 互联网巨头科技公司 金融科技创新监管互联网金融 紫鲸互联网科技 长亮科技互联网金融 科技互联网创业计划书 成都玖崟互联网科技有限公司乐商圈怎么样 青岛中康互联网医疗科技有限公司 恒生互联网科技指数跳水 米聚互联网科技南京有限公司排面 互联网科技扶贫时间 互联网保险科技创业 允成互联网科技有限公司融资 如何创新互联网科技 山东有哪些互联网科技公司 互联网科技年终奖 广州智享互联网科技 数字科技和互联网金融哪个好 知域互联网科技有限公司官网 广州百单互联网科技有限公司 互联网最新的科技有限公司 合肥互联网科技公司 美国互联网黑科技 掌上梦互联网科技 消费医药和互联网科技 恒生互联网科技业指数调整周期 互联网领先科技宣传片 亚光科技低轨卫星互联网 恒生互联网科技趋势
0