- 博客(8)
- 收藏
- 关注
原创 JVM原理之调优工具
10 调优工具 前面我们了解到了许多jvm命令以及参数,但是用命令还是不太方便,有没有可视化的工具呢?答案是肯定的 10.1 jConsole jConsole工具是JDK自带的可视化监控工具。查看java应用程序的运行状态,监控堆信息,永久区使用情况,类加载情况等。 命令行输入: jconsole 10.2 jvisualvm 10.2.1 监控本地java进程的CPU,类,线程等 10...
2020-03-14 17:47:03 255
原创 JVM原理之调优参数
9 JVM调优参数 9.1 参数类型 标准参数 java -version java -help java -server -X参数 非标准参数,也就是在JDK各个版本中可能会有变动; -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 -XX参数 Boolean类型 格式:-XX:[+-]<name&g...
2020-03-14 17:39:47 335
原创 JVM原理之垃圾回收算法及垃圾收集器
6. 垃圾回收算法 6.1 如何确定对象是垃圾 要想进行垃圾回收,必须知道哪些对象是垃圾,那怎么知道呢? 6.1.1 引用计数法 如果一个对象被引用,就说明该对象不是垃圾;如果一个对象没有任何指针对其引用,它就是垃圾。 缺点:互相引用的对象将永远不会被回收。如:对象A中有对象B的引用,B也亦然; 6.1.2 可达性分析 那什么是可达性分析呢?那些东西可以作为GCRoot呢? ...
2020-03-14 17:25:49 219
原创 JVM原理之OOM异常
5. OOM异常类型 5.1 Java heap space java.lang.OutOfMemoryError: Java heap space 异常展示 /** * 设置堆初始大小 和 最大大小 * -Xms10m -Xmx10m * -XX:InitialHeapSize=10m -XX:MaxHeapSize=10m */ public class HeapDemo1 { ...
2020-03-14 17:02:01 108
原创 JVM原理之运行时数据区详解
4. 运行时数据区 关于运行时数据官方解释:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5 4.1 堆 (heap) 堆在虚拟机中是一块共享区域, 存放 对象实例 和数组; 堆在虚拟机启动的时候创建。 可调整堆的大小 堆内存不够的时候会发生OOM java.lang.OutOfMemoryEr...
2020-03-10 09:54:19 265
原创 JVM原理之类加载机制
1.什么是JVM 1.1 JVM解释 JVM是 Java Virtual Machine (Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引用地址:https://baike.baidu.com/item/JVM 1.2 JVM 架构图 2. 源码 -> 类文件 2.1 源码 class Person...
2020-03-10 09:39:09 211 1
原创 JUC,Stream流,函数式接口
1.读写锁 读写锁: 读 与 写 互斥 ,读 与 读 共享 ,写 与 写 互斥 package com.yg.threadpool.com.yg.blockQueue; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.Lock...
2020-03-07 19:34:57 279
原创 JUC中线程池与线程不安全类
JUC学习笔记 1.什么是JUC JUC是java并发编程中的一个工具包: 2.线程原理 2.1 线程的状态 public enum State { // Thread中的内部类 /** * Thread state for a thread which has not yet started. new Thread(),还未进行start操作 */ ...
2020-03-04 20:11:37 150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人