ʹÓÃ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 ......
JAVAÒì³£¿ÉÒÔ·ÖΪÈýÖÖ£º
1.checked Òì³£
±àÒëÆ÷±£Ö¤ËùÓеÄcheckedÒì³£¶¼»áµÃµ½´¦Àí£¬ÕâÑù¾Í¿ÉÒÔÔÚ±àÒëÆÚ¼ì²éÒì³£´¦Àí¡£Í¨³£×Ô¶¨ÒåµÄÒì³£Ó¦¸ÃΪ´ËÀàÐÍ
2.runtimeÒì³£
ÊÇJVMÔÚ³ÌÐòÔËÐÐÆÚ·¢ÏÖµÄÎÞЧ²Ù×÷£¬ÀýÈçNullPointerException
3.Errors
ÓÉJVM¼ì²âµ½µÄʧ°Ü²Ù×÷£¬ÀýÈçOutOfMe ......
´ó¼Ò¶¼ÖªµÀJAVAÖÐʹÓÃOBJECT×÷ΪΨһµÄ»ùÀà¡£µ«ÊÇJAVAµÄÉè¼ÆÕßΪʲôҪÕâÑù×öÄØ£¿ÖضÁ¡¶TTHINKING IN JAVA¡·£¬µÃ³öÒÔÏÂÔÒò£º
1£¬JAVAÊÇ´¿ÃæÏò¶ÔÏóµÄÓïÑÔ¡£µ¥¼Ì³ÐÌåϵ±£Ö¤ÁËËùÓÐн¨µÄ»òJDKÖÐÒÑÓеÄÀà¶¼±ØÐë¼Ì³Ð×ÔOBJECT¡£ÕâÑù£¬±£Ö¤ÁËËùÓеÄÀà¶¼¾ßÓÐһЩ»ù±¾µÄ·½·¨¡£ÀýÈçÒ»¸öString¶ÔÏóÓÐtoString()·½·¨£¬ÁíÍâÒ»¸öMath¶ÔÏ ......
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 ......