![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 716 阅读 · 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 · 351 阅读 · 0 评论 -
JVM-01.JVM类加载机制
验证:验证格式是否正确、是否符合Java语言规范等准备:给类的静态变量分配内存,并赋默认值(非指定的值)解析:将符号引用替换为直接引用(内存地址),该阶段会把一些静态方法(符号引用)替换为数据锁住内存的指针或句柄等(直接引用)。–静态链接过程(类加载期间完成),动态链接程序运行期间将符号引用替换为直接引用初始化:对类的静态变量初始化为指定的值,执行静态代码块调用销毁类加载器(实质是类)引导类加载器BootStrapClassLoader:加载支撑JVM运行的位于JRE的lib目录下的核心类库(原创 2021-07-20 21:50:23 · 331 阅读 · 0 评论 -
垃圾回收调优
查看虚拟机运行参数:-XX:+PrintFlagsFinal -version | findstr "GC"找到垃圾回收相关参数1.调优领域内存锁竞争CPU占用IO2.确定目标【低延迟】还是【高吞吐量】,选择合适的回收器CMS,G1,ZGCParallelGCZing3.最快的GC是不发生GC查看FullGC前后内存占用,考虑下面几个问题数据是不是太多?数据表是否太臃肿a.对象图b. 内存大小是否存在内存泄漏a.常犯错误:static Map map =原创 2021-05-23 22:09:16 · 328 阅读 · 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 · 828 阅读 · 0 评论 -
JVM-02.JVM内存结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-19 23:13:33 · 705 阅读 · 0 评论