Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
Java反射机制
Vector存储对象的一个问题
一个Vector v 中存储了A a、 B b、C c三个对象,A,B,C 三个类实现了一个共同的接口show(),但各自的实际工作有很大差别。现在要访问a,b,c三个对象的show()方法,该如何访问? 问题: 一个对象存入到Vect
关于AOP和MOP,reflection的问题?
有些aop的文章里又出现了反射(reflection)的概念,AOP与反射有什么不一样的吗?好像反射的概念要早于AOP吧?谁能来解释一下反射?究竟AOP和MOP,reflection的关系是怎样的?
Java性能提供技巧:
http://www.cs.utexas.edu/users/toktb/J-Breeze/javap
Class.forName(name).newInstance()与简单工厂模式结合 的问题?
ejb里调用dao工厂时抛出异常,ClassLoders not Found,具体相关代码如下,请问Class.forName使用是否有限制? 建立dao工厂,通过传递的类名daoName 动态生成具体的dao,但在实际运行抛出异常,pac
请问有没有方法获得方法的调用者
在做一个权限控制的方案时,对某些对象的方法调用需要验证调用者的合法性,但如果每个方法都要把调用者作为参数传入的话,就显得比较冗余。请问各位高手有没不办法获得是那一个对象调用了方法,或者java有没有该机制?
类的热拔插功能该如何实现
比如我实例化了一个类,该类的class文件在该实例的生命期内被更新,当系统得知了这一消息后,终止该实例并载入新类后实例化该类。请问,我该如何让JVM从类文件中重新获取该类?谢谢
反射的安全性控制机制好象没有起作用
我有这样的一个简单类:publ
classlaoder的问题
如果一个classloaderA加载了一个类A,而另一个被classloaderA加载的classloaderB也去加载类A,结果会是怎样的?按理说他们属于同一个命名空间,类A该不会被加载两次吧?我认为
关于在工厂模式中使用newInstance的困惑
在以前的帖子里面看到Banq大哥说,使用newInstance可以降低系统的耦合,主要是可以在代码里面完全消灭具体产品的类名,当时觉得也看明白了.但是最近在一个项目中使用工厂模式时尝试着使用这种方法发现了一些问题.如有一个产品的构造函数是:public User(Privil
反射和动态类方法调用,你选择哪个?
大致描述一下我遇到的情况,请大家帮忙耐心看看:) 在方法X里,需要通过变量type来决定调用某个类的dispatch()方法。具体调用哪个类的dispatch()方法,是根据type决定的。这些类的dispatcher()方法的参数和返回值
如何动态创建一个以前完全不存在的新类?
一般来说java建立对象可以用AAA aaa = new AAA(); 这个AAA对象必须是先建立好的public class AAA{....} java能否动态的创建一个以前完
设计模式与reflect该如何考虑选用?
reflect没有类型安全保障,但是有时显得比设计模式要简单。设计模式虽然有时候显得复杂,但是有安全保障。 该怎么去合理选用两者呢?
怎么样创建单态的工厂子类?
在运行期创建工厂子类要用Class.newInstance()它的前提是工厂子类必须有对工厂创建者可见的构造方法而工厂类又要设计为Singleton,它的构造方法应该是private 那,咋办儿呢?
关于一个反射的问题
请问如何可以实现这个函数:public void test(Object o, "go()");在这个函数中如果o有go()这个方法测执行,如果没有测打印"没有"于控制台,我想利用反射可以实现,却不知道如何下手,请高手们帮一下忙?
reflection能否访问对象的私有属性?
我做了一个测试,用反射访问对象私有属性的时候会抛出IllegalAccessException。可是我记得在哪里看过说反射可以访问对象的私有属性的。 到底可以么?
动态invoke的问题?
在tomcat服务器下,我在一个servlet里动态调用我的另外一个类的方法。出错。代码如下Object obj = ServletHelper.LoadNamedClass(sClsPath,sClsName);Method method = obj.getClass().
如何取得当前方法实例信息???
例如:public class Test{ public void test(int i) { //注意这里:想在这里得到该方法的具体信息,如方法名,参数 名、参数值 //.....codes
这两个方发看上去达成的效果是一样的
第一种:Class c = Class.forName("myclass");instance = (myclass)c.newInstance(); 第二种:new myclass();
上页
下页