kangfoo's blog

工作学习笔记,生活掠影。

Java JNI练习

| 评论

在 Hadoop 中大量使用了 JNI 技术以提高性能并利用其他语言已有的成熟算法简化开发难度。如压缩算法、pipes 等。那么在具体学习 native hadoop, hadoop io 前先简单复习下相关知识。在此我主要是参见了 Oracle 官方网站 + IBM developerworks + csdn 论坛 写了个简单的 Hello World 程序。

此处主要是将我参考的资源进行了列举,已备具体深入学习参考。

JNI 编程主要步骤

  1. 编写一个.java
  2. javac *.java
  3. javah -jni className -> *.h
  4. 创建一个.so/.dll 动态链接库文件

编程注意事项

  1. 不要直接使用从java里面传递过来的value.(在java里面的对象在本地调用前可能被jvm析构函数了)
  2. 一旦不使用某对象或者变量,要去ReleaseXXX()。
  3. 不要在 native code 里面去申请内存
  4. 使用 javap -s 查看java 签名

评论