补充(非书中): Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取Java字节代码,并转换成 java.lang.Class类的一个实例.每个这样的实例用来表示一个Java 类.通过此实例的 newInstance()方法就可以创建出该类的一个对象. Java 中的类加载器大致可以分成两类: 一类是系统提供的: 引导类加载器(bootstrapclass loader):它用来加载 Java 的核心库,是用…
ClassLoader 顾名思义就是类加载器,ClassLoader 作用: 负责将 Class 加载到 JVM 中    审查每个类由谁加载(父优先的等级加载机制)    将 Class 字节码重新解析成 JVM 统一要求的对象格式 类加载时机与过程 类从被加载到虚拟机内存中开始,直到卸载出内存为止,它的整个生命周期包括了:加载.验证.准备.解析.初始化.使用和卸载这7个阶段.其中,验证.准备和解析这三个部分统称为连接(linking).这里写图片描述 其中,加载.验证.准备.初始化和卸载这五…
Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效率也确实有点低了,自己还要加把劲,争取四月底全部看完,第六章讲的是Android的绘图机制,应该算是比较核心的东西了,不管什么功能,最终都是以图形的方式呈现给用户的,因此,掌握Android的绘图技巧,可以在让你设计应用的时候更加的随心所欲,对Android的理解更高 基本的绘图方法,相信读者都已经…
package com.ioc; public class Test { public static void main(String[] args) throws ClassNotFoundException { System.out.println(Test.class.getClassLoader()); System.out.println(ClassLoader.getSystemClassLoader()); System.out.println(ClassLoader.getSys…
Classloader 有3个作用 将class加载到JVM中去 审查每个类由谁去加载,是一种父优先的等级加载 把Class字节码统一编译成JVM统一要求的对象格式 ClassLoader的等级加载机制 bootstrapClassloader :JVM自带的加载自己的工具,既没有更高一级的有没有子一级的加载器 ExtClassLoader : 主要是加载 System.getProperty("java.ext.dirs")目录下的内容,既不是纯正JVM内部也不是真正的外部类加载器.…
阅读目录 一.ClassLoader概念 二.JVM平台提供三层classLoader 三.JVM加载class文件到内存有两种方式 四.ClassLoader加载类的过程 五.自定义类加载器 六.实现类的热部署 七.参考资料 回到顶部 一.ClassLoader概念 ClassLoader是用来动态的加载class文件到虚拟机中,并转换成java.lang.class类的一个实例,每个这样的实例用来表示一个java类,我们可以根据Class的实例得到该类的信息,并通过实例的newInstanc…
一.ClassLoader的作用: 1.类加载机制:父优先的等级加载机制 2.类加载过程 3.将Class字节码重新解析成JVM统一要求的对象格式 二.ClassLoader常用方法 1.defineClass:将byte字节流解析成JVM能够识别的Class对象 2.findClass:实现类的加载规则 3.resolveClass:选择让JVM来解决什么时候链接这个类 4.loadClass:获取这个类的Class对象 三.类加载器类继承关系图 (转) 1.ClassLoader:抽象类,类…
ClassLoader 采用上级委托接待机制加载 class JVM 平台提供三层 ClassLoader 1.Bootstrap ClassLoader:主要加载 JVM 自身工作需要的类 2.ExtClassLoader:加载 VIP 类 3.AppClassLoader:加载自定义类 JVM在加载类之前会检查请求的请求的类是否已经被加载,也就是要调用 findLoadedClass() 方法查看是否能够返回类实例. JVM表示一个类是否是同一个类会有两个条件: 1.类的完整类名是否一样 2…
java的I/O操作类在包java.io下,大致分成4组: 所有文件的存储都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再存储这些字节到磁盘.在读取文件时,也是一个字节一个字节读取. 字节流可以用于任何类型的对象,包括二进制对象:而字符流只能处理字符或者字符串 字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的. 但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode…