ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ137²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡




15¡£8¡¡Ô¶³Ì·½·¨¡¡¡¡



Ϊͨ¹ýÍøÂçÖ´ÐÐÆäËû»úÆ÷ÉϵĴúÂ룬´«Í³µÄ·½·¨²»½öÄÑÒÔѧϰºÍÕÆÎÕ£¬Ò²¼«Ò׳ö´í¡£Ë¼¿¼Õâ¸öÎÊÌâ×î¼ÑµÄ·½¡¡

ʽÊÇ£ºÄ³Ð©¶ÔÏóÕýºÃλÓÚÁíһ̨»úÆ÷£¬ÎÒÃÇ¿ÉÏòËüÃÇ·¢ËÍÒ»ÌõÏûÏ¢£¬²¢»ñµÃ·µ»Ø½á¹û£¬¾ÍÏóÄÇЩ¶ÔÏóλÓÚ×Ô¡¡

¼ºµÄ±¾µØ»úÆ÷Ò»Ñù¡£Java¡¡1¡£1¡¡µÄ¡°Ô¶³Ì·½·¨µ÷Óá±£¨RMI£©²ÉÓõÄÕýÊÇÕâÖÖ³éÏó¡£±¾½Ú½«Òýµ¼´ó¼Ò¾­ÀúһЩ¡¡

±ØÒªµÄ²½Ö裬´´½¨×Ô¼ºµÄRMI¡¡¶ÔÏ󡣡¡¡¡



15¡£8¡£1¡¡Ô¶³Ì½Ó¿Ú¸ÅÄî¡¡¡¡



RMI¡¡¶Ô½Ó¿ÚÓÐ×ÅÇ¿ÁÒµÄÒÀÀµ¡£ÔÚÐèÒª´´½¨Ò»¸öÔ¶³Ì¶ÔÏóµÄʱºò£¬ÎÒÃÇͨ¹ý´«µÝÒ»¸ö½Ó¿ÚÀ´Òþ²Ø»ù²ãµÄʵʩϸ¡¡

½Ú¡£ËùÒÔ¿Í»§µÃµ½Ô¶³Ì¶ÔÏóµÄÒ»¸ö¾ä±úʱ£¬ËüÃÇÕæÕýµÃµ½µÄÊǽӿھä±ú¡£Õâ¸ö¾ä±úÕýºÃͬһЩ±¾µØµÄ¸ù´úÂë¡¡

Á¬½Ó£¬ÓɺóÕ߸ºÔðͨ¹ýÍøÂçͨÐÅ¡£µ«ÎÒÃDz¢²»¹ØÐÄÕâЩÊÂÇ飬ֻÐèͨ¹ý×Ô¼ºµÄ½Ó¿Ú¾ä±ú·¢ËÍÏûÏ¢¼´¿É¡£¡¡¡¡

´´½¨Ò»¸öÔ¶³Ì½Ó¿Úʱ£¬±ØÐë×ñÊØÏÂÁйæÔò£º¡¡¡¡

£¨1£©¡¡Ô¶³Ì½Ó¿Ú±ØÐëΪpublic¡¡ÊôÐÔ£¨²»ÄÜÓС°°ü·ÃÎÊ¡±£»Ò²¾ÍÊÇ˵£¬Ëü²»ÄÜÊÇ¡°ÓѺõġ±£©¡£·ñÔò£¬Ò»µ©¿Í»§¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡582¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡584¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

ÊÔͼװÔØÒ»¸öʵÏÖÁËÔ¶³Ì½Ó¿ÚµÄÔ¶³Ì¶ÔÏ󣬾ͻáµÃµ½Ò»¸ö´íÎ󡣡¡¡¡

£¨2£©¡¡Ô¶³Ì½Ó¿Ú±ØÐëÀ©Õ¹½Ó¿Ú¡¡java¡£rmi¡£Remote¡£¡¡¡¡

£¨3£©¡¡³ýÓëÓ¦ÓóÌÐò±¾ÉíÓйصÄÎ¥ÀýÖ®Í⣬Զ³Ì½Ó¿ÚÖеÄÿ¸ö·½·¨¶¼±ØÐëÔÚ×Ô¼ºµÄthrows¡¡´Ó¾äÖÐÉùÃ÷¡¡

java¡£rmi¡£RemoteException¡£¡¡¡¡

£¨4£©¡¡×÷Ϊ²ÎÊý»ò·µ»ØÖµ´«µÝµÄÒ»¸öÔ¶³Ì¶ÔÏ󣨲»¹ÜÊÇÖ±½ÓµÄ£¬»¹ÊÇÔÚ±¾µØ¶ÔÏóÖÐǶÈ룩±ØÐëÉùÃ÷ΪԶ³Ì½Ó¡¡

¿Ú£¬²»¿ÉÉùÃ÷ΪʵʩÀà¡£¡¡¡¡

¡¡¡¡

ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÔ¶³Ì½Ó¿ÚʾÀý£¬Ëü´ú±íµÄÊÇÒ»¸ö¾«È·¼Æʱ·þÎñ£º¡¡¡¡

¡¡¡¡

//£º¡¡PerfectTimeI¡£java¡¡¡¡

//¡¡The¡¡PerfectTime¡¡remote¡¡interface¡¡¡¡

package¡¡c15¡£ptime£»¡¡¡¡

import¡¡java¡£rmi¡£*£»¡¡¡¡

¡¡¡¡

interface¡¡PerfectTimeI¡¡extends¡¡Remote¡¡£û¡¡¡¡

¡¡¡¡long¡¡getPerfectTime£¨£©¡¡throws¡¡RemoteException£»¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

Ëü±íÃæÉÏÓëÆäËû½Ó¿ÚÊÇÀàËƵģ¬Ö»ÊǶÔRemote¡¡½øÐÐÁËÀ©Õ¹£¬¶øÇÒËüµÄËùÓз½·¨¶¼»á¡°ÖÀ¡±³ö¡¡

RemoteException¡¡£¨Ô¶³ÌÎ¥Àý£©¡£¼Çס½Ó¿ÚºÍËüËùÓеķ½·¨¶¼ÊÇpublic¡¡µÄ¡£¡¡¡¡



15¡£8¡£2¡¡Ô¶³Ì½Ó¿ÚµÄʵʩ¡¡¡¡



·þÎñÆ÷±ØÐë°üº¬Ò»¸öÀ©Õ¹ÁËUnicastRemoteObject¡¡µÄÀ࣬²¢ÊµÏÖÔ¶³Ì½Ó¿Ú¡£Õâ¸öÀàÒ²¿ÉÒÔº¬Óи½¼ÓµÄ·½·¨£¬¡¡

µ«¿Í»§Ö»ÄÜʹÓÃÔ¶³Ì½Ó¿ÚÖеķ½·¨¡£ÕâÊÇÏÔÈ»µÄ£¬ÒòΪ¿Í»§µÃµ½µÄÖ»ÊÇÖ¸Ïò½Ó¿ÚµÄÒ»¸ö¾ä±ú£¬¶ø·ÇʵÏÖËüµÄ¡¡

ÄǸöÀà¡£¡¡¡¡

±ØÐëΪԶ³Ì¶ÔÏóÃ÷È·¶¨Òå¹¹½¨Æ÷£¬¼´Ê¹Ö»×¼±¸¶¨ÒåÒ»¸öĬÈϹ¹½¨Æ÷£¬ÓÃËüµ÷Óûù´¡À๹½¨Æ÷¡£±ØÐë°ÑËüÃ÷È·¡¡

µØ±àд³öÀ´£¬ÒòΪËü±ØÐë¡°ÖÀ¡±³ö¡¡RemoteException¡¡Î¥Àý¡£¡¡¡¡

ÏÂÃæÁгöÔ¶³Ì½Ó¿ÚPerfectTime¡¡µÄʵʩ¹ý³Ì£º¡¡¡¡

¡¡¡¡

//£º¡¡PerfectTime¡£java¡¡¡¡

//¡¡The¡¡implementation¡¡of¡¡the¡¡PerfectTime¡¡¡¡¡¡

//¡¡remote¡¡object¡¡¡¡

package¡¡c15¡£ptime£»¡¡¡¡

import¡¡java¡£rmi¡£*£»¡¡¡¡

import¡¡java¡£rmi¡£server¡£*£»¡¡¡¡

import¡¡java¡£rmi¡£registry¡£*£»¡¡¡¡

import¡¡java¡£*£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡PerfectTime¡¡¡¡¡¡

¡¡¡¡¡¡¡¡extends¡¡UnicastRemoteObject¡¡¡¡

¡¡¡¡¡¡¡¡implements¡¡PerfectTimeI¡¡£û¡¡¡¡

¡¡¡¡//¡¡Implementation¡¡of¡¡the¡¡interface£º¡¡¡¡

¡¡¡¡public¡¡long¡¡getPerfectTime£¨£©¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡RemoteException¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡//¡¡Must¡¡implement¡¡constructor¡¡to¡¡throw¡¡¡¡

¡¡¡¡//¡¡RemoteException£º¡¡¡¡

¡¡¡¡public¡¡PerfectTime£¨£©¡¡throws¡¡RemoteException¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡super£¨£©£»¡¡//¡¡Called¡¡automatically¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡//¡¡Registration¡¡for¡¡RMI¡¡serving£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡583¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡585¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£setSecurityManager£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡RMISecurityManager£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡PerfectTime¡¡pt¡¡=¡¡new¡¡PerfectTime£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Naming¡£bind£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨//colossus£º2005/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Ready¡¡to¡¡do¡¡time¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

ÔÚÕâÀmain£¨£©¿ØÖÆ×ÅÉèÖ÷þÎñÆ÷µÄÈ«²¿Ï¸½Ú¡£±£´æRMI¡¡¶ÔÏóʱ£¬±ØÐëÔÚ³ÌÐòµÄij¸öµØ·½²ÉÈ¡ÏÂÊö²Ù×÷£º¡¡¡¡

£¨1£©¡¡´´½¨ºÍ°²×°Ò»¸ö°²È«¹ÜÀíÆ÷£¬ÁîÆäÖ§³ÖRMI¡£×÷ΪJava¡¡·¢ÐаüµÄÒ»²¿·Ö£¬ÊÊÓÃÓÚRMI¡¡Î¨Ò»Ò»¸öÊÇ¡¡

RMISecurityManager¡¡¡£¡¡¡¡

£¨2£©¡¡´´½¨Ô¶³Ì¶ÔÏóµÄÒ»¸ö»ò¶à¸öʵÀý¡£ÔÚÕâÀ´ó¼Ò¿É¿´µ½´´½¨µÄÊÇPerfectTime¡¡¶ÔÏ󡣡¡¡¡

£¨3£©¡¡ÏòRMI¡¡Ô¶³Ì¶ÔÏó×¢²á±í×¢²áÖÁÉÙÒ»¸öÔ¶³Ì¶ÔÏó¡£Ò»¸öÔ¶³Ì¶ÔÏóÓµÓеķ½·¨¿ÉÉú³ÉÖ¸ÏòÆäËûÔ¶³Ì¶ÔÏóµÄ¾ä¡¡

±ú¡£ÕâÑùÒ»À´£¬¿Í»§Ö»Ðèµ½×¢²á±íÀï·ÃÎÊÒ»´Î£¬µÃµ½µÚÒ»¸öÔ¶³Ì¶ÔÏó¼´¿É¡£¡¡¡¡

¡¡¡¡

1¡£¡¡ÉèÖÃ×¢²á±í¡¡¡¡

ÔÚÕâ¶ù£¬´ó¼Ò¿É¿´µ½¶Ô¾²Ì¬·½·¨Naming¡£bind£¨£©¡¡µÄÒ»¸öµ÷Óá£È»¶ø£¬Õâ¸öµ÷ÓÃÒªÇó×¢²á±í×÷Ϊ¼ÆËã»úÉϵÄÒ»¡¡

¸ö¶ÀÁ¢½ø³ÌÔËÐС£×¢²á±í·þÎñÆ÷µÄÃû×ÖÊÇ¡¡rmiregistry¡£ÔÚ32¡¡Î»Windows¡¡»·¾³ÖУ¬¿ÉʹÓ㺡¡¡¡

start¡¡rmiregistry¡¡¡¡

ÁîÆäÔÚºǫ́ÔËÐС£ÔÚUnix¡¡ÖУ¬Ê¹Ó㺡¡¡¡

rmiregistry¡¡&¡¡¡¡

ºÍÐí¶àÍøÂç³ÌÐòÒ»Ñù£¬rmiregistry¡¡Î»ÓÚ»úÆ÷Æô¶¯ËüËùÔÚµÄij¸ö¡¡IP¡¡µØÖ·´¦£¬µ«ËüÒ²±ØÐë¼àÊÓÒ»¸ö¶Ë¿Ú¡£Èç¹û¡¡

ÏóÉÏÃæÄÇÑùµ÷ÓÃrmiregistry£¬²»Ê¹ÓòÎÊý£¬×¢²á±íµÄ¶Ë¿Ú¾Í»áĬÈÏΪ¡¡1099¡£ÈôÏ£ÍûËüλÓÚÆäËûij¸ö¶Ë¿Ú£¬¡¡

Ö»ÐèÔÚÃüÁîÐÐÌí¼ÓÒ»¸ö²ÎÊý£¬Ö¸¶¨ÄǸö¶Ë¿Ú±àºÅ¼´¿É¡£¶ÔÕâ¸öÀý×ÓÀ´Ëµ£¬¶Ë¿Ú½«Î»ÓÚ¡¡2005£¬ËùÒÔ¡¡

rmiregistry¡¡Ó¦¸ÃÏóÏÂÃæÕâÑùÆô¶¯£¨¶ÔÓÚ32¡¡Î»Windows£©£º¡¡¡¡

start¡¡rmiregistry¡¡2005¡¡¡¡

¶ÔÓÚUnix¡¡£¬ÔòʹÓÃÏÂÊöÃüÁ¡¡¡¡

rmiregistry¡¡2005¡¡&¡¡¡¡

Óë¶Ë¿ÚÓйصÄÐÅÏ¢±ØÐë´«Ë͸øbind£¨£©ÃüÁͬʱ´«Ë͵Ļ¹ÓÐ×¢²á±íËùÔÚµÄÄÇ̨»úÆ÷µÄ¡¡IP¡¡µØÖ·¡£µ«¼ÙÈôÎÒÃÇ¡¡

ÏëÔÚ±¾µØ²âÊÔRMI¡¡³ÌÐò£¬¾ÍÏó±¾ÕµÄÍøÂç³ÌÐòÒ»Ö±²âÊÔµÄÄÇÑù£¬ÕâÑù×ö¾Í»á´øÀ´ÎÊÌâ¡£ÔÚ¡¡JDK¡¡1¡£1¡£1¡¡°æ±¾¡¡

ÖУ¬´æÔÚ×ÅÏÂÊöÁ½·½ÃæµÄÎÊÌ⣨עÊ͢ߣ©£º¡¡¡¡

£¨1£©¡¡localhost²»ÄÜËæ¡¡RMI¡¡¹¤×÷¡£ËùÒÔΪÁËÔÚµ¥¶Àһ̨»úÆ÷ÉÏÍê³É¶Ô¡¡RMI¡¡µÄ²âÊÔ£¬±ØÐëÌṩ»úÆ÷µÄÃû×Ö¡£Îª¡¡

ÁËÔÚ32¡¡Î»¡¡Windows¡¡»·¾³Öе÷²é×Ô¼º»úÆ÷µÄÃû×Ö£¬¿É½øÈë¿ØÖÆÃæ°å£¬Ñ¡Ôñ¡°ÍøÂ硱£¬Ñ¡Ôñ¡°±êʶ¡±¿¨Æ¬£¬ÆäÖС¡

ÁгöÁ˼ÆËã»úµÄÃû×Ö¡£¾ÍÎÒ×Ô¼ºµÄÇé¿öÀ´Ëµ£¬ÎҵĻúÆ÷½Ð×÷¡°Colossus¡¡¡±£¨ÒòΪÎÒÓü¸¸ö´óÈÝÁ¿µÄÓ²Å̱£´æ¡¡

¸÷ÖÖ²»Í¬µÄ¿ª·¢ÏµÍ³¡ª¡ªClossus¡¡ÊÇ¡°¾ÞÈË¡±µÄÒâ˼£©¡£Ëƺõ´óдÐÎʽ»á±»ºöÂÔ¡£¡¡¡¡

£¨2£©¡¡³ý·Ç¼ÆËã»úÓÐÒ»¸ö»î¶¯µÄTCP/IP¡¡Á¬½Ó£¬·ñÔò¡¡RMI¡¡²»Äܹ¤×÷£¬¼´Ê¹ËùÓÐ×é¼þ¶¼Ö»ÐèÒªÔÚ±¾µØ»úÆ÷ÀﻥÏàͨ¡¡

ÐÅ¡£ÕâÒâζ×ÅÔÚÊÔͼÔËÐгÌÐò֮ǰ£¬±ØÐëÁ¬½Óµ½×Ô¼ºµÄ¡¡ISP¡¡£¨ÒòÌØÍø·þÎñÌṩÕߣ©£¬·ñÔò»áµÃµ½Ò»Ð©º¬ÒåÄ£¡¡

ºýµÄÎ¥ÀýÏûÏ¢¡£¡¡¡¡

¡¡¡¡

¢ß£ºÎªÕÒ³öÕâЩÐÅÏ¢£¬ÎÒ²»ÖªËðÉËÁ˶àÉÙ¸öÄÔϸ°û¡£¡¡¡¡

¡¡¡¡

¿¼Âǵ½ÕâЩÒòËØ£¬bind£¨£©ÃüÁî±ä³ÉÁËÏÂÃæÕâ¸öÑù×Ó£º¡¡¡¡

Naming¡£bind£¨¡¨//colossus£º2005/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡

ÈôʹÓÃĬÈ϶˿ڡ¡1099£¬¾ÍûÓбØÒªÖ¸¶¨Ò»¸ö¶Ë¿Ú£¬ËùÒÔ¿ÉÒÔʹÓ㺡¡¡¡

Naming¡£bind£¨¡¨//colossus/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡

ÔÚJDK¡¡Î´À´µÄ°æ±¾ÖУ¨1¡£1Ö®ºó£©£¬Ò»µ©¸ÄÕýÁË¡¡localhost¡¡µÄÎÊÌ⣬¾ÍÄÜÕý³£µØ½øÐб¾µØ²âÊÔ£¬È¥µô¡¡IPµØ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡584¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡586¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Ö·£¬Ö»Ê¹Óñêʶ·û£º¡¡¡¡

Naming¡£bind£¨¡¨PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡

·þÎñÃûÊÇÈÎÒâµÄ£»ËüÔÚÕâÀïÕýºÃΪ¡¡PerfectTime£¬ºÍÀàÃûÒ»Ñù£¬µ«Äã¿ÉÒÔ¸ù¾ÝÇé¿öÈÎÒâÐ޸ġ£×îÖØÒªµÄÊÇÈ·¡¡

±£ËüÔÚ×¢²á±íÀïÊǸö¶ÀÒ»ÎÞ¶þµÄÃû×Ö£¬ÒÔ±ã¿Í»§Õý³£µØ»ñÈ¡Ô¶³Ì¶ÔÏó¡£ÈôÕâ¸öÃû×ÖÒÑÔÚ×¢²á±íÀïÁË£¬¾Í»áµÃ¡¡

µ½Ò»¸öAlreadyBoundException¡¡Î¥Àý¡£Îª·ÀÖ¹Õâ¸öÎÊÌ⣬¿É¿¼ÂǼá³ÖʹÓá¡rebind£¨£©¡¡£¬·ÅÆúbind£¨£©¡£ÕâÊÇÓÉÓÚ¡¡

rebind£¨£©ÒªÃ´»áÌí¼ÓÒ»¸öÐÂÌõÄ¿£¬ÒªÃ´½«Í¬ÃûµÄÌõÄ¿Ìæ»»µô¡£¡¡¡¡

¾¡¹Ümain£¨£©Í˳ö£¬ÎÒÃǵĶÔÏóÒѾ­´´½¨²¢×¢²á£¬ËùÒÔ»áÓÉ×¢²á±íÒ»Ö±±£³Ö»î¶¯×´Ì¬£¬µÈºò¿Í»§µ½´ï²¢·¢³ö¶Ô¡¡

ËüµÄÇëÇó¡£Ö»Òªrmiregistry¡¡´¦ÓÚÔËÐÐ״̬£¬¶øÇÒÎÒÃÇûÓÐΪÃû×Öµ÷Óá¡Naming¡£unbind£¨£©·½·¨£¬¶ÔÏó¾Í¿Ï¶¨¡¡

λÓÚÄǸöµØ·½¡£¿¼Âǵ½Õâ¸öÔ­Òò£¬ÔÚÎÒÃÇÉè¼Æ×Ô¼ºµÄ´úÂëʱ£¬ÐèÒªÏȹرա¡rmiregistry£¬²¢ÔÚ±àÒëÔ¶³Ì¶ÔÏó¡¡

µÄÒ»¸öа汾ʱÖØÐÂÆô¶¯Ëü¡£¡¡¡¡

²¢²»Ò»¶¨Òª½«rmiregistry¡¡×÷Ϊһ¸öÍⲿ½ø³ÌÆô¶¯¡£ÈôÊÂÇ°ÖªµÀ×Ô¼ºµÄÊÇÒªÇóÓÃÒÔ×¢²á±íµÄΨһһ¸öÓ¦Ó㬡¡

¾Í¿ÉÔÚ³ÌÐòÄÚ²¿Æô¶¯Ëü£¬Ê¹ÓÃÏÂÊö´úÂ룺¡¡¡¡

LocateRegistry¡£createRegistry£¨2005£©£»¡¡¡¡

ºÍÇ°ÃæÒ»Ñù£¬2005¡¡´ú±íÎÒÃÇÔÚÕâ¸öÀý×ÓÀïÑ¡ÓõĶ˿ںš£ÕâµÈ¼ÛÓÚÔÚÃüÁîÐÐÖ´ÐС¡rmiregistry¡¡2005¡£µ«ÔÚÉè¡¡

¼ÆRMI¡¡´úÂëʱ£¬ÕâÖÖ×ö·¨ÍùÍùÏԵøü¼Ó·½±ã£¬ÒòΪËüÈ¡ÏûÁËÆô¶¯ºÍÖÐÖ¹×¢²á±íËùÐèµÄ¶îÍâ²½Öè¡£Ò»µ©Ö´ÐÐÍê¡¡

Õâ¸ö´úÂ룬¾Í¿ÉÏóÒÔÇ°Ò»ÑùʹÓÃNaming¡¡½øÐС°°ó¶¨¡±¡ª¡ªbind£¨£©¡£¡¡¡¡



15¡£8¡£3¡¡´´½¨¸ùÓë¸É¡¡¡¡



Èô±àÒëºÍÔËÐÐPerfectTime¡£java£¬¼´Ê¹rmiregistry¡¡ÕýÈ·ÔËÐУ¬ËüÒ²ÎÞ·¨¹¤×÷¡£ÕâÊÇÓÉÓÚRMI¡¡µÄ¿ò¼ÜÉÐδ¾Í¡¡

λ¡£Ê×ÏȱØÐë´´½¨¸ùºÍ¸É£¬ÒÔ±ãÌṩÍøÂçÁ¬½Ó²Ù×÷£¬²¢Ê¹ÎÒÃǽ«Ô¶³Ì¶ÔÏóαװ³É×Ô¼º»úÆ÷ÄÚµÄij¸ö±¾µØ¶Ô¡¡

Ï󡣡¡¡¡

ËùÓÐÕâЩĻºóµÄ¹¤×÷¶¼ÊÇÏ൱¸´Ôӵġ£ÎÒÃÇ´ÓÔ¶³Ì¶ÔÏó´«Èë¡¢´«³öµÄÈκζÔÏ󶼱ØÐë¡°implement¡¡¡¡

Serializable¡±£¨Èç¹ûÏë´«µÝÔ¶³ÌÒýÓ㬶ø·ÇÕû¸ö¶ÔÏ󣬶ÔÏóµÄ²ÎÊý¾Í¿ÉÒÔ¡°implement¡¡Remote¡±£©¡£Òò´Ë¡¡

¿ÉÒÔÏëÏ󣬵±¸ùºÍ¸Éͨ¹ýÍøÂç¡°»ã¼¯¡±ËùÓвÎÊý²¢·µ»Ø½á¹ûµÄʱºò£¬»á×Ô¶¯½øÐÐÐòÁл¯ÒÔ¼°Êý¾ÝµÄÖØÐÂ×°¡¡

Åä¡£ÐÒÔ˵ÄÊÇ£¬ÎÒÃǸù±¾Ã»±ØÒªÁ˽âÕâЩ·½ÃæµÄÈκÎϸ½Ú£¬µ«¸ùºÍ¸ÉÈ´ÊDZØÐë´´½¨µÄ¡£Ò»¸ö¼òµ¥µÄ¹ý³ÌÈç¡¡

Ï£ºÔÚ±àÒëºÃµÄ´úÂëÖе÷ÓÃrmic£¬Ëü»á´´½¨±ØÐèµÄһЩÎļþ¡£ËùÒÔΨһҪ×öµÄÊÂÇé¾ÍÊÇΪ±àÒë¹ý³ÌÐÂÌíÒ»¸ö¡¡

²½Öè¡£¡¡¡¡

È»¶ø£¬rmic¡¡¹¤¾ßÓëÌض¨µÄ°üºÍÀà·¾¶ÓкܴóµÄ¹ØÁª¡£PerfectTime¡£java¡¡Î»ÓÚ°ü¡¡c15¡£Ptime¡¡ÖУ¬¼´Ê¹ÎÒÃǵ÷Óá¡

ÓëPerfectTime¡£class¡¡Í¬Ò»Ä¿Â¼ÄÚµÄrmic£¬rmic¡¡¶¼ÎÞ·¨ÕÒµ½Îļþ¡£ÕâÊÇÓÉÓÚËüËÑË÷µÄÊÇÀà·¾¶¡£Òò´Ë£¬ÎÒÃÇ¡¡

±ØÐëͬʱָ¶¨Àà·¾¶£¬¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡

rmic¡¡c15¡£PTime¡£PerfectTime¡¡¡¡

Ö´ÐÐÕâ¸öÃüÁîʱ£¬²¢²»Ò»¶¨·ÇÒªÔÚ°üº¬ÁË¡¡PerfectTime¡£class¡¡µÄĿ¼ÖУ¬µ«½á¹û»áÖÃÓÚµ±Ç°Ä¿Â¼¡£¡¡¡¡

Èôrmic¡¡³É¹¦ÔËÐУ¬Ä¿Â¼Àï¾Í»á¶à³öÁ½¸öÐÂÀࣺ¡¡¡¡

PerfectTime_Stub¡£class¡¡¡¡

PerfectTime_Skel¡£class¡¡¡¡

ËüÃÇ·Ö±ð¶ÔÓ¦¸ù£¨Stub¡¡£©ºÍ¸É£¨Skeleton¡¡£©¡£ÏÖÔÚ£¬ÎÒÃÇÒÑ×¼±¸ºÃÈ÷þÎñÆ÷Óë¿Í»§»¥Ï๵ͨÁË¡£¡¡¡¡



15¡£8¡£4¡¡Ê¹ÓÃÔ¶³Ì¶ÔÏó¡¡¡¡



RMI¡¡È«²¿µÄ×ÚÖ¼¾ÍÊǾ¡¿ÉÄܼò»¯Ô¶³Ì¶ÔÏóµÄʹÓá£ÎÒÃÇÔÚ¿Í»§³ÌÐòÖÐÒª×öµÄΨһһ¼þ¶îÍâµÄÊÂÇé¾ÍÊDzéÕÒ²¢¡¡

´Ó·þÎñÆ÷È¡»ØÔ¶³Ì½Ó¿Ú¡£×Ô´ËÒÔºó£¬Ê£ÏµÄÊÂÇé¾ÍÊÇÆÕͨµÄJava¡¡±à³Ì£º½«ÏûÏ¢·¢¸ø¶ÔÏó¡£ÏÂÃæÊÇʹÓá¡

PerfectTime¡¡µÄ³ÌÐò£º¡¡¡¡

¡¡¡¡

//£º¡¡DisplayPerfectTime¡£java¡¡¡¡

//¡¡Uses¡¡remote¡¡object¡¡PerfectTime¡¡¡¡

package¡¡c15¡£ptime£»¡¡¡¡

import¡¡java¡£rmi¡£*£»¡¡¡¡

import¡¡java¡£rmi¡£registry¡£*£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡DisplayPerfectTime¡¡£û¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡System¡£setSecurityManager£¨¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡585¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡587¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡RMISecur¡¡ityManager£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡PerfectTimeI¡¡t¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨PerfectTimeI£©Naming¡£lookup£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨//colossus£º2005/PerfectTime¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡10£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Perfect¡¡time¡¡=¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡t¡£getPerfectTime£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

ID×Ö´®ÓëÄǸöÓá¡Naming¡¡×¢²á¶ÔÏóµÄÄǸö×Ö´®ÊÇÏàͬµÄ£¬µÚÒ»²¿·ÖÖ¸³öÁË¡¡URL¡¡ºÍ¶Ë¿ÚºÅ¡£ÓÉÓÚÎÒÃÇ×¼±¸Ê¹Óá¡

Ò»¸öURL£¬ËùÒÔÒ²¿ÉÒÔÖ¸¶¨ÒòÌØÍøÉϵÄһ̨»úÆ÷¡£¡¡¡¡

´ÓNaming¡£lookup£¨£©·µ»ØµÄ±ØÐëÔìÐ͵½Ô¶³Ì½Ó¿Ú£¬¶ø²»Êǵ½Àà¡£Èô»»ÓÃÀ࣬»áµÃµ½Ò»¸öÎ¥ÀýÌáʾ¡£¡¡¡¡

ÔÚÏÂÊö·½·¨µ÷ÓÃÖУº¡¡¡¡

t¡£getPerfectTime£¨¡¡£©¡¡¡¡

ÎÒÃÇ¿É¿´µ½Ò»µ©»ñµÃÔ¶³Ì¶ÔÏóµÄ¾ä±ú£¬ÓÃËü½øÐеıà³ÌÓëÓñ¾µØ¶ÔÏóµÄ±à³ÌÊǷdz£ÏàËÆ£¨½öÓÐÒ»¸öÇø±ð£ºÔ¶¡¡

³Ì·½·¨»á¡°ÖÀ¡±³öÒ»¸ö¡¡RemoteException¡¡Î¥Àý£©¡£¡¡¡¡



15¡£8¡£5¡¡RMI¡¡µÄÌæÑ¡·½°¸¡¡¡¡



RMI¡¡Ö»ÊÇÒ»ÖÖ´´½¨ÌØÊâ¶ÔÏóµÄ·½Ê½£¬Ëü´´½¨µÄ¶ÔÏó¿Éͨ¹ýÍøÂç·¢²¼¡£Ëü×î´óµÄÓŵã¾ÍÊÇÌṩÁËÒ»ÖÖ¡°´¿¡¡

Java¡¡¡±·½°¸£¬µ«¼ÙÈçÒѾ­ÓÐÐí¶àÓÃÆäËûÓïÑÔ±àдµÄ´úÂ룬ÔòRMI¡¡¿ÉÄÜÎÞ·¨Âú×ãÎÒÃǵÄÒªÇó¡£Ä¿Ç°£¬Á½ÖÖ×î¾ß¡¡

¾ºÕùÁ¦µÄÌæÑ¡·½°¸ÊÇ΢ÈíµÄD¡¡£¨¸ù¾Ý΢ÈíµÄ¼Æ»®£¬Ëü×îÖÕ»áÒÆÖ²µ½³ýWindows¡¡ÒÔÍâµÄÆäËûƽ̨£©ÒÔ¼°¡¡

CORBA¡£CORBA¡¡×ÔJava¡¡1¡£1¡¡±ã¿ªÊ¼Ö§³Ö£¬ÊÇÒ»ÖÖÈ«ÐÂÉè¼ÆµÄ¸ÅÄÃæÏò¿çƽ̨ӦÓá£ÔÚÓÉ¡¡Orfali¡¡ºÍ¡¡Harkey¡¡

±àÖøµÄ¡¶Client/Server¡¡Programming¡¡with¡¡Java¡¡and¡¡CORBA¡·Ò»ÊéÖУ¨John¡¡Wiley&Sons¡¡1997¡¡Äê³ö°æ£©£¬¡¡

´ó¼Ò¿É»ñµÃ¶ÔJava¡¡Öеķֲ¼Ê½¶ÔÏóµÄÈ«Ãæ½éÉÜ£¨¸ÃÊéËƺõ¶Ô¡¡CORBA¡¡ËƺõÓÐЩƫ¼û£©¡£ÎªCORBA¡¡¸³ÓèÒ»¸ö½Ï¹«¡¡

ÕýµÄ¶Ô´ýµÄÒ»±¾ÊéÊÇÓÉ¡¡Andreas¡¡Vogel¡¡ºÍKeith¡¡Duddy¡¡±àдµÄ¡¶Java¡¡Programming¡¡with¡¡CORBA¡·£¬John¡¡¡¡

Wiley&Sons¡¡ÓÚ¡¡1997¡¡Äê³ö°æ¡£¡¡¡¡



15¡£9¡¡×ܽᡡ¡¡



ÓÉÓÚƪ·ùËùÏÞ£¬»¹ÓÐÆäËûÐí¶àÉæ¼°Á¬ÍøµÄ¸ÅÄîûÓнéÉܸø´ó¼Ò¡£Java¡¡Ò²Îª¡¡URL¡¡ÌṩÁËÏ൱ȫÃæµÄÖ§³Ö£¬°üÀ¨¡¡

ΪÒòÌØÍøÉϲ»Í¬ÀàÐ͵Ŀͻ§ÌṩЭÒé¿ØÖÆÆ÷µÈµÈ¡£¡¡¡¡

³ý´ËÒÔÍ⣬һÖÖÕýÔÚÖð²½Á÷Ðеļ¼Êõ½Ð×÷Servlet¡¡Server¡£ËüÊÇÒ»ÖÖÒòÌØÍø·þÎñÆ÷Ó¦Óã¬Í¨¹ýJava¡¡¿ØÖÆ¿Í¡¡

»§ÇëÇ󣬶ø·ÇʹÓÃÒÔÇ°ÄÇÖÖËٶȺÜÂý¡¢ÇÒÏ൱Âé·³µÄCGI¡¡£¨Í¨ÓÃÍø¹Ø½Ó¿Ú£©Ð­Òé¡£ÕâÒâζ×ÅΪÁËÔÚ·þÎñÆ÷ÄÇ¡¡

Ò»¶ËÌṩ·þÎñ£¬ÎÒÃÇ¿ÉÒÔÓÃJava¡¡±à³Ì£¬²»±ØʹÓÃ×Ô¼º²»ÊìϤµÄÆäËûÓïÑÔ¡£ÓÉÓÚ¡¡Java¡¡¾ßÓ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨1£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡