![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
zouhuan_1995
这个作者很懒,什么都没留下…
展开
-
JVM之类加载与初始化篇一(初始化)
JVM中类加载和初始化的说明:在java代码中,类型的加载、连接、初始化过程都是在运行期完成的。1.加载:查找并加载类的二进制数据,具体来说,是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区中,让后在内存中创建一个java.lang.Class对象(jvm规范并未规定Class对象位于哪里,HotSpot虚拟机将其放在了方法区中)用来封装类在方法区中的数...原创 2019-07-29 21:13:45 · 245 阅读 · 0 评论 -
JVM之类加载与初始化篇二(加载 / 自定义加载器)
JVM类加载器:1.jvm虚拟机自带的加载器。1).根类加载器(Bootstrap),对应系统属性sun.boot.class.path,由C++实现;2).扩展类加载器(Extension),对应系统属性java.ext.dirs,由java语言提供的类加载器,是ClassLoader类的子类;3).系统(应用)类加载器(system),对应系统属性java.class.p...原创 2019-08-25 18:53:50 · 1066 阅读 · 0 评论 -
JVM之类加载与初始化篇三(线程上下文类加载器和SPI机制)
说明:如果一个类由类加载器A加载,那么这个类依赖的类也是由相同的类加载器尝试加载。(依赖类没有被加载过)问题:java对数据库连接只提供了一套规范,也就是接口类。具体的实现有各个厂商提供。java.sql.*中的所有类都位于rt.jar包下,由启动类加载器加载。而具体的实现类一般都是位于classpath下,应当由系统类加载器加载。那么我们使用接口类中的API时,如何加载接口类的具体实现?(...原创 2019-08-31 20:17:19 · 333 阅读 · 0 评论 -
基于字节码分析try/catch/finally执行流程
程序示例:public class TestTryCatchFinally { public static void main(String[] args) { System.out.println(testReturn()); } private static int testReturn() { int i = 1; ...原创 2019-10-05 11:58:00 · 173 阅读 · 0 评论