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

Java»ù´¡ÖªÊ¶——JNIÈëÞ­µä

JNIÊÇJava Native InterfaceµÄËõд£¬Í¨¹ýʹÓÃnative·½·¨£¬Java¿ÉÒÔµ÷Óñ¾µØC/C++×Ó³ÌÐò¡£ÉùÃ÷Ò»¸ö±¾µØ×Ó³ÌÐòµÄ·½·¨ÊÇ£ºÔÚ·½·¨ÃûǰÌí¼ÓnativeÐÞÊΣ¬Èç
public native void myfun();
µ÷ÓøÃ×Ó³ÌÐòµÄ·½·¨Îª£º
static{
    System.loadLibrary("myfun");
}
ÔÚWindowsÉÏ£¬ÉÏÃæµÄmyfun¼´Ö¸°üº¬ÓÃC/C++дµÄmyfun()µÄʵÌåµÄDLL——myfun.dll¡£ÏÂÃæÒÔNativeDemo³ÌÐòΪÀýÀ´ËµÃ÷ÔõÑùÔÚWindowsÏ£¨XP+VS2008+JDK1.6u17£©Ê¹ÓÃJNI¡£
1. ±àдԴ³ÌÐòNativeDemo.java
NativeDemo.javaÖÐÉùÃ÷ÁËÒ»¸ö±¾µØ×Ó³ÌÐòtest()£º
public native void test();
¸Ã×Ó³ÌÐò´ÓÖ÷³ÌÐò»ñµÃint±äÁ¿iµÄÖµ£¬¶ÔÆä¼Ó±¶£¬È»ºó·µ»Ø¸øÖ÷³ÌÐò¡£¾ßÌå´úÂëÈçÏ£º
// Using Native method
public class NativeDemo{
    int i;
    public static void main(String args[]){
        NativeDemo ob=new NativeDemo();
        ob.i=10;
        System.out.println("This is ob.i before the native method: "+ob.i);
        ob.test(); //call a native method
        System.out.println("This is ob.i after the Native method: "+ob.i);
        ob.test(); //call a native method
       System.out.println("This is ob.i after the Native method: "+ob.i);
    }
    // declare native method
    public native void test();
    static{
         // load DLL that contains static method
         System.loadLibrary("NativeDemo");
    }
}
2. ±àÒëNativeDemo.java
javac NativeDemo.java
µÃµ½NativeDemo.class
3. ʹÓÃjavah.exeÉú³ÉNativeDemo.h
javah -jni NativeDemo
javah.exeÔÚ%JAVA_HOME%\binÏ£¬Éú³ÉµÄNativeDemo.hÈçÏ£º
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class NativeDemo */
#ifndef _I


Ïà¹ØÎĵµ£º

javaÖгõʼ»¯Ë³Ðò£¨×ª£©

£¨1£©³õʼ»¯µÄ˳Ðò£¨¾²Ì¬¡¢·Ç¾²Ì¬¡¢final¡¢±äÁ¿¡¢¶ÔÏó£©
    ¶ÔÓÚ¾²Ì¬±äÁ¿¡¢¾²Ì¬³õʼ»¯¿é¡¢±äÁ¿¡¢³õʼ»¯¿é¡¢¹¹ÔìÆ÷£¬ËüÃǵijõʼ»¯Ë³ÐòÒÀ´ÎÊÇ£¨¾²Ì¬±äÁ¿¡¢¾²Ì¬³õʼ»¯¿é£©>£¨±äÁ¿¡¢³õʼ»¯¿é£©>¹¹ÔìÆ÷¡£
ÎÒÃÇÒ²¿ÉÒÔͨ¹ýÏÂÃæµÄ²âÊÔ´úÂëÀ´ÑéÖ¤ÕâÒ»µã£º
Java´úÂ룺
public class InitialOrderTest {
......

JavaÖÐnewºÍnewInstanceµÄÇø±ð

    ÔÚJavaÖУ¬Ê¹ÓÃnew¹Ø¼ü×ÖºÍClass.forName("a.class.Name").newInstance¶¼¿ÉÒÔ´´½¨¶ÔÏó£¬ËüÃÇÓÖÓÐÊ²Ã´Çø±ðÄØ£¿
    1¡¢ÀàµÄ¼ÓÔØ·½Ê½²»Í¬¡£
    ÔÚÖ´ÐÐClass.forName("a.class.Name")ʱ£¬JVM»áÔÚclassapthÖÐÈ¥ÕÒ¶ÔÓ¦µÄÀಢ¼ÓÔØ£¬ÕâʱJVM»áÖ´ÐиÃÀàµÄ¾²Ì¬´úÂë¶Î¡£ÔÚʹÓà ......

JavaÏß³ÌÖ®Producer

 Producer-Consumer PatternµÄ²ÎÓëÕߣº
1. Data²ÎÓëÕß
    ±»Producer²ÎÓëÕßËù´´½¨£¬²¢ÓÉConsumer²ÎÓëÕßËùʹÓá£
2. Producer£¨Éú²úÕߣ©²ÎÓëÕß
    ´´½¨Data²ÎÓëÕߣ¬²¢½«Æä´«µÝ¸øChannel²ÎÓëÕß¡£
3. Consumer£¨Ïû·ÑÕߣ©²ÎÓëÕß
    ´ÓChannel²ÎÓëÕß»ñÈ¡Data²ÎÓëÕß¡ ......

JVM ¶ÔJavaÒì³£µÄ´¦ÀíÔ­Àí

×î³õÎÒÃÇÓà Java д JSP µÄʱºò£¬¼¸ºõ¿ÉÒÔ²»´¥¼°Òì³££¬ÒòΪ Servlet ÈÝÆ÷»á°Ñ API Å׳öµÄÒì³£°ü×°³É
ServletException ¶ª¸øÈÝÆ÷È¥´¦Àí¡£ÔÙºóÀ´Ó¦Ó÷ֲ㣬´úÂëÖÐÒª´¦ÀíµÄÒì³£±ã¶àÁË£¬Ò»°ã»áת»»³É×Ô¶¨ÒåµÄÒµÎñÒì³£À࣬ÓÃ
try-catch-throw
customerException-finally¡£ÔÙµ½Èç½ñ¸÷ÖÖ¿ò¼ÜÈÕÕé³ÉÊ죬´úÂëÖÐÏÔʽµÄÒì³£´¦ÀíÓÖ½¥ ......

³õѧJAVAÖ®Ò»

1¡¢ Ò»¸öÊýÈç¹ûÇ¡ºÃµÈÓÚÆäÒò×Ó£¨³ýÁ˱¾ÉíÒÔÍâµÄÔ¼ÊýÖ®ºÍ£©£¬¸ÃÊý¾Í³ÆÎª“ÍêÊý”¡£±àдһ¸ö Java Application  ³ÌÐò£¬Çó³ö 1000 ÒÔÄÚµÄËùÓÐÍêÊý¡£
 
public class homework11
{
public static void main(String[] args)
//Êä³ö1000ÒÔÄÚµÄËùÓÐÍêÊý
{
int sum;       ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ