day27 1.类的加载概述和加载时机 2.类加载器的概述和分类 类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象。 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行。 类加载器的组成 Bootstrap ClassLoader根类加载器 Ext ...
分类:
编程语言 时间:
2016-05-01 13:30:07
阅读次数:
745
ClassLoader
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。 1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流等),通过ClassLoader从而将资源载入JVM
每个class都有一个ref...
分类:
编程语言 时间:
2016-04-29 15:13:36
阅读次数:
304
1.Groovy和Java对比 Groovy的松散的语法允许省略分号和修饰符 除非另行指定,Grovvy的所有内容都为public Grovvy允许定义简单脚本,同时无需定义正规的class对象 Grovvy在普通的常用java对象上增加了一些独特的方法和快捷方式,使得他们更容易使用 Grovvy语 ...
分类:
其他好文 时间:
2016-04-29 14:12:22
阅读次数:
210
一、获取Class对象的方式 Java中,每个类被加载到内存中,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类,获得Class对象有三种方式: 1.使用Class类的forName(String clazzName)静态方法,该方法需要传入字符串参数,该 ...
分类:
其他好文 时间:
2016-04-27 22:41:33
阅读次数:
302
1、java 代码: 2、控制台 输出: 3、 ...
分类:
其他好文 时间:
2016-04-23 16:30:56
阅读次数:
148
让一个成员函数带上常量性是什么意思呢?通常的答案是,一个常成员函数不会更改其class对象。这是一种平凡的表述,而编译器实现的手法也相当平凡。 任何非静态成员函数其实都被编译器隐式插入了一个指针类型的参数,以在调用时有一种指向class对象自身的途径。在函数内部,关键字this被用于给出该指针的值: ...
分类:
编程语言 时间:
2016-04-18 16:59:23
阅读次数:
153
类的加载 当程序主动使用某个类是,如果该类还没有被加载到内存中,系统就会通过加载、链接、初始化三个步骤对该类进行初始化,如果没有意外,JVM就会完成这三个步骤,所以有时也把这三个步骤称为类的加载和类的初始化。 类的加载是指将类的class文件读入内存,并为之创建一个java.lang.Class对象 ...
分类:
编程语言 时间:
2016-04-18 00:53:32
阅读次数:
175
Class类 首先,Class类里可以记载所有类的属性、方法等信息。这个也就是运行时类别标记,它记录了所有的对象(比如int,MyClass,void,数组等等)对应的类信息。 Class对象 JVM对于每个所使用的对象,都会有相应的Class对象与之对应,要么这种类型的Class对象已经创建好了, ...
分类:
其他好文 时间:
2016-04-17 17:39:02
阅读次数:
126
Class对象: Class对象记录了所有与类相关的信息,当类加载器从文件系统中加载.class文件到JVM中的同时会为每一个类创建一个Class对象。通过Class对象可以获取到类的属性、方法、构造器等全部与类相关的信息。 现在假设在com.aop包下有一个抽象类和一个类,定义如下: 很简洁,定义 ...
分类:
编程语言 时间:
2016-04-14 20:54:36
阅读次数:
324