草庐IT

class_instance

全部标签

java - Maven 和代码指标 : check for existence of a test case for each class

在Maven中是否可以使用某些东西来自动执行这种检查?我看到了checkstyle和PMD,但没有找到此功能。基本上,如果有类A而没有ATestCase,我希望构建失败。我知道,这不是一个严格的检查,可以通过只创建类轻松绕过,但目前这就足够了。 最佳答案 你在找什么正如JensPiegsa指出的那样,您正在寻找的是一种可以显示测试覆盖率的工具,换句话说,就是您测试使用的代码百分比。它允许您以比(至少按类测试)更可靠的方式查看您的代码测试了多少。您可以使用Cobertura,它很好地集成在Maven中:http://mojo.code

java - com.sun.istack.SAXException2 : Instance . .. 正在替换 "java.lang.Object",但是 ... 绑定(bind)到匿名类型

我正在将一个项目从版本1.x升级到jaxb2.2.7。我的应用有时能正常运行,但在某些回复中我看到了:java.lang.RuntimeException:javax.xml.bind.MarshalException-withlinkedexception:[com.sun.istack.SAXException2:Instanceof"com.mycompany.global.er.decoupling.binding.response.PricePointType$BalanceImpactRates$BalanceImpactRate"issubstituting"java.l

java - 是否有 Checkstyle/PMD 规则 "Non-abstract classes should not be named AbstractXXX"?

我正在处理的Java项目结合使用了代码分析工具:PMD、Checkstyle和FindBugs。这些发现了大量错误、样式问题等,但经常有一个漏网之鱼:publicclassAbstractBadlyNamedClass{//Notabstract!//...}注意相反的方式被检查,即publicabstractBadlyNamedClass给出PMD警告“抽象类应命名为AbstractXXX”。任何人都可以建议是否有一种方法可以检查这一点,可以使用上述工具之一(可能是某种自定义规则?)或其他可以完成这项工作的自动化工具? 最佳答案

java - 用于 UNIX sys/classes/gpio 文件的 NIO watchservice

是否可以在/sys/class/gpio/gpioX设备树中的文件上设置JAVANIOWatchService以监督那里的变化?直接从Java中检测GPIO文件(即GPIO输入)的变化是个不错的主意,但我担心这不受支持。确认它不受支持(可能还有原因)就足够了。 最佳答案 Java7NIOFileWatcher的linux实现使用inotify。Inotify是一个linux内核子系统,用于通知文件系统更改。它有限制并且不适用于/proc、/sys和网络共享。请阅读inotifylimitationsonwiki:Inotifydoe

java - 什么时候应该使用 Instance<T> 和 Provider<T> 在 CDI 中注入(inject) bean?

我一直在阅读Instance的API文档和Provider,但尚不完全清楚何时应使用它们。以下方法之间有什么区别?@InjectMyBeanbean;@InjectInstancebean;@InjectProviderbean; 最佳答案 Provider是一个由CDI接口(interface)扩展的JSR-330接口(interface)Instance.注入(inject)MyBean,当没有匹配的bean或有多个匹配的bean时,您的应用程序将在启动期间抛出异常。注入(inject)Instance,bean解析委托(del

java - "implicit anonymous class parameter"在这种情况下是什么意思?

在AndroidStudio中,以下代码将变量commandBytes着色以指示“隐式匿名类参数”:publicbooleanwriteCommand(byte[]commandBytes){if(writeCommandInProgress.compareAndSet(false,true)){writeSubscription=bleDevice.establishConnection(asBleServiceRef,false).flatMap(rxBleConnection->rxBleConnection.writeCharacteristic(asInputCharId,c

java - IntelliJ 2017.2 "Deploy applications configured in Tomcat instance"对话框中的 "Run/Debug Configurations"是什么?

在IntelliJUltimate2017.2,在Run/DebugConfigurations对话框中,带有TomcatServer>左边的Local项被选中,exactly复选框DeployapplicationsconfiguredinTomcatinstance是什么意思?此对话框的全部目的是在Tomcat中运行我的应用程序,所以我很困惑。我尝试通过左下方的?图标访问文档,但收到了404error对于itsURL. 最佳答案 此设置控制当从IntelliJIDEA启动Tomcat时,是否将部署您已经存在于TOMCAT_HOM

Java 垃圾收集器 : top object classes promoted (by size)?

请告诉我在每次年轻GC事件之后确定提升到老年代的年轻代内存组成的最佳方法是什么?理想情况下,我想知道负责的类名,比如每个“年轻一代->老一代”提升block中80%的堆;例子:我有600M的younggen,每个tenure提升6M;我想知道这个6M是由哪些对象组成的。谢谢。 最佳答案 没有简单的方法可以做到这一点,但是,我最近一直在分析大型java应用程序的内存性能,并且可以分享一些经验。以下是我如何找到哪些对象被提升到老一代:首先,您需要确定“旧/永久”空间中有哪些对象。这基本上就是标准的Java堆分析。为此,我推荐jmap。它

java - Java 中的 "inner class emulation"是什么?

刚刚在阅读eclipseJDT的文档时发现了这一点:IMethodBinding.getParameterTypes():...Note:Theresultdoesnotincludesyntheticparametersintroducedbyinnerclassemulation.我在JLS中找不到任何对内部类仿真的引用...有人知道这个仿真是什么吗?举个例子,也会有所帮助。:) 最佳答案 我认为Eclipse文档编写者对术语的理解有点松散。就JLS而言,内部类就是内部类,不需要模拟。但是,内部类通过典型的JVM实现的方式有点棘

java - 不能直接调用父类(super class)型构造函数——为什么不呢?

我有以下Java示例类:publicclassA{}publicclassSuper{protectedSuper(){}publicSuper(Aa){}}publicclassSubextendsSuper{}publicclassConsumer{publicConsumer(){Subsub=newSub(newA());//compilererror}}编译器错误指出参数不能应用于Sub中的默认构造函数,这是完全可以理解的。我很好奇的是这个决定背后的理由。Java在Sub中生成默认的空构造函数;为什么在这种情况下不能在幕后调用它?这主要是理智的手持情况,还是有技术原因?编辑我