Java RMI·Ö²¼Ê½Ó¦ÓóÌÐò¸ÅÊö
RMI£¨Remote Method Invocation£©
RMIÊÇ·Ö²¼Ê½¶ÔÏóÈí¼þ°ü£¬Ëü¼ò»¯ÁËÔÚ¶ą̀¼ÆËã»úÉϵÄJAVAÓ¦ÓÃÖ®¼äµÄͨÐÅ¡£
±ØÐëÔÚjdk1.1ÒÔÉÏ
RMIÓõ½µÄÀà
java.rmi.Remote ËùÓпÉÒÔ±»Ô¶³Ìµ÷ÓõĶÔÏ󶼱ØÐëʵÏָýӿÚ
java.rmi.server.UnicastRemoteObject ËùÓпÉÒÔ±»Ô¶³Ìµ÷ÓõĶÔÏ󶼱ØÐëÀ©Õ¹¸ÃÀà
ʲôÊÇRMI
Ô¶³Ì·½·¨µ÷ÓÃÊÇÒ»ÖÖ¼ÆËã»úÖ®¼ä¶ÔÏó»¥Ïàµ÷ÓöԷ½º¯Êý£¬Æô¶¯¶Ô·½½ø³ÌµÄÒ»ÖÖ»úÖÆ£¬
ʹÓÃÕâÖÖ»úÖÆ£¬Ä³Ò»Ì¨¼ÆËã»úÉϵĶÔÏóÔÚµ÷ÓÃÁíÍâһ̨¼ÆËã»úÉϵķ½·¨Ê±£¬Ê¹ÓõijÌ
ÐòÓï·¨¹æÔòºÍÔÚ±¾µØ»úÉ϶ÔÏó¼äµÄ·½·¨µ÷ÓõÄÓï·¨¹æÔòÒ»Ñù¡£
Óŵã
ÕâÖÖ»úÖƸø·Ö²¼¼ÆËãµÄϵͳÉè¼Æ¡¢±à³Ì¶¼´øÀ´Á˼«´óµÄ·½±ã¡£
Ö»Òª°´ÕÕRMI¹æÔòÉè¼Æ³ÌÐò£¬¿ÉÒÔ²»±ØÔÙ¹ýÎÊÔÚRMI֮ϵÄÍøÂçϸ½ÚÁË£¬È磺TCPºÍSocketµÈµÈ¡£
ÈÎÒâÁ½Ì¨¼ÆËã»úÖ®¼äµÄͨѶÍêÈ«ÓÉRMI¸ºÔð¡£µ÷ÓÃÔ¶³Ì¼ÆËã»úÉϵĶÔÏó¾ÍÏñ±¾µØ¶ÔÏóÒ»Ñù·½±ã¡£
1¡¢ÃæÏò¶ÔÏó£º
RMI¿É½«ÍêÕûµÄ¶ÔÏó×÷Ϊ²ÎÊýºÍ·µ»ØÖµ½øÐд«µÝ£¬¶ø²»½ö½öÊÇÔ¤¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£
Ò²¾ÍÊÇ˵£¬¿ÉÒÔ½«ÀàËÆJava¹þÎ÷±íÕâÑùµÄ¸´ÔÓÀàÐÍ×÷Ϊһ¸ö²ÎÊý½øÐд«µÝ¡£
2¡¢¿ÉÒƶ¯ÊôÐÔ£º
RMI¿É½«ÊôÐÔ´Ó¿Í»§»úÒƶ¯µ½·þÎñÆ÷£¬»òÕß´Ó·þÎñÆ÷Òƶ¯µ½¿Í»§»ú¡£
3¡¢Éè¼Æ·½Ê½£º
¶ÔÏ󴫵ݹ¦ÄÜʹÄú¿ÉÒÔÔÚ·Ö²¼Ê½¼ÆËãÖгä·ÖÀûÓÃÃæÏò¶ÔÏó¼¼ÊõµÄÇ¿´ó¹¦ÄÜ£¬Èç¶þ²ãºÍÈý²ã½á¹¹ÏµÍ³¡£
Èç¹ûÓû§Äܹ»´«µÝÊôÐÔ£¬ÄÇô¾Í¿ÉÒÔÔÚ×Ô¼ºµÄ½â¾ö·½°¸ÖÐʹÓÃÃæÏò¶ÔÏóµÄÉè¼Æ·½Ê½¡£
ËùÓÐÃæÏò¶ÔÏóµÄÉè¼Æ·½Ê½ÎÞ²»ÒÀ¿¿²»Í¬µÄÊôÐÔÀ´·¢»Ó¹¦ÄÜ£¬Èç¹û²»ÄÜ´«µÝÍêÕûµÄ¶ÔÏó——°üÀ¨ÊµÏÖºÍÀàÐÍ
——¾Í»áʧȥÉè¼Æ·½Ê½ÉÏËùÌṩµÄÓŵ㡣
4¡¢°²È«ÐÔ£º
RMIʹÓÃJavaÄÚÖõݲȫ»úÖƱ£Ö¤ÏÂÔØÖ´ÐгÌÐòʱÓû§ÏµÍ³µÄ°²È«¡£
RMIʹÓÃרÃÅΪ±£»¤ÏµÍ³ÃâÔâ¶ñÒâС³ÌÐòÇÖº¦¶øÉè¼ÆµÄ°²È«¹ÜÀí³ÌÐò¡£
5¡¢±ãÓÚ±àдºÍʹÓÃ
RMIʹµÃJavaÔ¶³Ì·þÎñ³ÌÐòºÍ·ÃÎÊÕâЩ·þÎñ³ÌÐòµÄJava¿Í»§³ÌÐòµÄ±àд¹¤×÷±äµÃÇáËÉ¡¢¼òµ¥¡£
Ô¶³Ì½Ó¿Úʵ¼ÊÉϾÍÊÇJava½Ó¿Ú¡£
ΪÁËʵÏÖRMIµÄ¹¦ÄܱØÐë´´½¨Ô¶³Ì¶ÔÏóÈκοÉÒÔ±»Ô¶³Ìµ÷ÓõĶÔÏó±ØÐëʵÏÖÔ¶³Ì½Ó¿Ú¡£µ«Ô¶³Ì
½Ó¿Ú±¾Éí²¢²»°üº¬Èκη½·¨¡£Òò¶øÐèÒª´´½¨Ò»¸öеĽӿÚÀ´À©Õ¹Ô¶³Ì½Ó¿Ú¡£
нӿڽ«°üº¬ËùÓпÉÒÔÔ¶³Ìµ÷Óõķ½·¨¡£Ô¶³Ì¶ÔÏó±ØÐëʵÏÖÕâ¸öнӿڣ¬ÓÉÓÚеĽӿÚÀ©Õ¹ÁË
Ô¶³Ì½Ó¿Ú£¬ÊµÏÖÁËнӿڣ¬¾ÍÂú×ãÁËÔ¶³Ì¶ÔÏó¶ÔʵÏÖÔ¶³Ì½Ó¿ÚµÄÒªÇó£¬ËùʵÏÖµÄÿ¸ö¶ÔÏ󶼽«
×÷ΪԶ³Ì¶ÔÏóÒýÓá£
¸öÈË×ܽ᣺
RMI˵°×ÁË£¬¾ÍÊÇÌṩÁËÒ»ÖÖÔ¶³ÌµÄ·½·¨µ÷ÓᣠÕâÖÖµ÷Óüòµ¥·½±ã£¬¿ÉÒÔ´«µÝ¸´ÔÓjava¶ÔÏó¡£ÏÖÔÚÁ
Ïà¹ØÎĵµ£º
ÉÏһƪÎÄÕ½²ÊöÁËdz¿½±´ºÍÉ±´µÄº¬Ò壬²¢ÇÒ¸ø³öÁËdz¿½±´µÄÒ»¸öÀý×Ó
ÕâƪÎÄÕÂÔÚÄǸöÀý×ÓµÄʵÏÖÉÏ×÷³öÐ޸ģ¬ÊµÏÖÉ±´,´úÂëÈçÏ£º
package com.test;
public class CloneTest
{
public static void main(String[] args)
{
Student s1 = new Student();
s1.setAge(20);
s1.setName("wudi");
School sch ......
ÔÎÄ£ºSome Java Concurrency Tips
×÷ÕߣºCarol McDonald
³ö´¦£º
http://weblogs.java.net/blog/caroljmcdonald/archive/2009/09/17/some-java-concurrency-tips
ÕâÊÇÀ´×ÔJoshua Bloch¡¢Brian GoetzºÍÆäËûÈ˵ÄÒ»¸ö¹ØÓÚһЩ²¢·¢¼¼ÇɵĻã×Ü¡£
Ê×ÏÈÑ¡Ôñ²»¿É±äµÄ¶ÔÏó/Êý¾Ý
²»¿É±ä¶ÔÏó£¨immutable ......
1. JavaÓïÑÔ»ù´¡
̸µ½JavaÓïÑÔ»ù´¡Ñ§Ï°µÄÊé¼®£¬´ó¼Ò¿Ï¶¨»áÍƼöBruce EckelµÄ¡¶Thinking in Java¡·¡£ËüÊÇÒ»±¾Ð´µÄÏ൱Éî¿ÌµÄ¼¼ÊõÊé¼®£¬JavaÓïÑÔ»ù´¡²¿·Ö»ù±¾Ã»ÓÐÆäËüÈκÎÒ»±¾Êé¿ÉÒÔ³¬Ô½Ëü¡£¸ÃÊéµÄ×÷ÕßBruce EckelÔÚÍøÂçÉϱ»³ÆΪÌì²ÅµÄͶ»úÕߣ¬×÷Õߵġ¶Thinking in C++¡·ÔÚ1995ÄêÔø»ñSoftwareDevelopment Jolt Award×î¼ÑÊ ......
¡¡¡¡Ê×ÏȽâÊÍÁ½¸ö¸ÅÄî,ºÎΪÐòÁл¯?ºÎΪ·´ÐòÁл¯?
¡¡¡¡ÐòÁл¯:½«¶ÔÏóת»¯³ÉÁ÷µÄ¹ý³Ì³ÆΪÐòÁл¯
¡¡¡¡·´ÐòÁл¯:½«Á÷ת»¯³É¶ÔÏóµÄ¹ý³Ì³Æ֮Ϊ·´ÐòÁл¯
¡¡¡¡ÐòÁл¯Óë·´ÐòÁл¯±ØÐë×ñÊصÄÔÔò
¡¡¡¡a) Java¶ÔÏó
¡¡¡¡ÔÚjavaÖÐÒªÏëʹһ¸öjava¶ÔÏó¿ÉÒÔʵÏÖÐòÁл¯Óë·´ÐòÁл¯,±ØÐëÈøÃÀàʵÏÖjava.io.Serializable½Ó¿Ú
¡¡¡¡java.io.S ......