JVM 基础 JAVA 并发 JVM 性能调优 LeetCode 算法 .......
需积分: 0 160 浏览量
更新于2022-12-14
收藏 2.07MB PDF 举报
"JVM 基础知识点"
JVM(Java Virtual Machine)是 Java 语言的运行环境,负责执行 Java 字节码。 JVM 的主要组件包括类加载器、字节码验证器、执行引擎和垃圾回收器等。
1. JVM 参数分类
JVM 参数可以分为三类:标注指令、非标准指令和不稳定参数。标注指令以-开头,是所有 HotSpot 都支持的参数,可以使用 java -help 打印出来。非标准指令以-X 开头,是跟特定的 HotSpot 版本对应的,可以使用 java -X 打印出来。不稳定参数以-XX 开头,是跟特定 HotSpot 版本对应的,并且变化非常大。
2. 三色标记
三色标记是一种逻辑上的抽象,将每个内存对象分成三种颜色:黑色、灰色和白色。黑色表示自己和成员变量都已经标记完毕,灰色表示自己标记完了,但是成员变量还没有完全标记完,白色表示自己未标记完。
3. 垃圾回收
垃圾回收(Garbage Collection)是 JVM 的一种机制,负责回收无用的内存对象。垃圾回收分为四个阶段:初始标记、标记Region、并发标记和重新标记。
4. JVM 垃圾回收器
JVM 中有多种垃圾回收器,包括新生代收集器(Serial、ParNew、Parallel Scavenge)、老年代收集器(CMS、Serial Old、Parallel Old)和整堆收集器(G1)。
5. STW(Stop-The-World)
STW 是一种状态,在垃圾回收算法执行过程中,需要将 JVM 内存冻结的状态。在 STW 状态下,JAVA 的所有线程都是停止执行的,GC 线程除外,native 方法可以执行,但是不能与 JVM 交互。
6. 垃圾回收算法
JVM 中有多种垃圾回收算法,包括标记清除算法、拷贝算法和标记压缩算法。每种算法都有其优缺,选择合适的算法取决于具体的应用场景。
7. 确定对象是否是垃圾
确定对象是否是垃圾可以使用引用计数或根可达算法。引用计数是给堆内存中的每个对象记录一个引用数,引用数为 0 的对象就是垃圾。根可达算法是在内存中,从引用根对象向下一直找引用,找不到的对象就是垃圾。
8. 对象生命周期
一个对象从加载到 JVM,再到被 GC 清除,都经历了什么过程?包括用户创建对象、JVM 实例化对象、对象分配在堆内存中、minor GC、full GC 等阶段。
9. 排查 JVM 问题
排查 JVM 问题可以使用 jmap 查看 JVM 中各个区域的使用情况,可以使用 jstack 查看 JVM 中的线程信息。

青青♡
- 粉丝: 1
最新资源
- Python期末大作业,基于selenium的51job网站爬虫与数据可视化分析.zip
- Python实现基于协程的异步爬虫.zip
- python实现基于字典的多线程web目录扫描器.zip
- Python实现基于DeepFM模型的音乐推荐.zip
- qtppy(全称Quality testing platform-python) 是基于python语言开发的自动化测试平台.zip
- QQ机器人,用于远程执行命令,运行于Windows,基于Python,使用WebQQ协议 ..zip
- python语言基于CTP接口的二次开发,具体参照https___github.com_nicai0609_Python-CTPAPI.zip
- s60平台上基于Python的网易云音乐客户端.zip
- MyBatisDao是一个基于MyBatis框架的轻量级ORM扩展组件_支持Java类与数据库表的自动映射_提供一对一_一对多_多对多关联关系处理_支持懒加载与立即加载模式_集成动.zip
- web前端演示项目集合_包含Vue框架示例JavaScript原生代码HTML5页面布局CSS3样式设计响应式网页开发DOM操作实践Ajax异步请求处理前端组件化开发单页面应用SP.zip
- 海上风力发电与水下压缩空气储能互补系统建模仿真及经济效益分析_海上风力发电_水下压缩空气储能_系统建模_仿真分析_经济效益评估_互补系统设计_能源存储技术_可再生能源集成_电力系统.zip
- PasswordNote密码管理工具_支持一键生成多种格式密码_提供在线和离线存储模式_客户端加密确保服务器仅存储主密码哈希值和加密后笔记_实现用户密码和数据完全私有化_支持免费一.zip
- 基于模块化多电平技术和电动汽车集群的分布式电能存储控制系统_电动汽车停车场模拟_MMC仿真_impressjs演示_分布式储能控制与仿真平台_用于研究电动汽车集群作为分布式储能单.zip
- 日常实用工具集_漫画打包器_番剧重命名_硬件信息查看_自动化处理工具_Python脚本_图像压缩_文件重命名_系统信息检测_用于自动将散装漫画图片按数量分类打包为ZIP格式供Kom.zip
- 基于百度智能云对象存储服务的PHP软件开发工具包_提供文件上传下载删除管理及CDN加速功能集成_适用于Web应用和移动应用后端实现云端数据存储与分发_支持PHP72至74运行环.zip
- MYearODA_C_Net_数据库通用ORM组件_支持Oracle_DB2_MySql_SqlServer_SQLite_MariaDB_Informix_Sybase_Ac.zip