锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
JNIEXPORT jstring JNICALL Java_JavaHowTo_sayHello
(JNIEnv *env, jobject obj) {
return env->NewStringUTF("Hello world");
}
From Java to C : Suppose we have a Java Class
public class MyClass {
public String sayHello(){
return "Hello world From Java";
}
}
{
const char *str;
jclass myclass_class =(jclass) env->NewGlobalRef
(env->FindClass ("MyClass"));
// we need the MyClass constructor
jmethodID constructorID = env->GetMethodID
(myclass_class, "", "()V");
// and the sayHello() method
jmethodID methodID = env->GetMethodID
(myclass_class, "sayHello", "()Ljava/lang/String;");
// instanciate a MyClass object
jobject myclass_object = env->NewObject
(myclass_class, constructorID);
// call the sayHello() method
jstring s = (jstring) env->CallObjectMethod
(myclass_object, methodID);
// convert the Java String to use it in C
str = env->GetStringUTFChars(s, 0);
printf("%s" , str);
env->ReleaseStringUTFChars(s, str);
}
public native void sayHello();
static {
System.loadLibrary("javahowto");
}
}
public static void main(String[] args) {
JavaHowTo jht = new JavaHowTo();
jht.sayHello();
}
}
]]>
Use native code through JNI (HelloWorld)
Use native code through JNITag(s): JNI
With MSVC6, create a new Win32 DLL project (simple) and call it javahowto.
In the same directory create a java source called JavaHowTo.javaSPRING瀹樻柟緗戠珯鏀圭増鍚庯紝寤鴻閮芥槸閫氳繃 Maven鍜孏radle涓嬭澆錛屽涓嶄嬌鐢∕aven鍜孏radle寮鍙戦」鐩殑錛屼笅杞藉氨闈炲父楹葷儲錛屼笅緇欏嚭Spring Framework jar瀹樻柟鐩存帴涓嬭澆璺緞:
http://repo.spring.io/libs-release-local/org/springframework/spring/
spring 4.0.x(Spring Framework 4.0.5)涓嬭澆
spring 3.2.x錛圫pring Framework 3.2.9錛変笅杞斤細
spring 3.2.x錛圫pring Framework 3.2.4錛変笅杞斤細
鍙pring security涓嬭澆璺緞錛?/p>
http://repo.spring.io/libs-release-local/org/springframework/security/spring-security/
Java鐨勭戶鎵挎槸闈㈠悜瀵硅薄紼嬪簭璁捐鐨勫叧閿傚湪Java涓紝閫氳繃鍏抽敭瀛梕xtends緇ф壙涓涓凡鏈夌殑綾伙紝琚戶鎵跨殑綾葷О涓虹埗綾?瓚呯被錛屽熀綾?錛屾柊鐨勭被縐頒負瀛愮被(媧劇敓綾?銆傚湪Java涓笉鍏佽澶氱戶鎵褲?/span>
Java涓紝this閫氬父鎸囧綋鍓嶅璞★紝super鍒欐寚鐖剁被鐨勩?/span>
Java閲岄潰鏈変竴涓噾縐戠帀寰嬶細浠諱綍public闈瀞tatic鍑芥暟鐨勮皟鐢ㄩ兘鏄鎬佺殑銆?鎵浠ワ紝super.method()蹇呯劧璋冪敤鐨勬槸瀛愮被鐨勯偅涓増鏈?/span>