ʹÓÃC++¶ÔjavaµÄclassloader½øÐÐÄ£Äâ
ת×Ô£ºÊ¹ÓÃC++¶ÔjavaµÄclassloader½øÐÐÄ£Äâ
Ò»Ö±ÒÔÀ´£¬¾õµÃjavaµÄclassloaderºÜ²»´íµÄ£¬×ö²úÆ·µÄ»°£¬¿ÉÒÔ½«»ù±¾µÄ×öÏÂÀ´ºó£¬½«À©Õ¹Í¨¹ýclassloaderµÄ·½Ê½À´×ö£¬½«¸üеIJ¹
¶¡Ê¹ÓÃclassloaderÀ´×ö£¬ÔÚʹÓÃjavaµÄÍøÂçÓÎÏ·ÖУ¬¿ÉÒÔ½«À©Õ¹Í¨¹ýclassloaderµÄ»úÖÆ£¬ÊµÏÖ¶¯Ì¬µÄ¸üУ¬Ê¡µÄÿ´Î¸üÐÂÒªÖØÐÂÏÂÔØ
¿Í»§¶Ë£¬ÔÚÊÖ»úÉÏ¿ÉÊÇÒ»¸öºÜ²»´íµÄµã×Ó¡£
erlangÒ²Ö§³Ö´úÂëµÄÈȲ¿Êð£¬javaÒ²¿ÉÒÔ¶¯Ì¬¸üУ¬ÄÇô£¬C++ÄØ£¬Ë¼À´¿¼È¥£¬Ã»ÓÐÏëµ½ÀàËÆ·Ç³£ÍêÃÀµÄ·½°¸£¬Ö»ÄÜÖªµÀÒ»¸ö»ù±¾³ÉÐ͵ÄÄÚÈÝ¡£
ÏÖÔÚ£¬²»¹ÜÊÇwindows»¹ÊÇlinux£¬¶¼Ö§³Ödll,ÎÒÃÇ¿ÉÒÔ¶¯Ì¬µÄ¼ÓÔØdll£¬ÊÇ·ñ¿ÉÒÔÏñjavaÄÇÑù£¬¶¯Ì¬µÄµ÷Óú¯ÊýÄØ£¿´ð°¸ÊÇ¿ÉÒԵġ£ÐèÒª½è
Öú²¿·Ö»ã±àÀ´ÊµÏÖ£¬ÒªÖªµÀ£¬ÎÒÃÇ¿ÉÄÜÖ»ÊÇÖªµÀÒ»¸öº¯ÊýµÄÃû×Ö£¬º¯Êý²ÎÊýµÄÀàÐÍ£¬²ÎÊýµÄ¸öÊýµÈµÈ£¬¶¼ÊDz»ÖªµÀµÄ¡£ÒòΪÎÒ¸üÏë×öÒ»¸öÆÕ±éʹÓõ쬶ø²»ÊÇÒª¸æËß
Ä㣺“°ÑijijµÄÍ·Îļþ¸øÎÒ”¡£
Ê×ÏÈ¿´Íâ±íµÄÄÚÈÝ£¬javaµÄClassLoaderµÄÄ£Äâ½Ó¿Ú£º
ClassLoader.h
01
#ifndef _CLASSLOADER_H_
02
#define _CLASSLOADER_H_
03
#include "define.h"
04
#include "String.h"
05
class
ClassLoader
06
{
07
public
:
08
ClassLoader();
09
ClassLoader(ClassLoader* parent);
10
virtual
~ClassLoader();
11
void
load(
const
String& name);
12
void
* getFun(
const
String& name);
13
private
:
14
ClassLoader* parent;
15
void
* dl_handle;
16
};
17
#endif /* _CLASSLOADER_H_ */
½ÓÏÂÀ´ÊÇClassLoader.cpp
view source
print
?
01
#include "java/lang/ClassLoader.h"
02
#include < dlfcn.h >
03
#include "System.h"
04
ClassLoader::ClassLoader()
05
{
06
&nb
Ïà¹ØÎĵµ£º
javaµ÷webServiceÌ«Õý³£ÁË¡£¡£¡£
ÔÚµ÷ÓÃhttpsµÄwebServiceµÄʱºò¼¸ÖÖ³£Óõķ½·¨»á³öÏÖ°²È«´íÎ󣬺ܶàÈË˵µÄÊÇÔÚjreÀïÃæ×°Ö¤Êé¡£¡£¡£ÄÇҲ̫ÓôÃÆÁ˰É
ÕâÀïÌṩһÖÖ²»ÓÃÖ¤ÊéµÄ·½Ê½
¶Ô·½webServiceÌṩµÄ½Ó¿Ú£¬Õâ¸öÄãÓ¦¸ÃÒªÖªµÀµÄ°É£¬²»ÖªµÀµÄ»°¾Íwsdl×Ô¼º»¹Ô
Java´úÂë
/**
* XXXµÄwebService½Ó¿ ......
ÔÚJavaÓ¦ÓÃÖУ¬ÈÕÆÚºÍʱ¼ä×÷Ϊ»ù±¾µÄÐÅÏ¢ÀàÐÍÓ¦ÓõÄÌØ±ð¹ã·º£¬ÀýÈç»ñÈ¡µ±Ç°Ê±¼ä£¬¼ÆËãijЩ²Ù×÷Ö´ÐеÄʱ¼äµÈ¡£ÈÕÆÚ´¦ÀíÏà¹ØµÄÀà°üÀ¨DateºÍCalendar£¬Í¨¹ýDateºÍCalendar¿ÉÒÔ»ñÈ¡µ±Ç°Ê±¼ä£¬¶Ôʱ¼ä½øÐÐһЩÔËË㣬»ñȡʱ¼äÖеÄÄê¡¢Ô¡¢ÈÕ¡¢Ê±¡¢·Ö¡¢ÃëºÍÐÇÆÚµÈÐÅÏ¢¡£ÔÚÊäÈëºÍÊä³öµÄʱºò¾³£Óõ½×Ö·û´®ÐÎʽµÄʱ¼ä£¬Õâ¾ÍÐèҪʱ¼äºÍ ......
java -cp .;c:\dir1\lib.jar Test
-cp ºÍ -classpath Ò»Ñù£¬ÊÇÖ¸¶¨ÀàÔËÐÐËùÒÀÀµÆäËûÀàµÄ·¾¶£¬Í¨³£ÊÇÀà¿â£¬jar°üÖ®À࣬ÐèҪȫ·¾¶µ½jar°ü£¬windowÉϷֺœ;”
·Ö¸ô£¬linuxÉÏÊǷֺœ:”·Ö¸ô¡£²»Ö§³ÖͨÅä·û£¬ÐèÒªÁгöËùÓÐjar°ü£¬ÓÃÒ»µã“.”´ú±íµ±Ç°Â·¾¶¡£
ËäÈ»ÏÖÔÚ¶¼ÓÐeclipseÖ®ÀàµÄIDE ......
ѧϰjavaÒ²ÓÐһЩʱ¼äÁË£¬µ«ÊǶÔjavaÀïµÄÊý¾ÝÀàÐÍ´«µÝ·½·¨»¹ÊDz»ÉõÁ˽â
ÒÔÏÂÊÇÎÒÔÚjre1.6.0_04 ÔËÐл·¾³ É϶Ôjava Êý¾ÝÄÚÐÍ´«µÝ·½Ê½µÄ̽Ë÷
¸Ð¾õÊÕ»ñ»¹ÊDZ˶࣬ÒòΪ³öÏÖÁËÎÒÓöÁÏÖ®ÍâµÄ½á¹û¡£
Ò»¡¢»ù±¾Êý¾ÝÀàÐÍ£º
»ù±¾ÀàÐÍΪֵ´«µÝ£¬»ù±¾ÀàÐÍÖеÄÊý×éΪÒýÓô«µÝ£»
̽Ë÷´úÂëÈçÏ£º
package cn.cn;
public ......