ʹÓÃ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
Ïà¹ØÎĵµ£º
ÓÃRobotдJava´úÀí
Rational RobotÊÇͨ¹ýÂ¼ÖÆÓû§²Ù×÷½øÐй¦ÄÜ£¬ÐÔÄܺͼæÈÝÐÔ²âÊÔµÄ×Ô¶¯»¯²âÊÔ¹¤¾ß¡£Í¨¹ý»Ø·ÅÂ¼ÖÆ½Å±¾½øÐй¦ÄܺͿɿ¿ÐÔ²âÊÔ¡£±¾ÎÄÖ÷Òª½éÉÜRational RobotÕë¶Ôjava³ÌÐòºÍappletsÈçºÎ½øÐй¦ÄܲâÊÔ¡£
Rational Robotµ±Ç°°æ±¾Ö§³ÖÓÃÒÔÏÂÀà¿â¿ª·¢µÄJava³ÌÐòºÍapplet³ÌÐò£º
lJava Foundation Classes(JFCs)
l ......
֮ǰÔÚ×öfindbugsµÄʱºò¾³£»á²é¿´×Ö½ÚÂ룬¶¼ÊÇÒ»Öª°ë½âµÄ
ÄÇÌì¿´µ½Ò»¸öÎÊÌ⣬¸ÕºÃ¿ÉÒÔ´Ó×Ö½ÚÂëÀ´½âÊÍ
ÕâЩÌâÄ¿³£¼ûÓÚÃæÊÔÌ⣬ͨ³£ÒªÊÇ˸ÒÕâôд´úÂ룬ÍêÈ«ÊÇÔÚÕÒËÀ¡£¡£
Java´úÂë
public class Test {
public static void main(String[]  ......
ÔÚ×öweb¿ª·¢µÄʱºò£¬¾³£ÐèÒªÔÚÒ»¶¨µÄʱ¼äÈ¥¸úÐÂijЩ¶«Î÷£¬»òÊǼÓÔØÄ³Ð©¶«Î÷£¬Õâ¾ÍÓõ½Á˶¨Ê±Æ÷¡£
µ±Web¹¤³ÌÆô¶¯Ê±£¬¶¨Ê±Æ÷ÄÜ×Ô¶¯¿ªÊ¼¼ÆÊ±£¬ÔÚÕû¸öWeb¹¤³ÌµÄÉúÃüÆÚÀ¶¨Ê±Æ÷ÿ¹ýÒ»¶Îʱ¼ä¾ÍÖ´ÐÐÒ»´Î£¬ËùÒÔ¿¼ÂǶ¨Ê±Æ÷´æ·ÅµÄλÖá£
¶¨Ê±Æ÷¿Ï¶¨²»Äܲ»Äܼòµ¥µÄ´æÔÚÓÚµ¥¸öServlet»òJavaBeanÖУ¬±ØÐëÄ ......
boolean java.lang.Object.equals(Object obj)
Indicates whether some other
object is "equal to" this one.
The equals method implements an
equivalence relation on non-null object references:
It is reflexive: for
any non-null reference value x, x.equals(x) should return true.
It ......