草庐IT

Java : Using parent class method to access child class variable

我有以下场景:publicclassA{privateintx=5;publicvoidprint(){System.out.println(x);}}publicclassBextendsA{privateintx=10;/*publicvoidprint(){System.out.println(x);}*/publicstaticvoidmain(String[]args){Bb=newB();b.print();}}执行代码时,输​​出为:5。如何通过父类方法访问子类(B)的变量(x)?是否可以不覆盖print()方法(即在B中取消注释)?[这很重要,因为在覆盖时我们将不得不再

GPU 上的 Java : Complete Method directly on GPUin plain Java

首先:是否可以使用Java并让它(部分)运行或使用GPU?如果可能的话,是否可以使用普通的Java语法而不使用特殊的cuda或opencl语法?我只想获取我的编码Java源代码,让它在GPU上以尽可能小的更改运行。非常感谢代码示例。 最佳答案 考虑Aparapihttp://aparapi.github.io/.它尝试在运行时将字节码转换为OpenCL。因此,您可以使用纯Java为您的GPU编写代码。完全公开,我是Aparapi的首席开发人员。 关于GPU上的Java:CompleteM

java - 为什么添加 try block 会使程序更快?

我正在使用以下代码来测试tryblock有多慢。令我惊讶的是,tryblock使它更快。为什么?publicclassTest{intvalue;publicintgetValue(){returnvalue;}publicvoidreset(){value=0;}//Calculateswithoutexceptionpublicvoidmethod1(inti){value=((value+i)/i)我的机器运行的是64位Windows7和64位JDK7。我得到以下结果:method1took914ms,resultwas2method1withtryblocktook789ms,

java - 多次调用 Method/Field.getAnnotation(Class) 与在 Map 中预缓存此数据的性能

我想知道是否有任何关于重复调用(在Java中)Method.getAnnotation(Class)和Field.getAnnotation(Class)的性能的比较/研究方法,而不是存储(在程序启动时)具有类元数据信息的预计算Map并稍后重复查询。哪一个可以提供最佳的运行时性能?这个性能在Java5、6和7下是否相同? 最佳答案 Map应该是更可取的方法。主要问题不仅与缓存有关。还能改善多线程争用。在Method.getAnnotation()中,它调用同步私有(private)方法declaredAnnotations()。同步

Java 泛型 : actual argument T cannot be converted to int by method invocation conversion

我有这样的代码://ThisclasscannotbechangedclassVendorApi{staticvoidfunc1(charx){}staticvoidfunc1(intx){}staticvoidfunc1(floatx){}staticvoidfunc1(doublex){}}classMain{staticvoidmy_func(Targ){//muchofcode,whichusesT//...VendorApi.func1(arg);}publicstaticvoidmain(Stringargs[]){//callmy_funcforeachtype(char

Java 图形用户界面 : about getContentPane( ) method and content

在这段代码中:JLabelemptyLabel=newJLabel("");emptyLabel.setPreferredSize(newDimension(175,100));frame.getContentPane().add(emptyLabel,BorderLayout.CENTER);我可以看到它创建了一个新标签并将其添加到JFrame对象frame中。但我想了解getContentPane()做了什么,为什么需要它?我读了thisAPI但我还是不明白。 最佳答案 每个Swing顶级容器(和JInternalFrame)都

java - 获取调用者方法 (java.lang.reflect.Method)

我想获取调用方法java.lang.reflect.Method。不是方法的名称。这是一个如何获取调用者类的示例。//findthecallersclassThreadt=Thread.getCurrentThread();Classklass=Class.forName(t.getStackTrace()[2].getClassName());//dosomethingwiththeclass(likeprocessingitsannotations)...仅供测试! 最佳答案 如果它只是为了测试,那么这可能会起作用。它假定类文件

Java 反射 API : Invoking a method without parameters

我要调用的方法(我知道它是公共(public)的,但我需要使用反射):publicbyte[]myMethod()我得到这样的Method对象并且m包含myMethod()(我用调试器检查过)Methodm=Class.forName(MyClass.class.getName()).getDeclaredMethod("myMethod");最后我需要调用m并将结果传递给一个对象:byte[]myBytes=null;m.invoke(myBytes);没有抛出异常,但myBytes保持为空......我也尝试了以下但没有成功:m.invoke(myBytes,(Object[])n

java - 泛型 hell : hamcrest matcher as a method parameter

所以,让我们有一个字符串列表和一个接受Hamcrest匹配器并返回matches()的结果的函数。提供的匹配器的方法:publicbooleanmatchIt(finalMatcher>matcher){finalListlst=obtainListFromSomewhere();returnmatcher.matches(lst);}到目前为止一切顺利。现在我可以轻松调用:matchIt(empty());matchIt(anything());matchIt(hasItem("item"));matchIt(everyItem(equalToIgnoringCase("item")

JAVA :Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=406, reply

JAVA报错ShutdownSignal:channelerror;protocolmethod:#method(reply-code=406,reply-text=PRECONDITION_FAILED-unknowndeliverytag0,class-id=60,method-id=80)简介:在项目开发中,有时可能会遇到“ShutdownSignal:channelerror;protocolmethod:#method(reply-code=406,reply-text=PRECONDITION_FAILED-unknowndeliverytag0,class-id=60,metho