JVM
还有头发的老李
hello world
展开
-
11. JVM性能优化可视化工具
JVM性能优化可视化工具工具选型工具说明jconsolejvisualvmmatjprofile工具选型jconsole:实时监控JVM情况,可使用jvisualvm进行替代。jvisualvm:实时监控JVM情况。mat:服务器中下载下来的dump文件进行内存分析。jprofiler:更专业的商业版JVM分析工具。工具说明对于JVM的性能优化监控工具,只需要掌握简单的工具操作方...原创 2020-04-26 23:18:48 · 257 阅读 · 0 评论 -
10. JVM常用命令
JVM常用命令1 性能优化常用命令2 官网学习资料2.1 官网地址2.2 jps(JVM Process Status Tool)2.2.1 官网地址2.2.2 描述2.2.3 命令格式2.2.3.1 参数(options)2.2.4 示例2.3 jinfo(Configuration Info for Java)2.3.1 官网地址2.3.2 描述2.3.3 命令格式2.3.3.1 参数(opt...原创 2020-04-24 22:49:23 · 971 阅读 · 0 评论 -
9. JVM常用参数
JVM 常用参数1 常用参数1.1 内存相关参数1.1.1 参数说明1.1.2 参数内存关系图1.2 GC调优参数1.2.1 基础参数1.2.2 并行回收器相关参数1.2.3 CMS 回收器相关参数1.2.4 G1 回收器相关参数2 官网资料2.1 官网地址2.2 参数命令分类2.3 标准选项(Standard Options)2.3.1 常用示例2.4 非标准选项(Non-Standard Op...原创 2020-04-06 12:02:49 · 435 阅读 · 0 评论 -
8. G1垃圾收集日志
1 G1 垃圾收集日志1.1 垃圾收集器设置设置 JVM 启动参数-XX:+UseG1GC,将当前 JVM 增加回收器设置为 G1 垃圾收集器,启动参数可参考使用-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:D://l...原创 2020-03-20 23:38:29 · 350 阅读 · 0 评论 -
7. 理解GC日志
1 前言阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。每一种收集器的日志形式都是由它们自身的实现所决定的,换而言之,每个收集器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性。2 打印 GC 日志2.1 启动参数JVM 默认是不打印 GC 日志的,如果要打印 GC 日志进行分析,需要在 JVM 的启...原创 2020-03-20 22:43:02 · 363 阅读 · 0 评论 -
6. 垃圾收集器
1 前言如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。1.1 新生代、老年代垃圾收集器组合2 Serial 收集器2.1 概念Serial 收集器是最基本的...原创 2020-03-18 22:09:29 · 166 阅读 · 0 评论 -
5. 垃圾回收算法
1 前言Java与C/C++相比最大的特点就是Java不需要开发人员进行内存的相关管理。内存的创建与销毁都是由JVM完成的,创建一个对象后会涉及内存空间的分配,对象使用完成后会涉及到内存的回收。当我们需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。这过程必不可少的需要学习JVM对于内存空间的创建分配与回收、JV...原创 2020-03-18 00:21:16 · 119 阅读 · 0 评论 -
4. Java 运行时数据区域
1 官网Java 运行时数据区域官网地址1.1 官网描述The Java Virtual Machine defines various run-time data areas that are used during execution of a program. Some of these data areas are created on Java Virtual Machine s...原创 2020-03-16 20:58:39 · 217 阅读 · 0 评论 -
3. Java 虚拟机对象探秘
1 对象的创建虚拟机遇到new指令时会进行如下3个步骤:去常量池中找到这个类的引用,查看是否已被加载。确认这个类已被加载、解析和初始化过。如果1和2满足,则直接引用这个地址,不满足,就要执行类加载的过程。类加载检查通过后,接下来虚拟机将为新生成对象分配内存。分配方式有如下两种:指针碰撞:假设java堆中内存是绝对规整的。所有用过的内存放到一边,没用过的放到一...原创 2020-03-16 20:53:02 · 157 阅读 · 0 评论 -
2. 类加载
1 类加载机制1.1 类的生命周期使用和卸载不属于载加载的过程1.2 加载类的加载:1. 通过类的全限定名获取该类的二进制字节流。2. 将二进制字节流所代表的静态结构转化为方法区的运行时数据结构。3. 在内存中创建一个代表该类的 java.lang.Class 对象,作为方法区这个类的各种数据的访问入口。数组的加载:数组类的特殊性:数组类本身不通过类加载器创建,...原创 2020-03-14 23:51:43 · 88 阅读 · 0 评论 -
1. 初识JVM
1 Java8 简单介绍1.1 Java8 官网JDK8 官网地址1.2 Java8 概述网页引导过程:官网 -> Reference -> Developer GuidesOracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Developm...原创 2020-03-14 23:22:17 · 140 阅读 · 0 评论