ÓïÑÔ»ì±àÖ®javaµ÷ÓÃc dll jni¼¼ÊõСÊÔ
¸Õ´ÓÍøÉÏ¿´µ½cºÍjava»ì±àµÄÎÄÕ£¬¾Íؽ²»¿É´ýµÄ³¢ÊÔÁËһϡ£ºÇºÇ£¬Ð§¹û»¹ÊǺܺõġ£ÏÂÃæ½«×Ô¼º³É¹ûÕ³Ìù³öÀ´
£¨×ªÔØÓÚhttp://www.zxbc.cn/html/20070518/19986.html£©¡£ÊµÑéÖ®ºó¿ÉÒÔͨ¹ý¡£
1javaÖе÷ÓÃcÓïÑÔ
Ê×ÏȱàдMain.java
public class Main
{
public native static int getStrNum(byte str[], int strLen);
}
ÔÚÃüÁîÐÐÖУ¬Ê¹ÓÃÈçÏÂÃüÁî±àÒ룺
javac Main.java
ÏÂÃæµÄÃüÁÉú³ÉMain.hÍ·Îļþ
javah Main
´ò¿ªvs2008£¬ н¨¹¤³ÌMakeDll£¨win32 console application£©£¬ÉèÖÃÏîÄ¿ÊôÐÔÈçÏ£º
ÔÚproject-¡·MakeDll Properties-¡·ÔÚGeneralÑ¡ÏÉÏ£¬Ñ¡ÔñÉú³ÉdllÎļþ¡£
ͬʱÐèÒªÔÚÏîÄ¿µÄc++ÏÂgeneralϵÄAdditional include directoryϼÓÔØjdk°²×°Ä¿Â¼ÏµÄincludeÎļþ¼ÐºÍ¸ÃÎļþ¼ÐϵÄwin32
×ÓĿ¼¡£
½«µÚÒ»²½Éú³ÉµÄMain.hÎļþ¼ÙÈçµ½¹¤³ÌÖУ¬Í¬Ê±Ð½¨Ò»¸ömain.cppÎļþ£¬ÔÚÆäÖмÙÈçÈçÏ´úÂ룺
#include "Main.h"
#include <string.h>
JNIEXPORT jint JNICALL Java_Main_getStrNum (JNIEnv *env, jclass cls, jbyteArray str, jint strLen)
{
jbyte *buffer = (*env).GetByteArrayElements(str, 0);
buffer[strLen] = ' ';
jint len = strlen((char*)buffer);
return len;
}
±àÒë¼´¿ÉÉú³ÉMakeDll.dllÎļþ¡£
ÔÚjavaÔ´ÎļþÖе÷ÓøÃdllÎļþ£¨×¢ÒâÐèÒª½«dllÎļþºÍ±àÒëµÄclassÎļþ·ÅÖÃÔÚͬһ¸öÎļþ¼ÐÏÂÃæ£©
javaÔ´Îļþ´úÂëÈçÏ£º
public class Main
{
static
{
System.loadLibrary ("MakeDll");
}
public native static int getStrNum (byte[] str, int strLen);
public static void main (String[] args)
{
Main instance = new Main ();
String str = new String ("haha");
int num = instance.getStrNum (str.getBytes (), str.length ());
System.out.println (num);
}
}
±àÒë¸ÃjavaÔ´Îļþ£¬Í¬Ê±Ö´ÐиÃÎļþ¡£
javac Main.java
java Main
¼´¿ÉÊä³öÏàÓ¦½á¹û¡£
Ïà¹ØÎĵµ£º
1£® ¹ØÓÚ»ù´¡Êý¾ÝÀàÐÍ¡£
»¹¼ÇµÃÉÏһƬÎÄÕÂÖнáβ²¿·ÖµÄÄǸöÀý×Óô£¿
ÒòΪ¼ÆËã»úµÄ2½øÖƵÄÌØÐÔ£¬JavaÓïÑÔ£¨ÆäËûÓïÑÔºÃÏñÒ²Ò»Ñù£©ÎÞ·¨×¼È·µØ½øÐÐfloat,doubleÀàÐÍÊý¾ÝµÄ¼ÆË㣬ËùÒÔ£¬×÷ÕâЩ¼ÆËãµÄʱºòÐèÒª¿¼ÂÇʹÓÃBigDecimalן÷Àà¡£
2£® StringÀàÓëStringBufferÀà
JavaµÄStringÀàÌṩÈçϵļòµ¥µÄ×Ö·û´®Á¬½Ó·½· ......
1¡¢ ¶ÔÏóµÄ³õʼ»¯
(1) ·Ç¾²Ì¬¶ÔÏóµÄ³õʼ»¯
ÔÚ´´½¨¶ÔÏóʱ£¬¶ÔÏóËùÔÚÀàµÄËùÓÐÊý¾Ý³ÉÔ±»áÊ×ÏȽøÐгõʼ»¯¡£
»ù±¾ÀàÐÍ£ºintÐÍ£¬³õʼ»¯Îª0¡£
Èç¹ûΪ¶ÔÏó£ºÕâЩ¶ÔÏó»á°´Ë³Ðò³õʼ»¯¡£
¡ùÔÚËùÓÐÀà³ÉÔ±³õʼ»¯Íê³ÉÖ®ºó£¬²Åµ÷Óñ¾ÀàµÄ¹¹Ôì·½·¨´´½¨¶ÔÏó¡£
¹¹Ôì·½·¨µÄ×÷ÓþÍÊdzõʼ»¯¡£
(2) ¾²Ì¬¶ÔÏóµÄ³õʼ»¯
³ÌÐòÖÐÖ÷ÀàµÄ ......
xmlÖмüÃûΪ Ó¢ÎÄ£¬¼üֵΪÖÐÎÄ£¬¶ÁÈ¡½âÎö£¬È¡ÖµÊµÏÖ·Òë
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList; ......
ͨ¹ý DAOFactory µÄ·ºÐÍд·¨À´ÑÝʾJava·ºÐ͵ÄÌØÊâÓ÷¨
СÐÍÏîÄ¿Öг£³£¶¼Ã»ÓÐÓÃÈý·½³Ö¾Ã»¯¿ò¼Ü£¬¶ø´ó¶¼ÊÇÓù«Ë¾»ò×ÔÐÐÒÀ¾ÝDAOģʽ·â×°µÄһЩ×é¼þÀ´Íê³ÉÊý¾Ý¿â³Ö¾Ã»¯¶¯×÷£¬²¢ÇÒ£¬Í¨³£ÎªÁ˸ü¾ß¿ÉÀ©Õ¹ÐÔ£¬³£³£Ê¹ÓóéÏ󹤳§Ä£Ê½À´½âñîºÏ¡£
Ò»¡¢ÏÈ¿´´úÂë
1¡¢¼òµ¥¹¤³§´úÂë
/************************************************* ......
¼¸Ììǰ£¬¸Õ¿´ÁËIBM DeveloperworksÉÏij¸ö¼¼Êõ´óÅ£×öµÄ¹ØÓÚÉè¼ÆREST·ç¸ñµÄJava MVC¿ª·¢¿ò¼ÜµÄÎÄÕ£¬½ñÌìÔÚGoogle CodeÉÏ·¢ÏÖÁËÒ»¸ö»ùÓÚJavaµÄREST·ç¸ñµÄMVC¿ª·¢¿ò¼Ü£¬È¡ÃûWebWind
¡£
“WebWindÊÇÒ»¸öJava MVC¿ò¼Ü¡£ºÍ³£¼ûµÄMVC¿ò¼ÜÈçStruts¡¢WebWork²»Í¬£¬WebWindÌìÉúÖ§³ÖÓû§ÓѺõÄURL£¬ÈÃWebÓ¦ÓóÌÐò¶ÔËÑË÷ÒýÇæ¸ü¼Ó ......