- 博客(8)
- 收藏
- 关注
原创 JVM原理之调优工具
10 调优工具前面我们了解到了许多jvm命令以及参数,但是用命令还是不太方便,有没有可视化的工具呢?答案是肯定的10.1 jConsolejConsole工具是JDK自带的可视化监控工具。查看java应用程序的运行状态,监控堆信息,永久区使用情况,类加载情况等。命令行输入: jconsole10.2 jvisualvm10.2.1 监控本地java进程的CPU,类,线程等10...
2020-03-14 17:47:03
286
原创 JVM原理之调优参数
9 JVM调优参数9.1 参数类型标准参数java -versionjava -helpjava -server-X参数非标准参数,也就是在JDK各个版本中可能会有变动;-Xint 解释执行-Xcomp 第一次使用就编译成本地代码-Xmixed 混合模式,JVM自己来决定-XX参数Boolean类型格式:-XX:[+-]<name&g...
2020-03-14 17:39:47
370
原创 JVM原理之垃圾回收算法及垃圾收集器
6. 垃圾回收算法6.1 如何确定对象是垃圾要想进行垃圾回收,必须知道哪些对象是垃圾,那怎么知道呢?6.1.1 引用计数法如果一个对象被引用,就说明该对象不是垃圾;如果一个对象没有任何指针对其引用,它就是垃圾。缺点:互相引用的对象将永远不会被回收。如:对象A中有对象B的引用,B也亦然;6.1.2 可达性分析那什么是可达性分析呢?那些东西可以作为GCRoot呢?...
2020-03-14 17:25:49
244
原创 JVM原理之OOM异常
5. OOM异常类型5.1 Java heap spacejava.lang.OutOfMemoryError: Java heap space 异常展示/** * 设置堆初始大小 和 最大大小 * -Xms10m -Xmx10m * -XX:InitialHeapSize=10m -XX:MaxHeapSize=10m */public class HeapDemo1 { ...
2020-03-14 17:02:01
133
原创 JVM原理之运行时数据区详解
4. 运行时数据区关于运行时数据官方解释:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.54.1 堆 (heap)堆在虚拟机中是一块共享区域, 存放 对象实例 和数组;堆在虚拟机启动的时候创建。可调整堆的大小堆内存不够的时候会发生OOMjava.lang.OutOfMemoryEr...
2020-03-10 09:54:19
290
原创 JVM原理之类加载机制
1.什么是JVM1.1 JVM解释JVM是 Java Virtual Machine (Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引用地址:https://baike.baidu.com/item/JVM1.2 JVM 架构图2. 源码 -> 类文件2.1 源码class Person...
2020-03-10 09:39:09
230
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
349
原创 JUC中线程池与线程不安全类
JUC学习笔记1.什么是JUCJUC是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
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人