扫码阅读
手机扫码阅读
JNI:本地代码调用Java代码
159 2024-07-22
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:JNI:本地代码调用Java代码
文章来源:
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格式进行展示。想要了解更多内容?
查看原文:JNI:本地代码调用Java代码
文章来源:
BUG弄潮儿
扫码关注公众号
BUG弄潮儿的其他文章
CentOS 下 docker 安装
CentOS 下 docker 安装
CentOS 下 MySQL 服务搭建
1. 卸载旧 MySQL查看 rpm 包rpm-qa | grep mysql 如果存在,使用如下命令卸载r
验证码都有什么类型,附项目分享
验证码几乎是所有软件项目不可或缺的一块逻辑。验证码实现方式也是多种多样。图片数字,字母验证码邮件验证码短信验
项目管理和缺陷跟踪系统 Redmine
1. Redmine 概述Redmine 是用 Ruby 开发的基于 web 的项目管理软件,是用 ROR
Springboot 之 Filter 实现 Gzip 压缩超大 json 对象
简介在项目中,存在传递超大 json 数据的场景。直接传输超大 json 数据的话,有以下两个弊端占用网络带
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线