草庐IT

all-native

全部标签

java - 从 Python 调用非 native Java 代码

我希望能够调用某些方法等,这些方法包含在已经运行的Javajar中(保证它会运行)。我找到了像Jython这样的东西,但那些似乎只能访问Java的native类等。 最佳答案 看看这个:CallingJavafromPython“您也可以使用Py4J。首页上有一个示例和大量文档,但本质上,您只需从python代码中调用Java方法,就好像它们是python方法一样:frompy4j.java_gatewayimportJavaGatewaygateway=JavaGateway()#connecttotheJVMjava_objec

java - 如何使用 OSGi 片段贡献具有相同文件名的平台相关 native 代码?

我正在使用JNotify项目来监听文件系统事件。这取决于每个OS:processor架构的本地库。例如,有一个用于Windowsx86的库,一个用于x86-64的库等。单体包最初,我有一个包含JNotifyJava类和native代码的包。native代码在Bundle-NativeCode中声明如下:(为了更好的可读性,我将它们格式化为bnd样式......显然实际的MANIFEST.MF文件格式正确)。Bundle-NativeCode:jnotify_64bit.dll;osname=Win32;osname="WindowsNT(unknown)";osname=Windows

java - JNI 直接缓冲区。谁负责 native 缓冲区释放?

一方面,假设我们有一个使用env->NewDirectByteBuffer()创建的直接字节缓冲区。另一方面,我们有类似的直接缓冲区,但使用ByteBuffer.allocateDirect()创建。显然,这两个对象都应该由JVM以相同的方式管理,包括管理后备native缓冲区,在第一种情况下由用户提供,在第二种情况下由JVM从native堆中分配。当然,JVM必须在第二个对象的GC期间释放后备缓冲区(使用ByteBuffer.allocateDirect()实例化)。我的问题是:JVM会在第一个对象的GC期间尝试释放缓冲区(使用env->NewDirectByteBuffer()实例

java - 抽象方法的 native 实现

在Java中是否允许在一个类中有一个抽象方法,然后在另一个使用JNI的本地语言中实现它。例子:abstractclassMommy{abstractprotectedvoidcall();}classSonextendsMommy{nativeprotectedvoidcall()/*'nativecode'*/}预期的行为是什么,它是可能发生的运行时错误还是“解决方法”一切正常? 最佳答案 Whatistheexpectedbehaviourisitaruntimeerrorthatmayoccursoreverythingisf

java - 正则表达式中的 "\\p{all}"是什么意思?

我正在使用一些java代码,其中包含以下语句:if(sql1.matches("(?i)^CREATE\\s+TABLE\\p{all}*")){//dosomething;}我搜索了正则表达式语法,但找不到使用\\p{all}的规则。那么这个表达式是什么意思呢? 最佳答案 Unicodeall类别被“手动”添加到类别列表中以匹配任何字符,包括换行符等。参见Javaregexsourcecode:map.put("all",newCharPropertyFactory(){CharPropertymake(){returnnewAl

java - JFileChooser.showSaveDialog : All files greyed out

我正在尝试使用JFileChooser获取要加载和保存的文件。openFileDialog()出现的对话框工作正常,但是当我使用saveFileDialog()方法时,对话框窗口的所有文件名都变灰了。使用或不使用FileFilter都会发生这种情况(我的示例包含一个以更好地展示我所看到的内容)。这里有一个最小的程序来说明:importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.filechooser.FileNameExtensionFilter;publicclassTempextendsJF

java - Hibernate - 对具有枚举属性的 Bean 使用 native 查询和别名?

我在hibernate中使用native查询来为包含枚举属性的bean起别名时遇到问题。调用query.list()时出现InvocationTargetException。我的例子如下:@Entity(name="table1")publicclassClass1{@Column(name="col1")@NotNullprivateIntegerprop1;@Column(name="col2")@NotNullprivateStringprop2;@Column(name="col3",length=6)@Enumerated(value=EnumType.STRING)priv

java - AWS Java TransferManager 问题,JVM 无法获得更多 native 线程

几周来我一直在与TransferManager问题作斗争,我希望能得到一些反馈,我有一个等待任务发送给它的服务器应用程序。其中一些任务需要上传到S3。该任务包含我需要的所有上传信息,包括访问key。在我实际的上传代码中,每次我需要上传时,我都需要创建一个新的S3Client和TransferManager对象,因为我不知道我的访问key时间。在系统处理大约1200次上传后,我收到一条错误消息,指示JVM无法再获取更多native线程。我将分析器附加到应用程序并注意到TransferManager对象没有得到正确清理,有数千个“s3-transfer-manager-worker-1”线

java - JVM上的 "Magic"方法是否都标记为Native?

我所说的“魔术”是指具有未用纯Java表达的语义的方法。我知道所有native方法都是神奇的,因为它们的实现是由底层运行时提供的,而不是由Java字节码提供的。反之亦然?所有魔法方法都是native吗,或者是否有一些魔法方法显然是用纯Java实现的,但有一些JVM-special-casing的额外帮助?用例是我想通过检测其字节码来修改Java的语义。所有这些魔术方法都是特殊情况,我将不得不以某种方式处理它们。native都是显而易见的,但我想知道是否有任何未标记的魔术方法我必须注意和特殊情况。 最佳答案 不幸的是,在native方

java - 如何结合 Webstart Maven 插件使用 Maven 将 'all-permissions' 添加到 list 文件?

我最近开始尝试使用Maven。作为测试,我尝试创建一个简单的JavaFX8webstart应用程序。为此,我使用了Netbeans8中Maven类别下的JavaFX示例。这为我提供了一个简单的HelloWorld应用程序:我在我的pom.xml文件中添加了一个名为“jnlp”的新配置文件。这样可以在构建项目时创建JNLP文件(使用webstartmaven插件)。....jnlporg.codehaus.mojowebstart-maven-plugin1.0-beta-6org.codehaus.mojowebstart-pack200-impl1.0-beta-6org.codeh