草庐IT

reflect_mask_helper

全部标签

java.lang.OutOfMemoryError : PermGen space: java reflection 错误

我在代码中使用java反射是这样的:Methodmethod=LogFactory.class.getDeclaredMethod("getContextClassLoader");method.setAccessible(true);ClassLoaderclassLoader=(ClassLoader)method.invoke(null);LogFactory.release(classLoader);我用jprofiler可以看到很多这样的类sun.reflect.GeneratedMethodAccessor11每次调用都会增加这些类sun.reflect.Bootstrap

java - java.lang.reflect.Array 的 getter 和 setter 方法的目的是什么?

Java类java.lang.reflect.Array提供一组用于动态创建数组的工具。但是除此之外,它还有一整套用于访问(获取、设置和长度)数组的方法。我不明白这一点,因为您可以(并且可能会)在创建时将动态生成的数组转换为数组,这意味着您可以使用正常的数组访问(括号表示法)功能。事实上,查看源代码您可以看到类所做的所有事情,转换数组,并在转换失败时抛出异常。那么所有这些额外方法的意义/用途是什么?更新考虑到您需要知道类型数组,以便知道使用哪种方法。更新2谢谢大家,你们的意见很有教育意义!我真的看不出什么时候我会把这个类用于除newInstance()(也许还有getLength())

java - 最新更改未反射(reflect)在 servlet (tomcat) 中

我正在做我安静的项目,现在我正在使用tomcat和eclipse到现在都正常工作..我在22-1-2012部署了war(带有一些打印消息)它工作正常然后第二天我做了一些更改删除了一些消息并重新部署了文件...在我的webapps文件夹中它显示了最新时间对于我的war文件的“最后修改”..我做错了什么告诉我..P.S对同一项目的JSP页面的任何更改都会反射(reflect)出来,但servlet类未更改这是日志文件显示的内容_SEVERE:Web应用程序似乎已通过java.util.TimerAPI启动了名为[MySQLStatementCancellationTimer]的TimerT

java - NoSuchMethodError : org. slf4j.helpers.MessageFormatter.格式

我在运行我的应用程序时遇到此错误:[ERROR]Apr12,201310:18:56AMcom.google.appengine.tools.development.ApiProxyLocalImpllog[ERROR]INFO:javax.servlet.ServletContextlog:InitializingShiroenvironment[ERROR]1601[main]INFOorg.apache.shiro.web.env.EnvironmentLoader-StartingShiroenvironmentinitialization.[ERROR]1931[main]I

java - 对接口(interface)重写方法的反射(reflection)

我有以下代码,一个通用的ITest接口(interface)由一个非通用的ITestDouble接口(interface)扩展。op方法被ITestDouble覆盖。当我尝试列出ITestDouble的所有方法时,我得到了两次op。如何验证它们实际上是相同的方法?publicclassTest{publicstaticvoidmain(String[]args)throwsNoSuchMethodException{for(Methodm:ITestDouble.class.getMethods()){System.out.println(m.getDeclaringClass()+"

java - 如何在 jdk9/java-9 中使用 sun.reflect 包?

我正在使用jdk-9,我想在我的代码中使用sun.reflect.*包,但出现以下异常Exceptioninthread'main'java.lang.IllegalAccessError:classTest(inmoudle:UnnamedModule)cannotaccessclasssun.reflect.Reflaction(inmodule:java.base),sun.reflectisnotexportedtoUnnamedmodule当我使用JDK-9运行以下示例代码时publicstaticvoidmain(Stringargs[]){System.out.print

java - reflect.Field.annotations 始终为空

我正在尝试使用反射和注释。出于某种原因,每当我向字段(或类或方法)添加注释并使用反射查看该字段时,我都会看到它的annotations字段为空。例如,这段代码:publicclassTest{publicstaticvoidmain(String[]args)throwsNoSuchFieldException,SecurityException{System.out.println(Test.class.getField("bl").getAnnotations().length);}@annopublicintbl;public@interfaceanno{}}打印0。顺便说一句,

java - 更新 JOptionPane 以反射(reflect)组件状态更改

在我的GUI项目中有一个方法用于显示一个带有多个组件的JOptionPane,其中2个组件是ButtonGroups和2个JRadioButtons在每个中,在第一组中默认选择第一个按钮,在第二组中默认选择第二个按钮,在第二组中我想禁用第一个按钮直到选择第一组中的第二个按钮即如果用户对BG1中的默认选择感到满意,则他们无法在BG2中进行选择,只有在BG1中进行第二次选择后,他们才能在BG2中进行其他选择。JOptionPane可以实现这种行为吗?一直在查看JDialog、JOptionPane的教程并进行其他研究,但这些都没有证明对这种情况有帮助。如果有人能给我一些可能的解决方案的方向

java - 强化高 : Access specifier manipulation on reflection that is used to invoke a private constructor

我使用反射来调用类的私有(private)构造函数,以解决Sonar扫描报告显示的分支覆盖不足问题。这是我正在工作的代码片段://reflectiontoaccessaprivateconstructorofaclassConstructorc=CMISBridgeMaps.class.getDeclaredConstructor(newClass[0]);c.setAccessible(true);cmisBridgeMaps=c.newInstance(newObject[0]);以上代码解决了我的Sonar扫描关键问题。但不幸的是,fortify现在在以下行中显示访问说明符操作问

java - 如何解析 URL 并使用 Spring MVC 'reflectively' 运行方法?

我有一个SpringBoot应用程序,它以通常的方式使用SpringMVC,带有一堆@RequestMapping方法、Freemarker定义等。这一切都与WebMvcConfigurerAdapter类捆绑在一起。我想提供一项服务,用户提交有效URL列表,web应用程序将计算出将调用哪个Controller,传入参数,并返回每个URL的组合结果——所有这些都合而为一请求。这将使用户不​​必进行数百次HTTP调用,但仍允许他们在需要时发出一次性请求。理想情况下,我只需要注入(inject)一个自动配置的Springbean,这样我就不必重复Spring内部进行的URL解析、调整和处理