JavaÖÐNative¹Ø¼ü×ÖµÄ×÷ÓÃ
Java²»ÊÇÍêÃÀµÄ£¬JavaµÄ²»×ã³ýÁËÌåÏÖÔÚÔËÐÐËÙ¶ÈÉÏÒª±È´«Í³µÄC++ÂýÐí¶àÖ®Í⣬JavaÎÞ·¨Ö±½Ó·ÃÎʵ½²Ù×÷ϵͳµ×²ã£¨ÈçϵͳӲ¼þµÈ)£¬Îª´ËJavaʹÓÃnative·½·¨À´À©Õ¹Java³ÌÐòµÄ¹¦ÄÜ¡£
¡¡¡¡¿ÉÒÔ½«native·½·¨±È×÷Java³ÌÐòͬ£Ã³ÌÐòµÄ½Ó¿Ú£¬ÆäʵÏÖ²½Ö裺
¡¡¡¡£±¡¢ÔÚJavaÖÐÉùÃ÷native()·½·¨£¬È»ºó±àÒ룻
¡¡¡¡£²¡¢ÓÃjavah²úÉúÒ»¸ö.hÎļþ£»
¡¡¡¡£³¡¢Ð´Ò»¸ö.cppÎļþʵÏÖnativeµ¼³ö·½·¨£¬ÆäÖÐÐèÒª°üº¬µÚ¶þ²½²úÉúµÄ.hÎļþ£¨×¢ÒâÆäÖÐÓÖ°üº¬ÁËJDK´øµÄjni.hÎļþ£©£»
¡¡¡¡£´¡¢½«µÚÈý²½µÄ.cppÎļþ±àÒë³É¶¯Ì¬Á´½Ó¿âÎļþ£»
¡¡¡¡£µ¡¢ÔÚJavaÖÐÓÃSystem.loadLibrary()·½·¨¼ÓÔØµÚËIJ½²úÉúµÄ¶¯Ì¬Á´½Ó¿âÎļþ£¬Õâ¸önative()·½·¨¾Í¿ÉÒÔÔÚJavaÖб»·ÃÎÊÁË¡£
JAVA±¾µØ·½·¨ÊÊÓõÄÇé¿ö
1.ΪÁËʹÓõײãµÄÖ÷»úƽ̨µÄij¸öÌØÐÔ£¬¶øÕâ¸öÌØÐÔ²»ÄÜͨ¹ýJAVA API·ÃÎÊ
2.ΪÁË·ÃÎÊÒ»¸öÀϵÄϵͳ»òÕßʹÓÃÒ»¸öÒÑÓеĿ⣬¶øÕâ¸öϵͳ»òÕâ¸ö¿â²»ÊÇÓÃJAVA±àдµÄ
3.ΪÁ˼ӿì³ÌÐòµÄÐÔÄÜ£¬¶ø½«Ò»¶Îʱ¼äÃô¸ÐµÄ´úÂë×÷Ϊ±¾µØ·½·¨ÊµÏÖ¡£
Ê×ÏÈдºÃJAVAÎļþ
/*
* Created on 2005-12-19 Author shaoqi
*/
package com.hode.hodework.modelupdate;
public class CheckFile
{
public native void displayHelloWorld();
static
{
System.loadLibrary("test");
}
public static void main(String[] args) {
new CheckFile().displayHelloWorld();
}
}
È»ºó¸ù¾ÝдºÃµÄÎļþ±àÒë³ÉCLASSÎļþ
È»ºóÔÚclasses»òbinÖ®ÀàµÄclass¸ùĿ¼ÏÂÖ´ÐÐjavah -jni com.hode.hodework.modelupdate.CheckFile£¬
¾Í»áÔÚ¸ùĿ¼Ïµõ½Ò»¸öcom_hode_hodework_modelupdate_CheckFile.hµÄÎļþ
È»ºó¸ù¾ÝÍ·ÎļþµÄÄÚÈݱàдcom_hode_hodework_modelupdate_CheckFile.cÎļþ
££i nclude "CheckFile.h"
££i nclude
££i nclude
JNIEXPORT void JNICALL Java_com_hode_hodework_modelupdate_CheckFile_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}
Ö®ºó±àÒëÉú³ÉDLLÎļþÈç“test.dll”£¬Ãû³ÆÓëSystem.l
Ïà¹ØÎĵµ£º
Á˽âȱʡLocaleÊÇÓɲÙ×÷ϵͳ¾ö¶¨µÄ£¬LocaleÊÇÓÉÓïÑԺ͹ú¼Ò´úÂë×é³É
¹ú¼Ê»¯×ÊÔ´ÎļþÓÉbaseName+locale×é³É£¬È磺MessageBundle_en_US.properties£¨baseNameÊÇÈÎÒâºÏ·¨µÄÎļþÃû£©
native2asciiÃüÁîµÄλÖúÍÓ÷¨
λÖãºJAVA_HOME/bin
ʹÓÃnative2ascii.exe o.properties MessagesBundle_zh_CN.properties ÃüÁî¶ÔÕû¸öÎļþ ......
1¡¢Oracle8/8i/9iÊý¾Ý¿â£¨thinģʽ£©
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orclΪÊý¾Ý¿âµÄSID
String user="test";
String password="test";
Connection conn= DriverManager.getC ......
Ŀ ¼
1 ¼¯ºÏ¿ò¼Ü... 2
1.1 ¼¯ºÏ¿ò¼Ü¸ÅÊö... 2
1.1.1 ÈÝÆ÷¼ò½é... 2
1.1.2 ÈÝÆ÷µÄ·ÖÀà... 4
1.2 Collection. 5
1.2.1  ......
ǰÑÔ£ºÇ°¶Îʱ¼äÔÚCSDNµÄC++ÉçÇøÓöµ½Ò»¸öÐèÒª·â×°¿¼ÇÚ»ú½Ó¿ÚµÄ¶¯Ì¬¿â¸øJAVAµ÷ÓõÄÌû×Ó£¬¹´ÆðÁËÎÒ¶ÔJAVAµÄÎÞÏÞ»³Äî¡£ÔÚ´Ë£¬ÎÒÏë°ÑÕâÏî¼¼Êõ¼òµ¥ÔÙ½éÉÜһϡ£
Ò»¡¢¹ØÓÚJava Native Interface (JNI)
JNIÊÇJAVA±¾µØ±à³Ì½Ó¿Ú£¬ÊôÓÚJDKµÄÒ»²¿·Ö¡£ËüÔÊÐíJAVAÄܹ»²Ù×÷±¾µØAPI»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£ ......
¢AWT£ºAbstract Window Toolkit
¢GUI£º Graphical User Interface
ͨ¹ýÌṩ²Ëµ¥¡¢°´Å¥¡¢±êÇ©±êʶ¡¢Êó±êµÈ£¬Íê³É¶Ô¼ÆËã»ú·¢³öÖ¸Áî¡¢Æô¶¯Ó¦ÓóÌÐòµÈ²Ù×÷ÈÎÎñ¡£
¢ÔÚjavaÖУ¬AWTÊÇÓÃÀ´´¦ÀíͼÐÎ×î»ù±¾µÄ·½Ê½£¬Ëü¿ÉÒÔÓÃÀ´´´½¨javaµÄappletºÍ´°¿Ú¡ ......