
JVM
文章平均质量分 92
Coding Machine
加油
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM-05.JVM调优工具及调优方法
1.jps工具 作用: 查看当前系统中有哪些JAVA进程 2.jmap工具 来查看内存信息,实例个数以及占用内存大小 文件较长,可以输出为对应的文件,也可以直接查看 num:序号 instances:实例数量 bytes:占用空间大小 class name:类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][] 查看堆内存占用情况(jmap -heap +进程id) 堆内存dump 生成堆du原创 2021-08-05 00:05:17 · 801 阅读 · 0 评论 -
JVM-03.对象创建与内存分配
1.对象创建的流程 #mermaid-svg-mHg9UcWC9IwBJKoN .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-mHg9UcWC9IwBJKoN .label text{fill:#333}#mermaid-svg-mHg9UcWC9IwBJKoN .node rect,#mermaid-svg-原创 2021-07-25 23:16:09 · 400 阅读 · 0 评论 -
JVM-01.JVM类加载机制
验证:验证格式是否正确、是否符合Java语言规范等 准备:给类的静态变量分配内存,并赋默认值(非指定的值) 解析:将符号引用替换为直接引用(内存地址),该阶段会把一些静态方法(符号引用)替换为数据锁住内存的指针或句柄等(直接引用)。–静态链接过程(类加载期间完成),动态链接程序运行期间将符号引用替换为直接引用 初始化:对类的静态变量初始化为指定的值,执行静态代码块 调用 销毁 类加载器(实质是类) 引导类加载器BootStrapClassLoader:加载支撑JVM运行的位于JRE的lib目录下的核心类库(原创 2021-07-20 21:50:23 · 401 阅读 · 0 评论 -
垃圾回收调优
查看虚拟机运行参数: -XX:+PrintFlagsFinal -version | findstr "GC"找到垃圾回收相关参数 1.调优领域 内存 锁竞争 CPU占用 IO 2.确定目标 【低延迟】还是【高吞吐量】,选择合适的回收器 CMS,G1,ZGC ParallelGC Zing 3.最快的GC是不发生GC 查看FullGC前后内存占用,考虑下面几个问题 数据是不是太多? 数据表是否太臃肿 a.对象图 b. 内存大小 是否存在内存泄漏 a.常犯错误:static Map map =原创 2021-05-23 22:09:16 · 398 阅读 · 0 评论 -
JVM-04.垃圾回收机制
对象首先分配在伊甸园区Eden 新生代空间不足时,触发Minor GC,伊甸园和From存活的对象使用Copy算法复制到To区,存活对象加1并交换From区和To区 Minor GC会触发STW(Stop The World),暂停其他的用户线程,等待垃圾回收结束,用户线程才恢复运行 当对象年龄超过阈值时,会晋升到老年代,最大年龄是15(4bit) 当老年代空间不足时,会先尝试触发Minor GC,如果之后空间仍然不足,会触发Full GC,STW时间会更长 如果老年代空间不足,会触发OutOfMemory原创 2021-05-20 23:55:01 · 929 阅读 · 0 评论 -
JVM-02.JVM内存结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码原创 2021-05-19 23:13:33 · 837 阅读 · 0 评论