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
Ïà¹ØÎĵµ£º
²åÈëʽÅÅÐòÔËÐÐЧÂÊN*(N-1)/4 ¶ÔÓÚËæ»úÊý×Ö,Õâ¸öËã·¨±ÈðÅÝ¿ì1±¶,±ÈÑ¡ÔñÅÅÐòÉÔ΢¿ìÒ»µã.
Èç¹ûÊÇ»ù±¾ÓÐÐòµÄ¶ÓÁÐÔòÓÅÊÆ×îΪÃ÷ÏÔÐèÒªO(N)
´úÂëÒ»ÑùÊÇ´ÓðÅÝÅÅÐò¼Ì³ÐÏÂÀ´µÄ.
/**
*
* @author leon.lee
*/
public class InsertSort extends BubbleSort {
public InsertSort(int lengthArray){
......
ÔÌûµØÖ·:
http://coolshell.cn/?p=2235
----------------ÎÒÊÇ×ÏÔ·×îÃȵķָîÏßXD--------------
¸ÅÊö£º
±¾ÎÄÖ÷ÒªÑо¿µÄÊÇJAVAµÄ×Ö·û´®Æ´½ÓµÄÐÔÄÜ£¬ÔÎÄÖеIJâÊÔ´úÂëÔÚ¹¦ÄÜÉϲ¢²»µÈ¼Û£¬µ¼ÖÂconcatµÄ²â
ÊÔÒâÒå²»´ó¡£²»¹ýÔ×÷ÕßÔÚÆÀÂÛÀ¸¸øÁËеÄconcat½á¹û£¬Èç¹ûÓÐÐËȤµÄͬѧ½¨Òé×Ô¼ºÐ޸ĴúÂë²âÊÔ¡£
ÔÎijö´¦:http://ww ......
Ö÷Òª´úÂë²Î¿¼ÁËbeansoftµÄZipUtil,Ìí¼ÓÁËÒ»¸ö·½·¨£¬
¿ÉÒ԰Ѳ»Í¬Ä¿Â¼ÎļþÌí¼Óµ½zipÖÐ,²¢×öÁËһЩ¸Ä½ø£¬Ê¹ÓÃÁËapacheµÄzipÀ࣬(ÔΪjdkµÄzipÀà)£¬Ê¹Ö§³ÖÖÐÎÄÎļþÃû¡£
apacheµÄzipÀà¿ÉÒÔ´ÓantÖгéÈ¡¡£apacheºÃÏñûÓÐÌṩµ¥¶ÀÏÂÔØ¡£
package com.order;
import java.io.*;
import java.util.List;
import org.apache.tool ......
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
¡¡¡¡Ò»¡¢Java±à³ÌÈëÃÅÀà
¡¡¡¡¶ÔÓÚûÓÐJava±à³Ì¾ÑéµÄJava³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé ......
1. javaÓëÆ½Ì¨Î޹ء£Ô´´úÂëÓɱàÒëÆ÷±àÒëΪ×Ö½ÚÂ루JVM¿ÉÖ´ÐдúÂ룩£»½âÊÍÆ÷ÔËÐÐJVM×Ö½ÚÂ루·ÒëΪ»úÆ÷Â룩¼´¿ÉµÃµ½Êä³ö½á¹û¡£
×Ö½ÚÂë¿ÉÔÚ¶à¸öƽ̨ÔËÐУ¬²»ÐèÒªÖØÐ±àÒë¡£
c±àÒëÆ÷ÔÚ±àÒëʱÉú³ÉµÄ´úÂëÊÇÕë¶ÔÌØ¶¨µÄÓ²¼þƽ̨²úÉúµÄ¡£
2. java¿ª·¢¹¤¾ßJDK¡£°²×°JDKʱ×Ô´øjre£¬¾ÍÊÇjavaÐéÄâ»ú¡£
jdkÊÇJava¿ª·¢¹¤¾ß°ü£¬°üº¬Á˸ ......