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

javaµ÷ÓÃdllÀý×Ó


×î¼Ñ´ð°¸
1. ±àд·¶ÀýÎĵµ
public class TestNative
{
private native static int Max(int a,int b);
public static void main(String[] args)
{
System.out.println(Max(4,5));
}
static
{
System.loadLibrary("VCdll");
}
}
ÆäÖÐ
LoadLibraryÖеÄDLLÎļþÃû³Æ¿ÉÒÔËæ±ã¶¨.Ö»Òª×öºÃµÄ¶¯Ì¬Á´½Ó¿â¸ÄÃû³ÉÕâ¸ö×Ö·û´®¾Í¿ÉÒÔÁË.¶ønativeº¯ÊýµÄÀ´Ô´¾ÍÊǸö¯Ì¬Á´½Ó¿â.
2. ×öºÃ¸Ã²½×¼±¸ÒÔºó,ÓÃjavac TestNative.javaÉú³ÉTestNative.class. ¼ìÑéÓï·¨.
3. Óï·¨¼ì²éͨ¹ýÒÔºó,ÓÃjavah TestNativeÉú³ÉTestNative.hµÄC++Í·Îļþ.
4. ÓÃVC++6.0´´½¨dllÎļþ:
<1>msdev->new->project->win32 Dynamic-Link Library
<2>Enter project name (e.g. VCdll)
<3>choose "An empty DLL project"->finish
<4>½«3Éú³ÉµÄTestNative.hºÍjdkϵÄjni.hºÍjni_md.h¼ÓÈëµ½¹¤³ÌÖÐÈ¥
<5>Create a c++ file, implements the native method. as follows:
//TestNative.cpp
#include "TestNative.h"
JNIEXPORT jint JNICALL Java_TestNative_Max
(JNIEnv * a, jclass b, jint x, jint y)
{
return x > y ? x : y;
}
±¸×¢:
A ÆäÖеÄjni.hͨ³£ÔÚ jdk\include\ ¿ÉÒÔÏÈ¿½±´µ½VC°²×°Ä¿Â¼ÏµÄincludeĿ¼ÏÂ.Ò»ÀÍÓÀÒÝ,ÒÔºó¿ÉÒÔ·½±ãʹÓÃJNI¼¼Êõ.
B È«²¿µÄÊý¾ÝÀàÐÍÐèÒª¿¼ÂÇJavaºÍVCµÄ½Ó¿ÚÎÊÌâ.ÓÃjint jstring µÈ.
C º¯ÊýÃû³ÆºÍ×Ô¶¯Éú³ÉµÄ.hÎļþÖй涨µÄÒ»ÖÂ.ÃüÃû¹æÔòÊÇ: Java_ʹÓÃÀà_·½·¨Ãû
6. È«±àÒëÒ»ÏÂVC++¹¤³Ì.
Èç¹ûûÓгö´í,Ôò´ËʱÉú³É¶¯Ì¬Á´½Ó¿â³É¹¦.
°Ñ¶¯Ì¬Á´½Ó¿âVCdll.dll¿½±´µ½TestNative.javaËùÔÚµÄĿ¼ÉÏ.
7.ÔËÐÐjava TestNative. OK :-)


Ïà¹ØÎĵµ£º

JAVA¿ª·¢Õß³£È¥µÄ20¸öÓ¢ÎÄÍøÕ¾


1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http ......

java¶Áдɾ.text,.xmlÎļþÄÚÈÝ

package fileIo;  
 
import  java.io.BufferedReader;  
import  java.io.BufferedWriter;  
import  java.io.File;  
import  java.io.FileReader;  
import  java.io.FileWriter;  
 
 public&nb ......

×Ô¶¨ÒåJavaÒì³£

1.ǰÑÔ£º
ÄãµÄ³ÌÐò×ÜÓÐÒ»Ìì»á±ÀÀ£µô£¬ÔÚ±ÀÀ£µôµÄʱºòÎÒÃÇÒªÖªµÀËüÔÚÄÄ£¬ÎªÁËʲô¶ø±ÀÀ£µô£¬Êý¾ÝµÄ±£´æ»òÕß¶ªÊ§Çé¿öÈçºÎµÈÎÊÌâ¡£ÎÒÃÇ¿ÉÒÔͨ¹ý¼Ì³ÐÀàjava.lang.ThrowableµÄ×ÓÀࣺExceptionÀ´Éè¼ÆÎÒÃÇ×Ô¼ºµÄJavaÒì³£¡£ExceptionÀàÓÃÓÚÃèÊö³ÌÐòÄܹ»²¶»ñµÄÒì³££¬ÈçClassNotFoundException¡£Òª×¢ÒâµÄÊÇ×Ô¶¨ÒåÒì³£ÀàÖ®¼äÒ²¿ÉÒÔÓм ......

java³ÌÐòʵÏÖÏß³ÌÁ¬½Ó³Ø¹¦ÄÜ

 import   java.util.LinkedList;  
   
  public   abstract   class   Manager   {  
   
          private   String   mThreadPoolName   =   null;  
   
    ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ