JVM
文章平均质量分 92
熬夜加班写代码
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图盘点七种基本的GC垃圾回收算法!
内存其实就是一块连续的空间,可以看做一个大数组,这块空间在业务运行时,经常会或零散或整齐的分布一些大大小小的对象,怎么样高效的分配和回收这块空间,同时尽量不影响业务系统的运行,就是 GC 垃圾回收要做的事,学习了七种基本的 GC 算法之后,我们更加知道,工程技术中没有“银弹”,没有完美无缺的算法,只有最适合自己业务系统的解法。原创 2025-11-11 22:11:32 · 802 阅读 · 0 评论 -
深入剖析JVM,面试官你还想难倒我?
稳定的堆大小堆垃圾回收是有利的,获得一个稳定的堆大小的方法是设置-Xms和-Xmx的值一样,即最大堆和最小堆一样,如果这样子设置,系统在运行时堆大小理论上是恒定的,稳定的堆空间可以减少GC次数,因此,很多服务端都会将这两个参数设置为一样的数值。方法刚开始执行的时候,栈是空的,当方法执行过程中,各种字节码指令往栈中存取数据。3、一般情况下,年轻对象放在eden区,当第一次GC后,如果对象还存活,放到survivor区,此后,每GC一次,年龄增加1,当对象的年龄达到阈值,就被放到tenured老年区。原创 2025-10-21 16:40:25 · 726 阅读 · 0 评论 -
万万没想到,JVM内存结构的面试题可以问的这么难?
方法区的容量可以是固定的,也可以随着程序执行的需求动态扩展,并在不需要过多的空间时自行收缩。以上,就是本文的全部内容,对于其中的很多知识点,作者并未逐一展开,感兴趣的朋友可以自行学习一下,关于Java虚拟机相关知识,推荐三本书:《深入理解Java虚拟机》、《HotSpot实战》以及《Java虚拟机规范(第8版)》,本文中内容也参考了这三本书中很多内容。但是,需要注意的是,上面的区域划分只是逻辑区域,规范对于有些区域的限制是比较松的,所以不同的虚拟机厂商在实现上,甚至是同一款虚拟机的不同版本也是不尽相同的。原创 2025-10-21 16:34:39 · 668 阅读 · 0 评论 -
又被 JVM 内存域方面的面试题给虐了?赶紧来补习
•介绍下 Java 内存区域(运行时数据区)•Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)•对象的访问定位的两种方式(句柄和直接指针两种方式)对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。原创 2025-10-19 15:31:02 · 620 阅读 · 0 评论 -
图文并茂,万字详解,带你掌握 JVM 垃圾回收!
垃圾回收( Garbage Collection 以下简称 GC)诞生于1960年 MIT 的 Lisp 语言,有半个多世纪的历史。在Java 中,JVM 会对内存进行自动分配与回收,其中 GC 的主要作用就是清楚不再使用的对象,自动释放内存。GC 相关的研究者们主要是思考这3件事情。哪些内存需要回收?什么时候回收?如何回收?本文也大致按照这个思路,为大家描述垃圾回收的相关知识。本文的主要内容如下(建议大家在阅读和学习的时候,也大致按照以下的思路来思考和学习):哪些内存需要回收?原创 2025-06-17 20:08:55 · 461 阅读 · 0 评论 -
为什么重写equals一定也要重写hashCode方法?
"==" 是运算符如果比较的对象是基本数据类型,则比较的是其存储的值是否相等;如果比较的是引用数据类型,则比较的是所指向对象的地址值是否相等(是否是同一个对象)。int b = 10;//true//显然不是同一个对象,false。原创 2025-05-27 21:25:58 · 728 阅读 · 0 评论 -
JVM有哪些垃圾回收器,实际如何选择?
JVM有哪些垃圾回收器,实际如何选择?原创 2022-06-21 20:11:47 · 1473 阅读 · 0 评论 -
从实战角度解读JVM(三):类加载机制+JVM调优实战+代码优化!
01 前言前面我们了解了JVM相关的理论知识,这章节主要从实战方面,去解读JVM。02 类加载机制Java源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行。虚拟机把描述类的数据从Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java 类型,这就是虚拟机的类加载机制。2.1 类加载时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)原创 2021-06-16 22:06:00 · 482 阅读 · 1 评论 -
深入理解Java虚拟机(二):JVM垃圾回收算法 + 垃圾收集器
01 前言上次讲解了JVM内存相关知识,今天继续JVM专题。02 JVM垃圾回收算法2.1 什么是垃圾回收?程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。2.2 什么样的对象需要回收?引用计数法 引用计数是历史最悠久的一种算法,最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然被很多编程语言使用。原理 假设有一个对象A,任何一个对.原创 2021-06-12 13:52:54 · 1285 阅读 · 6 评论 -
深入理解JVM(一):什么是JVM?什么是JVM内存模型?
01 前言本次将对jvm有更深入的学习,我们不仅要让程序能跑起来,而且是可以跑得更快!可以分析解决在生产环境中所遇到的各种“棘手”的问题,比如运行的应用卡住了,日志不输出,程序没有反应,CPU负载突然升高,多线程应用下,如何分配线程数量等。02 JVM介绍2.1 什么是JVM? 作为java工程师,对于jvm肯定不陌生。JVM是Java Virtual Machine的缩写,通俗来说也就是运行java代码的容器。当项目启动时,会根据jvm相关配置参数,在计算机的内存中开启一...原创 2021-06-11 15:06:27 · 1156 阅读 · 2 评论
分享