草庐IT

class_methods

全部标签

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 - 为什么 Java 需要 "This method can be called at most once in a given Java Virtual Machine"?

在静态方法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 - "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 - 映射结构 : Ambiguous mapping methods found for mapping collection element

我有两种将实体映射到域的方法。RDomainentityToDomain(REntityrEntity)/*thismethodignoressomeofthefieldsinthedomain.*/RDomainentityToDomainLight(REntityrEntity)当我尝试定义实体列表到域的映射方法时,我得到了为映射集合找到的模糊映射方法元素。ListentitiesToDomains(ListrEntities)有没有办法定义用于映射对象集合的方法 最佳答案 正如@Filip所建议的那样,最好这样做:RDomai

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 : execute a method over a maximum period of time

我正在使用JavaMailAPI,Folder类中有一个名为“搜索”的方法,有时执行时间过长。我想要的是在最长的时间段内执行此方法(例如最多15秒),这样我可以确定此方法不会运行超过15秒。伪代码messages=maximumMethod(Folder.search(),15);是否必须创建一个线程来执行此方法并在主线程中使用wait方法? 最佳答案 最好的方法是创建一个单线程的executor你可以用它提交可调用文件。返回值为Future你可以从中得到结果。你也可以说等待这么久才能得到结果。这是示例代码:ExecutorServ

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

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

Java 泛型 : Method X is not applicable for the arguments

EventHandler.java:publicabstractclassEventHandler{publicabstractvoidHandleEvent(Objectsender,Ee);}观察者.java:publicclassObservers{privateCopyOnWriteArrayList>mListeners=newCopyOnWriteArrayList>();publicvoiddispatchEvent(Objectsender,Eargs){if(mListeners!=null){for(EventHandlerlistener:mListeners){

使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found

我正在尝试使用findbugs1.3.2的注释。我在一个简单的测试中使用了edu.umd.cs.findbugs.annotations.NonNull注释,它工作正常。但是,现在我有一个大项目,由子模块组成,使用maven,我通过在某个java文件中导入该注释得到以下编译错误:com.sun.tools.javac.code.Symbol$CompletionFailure:classfileforjavax.annotation.meta.Whennotfound可能是什么问题?我尝试在所有子模块中添加findbugs依赖项。也许它与jsr305冲突?我看到我们的依赖项之一使用js