protected_class_method
全部标签 在扩展javax.swing.JFrame时,推荐使用setTitle("Title")或super("Title")设置标题的方法是什么在性能方面? 最佳答案 如果您对JFrame(在OpenJDK6-b14中)进行grepcode,并深入挖掘,您会看到构造函数JFrame()调用了构造函数Frame(),它调用Frame("")(link)。因此,如果您自己不指定对任何super构造函数的调用,则会添加隐式super(),因此调用会更有效(尽管非常轻微)super(“标题”)。 关于
在Maven中是否可以使用某些东西来自动执行这种检查?我看到了checkstyle和PMD,但没有找到此功能。基本上,如果有类A而没有ATestCase,我希望构建失败。我知道,这不是一个严格的检查,可以通过只创建类轻松绕过,但目前这就足够了。 最佳答案 你在找什么正如JensPiegsa指出的那样,您正在寻找的是一种可以显示测试覆盖率的工具,换句话说,就是您测试使用的代码百分比。它允许您以比(至少按类测试)更可靠的方式查看您的代码测试了多少。您可以使用Cobertura,它很好地集成在Maven中:http://mojo.code
我正在处理的Java项目结合使用了代码分析工具:PMD、Checkstyle和FindBugs。这些发现了大量错误、样式问题等,但经常有一个漏网之鱼:publicclassAbstractBadlyNamedClass{//Notabstract!//...}注意相反的方式被检查,即publicabstractBadlyNamedClass给出PMD警告“抽象类应命名为AbstractXXX”。任何人都可以建议是否有一种方法可以检查这一点,可以使用上述工具之一(可能是某种自定义规则?)或其他可以完成这项工作的自动化工具? 最佳答案
我收到以下错误:“比较方法违反了它的一般契约(Contract)!”使用以下比较器时,但是我无法使用jUnit复制异常。我想知道是什么导致了这个问题以及如何复制它。有其他人遇到同样问题但不知道如何复制的例子。publicclassDtoComparatorimplementsComparator{@Overridepublicintcompare(Dtor1,Dtor2){intvalue=0;value=r1.getOrder()-r2.getOrder();if(value==0&&!isValueNull(r1.getDate(),r2.getDate()))value=r1.g
是否可以在/sys/class/gpio/gpioX设备树中的文件上设置JAVANIOWatchService以监督那里的变化?直接从Java中检测GPIO文件(即GPIO输入)的变化是个不错的主意,但我担心这不受支持。确认它不受支持(可能还有原因)就足够了。 最佳答案 Java7NIOFileWatcher的linux实现使用inotify。Inotify是一个linux内核子系统,用于通知文件系统更改。它有限制并且不适用于/proc、/sys和网络共享。请阅读inotifylimitationsonwiki:Inotifydoe
在静态方法URL.setURLStreamHandlerFactory的Java文档中,有一条警告“此方法在给定的Java中最多只能调用一次虚拟机”。http://docs.oracle.com/javase/7/docs/api/java/net/URL.html#setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)简单看了下源码,URL类中有一个静态实例变量:staticURLStreamHandlerFactoryfactory;setURLStreamHandlerFactory只是将工厂分配给这个变量:pub
我目前在一个基于Java的大学类里面,对于编码示例,教授正在使用protected字段供子类访问。我问这是否是不好的做法,并被告知这是正常的。是这样吗,为什么不对抽象方法使用setter和getter?我认为除非另有要求,否则最好限制尽可能多的信息。我对abstract父类使用setter和getter进行了测试,它适用于子类化的abstract父类。虽然抽象类不能被实例化,但据我所知,当子类被实例化时,它们仍然可以用来创建对象。这是一个简短的例子:publicabstractclassAnimal{protectedintheight;}publicclassDogextendsAn
在AndroidStudio中,以下代码将变量commandBytes着色以指示“隐式匿名类参数”:publicbooleanwriteCommand(byte[]commandBytes){if(writeCommandInProgress.compareAndSet(false,true)){writeSubscription=bleDevice.establishConnection(asBleServiceRef,false).flatMap(rxBleConnection->rxBleConnection.writeCharacteristic(asInputCharId,c
我有两种将实体映射到域的方法。RDomainentityToDomain(REntityrEntity)/*thismethodignoressomeofthefieldsinthedomain.*/RDomainentityToDomainLight(REntityrEntity)当我尝试定义实体列表到域的映射方法时,我得到了为映射集合找到的模糊映射方法元素。ListentitiesToDomains(ListrEntities)有没有办法定义用于映射对象集合的方法 最佳答案 正如@Filip所建议的那样,最好这样做:RDomai
请告诉我在每次年轻GC事件之后确定提升到老年代的年轻代内存组成的最佳方法是什么?理想情况下,我想知道负责的类名,比如每个“年轻一代->老一代”提升block中80%的堆;例子:我有600M的younggen,每个tenure提升6M;我想知道这个6M是由哪些对象组成的。谢谢。 最佳答案 没有简单的方法可以做到这一点,但是,我最近一直在分析大型java应用程序的内存性能,并且可以分享一些经验。以下是我如何找到哪些对象被提升到老一代:首先,您需要确定“旧/永久”空间中有哪些对象。这基本上就是标准的Java堆分析。为此,我推荐jmap。它