在没改变jvm的情况下java是如何扩展出Annotation的
摘要:在jvm没有改变的情况下,java是如何引进annotation的呢?为什么要引入呢?1、我们先说为什么要引入..在一个工程中会大量的用到配置文件,每次一个小改都要改动一个配置,这时如果有一种办法让他自动改动配置那是多好的事啊这时候annotation就被引进来了2、在jvm没有改变的情况下,那java又是如何引进annotation呢(1).包装interface类型,包装成@interface类型也就是annotation类型,所有都继承了Annotation这个接口(2)那方法,属性,类名上面的annotation的怎么取到呢,这时候就是通过反射和扩展jdk中的几个反射的实现 让Acce
阅读全文
posted @
2011-06-21 00:16
silentjesse
阅读(245)
推荐(0)
annotation本质
摘要:annotation事实上就是一个interface下面举一个例子package annotation.inherit; public @interface DefinedAnnotation { }将其class文件反编译之后 package annotation.inherit; import java.lang.annotation.Annotation; public interface DefinedAnnotation extends Annotation{} 你会发现事实上他就是一个实现了Annotation接口的interface
阅读全文
posted @
2011-06-19 20:40
silentjesse
阅读(223)
推荐(0)
java中的标记标识
摘要:何为标记标识(Maker)呢?1、java.io.Serializable 这个接口并没有任何方法,成员,为什么还要实现他呢?----------Maker interface 原因他纯粹是为了标识此实现类可以被系列化..给虚拟机提供一个标识而已 查询jdk的api文档就知道了"The serialization interface has no methods or fields and serves only to identify the semantics of being serializable"2、在java中还有一种标记只是用于标记(Maker),即Make
阅读全文
posted @
2011-06-19 20:16
silentjesse
阅读(1192)
推荐(0)
在java的反射中有几种创建对象的方法呢?
摘要:目前我所知道的有1、通过Class对象的newInstance()方法,这种方法的局限是只能取调用默认的构造函数2、通过取得Class对象的getConstructor方法取得Construtor对象,然后再通过调用Constructor类的newInstance的两个方法3、通过Array.newInstance方法来创建对象,但这种只适用于数组,数组也是一种对象
阅读全文
posted @
2011-06-19 16:11
silentjesse
阅读(6749)
推荐(0)
如何取得每个java类的对应的Class对象呢
摘要:1、.getClass()2、.class3、.TYPE,但这种方法只适用于java的8个基本数据类型对应的包装类型,例如Integer.TYPE,Double.TYPE,Long.TYPE
阅读全文
posted @
2011-06-19 16:07
silentjesse
阅读(282)
推荐(0)
java.lang.reflect.Array
摘要:The Array class provides static methods to dynamically create and access Java arrays.Array 类提供静态的方法来动态的创建和访问java数组事实上数组也是一个Object通过 Array的静态方法newInstance()方法得到的就是一个Object对象
阅读全文
posted @
2011-06-19 15:53
silentjesse
阅读(1135)
推荐(0)