![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
JVM
二次觉醒
路靠自己去走,才能越走越宽。
展开
-
堆内存诊断
jps工具 查看当前系统中有哪些Java进程 jmap工具 查看堆内存占用情况 `jconsole`工具 图形界面的,多功能的检测工具,可以连续监测原创 2022-09-18 21:04:32 · 106 阅读 · 0 评论 -
线程运行诊断,像cpu占用过高,程序运行很长时间没有结果?
诊断: (1)定位哪个进程对cpu的占用过高 ``` top ``` (2)用ps命令进一步定位是哪个线程引起的cpu占用过高 ``` ps H -eo pid,tid,cpu% | grep 进程id ``` (3)用jdk提供的工具分析 ``` jstack 进程id ``` 使用16进制转换线程id,找到问题线程,可看到问题代码行数原创 2022-09-15 22:33:24 · 173 阅读 · 0 评论 -
栈内存溢出
什么情况会导致栈内存溢出? (1)栈帧过多导致栈内存溢出。比如方法的递归调用,没有设置一个正确的结束条件,不断调用自己,每次调用都会分配一个栈帧,导致栈内存溢出。 (2)栈帧过大导致内存溢出。 -Xss size 给栈内存分配大小 下面是各系统默认分配栈内存大小: Linux 1024kb macOS 1024kb Oracle Solaris/x64 1024kb Windows 根据Windows的虚拟内存来定原创 2022-09-15 22:10:56 · 1112 阅读 · 0 评论 -
2、JVM的组成部分
一、类加载器 Java Class --> ClassLoader(类加载器),加载到jvm 二、JVM内部结构 Mnethad Area(方法区)、Heap(堆)、JVM Stacks(虚拟机栈)、PC Register(程序计数器)、Native Methad Stacks(本地方法栈) 三、执行引擎 Interpreter(解释器)、JIT Compiler(即时编译器)、GC(垃圾回收)原创 2022-09-15 21:54:53 · 336 阅读 · 0 评论 -
1、什么是JVM?学习JVM有什么用?
什么是JVM? 定义:Java Virtual Machine(Java虚拟机),java程序的运行环境(Java二进制字节码的运行环境)。 好处: (1)一次编写,到处运行。 (2)自动内存管理,垃圾回收功能 (3)数组下标越界检查 (4)多态 学习JVM有什么用? (1)应对面试 (2)理解底层的实现原理 (3)中高级程序员的必备技能原创 2022-09-15 10:41:04 · 214 阅读 · 0 评论