Fork me on Gitee

随笔分类 -  JVM

摘要:JVM中的类加载机制 当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接(验证、准备、解析)、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 类加载过程 加载 加载指的是将类的class文件读入到 阅读全文
posted @ 2021-10-10 22:23 明叶师兄。 阅读(123) 评论(0) 推荐(0)
摘要:JMM实现原理 线程之间的通信 线程之间的通信机制有两种,共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象进行通信。 在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的 阅读全文
posted @ 2021-08-21 23:24 明叶师兄。 阅读(213) 评论(0) 推荐(0)
摘要:JVM线上排查问题过程 记录如何排查CPU100%问题。 当我们把服务发布到服务器上,可能会因为一些问题造成我们的服务器CPU被打满甚至超过100%,那如果我们想知道到底上在做什么操作导致CPU持续过高呢?因为在线上,我们只能通过日志看问题,或者排查到哪个进程或者哪个线程持续占用CPU。然后才能找到 阅读全文
posted @ 2021-08-21 23:21 明叶师兄。 阅读(328) 评论(0) 推荐(0)
摘要:JAVA内存泄漏和内存溢出的区别和联系 内存泄漏memory leak 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 内存溢出 out of memory 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储in 阅读全文
posted @ 2021-08-09 23:02 明叶师兄。 阅读(95) 评论(0) 推荐(1)
摘要:JVM垃圾回收机制 JVM的组成 程序计数器 执行class文件到达哪一行了,线程私有的,不会发生内存泄漏。 堆 内存管理最大的一部分,当程序里new出一个对象,或者声明一个数组时,都会在堆内存中申请出一块空间。 分为新生代、年老代、永久代。 发生异常时是因为往里面添加的对象太多。 虚拟机栈 每个方 阅读全文
posted @ 2021-07-06 19:46 明叶师兄。 阅读(248) 评论(0) 推荐(0)