¶¯Ì¬ProxyÓëJava ACLÓû§·ÃÎÊ¿ØÖÆ»úÖÆÊµÏÖ
Óû§·ÃÎÊ¿ØÖÆ(Access control )»úÖÆ×ÜÊÇÎ§ÈÆ´ÖÁ£¶ÈºÍϸÁ£¶ÈÁ½¸ö·½ÃæÀ´ÌÖÂÛ£º
¡¡¡¡´ÖÁ£¶È¿ØÖÆ£º¿ÉÒԹ涨·ÃÎÊÕû¸ö¶ÔÏó»ò¶ÔÏóȺµÄij¸ö²ã£¬¶øÏ¸Á£¶È¿ØÖÆÔò×ÜÊÇÔÚ·½·¨»òÊôÐÔ²ã½øÐпØÖÆ£¬±ÈÈ磺
¡¡¡¡´ðÓ¦Ò»¸öÎļþΪֻ¶ÁÊÇÊôÓÚ´ÖÁ£¶È¿ØÖÆ£¬¶ø´ðÓ¦¶ÔÕâ¸öÎļþijÐÐÓÐд²Ù×÷ÔòÊôÓÚϸÁ£¶È¿ØÖÆ¡£
¡¡¡¡Ò»¸öºÃµÄÓû§¿ØÖÆ»úÖÆµ±È»¼È´ðÓ¦´ÖÁ£¶ÈÒ²´ðӦϸÁ£¶È¿ØÖÆ£¬ÔÚJiveÖÐÎÒÃÇ¿´µ½ÊÇʹÓÃProxyÀ´´ïµ½Õâ¸öÄ¿µÄ£¬µ«ÊÇÎÒÃÇÒ²·¢ÏÖ£¬ÓÉÓÚÐèÒª¶Ôÿ¸öÀà¶¼Òª½øÐÐϸÁ£¶È¿ØÖÆ£¬ËùÒÔ±ØÈ»¶Ôÿ¸öÀà¶¼Òª×öÒ»¸öProxyÀ࣬ÕâÑù´øÀ´Á˺ܶàProxyÀ࣬ÈçForumProxy ForumThreadProxy ForumFactoryProxyµÈ£¬ÎÞÐÎÔö¼ÓÁËϵͳ¸´ÔÓÐÔ¡£
¡¡¡¡
¡¡¡¡¡¡¡¡Ê¹Óö¯Ì¬Proxy¿ÉÒԺܺõĽâ¾öÕâ¸öÎÊÌâ¡£ÔÙ½áºÏJava.security.aclµÄACL»úÖÆ£¬ÎÒÃǾͿÉÒÔÁé»îµØÊµÏÖ´ÖÁ£¶ÈºÍϸÁ£¶ÈµÄË«ÖØ¿ØÖÆ¡£
¡¡¡¡
¡¡¡¡¡¡¡¡µ±Ò»¸öÓû§loginºó£¬ÎÒÃǾÍÒªÔÚÄÚ´æÖÐΪÆä½¨Á¢ÏàÓ¦µÄÊÚȨ·ÃÎÊ»úÖÆ£¬Ê¹ÓÃjava.security.acl¿ÉÒԺܷ½±ãµÄ½¨Á¢ÕâÑùÒ»¸ö°²È«ÏµÍ³¡£
¡¡¡¡
¡¡¡¡¡¡¡¡Ê×ÏÈÈκÎÒ»¸ö¶ÔÏó¶¼Ó¦¸ÃÓиö»ù±¾ÊôÐÔ£ºÓµÓÐÕß »òÓµÓÐÕßËùÊô×é(WindowsÖÐÿ¸öĿ¼°²È«ÃèÊö·û¶¼ÓÉ4²¿·Ö¹¹³É£º¶ÔÏóµÄ´´½¨Õß¡¢¶ÔÏóËùÊôµÄ×é¡¢×ÔÓÉ´æÈ¡¿ØÖƺÍϵͳ´æÈ¡¿ØÖÆ)¡£
¡¡¡¡1. Java acl¿ªÊ¼µÚÒ»²½Êǽ¨Á¢Ò»¸öÖ÷Ìå Principal£¬ÆäÖÐSecurityOwnerÊÇÖ÷ÌåµÄÓµÓÐÕߣº private static final Principal _securityOwner = new PrincipalImpl("SecurityOwner");
¡¡¡¡2. µ±Óû§login½øÀ´Ê±£¬Ëû´øÓÐÁ½¸ö»ù±¾Êý¾Ý£º·ÃÎÊÃÜÂëºÍËûÒª·ÃÎʵĶÔÏóApplicationName¡£Ê×ÏÈÑéÖ¤Óû§ÃûºÍÃÜÂ룬Ȼºó´ÓÊý¾Ý¿âÖÐÈ¡³öÆäȨÏÞÊý¾Ý£¬½¨Á¢Permission,ÕâÀïʹÓÃFeature¼ÌÐøÁËPermission£¬ÔÚFeatureÖж¨ÒåÁËÓйØÈ¨ÏÞµÄϸ½ÚÊý¾Ý£¨Èç¶Á д ɾ£©¡£
¡¡¡¡// È¡³öÓû§ºÍ±»·ÃÎʶÔÏóÖ®¼äµÄȨÏÞ¹ØÏµ,ÕâÖÖȨÏÞ¹ØÏµ¿ÉÄܲ»Ö»Ò»¸ö£¬Ò²¾ÍÊÇ˵£¬Óû§
¡¡¡¡//¿ÉÄܶԱ»·ÃÎʶÔÏóÓµÓжÁ д ɾµÈ¶à¸öȨÏÞ£¬½«Æä´ò°üÔÚHasBTableÖС£
¡¡¡¡Hashtable features = loadFeaturesForUser(sApplicationName, sUserID);
¡¡¡¡3. ´´½¨Ò»¸öÓû§¶ÔÏó
¡¡¡¡User user = new UserImpl(sUserID, new Hashtable() );
¡¡¡¡4. ΪÕâ¸öÓû§´´½¨Ò»¸ö»î¶¯µÄacl entry
¡¡¡¡addAclEntry( user, features);
¡¡¡¡ÆäÖÐ×îÒªº¦µÄÊǵÚËIJ½addAclEntry,ÎÒÃÇ¿´¿´ÆäÈçºÎʵÏֵģº
¡¡¡¡// ΪÕâ¸öÓû§´´½¨Ò»¸öеÄAcl entry
¡¡¡¡AclEntry newAclEntry = new AclEntryImpl( user);
¡¡¡¡
¡¡¡¡//±éÀúHashtable features£¬½«ÆäÖжàÖÖȨÏÞ¼ÓÈë:
Ïà¹ØÎĵµ£º
JavaỊ̈߳ºÏ̵߳Ľ»»¥
SCJP5ѧϰ±Ê¼Ç
Ï߳̽»»¥ÊDZȽϸ´ÔÓµÄÎÊÌ⣬SCJPÒªÇ󲻺ܻù´¡£º¸ø¶¨Ò»¸ö³¡¾°£¬±àд´úÂëÀ´Ç¡µ±Ê¹Óõȴý¡¢Í¨ÖªºÍ֪ͨËùÓÐÏ̡߳£
Ò»¡¢Ï߳̽»»¥µÄ»ù´¡ÖªÊ¶
SCJPËùÒªÇóµÄÏ߳̽»»¥ÖªÊ¶µãÐèÒª´Ójava.lang.ObjectµÄÀàµÄÈý¸ö·½·¨À´Ñ§Ï°£º
void notify()
......
JavaỊ̈߳ºÏ̵߳ĵ÷¶È-ºÏ²¢
Ï̵߳ĺϲ¢µÄº¬Òå¾ÍÊǽ«¼¸¸ö²¢ÐÐÏ̵߳ÄÏ̺߳ϲ¢ÎªÒ»¸öµ¥Ïß³ÌÖ´ÐУ¬Ó¦Óó¡¾°Êǵ±Ò»¸öÏ̱߳ØÐëµÈ´ýÁíÒ»¸öÏß³ÌÖ´ÐÐÍê±Ï²ÅÄÜÖ´ÐÐʱ¿ÉÒÔʹÓÃjoin·½·¨¡£
joinΪ·Ç¾²Ì¬·½·¨£¬¶¨ÒåÈçÏ£º
void join()
µÈ´ý¸ÃÏß³ÌÖÕÖ¹¡£ ......
ÔÚÁ˽âJavaµÄͬ²½ÃØÃÜ֮ǰ£¬ÏÈÀ´¿´¿´JMM(Java Memory Model)¡£
Java±»Éè¼ÆÎª¿çƽ̨µÄÓïÑÔ£¬ÔÚÄÚ´æ¹ÜÀíÉÏ£¬ÏÔȻҲҪÓÐÒ»¸öͳһµÄÄ£ÐÍ¡£¶øÇÒJavaÓïÑÔ×î´óµÄÌØµã¾ÍÊǷϳýÁËÖ¸Õ룬°Ñ³ÌÐòÔ±´ÓÍ´¿àÖнâÍѳöÀ´£¬²»ÓÃÔÙ¿¼ÂÇÄÚ´æÊ¹Óú͹ÜÀí·½ÃæµÄÎÊÌâ¡£
¿ÉϧÊÀÊÂ×ܲ»¾¡ÈçÈËÒ⣬ËäÈ»JMMÉè¼ÆÉÏ·½±ãÁ˳ÌÐòÔ±£¬µ«ÊÇËüÔö¼ÓÁËÐéÄâ»úµÄ¸ ......
JAVAÓïÑԵķ¢Õ¹Ê·
1991Ä꣬Sun¹«Ë¾ÎªÄܹ»ÔÚÏû·Ñµç×Ó²úÆ·ÉÏ¿ª·¢Ó¦ÓóÌÐò£¬Ñ°ÕÒºÏÊʵıà³ÌÓïÑÔ
Ïû·Ñµç×Ó²úÆ·ÖÖÀà·±¶à£¬´¦ÀíоƬºÍ²Ù×÷ϵͳҲ²»Ïàͬ£¬´æÔÚ×Å¿çÆ½Ì¨µÄÎÊÌâ
C++¹ýÓÚ¸´ÔÓºÍÅӴ󣬰²È«ÐÔÒ²²¢²»ÁîÈËÂúÒâ¡£ÓÚÊǾÍ×ÅÊÖÉè¼ÆºÍ¿ª·¢³öÒ»ÖÖÓïÑÔ£¬³ÆÖ®ÎªOak
OakÓïÑÔÔÚÉÌÒµÉϲ¢Î´»ñµÃ³É¹¦
¶«·½²»ÁÁÎ÷·½ÁÁ
1995Ä꣬» ......
·½·¨Ò»£º
SimpleDateFormat formatter =
new
SimpleDateFormat(
"yyyyMMdd"
);
Date currentTime =
new
java.util.Date();
//
µÃµ½µ±Ç°ÏµÍ³Ê±¼ä
long
now = curr ......