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

Java Native Interface ÈëÃÅʾÀý

¼øÓÚÍøÉÏËѵ½µÄ¶¼ÊÇ»ùÓÚjdk1.4»òÒÔǰ°æ±¾£¬¶øÇÒ±¾µØ¿âÓõÄÊÇCÓïÑÔ¡£¶øÏÖÔÚÊÇ»ùÓÚC++£¬ËùÒÔ¸üмǼÈçÏ£º
µÚÒ»²½£º´´½¨JavaÔ´ÂëÎļþ
public class Hello{
        static{
                System.loadLibrary("Hello");
        }
        public Hello(){
        }
        public native void sayHello(String strName);
        public static void main(String[] args){
                Hello hello = new Hello();
                hello.sayHello("fuye");
        }
}
µÚ¶þ²½£º±àÒë
javac Hello.java
µÚÈý²¿£ºÉú³ÉC++ÎļþÍ·
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 __cplusplus
extern "C" {
#endif
/*
 * Class:     Hello
 * Method:    sayHello
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_Hello_sayHello
  (JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif
µÚËIJ½£ºÐ½¨C++ʵÏÖÎļþ
#include "Hello.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_Hello_sayHello(JNIEnv * env, jobject arg, jstring instring){
        printf("This is my first jni program\n");
}
µÚÎå²½£º ±àÒ룬Á¬½Ó³É±¾µØ¿â
1¡¢Éú³ÉHello.o
g++ -I /usr/local/dev/java/jdk1.5.0_16/include/ -I /usr/local/dev/java/jdk1.5.0_16/include/linux/ -c Hello.cpp
2¡¢Éú³ÉlibHello.so.1.0
g++ -shared -W1,-soname,libHell


Ïà¹ØÎĵµ£º

Java ʵÏÖ²åÈëʽ¼òµ¥ÅÅÐò

²åÈëʽÅÅÐòÔËÐÐЧÂÊN*(N-1)/4  ¶ÔÓÚËæ»úÊý×Ö,Õâ¸öËã·¨±ÈðÅÝ¿ì1±¶,±ÈÑ¡ÔñÅÅÐòÉÔ΢¿ìÒ»µã.
Èç¹ûÊÇ»ù±¾ÓÐÐòµÄ¶ÓÁÐÔòÓÅÊÆ×îΪÃ÷ÏÔÐèÒªO(N)
´úÂëÒ»ÑùÊÇ´ÓðÅÝÅÅÐò¼Ì³ÐÏÂÀ´µÄ.
 /**
*
* @author leon.lee
*/
public class InsertSort extends BubbleSort {
public InsertSort(int lengthArray){
......

Java ClassLoader

¡¡JavaµÄClassLoader¾ÍÊÇÓÃÀ´¶¯Ì¬×°ÔØclassµÄ£¬ClassLoader¶ÔÒ»¸öclassÖ»»á×°ÔØÒ»´Î£¬JVMʹÓõÄClassLoaderÒ»¹²ÓÐ4ÖÖ£º
¡¡¡¡Æô¶¯Àà×°ÔØÆ÷£¬±ê×¼À©Õ¹Àà×°ÔØÆ÷£¬Àà·¾¶×°ÔØÆ÷ºÍÍøÂçÀà×°ÔØÆ÷¡£
¡¡¡¡Õâ4ÖÖClassLoaderµÄÓÅÏȼ¶ÒÀ´Î´Ó¸ßµ½µÍ£¬Ê¹ÓÃËùνµÄ“Ë«Ç×ίÅÉÄ£ÐÍ”¡£È·ÇеØËµ£¬¼ÙÈçÒ»¸öÍøÂçÀà×°ÔØÆ÷±»ÇëÇó×°ÔØÒ ......

ͨ¹ýJava»òJspÏòÊý¾Ý¿â´æÈ¡¶þ½øÖÆÍ¼Æ¬


¡¡¡¡1 MySQL´æ´¢´óÈÝÁ¿µÄ¶þ½øÖÆÎļþµÄ¸ñʽÊÇblob£¬Æäʵ³ýÁËͼƬ»¹¿ÉÒÔ´æ±ðµÄ
¡¡¡¡2 ÒªÏòÊý¾Ý¿â´æ´¢¶þ½øÖƵÄÎļþÒ»¶¨Òª°ÑÒª´æ´¢µÄÊý¾Ýת»»³É¶þ½øÖÆÁ÷
¡¡¡¡·Ï»°¾Í²»¶à˵ÁË£¬´ó¼Ò¿´¿´´úÂëºÜÈÝÒ×Ã÷°×£¬ÏÈÀ´¿´Ò»¸öapp³ÌÐò£¬µ±È»Ê×ÏÈÄúÒªÔÚÊý¾Ý¿âÖÐÏȽ¨Á¢Ò»¸öÓÃÓÚ±£´æÍ¼Æ¬µÄ±íºÍÏàÓ¦µÄÁУ¬Êý¾Ý¸ñʽΪblob
¡¡¡¡  package ......

Java´®¿Ú±à³Ì2

    ÔٴδÓÍøÉϲéѯ£¬Ëѵ½ÁËRXTXcomm.jar°ü±È½ÏºÃ£¬ÊÇ·â×°ÁËcomm.jarµÄ·½·¨¡£
    °²×°£º
    1.copy rxtxSerial.dll to [JDK-directory]\jre\bin\rxtxSerial.dll
    2.copy RXTXcomm.jar to [JDK-directory]\jre\lib\ext\RXTXcomm.jar
  &nbs ......

java ¸ù¾ÝÁ½µã¾­Î³¶ÈÀ´Ëã¾àÀë

package com.njty.util;
public class Test {
  private static final double EARTH_RADIUS = 6378137;
  private static double rad(double d)
     {
        return d * Math.PI / 180.0;
     }
     ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ