类的加载过程Java类从加载到卸载大致如下
其中的部分工作内容:一、加载使用类的全名获取二进制流,在内存中生成class对象。
二、验证保证class文件中内容不会危害虚拟机自身的安全等。三、准备为类变量分配初始值。final等修饰的固定变量分配具体值,其他分配零值。
四、解析虚拟机将常量池中的符号引用替换为直接引用的过程
类加载器(1)Bootstrap ClassLoader
这个...
分类:
编程语言 时间:
2016-05-13 01:28:55
阅读次数:
162
Java为ClassLoader提供了一个URLClassLoader实现类,该类也是系统类加载器和扩展类加载器的父类(此处的父类,就是指类与类之间的继承关系)。URLClassLoader功能比较强大,它既 可以从本地文件系统获取二级制来加载类,也可以从远程主机获取二进制文件来加载类。
java.net
类 URLClassLoader
java.lang.Object
ja...
分类:
Web程序 时间:
2016-05-12 20:51:03
阅读次数:
229
本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/4/4-116.html
创建型模式
工厂模式:(建议使用泛型工厂——优雅)
步骤:
工厂单例;
配置文件只读一遍,静态代码块或私有构造方法;
通过配置文件获取对应加载类限定名,加载类并创建实例;
一个对外方法返回实例,达成工厂模式;
注:三层架构层与层...
分类:
其他好文 时间:
2016-05-12 19:03:42
阅读次数:
469
/**
* @描述 图片加载类
* @项目名称 App_News
* @包名 com.android.news.tools
* @类名 ImageLoader
* @author chenlin
* @date 2015-3-7 下午7:35:28
* @version 1.0
*/
public class ImageLoader {
private static Imag...
分类:
移动开发 时间:
2016-05-12 18:27:20
阅读次数:
192
本文介绍类加载器概念,类加载器的分类,类加载器加载类的机制,最后实现一个自定义类加载器。...
分类:
编程语言 时间:
2016-05-12 18:05:48
阅读次数:
243
1.类的加载过程
JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:
1) 装载:查找并加载类的二进制数据;
2)链接:
验证:确保被加载类的正确性;
准备:为类的静态变量分配内存,并将其初始化为默认值;
解析:把类中的符号引用转换为直接引用;
3)初始...
分类:
其他好文 时间:
2016-05-12 12:20:15
阅读次数:
135
文件类加载器,该加载器重载了loadClass方法,逻辑是只读取文件来加载类,不委托给父类加载器进行加载 测试代码 从下面的输出,可以看出: 1、在加载TestClass类时就已经引起其他类的加载了。 2、不要轻易重载loadClass(),双亲制很重要,否则会引起一个类存在多个Class对象。 3 ...
分类:
其他好文 时间:
2016-05-12 01:23:54
阅读次数:
285
jvm堆栈参数设置:-Xmx:设置最大堆大小;-Xms:设置最小堆大小;-Xss:设置栈大校栈最小默认1m静态代码块:随类的加载(且初始化,否则不执行)而执行且只执行一次。用来初始化静态变量静态代码块只能作为类的成员存在,Class.forName("java.lang.String");手动加载类Class.forNa..
分类:
其他好文 时间:
2016-05-09 22:21:49
阅读次数:
191
前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入到相应的类中;第二种方式是先用FileSystemXmlApplicationContext、Cla ...
分类:
编程语言 时间:
2016-05-09 18:35:04
阅读次数:
281
第一题:
加载类的时候执行静态代码块,静态代码块的作用为了初始化值。
第二题:
构造代码块先于构造函数的调用,和方法声明的位置无关。顺序是:加载类=>执行静态代码块
=>实例化类=>执行构造代码块=>执行构造函数。
构造代码块的作用也是为了初始化对象属性成员..
分类:
编程语言 时间:
2016-05-08 06:56:30
阅读次数:
203