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Ö®¼äµÄ»¥µ÷¡£
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
×î½üÔÚÓÃÈóǬÔÚ×öһЩwebÏîÄ¿µÄ±¨±í£¬ÆäÖÐÓÐÒ»¸öÅúÁ¿´òÓ¡µÄ±¨±í¡£ÐèÒª°Ñ²ÎÊý´«µ½±¨±íÀµ±°ÑÖÐÎÄ´«µ½ÀïÃæÊ±×ÜʱÂÒÂ룬²ÉÓÃÁ˸÷ÖÖתÂ뷽ʽ£¬Ò²Ã»×ª¹ýÀ´£¬ÔÎ.........
Ϊʲô»áÓÐÕâô¶àµÄ±àÂ룬ºÃÍ·ÌÛѽ... ......
Ò»¡¢Ê¹ä¯ÀÀÆ÷²»»º´æÒ³ÃæµÄ¹ýÂËÆ÷
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* ÓÃÓÚµÄʹ Browser ²» ......
ÎÄÕÂÓÃʵÀý´úÂëչʾÁËJavaÖжàÏ̷߳ÃÎʹ²Ïí×ÊÔ´
ʱÏß³Ìͬ²½
µÄÖØÒªÐÔ¡£
·Ö±ðͨ¹ýÔÚÁ½¸öÏß³ÌÖÐͬʱ·ÃÎÊ(µ÷ÓÃget_id*·½·¨)¾¹ýͬ²½´¦Àí(lock¼°Synchronized)µÄ¹²Ïí×ÊÔ´(tmp)¼°Î´¾¹ýͬ²½´¦ÀíµÄ¹²Ïí×ÊÔ´(tmp)À´ËµÃ÷ͬ²½´¦ÀíµÄµÄ×÷Óá£
mainÖзÖÁ½²¿·Ö:
1£©Ç°°ë²¿·Ö£¬non-synchronization²¿·ÖÓÃÀ´²âÊÔûÓÐ×öͬ²½´¦ÀíµÄ´úÂë ......
1.Java ¼¯ºÏ¿ò¼Üͼ
¡¡¡¡-¼¯ºÏ½Ó¿Ú£º6¸ö½Ó¿Ú£¨¶ÌÐéÏß±íʾ£©£¬±íʾ²»Í¬¼¯ºÏÀàÐÍ£¬ÊǼ¯ºÏ¿ò¼ÜµÄ»ù´¡¡£
¡¡¡¡-³éÏóÀࣺ5¸ö³éÏóÀࣨ³¤ÐéÏß±íʾ£©£¬¶Ô¼¯ºÏ½Ó¿ÚµÄ²¿·ÖʵÏÖ¡£¿ÉÀ©Õ¹Îª×Ô¶¨Ò弯ºÏÀà¡£
¡¡¡¡-ʵÏÖÀࣺ8¸öʵÏÖÀࣨʵÏß±íʾ£©£¬¶Ô½Ó¿ÚµÄ¾ßÌåʵÏÖ¡£
¡¡¡¡2.JavaÈÝÆ÷Àà½éÉÜ
¡¡¡¡¢Ù JavaÈÝÆ÷Àà¶¼¿ÉÒÔ×Ô¶¯µØµ÷Õû×Ô¼ºµÄ³ß´ ......