Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java JNI

http://xxw8393.blog.163.com/blog/static/3725683420091023535411/
 
Java µÄ³öÏÖ¸ø´ó¼Ò¿ª·¢´øÀ´µÄ¼«´óµÄ·½±ã¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÓдóÁ¿Ô­Óеľ­¹ý¹ã·º²âÊԵķÇJava´úÂ룬½«ËüÃÇÈ«²¿ÓÃJavaÀ´ÖØÐ´£¬¿ÖÅÂ»á´øÀ´¾Þ´óµÄ¹¤×÷Á¿ºÍ³¤ÆÚµÄ²âÊÔ£»Èç¹ûÎÒÃǵÄÓ¦ÓÃÖÐÐèÒª·ÃÎʵ½Ìض¨µÄÉ豸£¬ÉõÖÁÊǽö·ûºÏ¹«Ë¾ÄÚ²¿ÐÅÏ¢½»»¥¹æ·¶µÄÉ豸£¬»òij¸öÌØ¶¨µÄ²Ù×÷ϵͳ²ÅÓеÄÌØÐÔ£¬Java¾ÍÏÔµÃÓÐЩÁ¦²»´ÓÐÄÁË¡£Ãæ¶ÔÕâЩÎÊÌ⣬Sun¹«Ë¾ÔÚJDK1.0ÖоͶ¨ÒåÁËJNI¹æ·¶£¬Ëü¹æ¶¨ÁËJavaÓ¦ÓóÌÐò¶Ô±¾µØ·½·¨µÄµ÷ÓùæÔò¡£

»ØÒ³Ê×
ʵÏÖ²½Öè¼°Ïà¹Øº¯ÊýʹÓÃ
±¾ÎĽ«Ò»²½²½ËµÃ÷ÔÚLinuxƽ̨ÏÂÈçºÎʵÏÖ±¾µØ¹²Ïí¿âÓëJavaЭͬ¹¤×÷¡£Hello World³ÌÐòÊÇĿǰ±ê×¼µÄÈëÃŵÚÒ»²½£¬ÄÇô£¬ÎÒÒ²ÒÔÀàËÆµÄÓ¦ÓÃ×îΪÑùÀý¡£
µÚÒ»²½£¬¶¨ÒåÒ»¸ö Java Àà -- Hello. ËüÌṩSayHello·½·¨£º
´ËʱӦעÒâÁ½µã£º
1.ΪҪʹÓõÄÿ¸ö±¾µØ·½·¨±àд±¾µØ·½·¨ÉùÃ÷£¬ÆäÉùÃ÷·½Ê½ÓëÆÕͨ Java ·½·¨½Ó¿Úûʲô²»Í¬£¬Ö»ÊDZØÐëÖ¸¶¨ native ¹Ø¼ü×Ö£¬ÈçÏÂËùʾ£º
de>public native void SayHello(String strName);de>
ÔÚÕâ¸öº¯ÊýÖУ¬ÎÒÃǽ«¸ù¾Ý´«½øµÄÈËÃû£¬ÏòijÈËÎʺá£
2.±ØÐëÏÔʽµØ¼ÓÔØ±¾µØ´úÂë¿â¡£ÎÒÃÇÐèÔÚÀàµÄÒ»¸ö¾²Ì¬¿éÖмÓÔØÕâ¸ö¿â£º
static
{
System.loadLibrary("hello");
}

ÔÙ¼ÓÉϱØÒªµÄÒì³£´¦Àí¾ÍÉú³ÉÈçÏÂÔ´ÎļþHello.java£º
public class Hello
{
static
{
try
{
//´Ë´¦¼´Îª±¾µØ·½·¨ËùÔÚÁ´½Ó¿âÃû
System.loadLibrary("hello");
}
catch(UnsatisfiedLinkError e)
{
System.err.println( "Cannot load hello library:\n " +
e.toString() );
}
}
public Hello()
{
}
//ÉùÃ÷µÄ±¾µØ·½·¨
public native void SayHello(String strName);
}
±àÒëºóÉú³ÉHello.classÎļþ¡£
µÚ¶þ²½£¬Éú³É±¾µØÁ´½Ó¿â¡£¾ßÌå¹ý³ÌÈçÏ£º
1. ҪΪÒÔÉ϶¨ÒåµÄÀàÉú³É Java ±¾µØ½Ó¿ÚÍ·Îļþ£¬ÐèʹÓÃjavah£¬Java ±àÒëÆ÷µÄ javah ¹¦Äܽ«¸ù¾Ý HelloÀàÉú³É±ØÒªµÄÉùÃ÷£¬´ËÃüÁÉú³ÉHello.h Îļþ£¬ÎÒÃÇÔÚ¹²Ïí¿âµÄ´úÂëÖÐÒª°üº¬Ëü£¬javah²»Ê¹Ä¬ÈÏÄÚ²¿ÃüÁÐèÒªÖ¸Ã÷·¾¶£¬ËüÔÚJDKµÄbinĿ¼Ï£¬ÔÚÎÒµÄLinux»·¾³ÏÂÃüÁîÈçÏ£º
/home/jbuilder/jdk1.3.1/bin/javah Hello
Éú³ÉµÄHello.h Îļþ ÄÚÈÝÈçÏÂËùʾ£º
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Hello */
#ifndef _Included_Hello
#define _Included_Hello
#ifdef __cplusp


Ïà¹ØÎĵµ£º

2010.5.27¼Ç£¨jbpm4.3²¿ÊðÎÊÌâ,javaÖеÄspilt·½·¨£©

ÕÐÉÌÏîÄ¿ÐèÒªÒý½øÒ»¸ö¹¤×÷Á÷£¬×î½üÔÚÍùÉϵ÷ÑпªÔ´µÄ¹¤×÷Á÷ÒýÇæ£¬×ܽá±È½ÏÁ÷ÐÐÒ»¹²ÓÐ3¸ö¡£
ÆäÖÐÒ»¸öÊÇosworkflow£¬µ«ÊÇÓÉÓںܳ¤Ê±¼ä²»ÔÙ¸üУ¬ËùÒÔÑ¡Ôñ·ÅÆú¡£ÁíÍâÒ»¸ö¾ÍÊÇjbmp4.3£¬¿ªÁ˺ܶàµÄ×ÊÁÏ»¹ÓÐÊÓÆµ£¬·¢ÏÖÆäÖкܶණÎ÷Àí½âÀ§ÄÑ£¬»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇËüµÄ³Ö¾Ã²ãÊÇhibernate×öµÄ£¬±¾ÏëÏÈǰÏëÓÃibatisµÄ¡£¹À¼ÆÒªÊÇÕæµÄÒý½ø¹ ......

JavaÔ¶³ÌͨѶ¿ÉÑ¡¼¼Êõ¼°Ô­Àí

     ÔÚ·Ö²¼Ê½·þÎñ¿ò¼ÜÖУ¬Ò»¸ö×î»ù´¡µÄÎÊÌâ¾ÍÊÇÔ¶³Ì·þÎñÊÇÔõôͨѶµÄ£¬ÔÚJavaÁìÓòÖÐÓкܶà¿ÉʵÏÖÔ¶³ÌͨѶµÄ¼¼Êõ£¬ÀýÈ磺RMI¡¢MINA¡¢ESB¡¢ Burlap¡¢Hessian¡¢SOAP¡¢EJBºÍJMS µÈ£¬ÕâЩÃû´ÊÖ®¼äµ½µ×ÊÇЩʲô¹ØÏµÄØ£¬ËüÃDZ³ºóµ½µ×ÊÇ»ùÓÚʲôԭÀíʵÏÖµÄÄØ£¬Á˽âÕâЩÊÇʵÏÖ·Ö²¼Ê½·þÎñ¿ò¼ÜµÄ»ù´¡ÖªÊ¶£¬¶øÈç¹û ......

Javaµ÷ÓÃSybase´æ´¢¹ý³Ì

ÕªÖÁSybase¹ÙÍø:
The caller( ) method calls the stored procedure inoutproc:
create proc inoutproc @id int, @newname varchar(50), @newhome Address,
@oldname varchar(50) output, @oldhome Address output as

select @oldname = name, @oldhome = home from xmp where id=@id
update xmp set name ......

JavaÐéÄâ»ú

Ò».JavaÐéÄâ»úµÄÉúÃüÖÜÆÚ
1.JavaÐéÄâ»úµÄÔðÈÎÊǸºÔðÔËÐÐJava³ÌÐò£¬Æô¶¯Ò»¸öJava³ÌÐòʱ£¬²úÉúÒ»¸öÐéÄâ»úʵÀý£¬µ±³ÌÐò¹Ø±ÕÍ˳ö£¬ÐéÄâ»úʵÀý¼´ËæÖ®ÏûÍö£¬Ã¿Ò»¸ö³ÌÐòÔËÐÐÓÚ×Ô¼ºµÄJavaÐéÄâ»úʵÀýÖС£
2.JVMͨ¹ýµ÷ÓÃij¸ö³õʼÀàµÄmain()·½·¨ÔËÐÐJava³ÌÐò
3.Java³ÌÐò³õʼÀàÖеÄmain()·½·¨£¬×÷Ϊ¸Ã³ÌÐò³õʼÏß³ÌµÄÆðµã£¨Java³ÌÐòµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ