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

java native interface(JNI)¼¼Êõ¼òµ¥Ó¦ÓÃ

      ÊÖÉÏÒ»¸öÏîÄ¿ÐèҪͨ¹ýusb¿ÚÈ¥¶ÁÈ¡usbkeyµÄÐÅÏ¢£¬³§¼ÒÌṩµÄÖ»ÓÐC/C++µÄ½Ó¿Ú£¬¶øÖ÷Ó¦ÓÃÊÇjavaµÄ£¬ËùÒÔÐèҪʹÓÃjavaÈ¥µ÷Óö¯Ì¬Á´½Ó¿â£¬ËùÒÔ»¨Á˵ãʱ¼äÑо¿ÁËÏÂJNI¼¼Êõ£¬jdk¶ÔJNI¼¼Êõ·â×°µÃºÜµ½Î»£¬Ê¹ÓÃÆðÀ´·Ç³£¼òµ¥£¬JNI¼¼Êõ×î¹Ø¼ü»¹ÊÇÔÚÓÚjniÊý¾ÝÀàÐͺͱ¾µØÊý¾ÝÀàÐ͵Äת»»¡£Ïȼòµ¥ÂÞÁÐÏÂJNIµÄ´´½¨¹ý³Ì£º
      Ê×ÏÈÐèҪдһ¸öjavaÀ࣬Ȼºó¶¨ÒåÐèҪʹÓÃC/C++ȥʵÏֵķ½·¨£¨ËäȻ˵jniÊÇjava native interface£¬µ«ÊÇĿǰֻ֧³Öc/c++ʵÏÖ£©£¬Ê¹ÓÃnative¹Ø¼ü×ÖÉùÃ÷¡£ÕâÀïдһ¸ö¼òµ¥µÄÀý×Ó£º
TestJNI.java
package test.jni;
public class TestJNI
{

static
{
System.loadLibrary("TestJNI");
//Õâ¸öÊÇÖ®ºó²úÉúµÄ¿âµÄÃû×Ö£¬²»ÐèÒª¼Óºó׺£¬
//×Ô¶¯¸ù¾ÝϵͳÕÒ.dll»òÕß.so;
}
public native String helloWorld();

public static void main(String[] args)
{
TestJNI t = new TestJNI();
System.out.println(t.helloWorld());
}
}
È»ºó½«ÒÔÉÏÎļþʹÓÃjavac±àÒ룬ȻºóʹÓÃjavahÃüÁÈçÏ£º
javac test\jni\TestJNI.java
javah test.jni.TestJNI
Ö®ºó»áµÃµ½Ò»¸ötest_jni_TestJNI.hµÄÍ·Îļþ£¬ÄÚÈÝÈçÏ£º
test_jni_TestJNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class test_jni_TestJNI */
#ifndef _Included_test_jni_TestJNI
#define _Included_test_jni_TestJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: test_jni_TestJNI
* Method: helloWorld
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_test_jni_TestJNI_helloWorld
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
È»ºó±àдc/c++ʵÏÖ£¬ÈçÏ£º
TestJNI.c
#include <stdio.h>
#include <jni.h>
#include <windows.h>
#include "test_jni_TestJNI.h"
JNIEXPORT jstring JNICALL Java_test_jni_TestJNI_helloWorld
(JNIEnv * env, jobject object){
//ÔÚcÖбØÐë¸øÐÎʽ²ÎÊýÉùÃ÷±äÁ¿Ãû£¬C++ÖпÉÒÔ²»Óã¬Í·ÎļþÖв»ÐèÒªÐ޸ģ»
const char* str = "helloWorld";
return (*env)->NewStringUTF(env,str);
//C++ÖпÉÒÔÖ±½Óenv->NewStringUTF(


Ïà¹ØÎĵµ£º

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ÎļþÃû³Æ¿ÉÒÔ ......

Java Éè¼ÆÄ£Ê½(12)

Observer
Intent
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
How to
Subject
  
knows its observers. Any number of Observer objects may observe a subject.
  
provides an in ......

java±¨±íJXLºÍPOI´òÓ¡ÉèÖÃ


JXLµÄ´òÓ¡ÉèÖÃÔÚjxl.SheetSettingsÕâ¸öÀàÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý·½·¨Sheet£¨»òÕßWritableSheet£©#getSettings()»ñÈ¡¡£
1.Ò³Ãæ
1.1·½Ïò
SheetSetting#setOrientation(PageOrientation po)£»
²ÎÊý£º  PageOrientation#LANDSCAPE       ºáÏò´òÓ¡
PageOrientation# PO ......

javaÖÐÒì³£·ÖÀà


1. Òì³£»úÖÆ
      Òì³£»úÖÆÊÇÖ¸µ±³ÌÐò³öÏÖ´íÎóºó£¬³ÌÐòÈçºÎ´¦Àí¡£¾ßÌåÀ´Ëµ£¬Òì³£»úÖÆÌṩÁ˳ÌÐòÍ˳öµÄ°²È«Í¨µÀ¡£µ±³öÏÖ´íÎóºó£¬³ÌÐòÖ´ÐеÄÁ÷³Ì·¢Éú¸Ä±ä£¬³ÌÐòµÄ¿ØÖÆÈ¨×ªÒƵ½Òì³£´¦ÀíÆ÷¡£
      ´«Í³µÄ´¦ÀíÒì³£µÄ°ì·¨ÊÇ£¬º¯Êý·µ»ØÒ»¸öÌØÊâµÄ½á¹ûÀ´±íʾ³öÏÖÒì³££¨Í ......

JAVAϵÁÐÖ®¶ÔÏóµÄÐòÁл¯Óë·´ÐòÁл¯

±¾ÎÄÀ´×Ô£ºhttp://www.javaeye.com/topic/130025   1 ¼ò½é<o:p></o:p> ¶ÔÏóÐòÁл¯(Serializable)ÊÇÖ¸½«¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì£¬¶ø·´ÐòÁл¯ÔòÊǸù¾Ý×Ö½ÚÐòÁлָ´¶ÔÏóµÄ¹ý³Ì¡£<o:p></o:p> ÐòÁл¯Ò»°ãÓÃÓÚÒÔϳ¡¾°£º<o:p></o:p> 1. ÓÀ¾ÃÐÔ±£´æ¶ÔÏ󣬱£´æ¶ÔÏóµÄ×Ö½ÚÐòÁе½±¾µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ