易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++于Java之间的互相调用

利用JNI技术,可以做到C/C++与Java之间的相互调用。
1、Java调用C/C++接口
这个是JNI最基本的应用,JNI有很多这方面的例子代码。一般把C/C++写成动态链接库;在Java程序在LoadLibrary,利用native接口,即可完成调用。
2、C/C++回调Java接口
这种用法,JNI的例子比较少。其实,也比较简单,JNI也提供了这样的接口。比如,GetObjectClass,GetMethodID,CallObjectMethod,NewObject,FindClass等接口,即可完成C/C++对Java接口的调用。
另外,需要注意的一个地方是,关于signature。比如,在 jmethodID GetMethodID(jclass clazz, const char *name,
 const char *sig) 函数中的第三个参数,就需要函数的signature。那怎么知道Java方法的signature呢?
其实JDK,提供了查看Java方法的signature。方法如下:
(1)、CMD,去到xxx.class所在的目录。
(2)、输入命令:javap -s xxx
(3)、结果呈现在你眼前。
延伸:Android NDK也类似,同样可以做到C/C++与Java之间的互调。


相关文档:

java中重写equals方法

import java.util.Date;
class Dog{
 private String name;
 private Date birthday;
 
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Date getBirthday() {
  return b ......

Java线程同步示例

文章用实例代码展示了Java中多线程访问共享资源
时线程同步
的重要性。
分别通过在两个线程中同时访问(调用get_id*方法)经过同步处理(lock及Synchronized)的共享资源(tmp)及未经过同步处理的共享资源(tmp)来说明同步处理的的作用。
main中分两部分:
1)前半部分,non-synchronization部分用来测试没有做同步处理的代码 ......

Java Read()阻塞的一种处理方式

java.io.InputStream的read()方法描述:
        If no byte is available because the end of the stream has been reached, the value -1 is returned.
        到达流的末尾真会放回-1吗?
        ......

java文件比例缩小放大

1首先添加修改图片宽度和高度的方法
public static void reduceImg(String imgsrc, int widthdist, int heightdist) {
  try {
   File srcfile = new File(imgsrc);
   if (!srcfile.exists()) {
    return;
   }
    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号