![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
小么嘛小二郎
这个作者很懒,什么都没留下…
展开
-
Launcher和ClassLoader源码分析
1.ClassLoader 源码1.通过 ClassLoader.getSystemClassLoader() 进入源码分析。 public static void main(String[] args) { //1.获取classloader的方法 ClassLoader classLoader = ClassLoader.getSystemClass...原创 2019-07-10 21:15:09 · 754 阅读 · 0 评论 -
重写 重载
1. 解析方式分为动态解析和静态解析。静态解析是有些符号引用,在类加载阶段或者第一次使用时,转化为直接引用;另外一些符号引用则是在每次运行期间转化为直接引用,这种引用叫做动态解析,体现了java的多态性。静态解析的四种情形:(invokestatic,invokespecial) 1.静态方法 2.父类方法 3.构造方法 4.私有方法(不可以被重写) 他们是在类加载阶段,就将符号...原创 2019-07-15 23:50:52 · 306 阅读 · 0 评论 -
Class.forName("com.mysql.jdbc.Driver");
本篇博客是通过jdbc驱动的加载来深刻理解上下文类加载机制,博客有两篇,这是其一。通过分析Class.forName("com.mysql.jdbc.Driver");的运行过程,来深刻理解。1.已经导入mysql的驱动包 Class.forName("com.mysql.jdbc.Driver"); //进入方法 forName,可以看到,是加载并且初始化了className类,所...原创 2019-07-11 22:50:31 · 1646 阅读 · 0 评论 -
ClassLoader解析
1.ClassLoader 做什么的?ClassLoader是用来加载Class文件。他负责将Class的字节码形式转换成内存形式的Class对象。Class的字节码文件可以来自磁盘文件*.class,也可以是jar包里面的*.class,或者使网络上的字节流。其加载的本质是byte[ ]形式的字节数组。类加载器主要有两种,一种是jvm自带的类加载器,另一种用户继承了抽象类java.lang...原创 2019-07-12 15:36:43 · 195 阅读 · 0 评论