【Java】Java reflection
2015-07-11 16:18
489 查看
一 what is java class file(eg : demo.class)
A Java class file is a file (with the .class filename extension) containing Java bytecode that can be executed on the Java Virtual Machine (JVM). A Java class file is produced by a Java compiler from Java programming language source files (.java files) containing Java classes. If a source file has more than one class, each class is compiled into a separate class file. JVMs are available for many platforms, and a class file compiled on one platform will execute on a JVM of another platform. This makes Java platform-independent.
二 class Class
Class类是用来描述字节码文件的类,并提供获取字节码文件所有内容的方法。
三 利用Tomcat来讲解reflection的用处
我们知道Tomcat是一个独立的软件,已经是成品,当然我们没有源码,那么如何利用Tomcat扩展自己的功能呢?如果我们有源码,就可以在里面new 自己的对象,然后调用对象的方法。例如Tomcat给了Servlet接口,我们用MyServlet来实现这个接口,然后可以Servlet s = new myServlet();但是我们没有源码,所以就会用到反射技术。只需要在配置文件里面给出实现了接口的子类的名字MyServlet,Tomcat就会根据这个名字利用Class.forName(“MyServlet”);来生成对象,然后任意操作之。反射技术是利用类名找到 .class文件,从里面得到类的信息。
A Java class file is a file (with the .class filename extension) containing Java bytecode that can be executed on the Java Virtual Machine (JVM). A Java class file is produced by a Java compiler from Java programming language source files (.java files) containing Java classes. If a source file has more than one class, each class is compiled into a separate class file. JVMs are available for many platforms, and a class file compiled on one platform will execute on a JVM of another platform. This makes Java platform-independent.
二 class Class
Class类是用来描述字节码文件的类,并提供获取字节码文件所有内容的方法。
三 利用Tomcat来讲解reflection的用处
我们知道Tomcat是一个独立的软件,已经是成品,当然我们没有源码,那么如何利用Tomcat扩展自己的功能呢?如果我们有源码,就可以在里面new 自己的对象,然后调用对象的方法。例如Tomcat给了Servlet接口,我们用MyServlet来实现这个接口,然后可以Servlet s = new myServlet();但是我们没有源码,所以就会用到反射技术。只需要在配置文件里面给出实现了接口的子类的名字MyServlet,Tomcat就会根据这个名字利用Class.forName(“MyServlet”);来生成对象,然后任意操作之。反射技术是利用类名找到 .class文件,从里面得到类的信息。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统