![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 79
记录相关JVM学习内容
Chen_leilei
头发掉光,技术见长
展开
-
java排查故障思路
线上的故障无非就是四种,cpu,磁盘,内存,网络。出现的大多数问题都不仅仅在一个层面上面,基本出现问题了就是df,free,top 三连,然后上jstack,jmap.遇见具体问题分析即可。原创 2024-04-30 16:11:30 · 887 阅读 · 0 评论 -
垃圾回收机制和常用的算法
垃圾回收主要针对堆和方法区(非堆),程序计数器,虚拟机栈,本地方法栈这三个区域属于线程私有,随着线程的销毁,自然就会雄安会了,因此不需要堆着三个区域进行垃圾回收。原创 2023-08-02 11:15:31 · 655 阅读 · 0 评论 -
JAVA线上问题排查降龙十八掌
现场问题一般有以下几种问题 CPU,磁盘,内存,GC问题,网络同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。原创 2023-07-27 22:39:59 · 231 阅读 · 0 评论 -
java的对象模型
每一个Java类,在被JVM加载的时候,JVM会给这个类创建一个,保存在方法区,用来在JVM层表示该Java类。当我们在Java代码中,使用new创建一个对象的时候,JVM会创建一个对象,这个对象中包含了两部分信息,方法头以及元数据。对象头中有一些运行时数据,其中就包括和多线程相关的锁的信息。元数据其实维护的是指针,指向的是对象所属的类的。原创 2023-05-08 14:10:18 · 555 阅读 · 0 评论 -
JVM原理与实战(一)
1.类加载系统 负责从文件系统或者网络中加载Class信息2.方法区(1)加载的类信息存放于一块称为方法去的内存空间(2)除了类的信息外,方法区中可能还存放着运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)是所有线程共享的3.java堆java堆是在虚拟机启动的时候建立的,她是java程序中最主要的内存工作区域,几乎所有的java对象和数据都顿放在java堆中,堆空间是所有线程共享的。4.直接内存。原创 2023-05-05 17:38:01 · 743 阅读 · 0 评论 -
Unable to make protected final java.lang.Class
在jdk1.8升级到17之后,会有许多问题,今天遇见了一个,下面是异常详情:com.alibaba.excel.exception.ExcelGenerateException: java.lang.ExceptionInInitializerError at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:64) at com.alibaba.excel.ExcelWr原创 2022-05-27 18:10:49 · 1747 阅读 · 4 评论 -
一文搞懂双亲委派
今天参加面试,被面试官问道,了解双亲委派么?为什么要有双亲委派。我一头雾水,不了解。那我们现在就来看看什么叫双亲委派。说到双亲委派,你就得知道类加载器就是ClassLoader ,在java中ClassLoader一共有三种Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。AppClassLoa原创 2022-05-20 17:54:07 · 168 阅读 · 0 评论