![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 74
周周笔记
这个作者很懒,什么都没留下…
展开
-
利用javaagent监控sql查询时长
通过javaagent监控sql查询时长原创 2023-04-11 21:20:55 · 1459 阅读 · 1 评论 -
JVM对象创建
1.类加载new对象或对象克隆或序列化时判断是否加载过该对象,如果没有加载过,尝试加载2.分配空间类加载成功后,要为对象分配内存空间来存储这个对象,加载完毕后可以确定当前对象的大小...原创 2022-04-23 20:10:56 · 246 阅读 · 0 评论 -
自定义类加载器|打破JVM双亲委派机制
上一章什么是JVM双亲委派机制本章简单说明一下怎么去打破jvm的双亲委派机制jvm的双亲委派机制主要核心方法有两个1: loadClass决定有哪个类加载器去加载文件,之后调用findClass2: findClass扫描包,解析class知道核心方法后,从这两个方法入手首先这两个方法都是在ClassLoader这个文件中并且都是可以重写的那么就可以继承ClassLoader这个类,重写其中的两个方法代码如下:package com.example.demo.launcher;原创 2022-04-16 21:28:12 · 527 阅读 · 0 评论 -
JVM双亲委派机制
运行java程序时,首先会通过jvm.dll创建出c++实现的java虚拟机,在C++中创建bootstrap类加载器,之后会调用java的Launcher类的getLauncher初始化方法创建出ext类加载器和app类加载器。源码:当类加载器初始化完毕之后,就可以加载类了。加载类的核心方法loadClass就是双亲委派机制的核心代码loadClass方法加载过程1、findLoadedClass判断当前类有没有加载过2、判断parent父加载器是否不为空,如果不为空,调用父加载器的lo.原创 2022-04-16 18:14:50 · 454 阅读 · 0 评论 -
JVM类加载过程
类加载过程类加载过程有如下几步:加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载加载:在硬盘上找到并且读取字节码文件,也就是我们的java类,使用到类的时候会进行加载,比如说调用类的main方法或者new出来的对象,在加载阶段会在内存里面生成一个class文件,jvm在启动后调用的就是生成的class文件。验证:校验class文件是否正确。准备:给类的静态变量分配内存,赋予初始值。比如:publ原创 2021-02-04 15:34:05 · 323 阅读 · 3 评论