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

ͨ¹ýJNI ʵÏÖ javaÓëC++Ö®¼äµÄÐÅÏ¢´«µÝ

¶¨ÒåÒ»¸önative ·½·¨£º
package ext;
import java.util.Hashtable;
public class TestJNI
{
   static
   {
       System.loadLibrary("dllfile");
   }
    public TestJNI()
    {
        Hashtable htable = new Hashtable();
        htable.put(1,2);
    }
    public native Hashtable getNameList();
    public static void main(String[] arg)
    {
        TestJNI tstJNI= new TestJNI();
        Hashtable htable= tstJNI.getNameList();
        System.out.println(htable.size());
    }
}
ͨ¹ý javah Éú³É Í·Îļþ ext_TestJNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"
/* Header for class ext_TestJNI */
#ifndef _Included_ext_TestJNI
#define _Included_ext_TestJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     ext_TestJNI
 * Method:    getNameList
 * Signature: ()Ljava/util/Hashtable;
 */
JNIEXPORT jobject JNICALL Java_ext_TestJNI_getNameList
  (JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
ÔÚc++´´½¨Ò»¸ödynamic dllÏîÄ¿£¬²¢ÔÚ StdAfx.h ÖÐ include Í·Îļþ ext_TestJNI.h
StdAfx.h ´úÂ룺
 #if !defined(AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_)
#define AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Insert your headers here
#define WIN32_LEAN_AND_MEAN        // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include "ext_TestJNI.h"
ÔÚ CPPÎļþÖж¨Òå  ·½·¨ÊµÏÖ£º
 CPP´úÂ룺
#include "stdAfx.h&


Ïà¹ØÎĵµ£º

Javaѧϰ´ÓÈëÃŵ½¾«Í¨


×÷Õߣºrobbin 
ÍøÖ·£ºhttp://www.fankai.com/ 
Java Learning Path £¨Ò»£©¡¢¹¤¾ßƪ 
Ò»¡¢ JDK (Java Development Kit) 
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕ ......

javaÖеĹ¹Ôì·½·¨

1.¹¹Ôì·½·¨£ºÊÇÖ¸·½·¨ÃûÓëÀàÃûÏàͬµÄ·½·¨£¬°üÀ¨“×Ô¶¨Òå¹¹Ôì·½·¨”ºÍ“ĬÈϵĹ¹Ôì·½·¨”
                  ÔÚ´´½¨¶ÔÏóʱ  Èç¹ûÀàÖÐÒѾ­×Ô¶¨ÒåÁ˹¹Ôì·½·¨  ÄÇô±ØÐëʹÓøù¹Ôì·½·¨À´¹¹Ôì¶ÔÏó£»Èç¹ûÀ ......

JAVA´úÂë¹æ·¶


ÖØÒªÐÔ
¼ì²éÏî
ÖØÒª
ÃüÃû¹æÔòÊÇ·ñÓëËù²ÉÓõĹ淶±£³ÖÒ»Ö£¿
¡¡
ÊÇ·ñ×ñÑ­ÁË×îС³¤¶È×î¶àÐÅÏ¢Ô­Ôò£¿
ÖØÒª
has/can/isǰ׺µÄº¯ÊýÊÇ·ñ·µ»Ø²¼¶ûÐÍ£¿
×¢ÊÍ
¡¡
ÖØÒª
×¢ÊÍÊÇ·ñ½ÏÇåÎúÇÒ±ØÒª£¿
ÖØÒª
¸´ÔӵķÖÖ§Á÷³ÌÊÇ·ñÒѾ­±»×¢ÊÍ£¿
¡¡
¾àÀë½ÏÔ¶µÄ}ÊÇ·ñÒѾ­±»×¢ÊÍ£¿
¡¡
·ÇͨÓñäÁ¿ÊÇ·ñÈ«²¿±»×¢ÊÍ£¿
ÖØÒª
º¯ÊýÊÇ· ......

JAVAÖеÄʱ¼ä²Ù×÷


javaÖеÄʱ¼ä²Ù×÷²»ÍâºõÕâËÄÖÖÇé¿ö£º
1¡¢»ñÈ¡µ±Ç°Ê±¼ä
2¡¢»ñȡij¸öʱ¼äµÄijÖÖ¸ñʽ
3¡¢ÉèÖÃʱ¼ä
4¡¢Ê±¼äµÄÔËËã
ºÃ£¬ÏÂÃæ¾ÍÕë¶ÔÕâËÄÖÖÇé¿ö£¬Ò»¸öÒ»¸ö¸ã¶¨¡£
Ò»¡¢»ñÈ¡µ±Ç°Ê±¼ä
ÓÐÁ½ÖÖ·½Ê½¿ÉÒÔ»ñµÃ£¬µÚÒ»ÖÖ£¬Ê¹ÓÃDateÀà¡£
j2SEµÄ°üÀïÓÐÁ½¸öDateÀ࣬һ¸öÊÇjava.sql.Date,Ò»¸öÊÇjava.util.Date
ÕâÀҪʹÓÃjava.util. ......

JAVA¹æ·¶Ñ§Ï°——³ÌÐòÖ´ÐÐʱµÄÀà¼ÓÔزÙ×÷

³ÌÐòÖ´ÐÐʱ»á˳Ðò¾­¹ýloading¡¢linking¡¢initializationÈý¸ö²½Öè
1. loading£º²éÕÒÀà»ò½Ó¿ÚµÄ¶þ½øÖÆÎļþ
2. linking£º×°ÈëÀà»ò½Ó¿ÚµÄ¶þ½øÖÆÎļþ£¬ºÏΪJVMµÄÔËÐÐ״̬£¬Ê¹Æä¿ÉÒÔ±»Ö´ÐС£´Ë¹ý³Ì°üÀ¨Èý¸ö×Ó¹ý³Ì£ºverification, preparation, and
    resolution of symbolic references
3. initialization£º ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ