From 942a47e13859f51b7bd60d8207509ce52718766a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E5=90=8D=E5=8F=AA=E5=BD=B1?= Date: Sun, 22 Nov 2020 22:53:48 +0800 Subject: [PATCH] =?UTF-8?q?update=20java=E5=9F=BA=E7=A1=80/classloader?= =?UTF-8?q?=E5=92=8Cclassforname.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classloader\345\222\214classforname.md" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/java\345\237\272\347\241\200/classloader\345\222\214classforname.md" "b/java\345\237\272\347\241\200/classloader\345\222\214classforname.md" index c90991b..07de6f5 100644 --- "a/java\345\237\272\347\241\200/classloader\345\222\214classforname.md" +++ "b/java\345\237\272\347\241\200/classloader\345\222\214classforname.md" @@ -8,6 +8,8 @@ 1. 类的加载过程 - 加载,连接(验证、准备、解析),初始化,使用,卸载,每一步做了什么都要熟悉,其他的如:加载的时候放在内存中哪个区(方法区或者元空间);准备的时候除了分配空间之外还做了什么,是初始化零值还是会设置实际值等(只会初始化零值) + 1)加载:通过类的全限定名,查找类的二进制字节流,将该字节流代表的静态存储结构转为方法区的运行时数据结构,最后在java堆中生成一个代表这个类的class对象,作为方法区这些数据的访问入口 + 2. 双亲委派模型 - 双亲委派模型的过程要知道,以及它的好处,不使用的话会有什么问题等,要打破双亲委派模型应该怎么做?(继承ClassLoader,重写loadClass方法),要自定义类加载器应该怎么做?(继承ClassLoader,重写findClass方法) -- Gitee