扫码阅读
手机扫码阅读
JNI:本地代码调用Java代码
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
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格式进行展示。想要了解更多内容?
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
BUG弄潮儿
扫码关注公众号
BUG弄潮儿的其他文章
SonarScanner有效检查代码质量
SonarScanner有效检查代码质量
Spring Boot应用如何快速接入Prometheus监控
1. Micrometer简介Micrometer为Java平台上的性能数据收集提供了一个通用的API,它提
Springboot 之 JPA 多数据源实现
简介微服务推崇单服务单数据库;但是还是免不了存在一个微服务连接多个数据库的情况,今天介绍一下如何使用 JPA
企业DevOps之路:Android项目构建
企业DevOps之路:Android项目构建
企业DevOps之路:java maven项目编译配置一
企业DevOps之路:java maven项目编译配置一
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线