草庐IT

jni_generator

全部标签

java - 分析通过 JNI 调用运行的 Java

我有一个C++代码,在执行时:加载JVM(我完全控制如何加载JVM),并使用CJNI代码调用Java方法(从加载的类)。Java代码没有Main(),它实际上不是标准的Java应用程序。主要是编译压缩成Jar文件的静态代码,由C++模块调用。是否可以分析由YourKit执行的Java代码(有许可证)?如果是这样,我会很高兴知道如何做。 最佳答案 我会把它丢给希望分析Java的C++人员:Java有一个很棒的可视化分析器,它可以自动连接到称为VisualVM的JVM。它包含在jdk中。在这里查看:http://visualvm.jav

论文阅读,ProtoGen: Automatically Generating Directory Cache Coherence Protocols(三)

目录一、Article:文献出处(方便再次搜索)(1)作者(2)文献题目(3)文献时间(4)引用二、Data:文献数据(总结归纳,方便理解)(1)背景介绍(2)目的(3)结论(4)主要实现手段4.1系统模型和定义4.2ProtoGen概述4.3ProtoGen的输入,输出和限制4.4ProtoGen示例(5)实验结果A.StallingProtocolsB. Non-StallingProtocolsC.AnMSIProtocolforanUnorderedNetworkD.TSO-CC三、Comments对文献的想法(强迫自己思考,结合自己的学科)四、Why:为什么看这篇文献(方便再次搜索)

java - 垃圾回收 : how is Eden space (and the other generation sizes) calculated?

我需要帮助了解我如何从jmap获得与GC相关的数字和jstat与我传递给java的设置有关。我在具有16GB内存的服务器上使用以下设置启动应用程序(solr):-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:+CMSParallelRemarkEnabled-Xms12144m-Xmx12144m-XX:NewRatio=4-XX:SurvivorRatio=8-XX:+UseCompressedOopsjmap的输出开始:ConcurrentMark-SweepGCHeapConfiguration:MinHeapFreeRatio=40MaxH

java - generate-module-info jdeps 时缺少依赖项

我正在尝试使用以下命令运行jdeps:jdeps--module-pathmodules--generate-module-infooutcom.demo.market.jar我的com.demo.market.jar依赖于应用程序模块和自动模块。我将所有依赖项放在“模块”文件夹中,但出现错误:Error:missingdependenciescom.demo.market.platform.MarketPlace->com.demo.client.wholesale.Clientnotfoundcom.demo.market.platform.MarketPlace->com.dem

java - 处理 JNI 崩溃

我有一个包含遗留C代码的dll,我通过JNI调用这个dll,但有时C代码崩溃并导致JVM终止。有没有办法避免JVM崩溃?我可以处理JNI故障并让JVM存活吗?:) 最佳答案 正如Timo所说,您别无选择,只能使JNI代码健壮。如果您不能这样做(例如,如果您没有源代码),那么也许您可以寻求进程间解决方案。将JNI代码放在一个单独的服务器进程中,进行RMI或HTTP调用。如果它崩溃了,请重新启动“服务器”,但主JVM仍然存在。显然会有性能开销和复杂性增加,但也许您可以负担得起? 关于java

开发提速神器:mybatis-plus-generator-ui

在基于Mybatis的开发模式中,很多开发者还会选择Mybatis-Plus来辅助功能开发,以此提高开发的效率。虽然Mybatis也有代码生成的工具,但Mybatis-Plus由于在Mybatis基础上做了一些调整,因此,常规的生成工具生成的代码还有一些不太符合预期。而且对于多数据库的支持不是很好。因此,我们需要一款支持高度定制化,带图形UI页面,能适配多数数据库的基础程序生成框架。本文就介绍这款基于Mybatis-Plus的代码自助生成器,github地址:mybatis-plus-generator-ui。文章通过实例集成的方式来详细讲解mybatis-plus-generator-ui,

java - 如何在 Android NDK 上使用 JNI 在 C 和 Java 之间传递复杂结构

我的Android应用程序的C代码中有一个复杂的结构,我想在Java端使用它。我用谷歌和stackoverflow做了一些研究,所以我从我的C结构创建了java类,但现在如何在Java中获取它。我找到了这些信息,关于在类中创建指针并在C端使用它:GetthefieldID:(*env)->GetFieldID(...)Getthepointer:(*env)->GetLongField(...)Setthepointer:(*env)->SetLongField(...)但我不明白它到底是如何工作的......在上面,您可以找到我到目前为止所做的事情……没那么多!在C端:Complex

Java JNI : Creating a Swing Window using JNI from C

我正在使用JNI调用一个静态java方法,该方法又创建一个SwingJFrame并显示它。代码相当简单,Java代码独立运行(即javaStartAWT做它应该做的事),而当使用JNI从C调用时,进程挂起。我在MacOSX10.8MountainLion上使用JDK1.7.0_09。这是我用来调用静态方法的C代码:JavaVM*jvm;JNIEnv*env=create_vm(&jvm);jclassclass=(*env)->FindClass(env,"StartAWT");jmethodIDmethod=(*env)->GetStaticMethodID(env,class,"r

java - "Mechanically generated"Java源代码中的java源文件

在翻阅Java源码的过程中,我发现了一些异常的文件,大多与java.nio包中的ByteBuffer有关,源码很乱代码并标记为Thisfilewasmechanicallygenerated:Donotedit!。这些文件还包含大部分空行(有些甚至在javadoc中间(!!?)),大概是为了防止行号发生变化。我还看到了一些java反编译器,例如procyon-decompiler,它可以选择保留行号,但我怀疑情况是否如此,因为在最后的荣誉之前放置空白行不会改变任何内容。这里有一些这样的文件(我在网上找不到它们的任何链接,也没有粘贴它们,因为我不想破坏任何版权,但你可以在src中找到它们

java - 通过 JNI 在 C 和 Java 之间传递指针

按照@tulskiy在这篇文章PassingpointersbetweenCandJavathroughJNI中的建议,我一直在通过JNI在Java中存储c指针。诀窍是将指针转换为jlong​​。所以从c我有return(jlong​​)ptr;我要返回一个jlong​​(总是64位),因为我希望我的代码在64位和32位系统上都能工作。64位计算机上64位指针在内存中的大小为64位,而在32位计算机上,指针在内存中的大小为32位。问题是在32位机器上我收到编译器警告“从不同大小的指针转换为整数”。如果我有,警告就会消失return(jlong​​)(int32_t)ptr;但是这段代码