跟我学(Effective Java 2)第54条:谨慎地使用本地方法

第54条:谨慎地使用本地方法

JNI (java native interface) 允许java 应用程序调用本地方法(native method)。

本地方法:本地程序设计语言编写的特殊方法(比如C 或C++ 代码),并返回到java设计语言。

本地方法主要提供三种用途:
1 访问“特定于平台的能力”的机制,比如 注册表、文件锁。

2 访问遗留代码库的能力,可以访问遗留数据。

3 可以通过本地语言编写注重性能的代码,提升系统性能。

但使用本地方法提升性能的做法不值得提倡,1.3版本以前是可以的,随着jvm 速度越来越快,这么做其实并不是很划算
使用本地方法有一些严重缺陷:
1 本地语言不是安全的,本地方法不能免受内存损坏错误的影响。

2 本地方法是平台相关的,不方便移植。

3 更难调试。

4 进入退出本地方法需要相关的固定开销(本地代码做少量工作,性能会降低)。

5 胶合本地代码的程序单调乏味,难以理解。

总之,尽可能少使用本地方法,注意全面测试,本地方法的bug 可能破坏整个系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值