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
Ïà¹ØÎĵµ£º
½ñÌìÓöµ½Ò»¸öºÜ¹îÒìµÄbug£¬µ÷ÊÔÁ˰ëÌìҲûÓп´³öÀ´ÓÐʲôÎÊÌ⣬³éÏóһϴúÂëÈçÏ£º
public class Instance
{
public static Instance instance = new Instance();
public static Map<String, String> map = new HashMap<String, String>();
public static Instance instance()
{
r ......
×î½üÔÚÔÛÃÇÕâ¸öÂÛ̳Àï×ÜÄÜ¿´¼û´ó¼ÒÌá³öÓÃjava´¦ÀíExcelµÄÎÊÌ⣬ÓÐʱ»¹Éæ¼°µ½Í¼ÐεÄÎÊÌ⣬
´ó¼Ò¿´ÁËÕâÆªÎÄÕºó£¬ÎÒÏëÒ»¶¨»á½â¾ö²»ÉÙÈ˵ÄÎÊÌ⣡
¿´µ½ÍøÉϺܶàÎÄÕ¶¼Ò»Ö±¶¼ÊÇ˵POIµÄAPI²»ÄÜ´¦ÀíͼÐΣ¬Ò²¾ÍÊDz»ÄÜÍùExcelÀïÃæ¼ÓÈëͼÐΡ£
µ«ÊÂʵÉÏ£¬POI3.0³öÀ´Ö®ºó£¬Õâ¸öÎÊÌâÒѾ½â¾ö£¡ËùÒÔ˵£¬ÍùExcelÀïÃæ¼ÓÈëͼÐβ»±ØÒ»¶¨Ç ......
Ŀ ¼
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»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£ ......
ÔÚÒ»¸öÏîÄ¿ÖУ¬¿Í»§ÓÃC#ʵÏÖÁËDES¼ÓÃÜ£¬ÓÉÓÚÐèÒªºÍjava·½ÃæµÄ³ÌÐò½øÐÐÊý¾Ý½»»¥£¬ËùÒÔ±ØÐëÅäºÏ½øÐмӽâÃܹ¤×÷¡£¿Í»§ÌṩÁËÃÜÔ¿ºÍÏòÁ¿£¬ÎÒ¿´ÁË¿´´úÂ룬c#×öÕâ¸öÊÂÇ黹Âù¼òµ¥¡£ ÓÃjavaʵÏֹؼüÊÇÎÒ²»×Ö¶ÎÔõôÉèÖÃÏòÁ¿£¬Ò»°ãÓÃCipher¶ÔÏó¶¼ÊÇĬÈÏËæ»úÏòÁ¿¡£¸ãÁËÒ»Õ󣬷¢ÏÖÊÇÓÃIvParameterSpecÕâ¸öÀàÀ´ÉèÖá£ÓÚÊÇÓÐÁËÒÔÏ´ú ......