Java 语言特性与技巧深度解析
1. 本地方法的使用与问题
在创建 NativeDemo.c 文件后,若使用 Microsoft C/C++ 编译器,需通过以下步骤创建 DLL 文件:
1. 使用命令 Cl /LD NativeDemo.c 进行编译,此命令可能需要指定 jni.h 及其附属文件 jni_md.h 的路径。编译后会生成 NativeDemo.dll 文件。
2. 运行 Java 程序,输出示例如下:
This is ob.i before the native method: 10
Starting the native method.
i = 10
Ending the native method.
This is ob.i after the native method: 20
本地方法虽能访问现有库例程并可能提升运行速度,但也存在显著问题:
|问题|详情|
| ---- | ---- |
|潜在安全风险|本地方法执行实际机器代码,可访问主机系统任意部分,不受 Java 执行环境限制,可能导致病毒感染。因此,未签名的小程序不能使用本地方法,且 DLL 的加载受安全管理器批准和限制。|
|丧失可移植性|本地代码包含在 DLL 中,运行 Java 程序的机器必须存在该 DLL。同时,每个本地方法依赖于 CPU 和操作系统,DLL 本身不可移植。所以,使用本地方法的 Jav
超级会员免费看
订阅专栏 解锁全文
1001

被折叠的 条评论
为什么被折叠?



