草庐IT

native-code

全部标签

Java 10 : Byte Code Generation for Enhanced For Loops

这个问题在这里已经有了答案:Java"for"statementimplementationpreventsgarbagecollecting(6个答案)关闭4年前。以下示例描述了Java9之前的以下代码行的生成。Listdata=newArrayList();for(Stringb:data);publicclassTest{publicTest(){}publicstaticvoidmain(String[]paramArrayOfString)throwsIOException{ArrayListlocalArrayList=newArrayList();Stringstr;fo

导致虚拟机故障的 Java 映射/nio/NFS 问题 : "a fault occurred in a recent unsafe memory access operation in compiled Java code"

我已经为特定的二进制格式(nfdump如果有人感兴趣)编写了一个解析器类,它使用了java.nio的MappedByteBuffer。读取每个几GB的文件。二进制格式只是一系列header和大部分固定大小的二进制记录,通过调用nextRecord()将其馈送到被调用方,nextRecord()会推送状态机,完成后返回null。它表现良好。它在开发机器上运行。在我的生产主机上,它可以运行几分钟或几小时,但似乎总是抛出“java.lang.InternalError:afaultoccurredinarecentunsafememoryaccessoperationincompiledJa

java - Dag 调度程序事件循环 java.lang.OutOfMemoryError : unable to create new native thread

运行5-6小时后,我从spark-driver程序中收到以下错误。我正在使用Ubuntu16.04LTS和open-jdk-8。Exceptioninthread"ForkJoinPool-50-worker-11"Exceptioninthread"dag-scheduler-event-loop"Exceptioninthread"ForkJoinPool-50-worker-13"java.lang.OutOfMemoryError:unabletocreatenewnativethreadatjava.lang.Thread.start0(NativeMethod)atjava

java - 将 Gradle 与 native 依赖项一起使用

我正在尝试使用Sigar在Gradle项目中。Sigar发行版默认提供两种类型的文件:一个包含类的JAR一些原生文件(.so、dylib、.dll)我的目的是重新打包这些文件,以便我可以将它们用作从个人Maven存储库按需部署和下载的依赖项。我的第一个尝试是将依赖项定义为文件,以便在重新打包之前检查我的应用程序是否按预期工作。下面是我在第一次测试中使用的Gradle代码:dependencies{compilefiles("${rootDir}/lib/sigar/sigar.jar")runtimefileTree(dir:"${rootDir}/lib/sigar/",exclud

java - maven Jacoco : how to increase code coverage thresholds automatically

我正在使用Jacoco和Mavenbuilder来实现我项目的代码覆盖率。我已经配置了关于最大错过的类/方法和最小行覆盖失败的规则,maven构建失败(下面的示例)。BUNDLECLASSMISSEDCOUNT90我想弄清楚如果添加更多测试用例(或使用相同测试涵盖更多方法),是否存在一种机制可以自动更新这些规则。假设我为另外5个类添加了测试用例,最大值高于规则应更改为85。 最佳答案 我认为您要求的实际上是逐步增加支持。这通常是通过Jenkins等持续集成系统实现的。目前有一张开放票证(自2014年起)支持Jenkins的Jacoc

java - 从 native 代码访问 java 同步方法

我有一个java类,它有一些(私有(private)静态)同步方法,我也想从native代码调用这些方法。通过一些示例代码,我的意思变得更加清楚publicclassSomeClass{privatestaticsynchronizedvoidmethod(){//dosomethingthatneedssynchronization}}和相关的native代码(C++)voidsomeFunction(JNIEnv*env){jclasssomeClass=env->findClass("SomeClass");jmethodIDmethodId=env->GetStaticMeth

java - 在 Unirest 中获取 native REST 服务错误

我们使用Unirest作为REST客户端。下面是我们调用REST服务所使用的示例代码HttpResponseresponse=Unirest.post(url).header(HEADER_CONTENT_TYPE,HEADER_VALUE_APPLICATON_JSON).body(payload).asJson();这绝对是REST服务返回json的时候。如果出现错误,我正在使用的REST服务不会返回json响应。相反,它返回html错误页面。由于Unirest试图将html转换为json,出现以下问题Causedby:com.mashape.unirest.http.except

远程连接 vscode 出错 “远程主机可能不符合 glibc 和 libstdc++ VS Code 服务器的先决条件”

原因:    vscode版本是1.86,服务器上的glibc和libstdc++版本不满足 要求(2.28和3.4.25)。解决:    1、下载1.85.2,解压直接运行Code.exe。    2、回退Remote-ssh到0.107.1。参考:        vscode1.86版本远程ssh不兼容旧服务器问题解决

java - <init> 和 (Native Method) 是什么意思?

关于java.io.FileStream.open方法,这些符号表示什么以及(Native方法)表示什么?Exceptioninthread"main"java.io.FileNotFoundException:line23(Nosuchfileordirectory)atjava.io.FileInputStream.open(NativeMethod)atjava.io.FileInputStream.(FileInputStream.java:135)atjava.io.FileInputStream.(FileInputStream.java:95)atjava.io.File

java - 在 eclipse 中使用额外的 native 代码库导出到 Runnable jar

我在将java项目从eclipse导出为jar可执行文件时遇到问题。我的java项目使用外部库(称为jri)。我已经导出了jri.jar文件并在eclipse中为其native库设置了库路径,并且它在eclipse中的开发中效果很好。但是,当我将其导出为可执行jar文件时,出现以下错误:CannotfindJRInativelibrary!PleasemakesurethattheJRInativelibraryisinadirectorylistedinjava.library.path.我已经将一个名为lib的文件夹放置在与我项目的jar相同的目录中;这个lib文件夹包含jri的本