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

Java基础知识——JNI入门经典

JNI是Java Native Interface的缩写,通过使用native方法,Java可以调用本地C/C++子程序。声明一个本地子程序的方法是:在方法名前添加native修饰,如
public native void myfun();
调用该子程序的方法为:
static{
    System.loadLibrary("myfun");
}
在Windows上,上面的myfun即指包含用C/C++写的myfun()的实体的DLL——myfun.dll。下面以NativeDemo程序为例来说明怎样在Windows下(XP+VS2008+JDK1.6u17)使用JNI。
1. 编写源程序NativeDemo.java
NativeDemo.java中声明了一个本地子程序test():
public native void test();
该子程序从主程序获得int变量i的值,对其加倍,然后返回给主程序。具体代码如下:
// Using Native method
public class NativeDemo{
    int i;
    public static void main(String args[]){
        NativeDemo ob=new NativeDemo();
        ob.i=10;
        System.out.println("This is ob.i before the native method: "+ob.i);
        ob.test(); //call a native method
        System.out.println("This is ob.i after the Native method: "+ob.i);
        ob.test(); //call a native method
       System.out.println("This is ob.i after the Native method: "+ob.i);
    }
    // declare native method
    public native void test();
    static{
         // load DLL that contains static method
         System.loadLibrary("NativeDemo");
    }
}
2. 编译NativeDemo.java
javac NativeDemo.java
得到NativeDemo.class
3. 使用javah.exe生成NativeDemo.h
javah -jni NativeDemo
javah.exe在%JAVA_HOME%\bin下,生成的NativeDemo.h如下:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class NativeDemo */
#ifndef _I


相关文档:

java中初始化顺序(转)

(1)初始化的顺序(静态、非静态、final、变量、对象)
    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。
我们也可以通过下面的测试代码来验证这一点:
Java代码:
public class InitialOrderTest {
......

Java SE 5服务周期已终结

 本月3日Sun的J2SE 5.0实现已终结服务周期(End of Service Life,即EOSL),这一天也是最后的一次5.0更新发布日期(J2SE 5.0 Update 22)。寻求Sun支持的用户可以选择升级到Java 6或是订阅Sun的Java for Business程序。
Sun提供了多种多样的Java付费支持。Java经典支持(classic support)涵盖了从产品发布之日起3年 ......

java基础

JSP的9个内置对象是:out、request、response、page、pageContext、session、application、exception、config。要注意对象名的大小写
 
 
What results from attempting to compile and run the following code? public class Ternary{ public static void main(String args[]){ int a = 5; System.out.printl ......

超轻量级JAVA开发方法(一)

      目前以Eclipse为主的重量级开发工具大行其道.虽然极为方便.但软件安装对于系统配置不高的电脑或者小项目开发非常不利.在移植过程中还有配置问题.比较麻烦.因此对于一些超小项目,使用轻量级的开发方法,显得由为必要.所谓超轻量级,就是用最简单的工具完成JAVA系统的开发.在开发当中也可以了解 ......

初学JAVA之三

1、编写一个简单的文本编辑器,要求:具有打开、保存、新建,粘贴、复制等功能;具有一个工具条。
 
1.1、程序源码(参见menu.java):
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.URL;
 
public class menu extends JFrame impl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号