jvm规范:定义了 Class文件类型 运行时数据 帧栈 虚拟机的启动 虚拟机的指令集 vm指令集:类型转换,出栈入栈操作,运算,流程控制,函数调用。 jvm需要对java Library提供以下支持: --反射java.lang.reflect --ClassLoader --初始化class和i ...
分类:
编程语言 时间:
2019-03-24 09:51:57
阅读次数:
180
双亲委派模型工作过程是:如果一个类加载器收到类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器完成。每个类加载器都是如此,只有当父加载器在自己的搜索范围内找不到指定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载。 从源码(jdk1.8) ...
分类:
其他好文 时间:
2019-03-22 16:53:05
阅读次数:
132
1、说到谈谈类加载器,不得不说就是类加载器的双亲委派机制。 不同的classloader加载类的方式和加载路径都不一样,各自管理自己的范围 这个过程就是在每种classload中找出是否已经加载过将要加载的类。逐个检查,找到已加载过的就返回。这个过程,明显是用递归去实现。 为什么要使用双亲委派机制去 ...
分类:
其他好文 时间:
2019-03-15 17:13:08
阅读次数:
164
jvm 性能调优工具之 jmap 概述 命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。 jmap 用法 参数: option: 选项参数。 pid: 需要打印配置信 ...
分类:
其他好文 时间:
2019-03-14 18:07:34
阅读次数:
187
获取classpath下的资源文件 先调用当前线程的context加载器的getResourceAsStream方法去获取 没找到,在调用当前传入类的类加载器的getResourceAsStream方法获取 递归获取加载某个类的类加载器链条信息 ...
分类:
其他好文 时间:
2019-03-08 23:40:13
阅读次数:
227
1、添加spring-boot-devtools的包,true必须加上。 2、修改spring-boot-maven-plugin插件 现在可以改动保存,不启动服务的情况下,看是否可以自动加载。 如果做了以上两个步骤如果依然没有效果需要做一些其他配置 第一步:找到Setting-->Compiler ...
分类:
编程语言 时间:
2019-03-07 17:57:49
阅读次数:
199
1.Android4.4.4,使用xposedbriggeapi-54.jar,试了很久都不行,后来改用api-82,成功hook2.findAndHookMethod(),需要传要hook方法的参数类型,如果参数类型为类或者接口,需要用Classclazz=loadPackageParam.classLoader.loadClass(),load以后,就可以传clazz.class;3.
分类:
其他好文 时间:
2019-03-06 15:07:34
阅读次数:
119
类加载器是把编译后的class文件加载到内存,加载器可以分为启动类加载器和其他类加载器,而其他类加载器有可以分为扩展类加载器和应用程序类加载器 启动类加载器(BootStrap ClassLoader):加载java_home/lib或者指定目录下的类库文件,由封C++语言编写实现。 扩展类加载器( ...
分类:
其他好文 时间:
2019-03-05 11:18:05
阅读次数:
178
本篇文章已授权微信公众号 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