摘要: JDK6.0推出了动态编译的新功能,能够在程序中动态的写一个类,再对之进行编译。编译成class文件后就可以通过类加载方式把动态编译的类加载到内存中。当然也能通过RunTime类调用javac命令来动态编译。 动态编译类的主要步骤: ①、写一个字符串,这个字符串就是要编译的类的全部内容。 ②、通过输出流,把该字符串的内容写到工程下面指定的包中。 ③、对创建的java文件进行编译。 动态编译涉及的类有JavaCompiler、StandardJavaFileManager,具体如何编译看下面的例子。 ④、把编译后的字节码加载到内存,然后对其进行操作。 1 package co... 阅读全文
posted @ 2013-05-09 22:55 残剑_ 阅读(4885) 评论(1) 推荐(2) 编辑
摘要: Java中,反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是:如果使用不当,反射的成本很高。 Java的类反射所需要的类并不多,它们分别是:Field、Constructor、Method、Class、Object,下面我将对这些类做一个简单的说明。Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理... 阅读全文
posted @ 2013-05-09 12:16 残剑_ 阅读(1711) 评论(0) 推荐(1) 编辑