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

3.ͨ¹ýJNI¼ÓÔØjavaÐéÄâ»ú

        Ç°ÃæÒѾ­·ÖÎöÁËjavaÃüÁî¼ÓÔØjavaÐéÄâ»úµÄ·½·¨£¬¼´Í¨¹ýJNIºÍÐéÄâ»ú½»»¥¡£Òò´ËÎÒÃÇ¿ÉÒÔºÜÈÝÒ×µÄ×Ô¼ºÐ´ÏàÓ¦µÄÆô¶¯´úÂ룬ʵÏÖÔÚC++³ÌÐòÖÐÖ´ÐÐjava³ÌÐò£¬µ÷ÓÃjavaÀàµÄ·½·¨¡£
     Òª²âÊÔµÄJavaÀà(Test.java)µÄ´úÂëÊÇ£º
public class Test {
public Test(){
System.out.println("Test's constructor");
}
public void sayHello(){
System.out.println("Test object say : Hello!");
}
public static int add(int arg1,int arg2){
return arg1 + arg2;
}

public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}

 
   ¼ÓÔØjvmµÄC++(StartJVM.cpp)´úÂëÈçÏ£º
/*
* startjvm.cpp
*
* Created on: 2010-1-28
* Author: Xiutao Zang
*/
#include <iostream>
#include <jni.h>
using namespace std;
int main()
{
JavaVMOption options[1];
options[0].optionString = "-Djava.class.path=.";
JavaVMInitArgs args;
memset(&args, 0, sizeof(args));
args.version = JNI_VERSION_1_2;
args.nOptions = 1;
args.options = options;
args.ignoreUnrecognized = JNI_FALSE;
JNIEnv *env = 0;
JavaVM *vm = 0;
jint result = JNI_CreateJavaVM(&vm, (void **)&env, &args);
if (result == JNI_OK)
{
cout << "create the jvm successfully!" << endl;
jclass mainClass = env->FindClass("Test");
if (mainClass != 0)
{
cout << "find the main class successfully!" << endl;
jclass stringClass = env->FindClass("java/lang/String");
enum
{
LENGTH = 2
};
const char *mainParams[LENGTH] = { "Hello ", "World!" };
jstring jstringTemp;
jobjectArray mainArgs = env->NewObjectArray(LENGTH, stringClass, 0);
for (int i = 0; i < LENGTH; i++)
{
jstringTemp = env->NewStringUTF(mainParams[i]);
env->SetObjectArrayElement(mainArgs, i, jstringTemp);
}
jmethodID mainID


Ïà¹ØÎĵµ£º

Java IOѧϰ±Ê¼Ç£º×Ö½ÚÁ÷

Java IOѧϰ±Ê¼Ç£º×Ö½ÚÁ÷
×Ö½ÚÁ÷ÊÇ×î»ù±¾µÄÁ÷£¬ÎļþµÄ²Ù×÷¡¢ÍøÂçÊý¾ÝµÄ´«ÊäµÈµÈ¶¼ÒÀÀµÓÚ×Ö½ÚÁ÷¡£¶ø×Ö·ûÁ÷³£³£ÓÃÓÚ¶ÁÈ¡Îı¾ÀàÐ͵ÄÊý¾Ý»ò×Ö·û´®Á÷µÄ²Ù×÷µÈµÈ¡£
 
¹ØÓÚ×Ö½ÚÁ÷µÄAPI£¬Ã»Ê²Ã´ºÃ˵µÄ£¬¿´¿´¾ÍÖªµÀÁË¡£ÕâÀïÌô¼¸¸ö¹Ø¼üµã£º
 
Ò»¡¢InputStreamµÄAPI
 
1¡¢public int read()
´ÓÊäÈëÁ÷¶ÁÈ¡ÏÂÒ»¸ö ......

JavaÖÐÓÃË«»º³å¼¼ÊõÏû³ýÉÁ˸


ÔÚJava±àд¾ßÓÐÁ¬¹á±ä»¯µÄ´°¿Ú³ÌÐòʱ£¬Í¨³£µÄ°ì·¨ÊÇÔÚ×ÓÀàÖи²¸Ç¸¸ÀàµÄpaint(Graphics)·½·¨£¬ÔÚ·½·¨ÖÐʹÓÃGUIº¯ÊýʵÏÖ´°¿ÚÖØ»æµÄ¹ý³Ì¡£Á¬¹á±ä»»µÄ´°¿Ú»á²»¶ÏµØµ÷ÓÃupdate(Graphics)º¯Êý£¬¸Ãº¯Êý×Ô¶¯µÄµ÷ÓÃpaint(Graphics)º¯Êý¡£ÕâÑù¾Í»á³öÏÖÉÁ˸µÄÇé¿ö¡£
ΪÁ˽â¾öÕâÒ»ÎÊÌ⣬¿ÉÒÔÓ¦ÓÃË«»º³å¼¼Êõ¡£¿ÉÒÔͨ¹ý½ØÈ¡ÉÏÊö¹ý³Ì£¬¸ ......

¹é²¢ÅÅÐòËã·¨µÄJAVAʵÏÖ

package Utils.Sort;
/**
*¹é²¢ÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×鱨ÐëʵÏÖComparable½Ó¿Ú
*/
public class MergeSort implements SortStrategy
{
       private Comparable[] bridge;
       /**
       *ÀûÓù鲢ÅÅÐòË ......

JavaÖеÄbyte

ºÜÓôÃÆ  Ò»¶ÎºÜ¼òµ¥µÄ´úÂë  °ÑARGBתΪRGBA£¬½á¹ûͼÏñÑÕɫƫºì¡£
¸ãÁ˺ܾ㬲ÅÖªµÀÎÊÌâ³öÔÚÁËbyteÉíÉÏ¡£
Ò»¸öÑÕÉ«·ÖÁ¿8룬Ï뵱ȻµÄÓÃÁËbyte£¬×éºÏ³ÉÒ»¸öÏñËØ32룬¾ÍÊÇ
(r<<24)|(g<<16)|(b<<8)|(a)
ÎÊÌâ¾Í³öÔÚÁËbyteµ½intµÄת»»ÉÏ
byteÔÚJavaÖÐÊÇÓзûºÅµÄ £¨win32ÖÐÊÇunsigned char£©
Õ ......

JavaÈí¼þ¼Ü¹¹Ê¦ËùÒªÐèµÄ¶«Î÷

×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà
¶ÔÓÚûÓÐJava±à³Ì¾­ÑéµÄ³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé¼®¶¼Ò»Ñù£¬Õâ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ