- 1
- 0
- 约1.54万字
- 约 14页
- 2018-10-14 发布于山东
- 举报
12_Java类加载机制与反射.doc
12.1 Java类加载机制
前面我们给大家介绍过JVM的功能(提供运行时环境、垃圾回收机制和提供中立的体系结构)。在提供运行时环境中有个子功能是ClassLoader(类加载器),它主要用于将主类(即包含了main方法的类)加载到JVM的code segment(代码区)。然后运行环境找到main方法(程序入口)开始执行程序。在整个程序运行的过程中,会有更多的class被动态Load到内存中。类加载机制如图12-1所示:
图12-1 类加载机制
需要注意的是:类并非一次性就全部加载完毕,而是在需要的时候(运行期间)动态加载到内存。利用java -verbose:class Test可以观察类的具体加载过程。
12.2 Java反射机制
什么是反射
Java 程序在运行期间可以动态加载、解析和使用一些在编译阶段并不确定的类型数据,这一机制被称为反射(Reflection)。反射库(reflection library)提供了一个非常丰富且精心设计的工具类,以便编写能够动态操纵Java代码的程序。使用反射,在设计和运行中添加新类时,能够快速的应用开发工具动态的查询新添加类的能力。
反射方式
反射机制提供的功能
·加载运行时才能确定的数据类型
·解析类的结构、分析类的能力、获取其内部信息
·操作类(进行实例化访问非静态成员,直接利用类名访问静态成员)或其实例(访问属性、调用方法、
原创力文档

文档评论(0)