类在加载的过程中会出现三个阶段:1.java程序被编译为字节码文件,入xxx.class 2.通过classloader类加载器将xxx.class字节码文件加载到内存,封装成class对象,将字节码文件中的成员变量封装到class对象中的flelds对象,将构造方法封装成constructor对象 ...
分类:
编程语言 时间:
2019-07-17 09:37:51
阅读次数:
116
1.虚拟机的构成 虚拟结主要由运行时数据区、执行引擎、类加载器三者构成,我们所说的JVM内存模型指的就是运行时数据区。 2.运行时数据区组成和各个区域的作用 运行时数据区可以分为线程共享和线程不共享两部分,其中堆内存和方法区线程共享,本地方法栈、虚拟机栈、程序计数器线程不共享。 2.1.程序计数器 ...
分类:
其他好文 时间:
2019-07-15 16:04:07
阅读次数:
139
1、先建一个被加载的测试类 2、建一个自定义的类加载器 继承ClassLoader类,重写findClass,这样不破坏Java的双亲委派机制。 3、测试类 4、结果会输出 测试类加载成功 ...
分类:
其他好文 时间:
2019-07-12 14:23:40
阅读次数:
88
上一篇文章MAT入门到精通(一)介绍了MAT的使用场景和基本概念,这篇文章开始介绍MAT的基本功能,后面还有两篇,一篇是MAT的高级功能,另一篇是MAT实战案例分析。 三、欢迎页 https://www.ximalaya.com/youshengshu/24991228/https://www.xi ...
分类:
其他好文 时间:
2019-07-10 01:20:35
阅读次数:
116
本文承接上一篇:乐字节Java发射之二:实例化对象、接口与父类、修饰符和属性 继续讲述Java反射之三:方法、数组、类加载器 一、方法 获取所有方法(包括父类或接口),使用Method即可。 public static void test() throws Exception { Class<?> ...
分类:
编程语言 时间:
2019-07-09 16:41:53
阅读次数:
137
承接上篇博客里面,类加载器把类加载把类加载进内存,同时创建出了一个唯一的Class对象,其实它本质上就是一个java类,只不过功能挺特殊的 说白了,就像当初,数据多了,用集合装,还多?写个类,用对象装, 类可以对一系列数据的描述,然后谁描述类呢 Class里面有类的基本信息 1.类的属性:Field ...
分类:
编程语言 时间:
2019-07-08 13:44:33
阅读次数:
145
类的加载是由类加载器完成的,类加载器包括:根加载器( BootStrap )、扩展加载器( Extension )、系统加载器( System )和用户自定义类加载器( java.lang.ClassLoader 的子类)。从 Java 2 ( JDK 1.2 )开始,类加载过程采取了父亲委托机制( ...
分类:
编程语言 时间:
2019-07-05 12:45:22
阅读次数:
110
如果你想看 Tomcat 源码但又无从入手,不妨从这个项目开始,代码量不多,但包含了 Tomcat 的核心处理流程,并且源码中 有相当丰富的注释 。相信通过此项目你能了解: NIO 基本编程、HTTP 协议的本质、基本的单元测试 Tomcat 应用部署、自定义类加载器的实现、Servlet 的管理和 ...
分类:
Web程序 时间:
2019-07-04 14:11:48
阅读次数:
140
SpringBoot自动配置模块 该配置模块的主要使用到了SpringFactoriesLoader,即Spring工厂加载器,该对象提供了loadFactoryNames方法,入参为factoryClass和classLoader,即需要传入工厂类名称和对应的类加载器,方法会根据指定的classL ...
分类:
编程语言 时间:
2019-07-03 18:23:19
阅读次数:
113
文章目录 开发过程中,必不可少的需要读取文件,对于打包方式的不同,还会存在一些坑,比如以jar包方式部署时,文件都存在于jar包中,某些读取方式在开发工程中都可行,但是打包后,由于文件被保存在jar中,会导致读取失败。 这时就需要通过类加载器读取文件,类加载器可以读取jar包中的class类当然也可 ...
分类:
编程语言 时间:
2019-07-03 13:23:08
阅读次数:
97