本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class ...
分类:
编程语言 时间:
2019-02-27 14:38:08
阅读次数:
168
JDK动态代理 说到java自带的动态代理api,肯定离不开反射。JDK的Proxy类实现动态代理最核心的方法: 这个方法的作用:在运行时,动态创建一组指定接口的实现类对象。其中的三大参数: ClassLoader loader 类加载器,主要作用是用来加载类的,把.class文件加载到jvm的方法 ...
分类:
其他好文 时间:
2019-02-27 01:18:36
阅读次数:
169
一、JVM结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制 ...
分类:
编程语言 时间:
2019-02-23 11:04:07
阅读次数:
221
spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。 其深层原理是使用了两个ClassLoader,一个C ...
分类:
编程语言 时间:
2019-02-17 00:47:09
阅读次数:
203
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。 devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类 ...
分类:
编程语言 时间:
2019-02-16 12:09:32
阅读次数:
166
类加载器:根据指定全限定名称将class文件加载到JVM内存,转为Class对象。 站在JVM的角度来看,只存在两种类加载器: 1、启动类加载器(Bootstrap ClassLoader):由C++语言实现(针对HotSpot),负责将存放在<JAVA_HOME>\lib目录或-Xbootclas ...
分类:
其他好文 时间:
2019-02-15 15:14:48
阅读次数:
204
1.什么是ClassLoader 2.四种ClassLoader 3.自定义CLassLoader (1)MyClassLoader 原理还是通过ClassLoader中的deFineClass方法来获取Class类型对象,自定义的是路径 (2)实现ClassLoaderChecker (3)实现效 ...
分类:
其他好文 时间:
2019-02-12 22:05:40
阅读次数:
169
三、JVM如何加载.class文件 1.Java虚拟机的四个部分 2.通过类加载器(ClassLoader)加载.class ...
分类:
其他好文 时间:
2019-02-12 20:16:39
阅读次数:
177
参考https://stackoverflow.com/questions/49470053/intellij-idea-return-null-with-classloader-getsystemresourceasstreammyfile-xml ...
分类:
其他好文 时间:
2019-02-09 22:47:06
阅读次数:
208
1 、说起jvm,很多人感觉jvm离我们开发实际很远。但是,我们开发缺每时每刻都离不开jvm。 a: java源码 编译后成.class字节码文件, b:根据classpath找到这个字节码文件, c:然后 用类加载器classloader加载文件。 经过上面三步后,JVM开始解释执行。 栈:程序运 ...
分类:
其他好文 时间:
2019-02-03 16:44:50
阅读次数:
154