JNI:本地代码调用Java代码
发布于 2024-07-22
1108
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
BUG弄潮儿
扫码关注公众号
扫码阅读
手机扫码阅读
1. 本地代码访问Java代码
C/C++函数可以访问Java程序中的方法,通过使用javah工具生成的函数声明,其中包含JNIEnv指针和Java对象作为参数。
6. Sign是什么?
在Java中,Sign(签名)用于区分重载的方法,指定要访问的属性或方法的类型。例如,区分TestNative类中的两个重载的function方法。
7. sign签名
签名用于表示Java中属性或方法的类型。每种基本数据类型(如boolean、int、double等)都有对应的签名代码,而对象和数组类型的签名则包含类的完整路径或数组元素的签名。
8. 使用签名获得属性/方法ID的例子(复杂)
在HelloNative类中,通过JNI获取属性和方法的ID需要使用相应的签名。例如,获取int类型的property属性签名为"I",而获取function方法的签名则需要包含参数和返回值类型,如"(ILjava/util/Date;[I)I"。
9. 使用javap命令来产生签名
JDK提供了javap工具来查看类的声明,输出方法或属性的签名信息。使用-s选项输出签名信息,-p选项包含private访问权限的成员信息。
这个摘要根据提供的文章内容,概括了文中关于本地代码访问Java代码、Sign(签名)的作用、签名的定义及其在JNI中的应用,以及如何使用javap命令获取签名信息。摘要保持了原文的结构,并使用了简洁的HTML格式进行展示。BUG弄潮儿
BUG弄潮儿
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
BUG弄潮儿的其他文章
Windows 下 JNI 调用动态链接库 dll
1. Java调用本地代码常见的两种方案JNIJNI(Java Native Interface),有过不同
Linux 下 JNA 调用动态连接库文件 so
1. JNAJNA介绍JNA(Java Native Access )提供一组Java工具类用于在运行期动态
NFS分布式存储与nfs-subdir-external-provisioner
服务端操作
#服务端安装yum install -y nfs-utils rpcbind#启
Nexus3配置Maven镜像代理
Nexus3配置Maven镜像代理
企业DevOps之路:Jenkins 流水线
1. Pipeline 概述Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkin
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线