草庐IT

scripting-interface

全部标签

java - 使用 Java Native Interface 的缺点

我无法解决使用JNI的这两个缺点。我想更多地了解他们:难以调试运行时错误native代码JNI代码中的错误会导致整个JVM崩溃,并且不提供任何优雅恢复机制 最佳答案 调试困难您需要一个C/C++调试器来调试native代码。不可能轻松地从Java单步执行到C/C++代码。(虽然可以同时调试两者。我已经用Eclipse和CDT插件完成了,但这很痛苦)JNI错误native库中的错误C/C++代码可能/将会导致JVM无法恢复的核心转储/段错误,从而导致整个应用崩溃。 关于java-使用Jav

java - 注解不是继承自接口(interface)方法

我有一个带有注释方法的接口(interface)。注释用@Inherited标记,所以我希望实现者继承它。然而,事实并非如此:代码:importjava.lang.annotation.Inherited;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;importjava.lang.reflect.Method;importjava.util.Arrays;publicclassExample{publicstaticvoidmain(String[]args)throws

java - 如何在Eclipse中查找哪些类实现了多个接口(interface)?

使用Eclipse,我如何找到哪些Java类实现了接口(interface)AAND接口(interface)B?谢谢。 最佳答案 我刚刚遇到了同样的问题,我确实缺少Eclipse搜索对话框中的这个功能。手动完成所有类(class)并不是很愉快,所以我使用了这个讨厌的解决方法。鉴于这种结构:publicinterfaceA{publicStringx();}publicinterfaceB{}publicclassImplementsBothimplementsA,B{@OverridepublicStringx(){...}}pu

java - 类声明中的成员接口(interface)是否隐式公开?

代码我有以下带有成员接口(interface)的类:packagecom.example.withinterface;publicclassSomeClass{interfaceSomeInterface{voiddoSomething();}}另一个试图访问它的类:packagecom.example.withinterface.main;importcom.example.withinterface.SomeClass;publicclassMain{publicstaticvoidmain(String[]argss){System.out.println(SomeClass.S

java - 针对异常的 Java 接口(interface)的正确设计

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.5年前关闭。Improvethisquestion我试图了解如何在Java中正确定义接口(interface),以及如何在语言(和运行时)中处理异常。注意:也许这个问题已经被问到并得到了充分的回答,但我对SO(和其他网站)的搜索没有发现任何直接解决设计问题和我提出的权衡的东西。如果可以找到一个类似的问题来回答我的问题,我会很高兴地删除这个问题。对于这个冗长的问题,我提前道歉,但我想尽可能清楚地说明问题。我也知道controversya

java - 有哪些工具可以审计 Java 接口(interface)的更改?

有没有人知道有什么工具可以总结不同版本之间Java接口(interface)的变化?(我所说的接口(interface)是指一般类型的公开功能,而不是特定的语言结构。)我想要的是一些程序,它采用相同包或包树的两个版本并输出如下内容:在类Thing上删除了构造函数(String,int)在类OtherThing上弃用了构造函数(String)方法voidsetId(String)添加到类SomethingElse或者更复杂的东西,以上只是我的初步想法。解决方案可以在字节码或源代码上工作,我不介意。 最佳答案 Clirr是一种检查Jav

java - 将注解作为 super 接口(interface)时的@SuppressWarnings 值

我有一个实现注释的枚举,我收到了警告:注释类型A不应用作MyClass的超接口(interface)。@SuppressWarnings是否有处理此警告的值?我不想使用@SuppressWarnings("all"),我宁愿收到警告也不愿全部禁止。我正在使用Eclipse。 最佳答案 我相信@SuppressWarnings没有这样的值。如果有这样一个值,那么编译器会在警告的同时给你一个使用它的提示。因为它不存在,这可能意味着让您的枚举扩展注释不是一个好主意。如果您仍然想走那条路,那么我认为@SuppressWarnings("al

具有多个接口(interface)转换的 Java 通用对象

假设我有一个我使用的泛型类,它声明如下:publicclassConfigurableRuleKeyextendsKey{privatefinalRrulepublicConfigurableRuleKey(Rrule){this.rule=rule;}/*Additionalmethodsaredeclaredhere*/}我想实现一个工厂方法来检查传递的规则是否实现接口(interface)Configurable,当创建可配置规则或只创建一个基本键时:publicstaticKeycreate(Rrule){if(ruleinstanceofConfigurable){retur

java - 类型嵌套时 TYPE_USE 注释丢失,通用接口(interface)

这个问题在这里已经有了答案:Whyannotationongenerictypeargumentisnotvisiblefornestedtype?(2个答案)关闭5年前。当注释类型是嵌套的通用接口(interface)时,似乎无法通过反射访问TYPE_USE注释。请观察下面的例子:importjava.lang.annotation.ElementType;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;importjava.lang.annotation.Target;i

java - 高效实现 Java native 接口(interface)网络摄像头源

我正在从事一个项目,该项目从网络摄像头获取视频输入并向用户显示运动区域。我在这个项目中的“测试版”尝试是使用JavaMediaFramework来检索网络摄像头提要。通过一些实用函数,JMF方便地将网络摄像头帧作为BufferedImages返回,我围绕它构建了大量框架来处理。但是,我很快意识到Sun/Oracle不再很好地支持JMF,并且无法通过JMF界面访问一些更高的网络摄像头分辨率(720p)。我想继续将帧作为BufferedImages进行处理,并使用OpenCV(C++)获取视频源。单独使用OpenCV的框架,我发现OpenCV在高效返回高清网络摄像头帧并将它们绘制到屏幕上做