锘??xml version="1.0" encoding="utf-8" standalone="yes"?>色欲色欲天天天www亚洲伊,7777久久亚洲中文字幕蜜桃,亚洲精品视频专区http://www.tkk7.com/nikita/zh-cnMon, 12 May 2025 11:35:04 GMTMon, 12 May 2025 11:35:04 GMT60瑙e喅ServletUrlRenderer WARN璀﹀憡http://www.tkk7.com/nikita/archive/2012/02/09/369656.htmlpicture talkpicture talkThu, 09 Feb 2012 04:42:00 GMThttp://www.tkk7.com/nikita/archive/2012/02/09/369656.htmlhttp://www.tkk7.com/nikita/comments/369656.htmlhttp://www.tkk7.com/nikita/archive/2012/02/09/369656.html#Feedback1http://www.tkk7.com/nikita/comments/commentRss/369656.htmlhttp://www.tkk7.com/nikita/services/trackbacks/369656.html

]]>
Struts 2涓嶢JAX錛堢涓閮ㄥ垎錛?http://www.tkk7.com/nikita/archive/2011/08/07/355970.htmlpicture talkpicture talkSun, 07 Aug 2011 14:36:00 GMThttp://www.tkk7.com/nikita/archive/2011/08/07/355970.htmlhttp://www.tkk7.com/nikita/comments/355970.htmlhttp://www.tkk7.com/nikita/archive/2011/08/07/355970.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/355970.htmlhttp://www.tkk7.com/nikita/services/trackbacks/355970.htmlhttp://www.tkk7.com/max/archive/2007/06/12/123682.html

]]>
MAP IN JShttp://www.tkk7.com/nikita/archive/2011/08/05/355890.htmlpicture talkpicture talkFri, 05 Aug 2011 09:16:00 GMThttp://www.tkk7.com/nikita/archive/2011/08/05/355890.htmlhttp://www.tkk7.com/nikita/comments/355890.htmlhttp://www.tkk7.com/nikita/archive/2011/08/05/355890.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/355890.htmlhttp://www.tkk7.com/nikita/services/trackbacks/355890.html
  1. source page :聽聽 http://www.iteye.com/topic/196610
  2. Array.prototype.remove聽=聽 function (s)聽{ 聽聽
  3. 聽聽聽聽 for 聽( var 聽i聽=聽0;聽i聽<聽 this .length;聽i++)聽{ 聽聽
  4. 聽聽聽聽聽聽聽聽 if 聽(s聽==聽 this [i]) 聽聽
  5. 聽聽聽聽聽聽聽聽聽聽聽聽 this .splice(i,聽1); 聽聽
  6. 聽聽聽聽} 聽聽
  7. } 聽聽
  8. 聽聽
  9. /**
  10. 聽*聽Simple聽Map
  11. 聽*聽
  12. 聽*聽
  13. 聽*聽var聽m聽=聽new聽Map();
  14. 聽*聽m.put('key','value');
  15. 聽*聽...
  16. 聽*聽var聽s聽=聽"";
  17. 聽*聽m.each(function(key,value,index){
  18. 聽*聽聽聽聽聽聽s聽+=聽index+":"+聽key+"="+value+"\n";
  19. 聽*聽});
  20. 聽*聽alert(s);
  21. 聽*聽
  22. 聽*聽@author聽dewitt
  23. 聽*聽@date聽2008-05-24
  24. 聽*/ 聽聽
  25. function 聽Map()聽{ 聽聽
  26. 聽聽聽聽 /**聽瀛樻斁閿殑鏁扮粍(閬嶅巻鐢ㄥ埌)聽*/ 聽聽
  27. 聽聽聽聽 this .keys聽=聽 new 聽Array(); 聽聽
  28. 聽聽聽聽 /**聽瀛樻斁鏁版嵁聽*/ 聽聽
  29. 聽聽聽聽 this .data聽=聽 new 聽Object(); 聽聽
  30. 聽聽聽聽 聽聽
  31. 聽聽聽聽 /**
  32. 聽聽聽聽聽*聽鏀懼叆涓涓敭鍊煎
  33. 聽聽聽聽聽*聽@param聽{String}聽key
  34. 聽聽聽聽聽*聽@param聽{Object}聽value
  35. 聽聽聽聽聽*/ 聽聽
  36. 聽聽聽聽 this .put聽=聽 function (key,聽value)聽{ 聽聽
  37. 聽聽聽聽聽聽聽聽 if ( this .data[key]聽==聽 null ){ 聽聽
  38. 聽聽聽聽聽聽聽聽聽聽聽聽 this .keys.push(key); 聽聽
  39. 聽聽聽聽聽聽聽聽} 聽聽
  40. 聽聽聽聽聽聽聽聽 this .data[key]聽=聽value; 聽聽
  41. 聽聽聽聽}; 聽聽
  42. 聽聽聽聽 聽聽
  43. 聽聽聽聽 /**
  44. 聽聽聽聽聽*聽鑾峰彇鏌愰敭瀵瑰簲鐨勫?
  45. 聽聽聽聽聽*聽@param聽{String}聽key
  46. 聽聽聽聽聽*聽@return聽{Object}聽value
  47. 聽聽聽聽聽*/ 聽聽
  48. 聽聽聽聽 this .get聽=聽 function (key)聽{ 聽聽
  49. 聽聽聽聽聽聽聽聽 return this .data[key]; 聽聽
  50. 聽聽聽聽}; 聽聽
  51. 聽聽聽聽 聽聽
  52. 聽聽聽聽 /**
  53. 聽聽聽聽聽*聽鍒犻櫎涓涓敭鍊煎
  54. 聽聽聽聽聽*聽@param聽{String}聽key
  55. 聽聽聽聽聽*/ 聽聽
  56. 聽聽聽聽 this .remove聽=聽 function (key)聽{ 聽聽
  57. 聽聽聽聽聽聽聽聽 this .keys.remove(key); 聽聽
  58. 聽聽聽聽聽聽聽聽 this .data[key]聽=聽 null ; 聽聽
  59. 聽聽聽聽}; 聽聽
  60. 聽聽聽聽 聽聽
  61. 聽聽聽聽 /**
  62. 聽聽聽聽聽*聽閬嶅巻Map,鎵ц澶勭悊鍑芥暟
  63. 聽聽聽聽聽*聽
  64. 聽聽聽聽聽*聽@param聽{Function}聽鍥炶皟鍑芥暟聽function(key,value,index){..}
  65. 聽聽聽聽聽*/ 聽聽
  66. 聽聽聽聽 this .each聽=聽 function (fn){ 聽聽
  67. 聽聽聽聽聽聽聽聽 if ( typeof 聽fn聽!=聽 'function' ){ 聽聽
  68. 聽聽聽聽聽聽聽聽聽聽聽聽 return ; 聽聽
  69. 聽聽聽聽聽聽聽聽} 聽聽
  70. 聽聽聽聽聽聽聽聽 var 聽len聽=聽 this .keys.length; 聽聽
  71. 聽聽聽聽聽聽聽聽 for ( var 聽i=0;i<len;i++){ 聽聽
  72. 聽聽聽聽聽聽聽聽聽聽聽聽 var 聽k聽=聽 this .keys[i]; 聽聽
  73. 聽聽聽聽聽聽聽聽聽聽聽聽fn(k, this .data[k],i); 聽聽
  74. 聽聽聽聽聽聽聽聽} 聽聽
  75. 聽聽聽聽}; 聽聽
  76. 聽聽聽聽 聽聽
  77. 聽聽聽聽 /**
  78. 聽聽聽聽聽*聽鑾峰彇閿兼暟緇?綾諱技Java鐨別ntrySet())
  79. 聽聽聽聽聽*聽@return聽閿煎璞key,value}鐨勬暟緇?
  80. 聽聽聽聽聽*/ 聽聽
  81. 聽聽聽聽 this .entrys聽=聽 function ()聽{ 聽聽
  82. 聽聽聽聽聽聽聽聽 var 聽len聽=聽 this .keys.length; 聽聽
  83. 聽聽聽聽聽聽聽聽 var 聽entrys聽=聽 new 聽Array(len); 聽聽
  84. 聽聽聽聽聽聽聽聽 for 聽( var 聽i聽=聽0;聽i聽<聽len;聽i++)聽{ 聽聽
  85. 聽聽聽聽聽聽聽聽聽聽聽聽entrys[i]聽=聽{ 聽聽
  86. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽key聽:聽 this .keys[i], 聽聽
  87. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽value聽:聽 this .data[i] 聽聽
  88. 聽聽聽聽聽聽聽聽聽聽聽聽}; 聽聽
  89. 聽聽聽聽聽聽聽聽} 聽聽
  90. 聽聽聽聽聽聽聽聽 return 聽entrys; 聽聽
  91. 聽聽聽聽}; 聽聽
  92. 聽聽聽聽 聽聽
  93. 聽聽聽聽 /**
  94. 聽聽聽聽聽*聽鍒ゆ柇Map鏄惁涓虹┖
  95. 聽聽聽聽聽*/ 聽聽
  96. 聽聽聽聽 this .isEmpty聽=聽 function ()聽{ 聽聽
  97. 聽聽聽聽聽聽聽聽 return this .keys.length聽==聽0; 聽聽
  98. 聽聽聽聽}; 聽聽
  99. 聽聽聽聽 聽聽
  100. 聽聽聽聽 /**
  101. 聽聽聽聽聽*聽鑾峰彇閿煎鏁伴噺
  102. 聽聽聽聽聽*/ 聽聽
  103. 聽聽聽聽 this .size聽=聽 function (){ 聽聽
  104. 聽聽聽聽聽聽聽聽 return this .keys.length; 聽聽
  105. 聽聽聽聽}; 聽聽
  106. 聽聽聽聽 聽聽
  107. 聽聽聽聽 /**
  108. 聽聽聽聽聽*聽閲嶅啓toString聽
  109. 聽聽聽聽聽*/ 聽聽
  110. 聽聽聽聽 this .toString聽=聽 function (){ 聽聽
  111. 聽聽聽聽聽聽聽聽 var 聽s聽=聽 "{" ; 聽聽
  112. 聽聽聽聽聽聽聽聽 for ( var 聽i=0;i< this .keys.length;i++,s+= ',' ){ 聽聽
  113. 聽聽聽聽聽聽聽聽聽聽聽聽 var 聽k聽=聽 this .keys[i]; 聽聽
  114. 聽聽聽聽聽聽聽聽聽聽聽聽s聽+=聽k+ "=" + this .data[k]; 聽聽
  115. 聽聽聽聽聽聽聽聽} 聽聽
  116. 聽聽聽聽聽聽聽聽s+= "}" ; 聽聽
  117. 聽聽聽聽聽聽聽聽 return 聽s; 聽聽
  118. 聽聽聽聽}; 聽聽
  119. } 聽聽
  120. 聽聽
  121. 聽聽
  122. function 聽testMap(){ 聽聽
  123. 聽聽聽聽 var 聽m聽=聽 new 聽Map(); 聽聽
  124. 聽聽聽聽m.put( 'key1' , 'Comtop' ); 聽聽
  125. 聽聽聽聽m.put( 'key2' , '鍗楁柟鐢電綉' ); 聽聽
  126. 聽聽聽聽m.put( 'key3' , '鏅柊鑺卞洯' ); 聽聽
  127. 聽聽聽聽alert( "init:" +m); 聽聽
  128. 聽聽聽聽 聽聽
  129. 聽聽聽聽m.put( 'key1' , '搴鋒嫇鏅? ); 聽聽
  130. 聽聽聽聽alert( "set聽key1:" +m); 聽聽
  131. 聽聽聽聽 聽聽
  132. 聽聽聽聽m.remove( "key2" ); 聽聽
  133. 聽聽聽聽alert( "remove聽key2:聽" +m); 聽聽
  134. 聽聽聽聽 聽聽
  135. 聽聽聽聽 var 聽s聽= "" ; 聽聽
  136. 聽聽聽聽m.each( function (key,value,index){ 聽聽
  137. 聽聽聽聽聽聽聽聽s聽+=聽index+ ":" +聽key+ "=" +value+ "\n" ; 聽聽
  138. 聽聽聽聽}); 聽聽
  139. 聽聽聽聽alert(s); 聽聽
  140. }聽聽

聽//testMap.htm

Html浠g爜 澶嶅埗浠g爜鏀惰棌浠g爜
  1. < html > 聽聽
  2. < head > 聽聽
  3. < title > Test聽Map </ title > 聽聽
  4. < script language = "javascript" src = "map.js" > 聽聽
  5. </ script > 聽聽
  6. </ head > 聽聽
  7. < body > 聽聽
  8. < input type = "button" value = "test" onclick = "testMap()" > 聽聽
  9. </ body > 聽聽
  10. </ html >


]]>
鐩磋寰寰闈犱笉浣?/title><link>http://www.tkk7.com/nikita/articles/339802.html</link><dc:creator>picture talk</dc:creator><author>picture talk</author><pubDate>Sat, 04 Dec 2010 11:58:00 GMT</pubDate><guid>http://www.tkk7.com/nikita/articles/339802.html</guid><wfw:comment>http://www.tkk7.com/nikita/comments/339802.html</wfw:comment><comments>http://www.tkk7.com/nikita/articles/339802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/nikita/comments/commentRss/339802.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/nikita/services/trackbacks/339802.html</trackback:ping><description><![CDATA[璁稿璨屼技綆鍗曠殑鏁板棰橈紝鍏剁瓟妗堝線寰涓庝漢浠殑鐩磋涓嶇銆傝鐪嬭繖涓夐亾鏁板棰橈紝錛?br /><br />涓銆佺悆鎷嶅拰鐞冪殑鎬葷粨鏄?.1榪滐紝鐞冩媿姣旂悆璐?鍏冿紝 閭d箞鐞冪殑浠鋒牸鏄灝?錛?br /><br />浜屻佸鏋?鍙版満鍣ㄧ敤浜?鍒嗛挓鏉ョ敓浜?涓浂浠訛紝閭d箞100鍙版満鍣ㄧ敓浜?00涓浂浠墮渶瑕佺敤澶氬皯鍒嗛挓 錛?br /><br />涓夈佸湪涓涓箹閲屾湁涓綃囩潯鑾詫紝鐫¤幉鐨勯潰縐瘡澶╂墿澶т竴鍊嶃傚鏋滅潯鑾茶鐩栨暣涓箹闇瑕?8澶╋紝閭d箞瀹冭鐩栧崐涓箹闇瑕佸灝戝ぉ 錛?br /><br />鐩磋鍛婅瘔鎴戜滑錛?絳旀鍒嗗埆鏄細0 .1鍏冿紝 100鍒嗛挓鍜?4澶┿?緹庡浗鐮旂┒浜哄憳鍚ц繖涓夐亾棰樻販鏉傚湪闂嵎涓10鎵澶у鐨?000澶氬悕鏈鐢熻В絳旓紝 鍙戠幇澶ч儴鍒嗕漢閮藉嚟鐩磋鍥炵瓟銆?浣嗘槸鐩磋鏄敊鐨勩?姝g‘鐨勭瓟妗堝垎鍒槸錛?0.05鍏冦?鍒嗛挓鍜?7澶┿?鎸夌瓟瀵逛竴棰樼殑涓鍒嗚綆楋紝榪欎簺瀛︾敓鐨勫鉤鍧囧垎鍊煎緱1.24鍒嗐傚嵆浣挎槸閭d簺緇欏嚭姝g‘絳旀鐨勪漢錛?寰寰涔熸槸棣栧厛鎯沖埌鐩磋鐨勭瓟妗堬紝 鐒跺悗鎰忚瘑鍒拌繖涓瓟妗堟槸閿欒鐨勶紝 鎵嶆壘鍒拌繚鍙嶇洿瑙夌殑姝g‘絳旀銆傜洿瑙夊叾瀹炴槸涓縐嶆棤鎰忚瘑鐨勬湰鑳藉弽搴旓紝 涓嶇粡鎬濊冨揩閫熷湴鑷彂浜х敓錛屼笉鍙椾漢鐨勫績鐞嗙姸鎬佺殑褰卞搷銆傜悊鎬ф濈淮鍒欓渶瑕佸仛鏈夋剰璇嗙殑鎬濅細琚冦傚弽搴旇鎱㈠緱澶氥傜洿瑙夊鎴戜滑鐨勭敓瀛樿嚦鍏抽噸瑕併?鎴戜滑鐪嬪埌涓寮犺劯錛屼笉鍙兘瑕佺粡榪囨濊冩墠鑳借鯨璁ゅ嚭鏄啛浜猴紱鐪嬪埌涓鍧楃煶澶磋繋闈㈢牳鏉ワ紝 涓嶅彲鑳界瓑鍒版兂璧蜂細琚牳浼ゆ墠韜插紑銆傝繖浜涢兘瑕侀潬鐩磋鍋氬嚭蹇熺殑鑷彂鍙嶅簲銆備絾鏄湪闈復鏇村鏉傜殑闂鏃跺氨闇瑕佺敤鍒扮悊鎬ф濈淮鎵嶈兘瑙e喅銆?br />聽<br />鍦ㄧ敓媧諱腑鎴戜滑浜ゆ浛浣跨敤榪欎袱濂楁濈淮緋葷粺銆備緥濡傦紝鎴戜滑璁叉瘝璇椂錛岀敤鐨勬槸鐩磋鎬濈淮錛岃岃澶栬鏄敤鐨勬槸鐞嗘ф濈淮錛屽洜姝や笉鍙兘鍍忚姣嶈閭d箞嫻佸埄銆傛垜浠惉鍒版皵璞″憳鐢ㄦ憚姘忔姤鍑烘皵娓╂椂錛屼細鐩磋鎰熷埌姘旀俯鐨勯珮浣庯紝浣嗘槸濡傛灉鍚埌鐨勬槸鍗庢皬娓╁害錛屽氨瑕佺敤鍒扮悊鎬ф濈淮浜嗏斺旂編鍥戒漢鍒欑浉鍙嶏紝閫氳繃鍙嶅鐨勮緇冿紝鏈夊彲鑳借鐞嗘ф濈淮杞寲鎴愮洿瑙夈?渚嬪錛屼漢浠湪瀛﹀紑杞︽椂錛岃闈犵悊鎬ф濈淮榪涜鍒ゆ柇錛屽弽搴旀瘮杈冩參錛屽紑杞︽椂闂撮暱浜嗭紝鍦ㄦ煇縐嶇▼搴︿笂灝辨垚浜嗕竴縐嶆湰鑳斤紝鍏鋒湁閫熷害鐨勫簲鍙樿兘鍔涖?br /><br />浣嗘槸鏈夋椂瀵瑰悓涓涓棶棰橈紝鐩磋鍜岀悊鎬ф濈淮浼氱粰鍑虹浉浜掑啿紿佺殑絳旀錛岃岀洿瑙夊線寰鎴樿儨鐞嗘э紝浠庤岃浜轟駭鐢熺儲鎭箋?img src ="http://www.tkk7.com/nikita/aggbug/339802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/nikita/" target="_blank">picture talk</a> 2010-12-04 19:58 <a href="http://www.tkk7.com/nikita/articles/339802.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎵句笢瑗跨殑 10澶ц瘈紿?http://www.tkk7.com/nikita/articles/339800.htmlpicture talkpicture talkSat, 04 Dec 2010 11:38:00 GMThttp://www.tkk7.com/nikita/articles/339800.htmlhttp://www.tkk7.com/nikita/comments/339800.htmlhttp://www.tkk7.com/nikita/articles/339800.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/339800.htmlhttp://www.tkk7.com/nikita/services/trackbacks/339800.html
絎竴鐐瑰緩璁紝鈥滀笉瑕佹ヤ簬瀵繪壘鈥濄?6宀佺殑 鎵緗楅棬璇達紝鈥滀涪涓滆タ鐨勭涓鍙嶅簲鍙兘鏄炕綆卞掓煖錛屾極鏃犵洰鐨勭殑鑳′貢鎶樿吘錛岃繖鏄緢澶氫漢甯哥姱鐨勯敊璇濄?br />
絎簩鐐瑰緩璁亾鍑轟簡鎵緗楅棬瀵葷墿瀛︾殑綺懼崕銆傗滀笢瑗挎病鏈変涪錛屼涪澶辯殑鏄綘姝e父鐨勬濈淮鈥濄備粬璇達紝鈥滄病鏈変涪澶辯殑涓滃洓錛屽彧鏈変笉浼氭壘鐨勪漢鈥濄傛墍浠ワ紝鎴戜滑涓嶅緱涓嶆帴綰崇涓変釜寤鴻錛岀洸鐩殑鎭愭厡浼氶伄钄芥垜浠殑鐪肩潧銆傚紑濮嬪鎵句箣鍓嶏紝涓瀹氳蹇冩佸鉤鍜岋紝鑷俊婊℃弧銆備笉濡ㄥ厛鍧愪笅鏉ュ枬鑼訛紝鐒跺悗寮濮嬪繖媧匯?br />
寤鴻鍥涘緢綆鍗曪紝 鈥滀笢瑗跨粡甯鎬細鍛嗗湪鏈鍒濈殑鍦版柟錛屸濊繖浣嶅搱寮楀ぇ瀛﹂珮鏉愮敓璇達紝鈥滀綘鏄笉鏄湁瀛樻斁涓滆タ鐨勫浐瀹氬湴鐐癸紵濡傛灉鏈夛紝鍏堟壘閭i噷錛?鍒鐪肩潧宸﹀彸鏈変綘鐨勬濈淮銆傚濂楀彲鑳藉氨鏀懼湪甯哥敤鐨勮。鏋朵笂錛屽瓧鍏稿彲鑳藉氨鏀懼湪涔︽涓娿傗?br />
鑷充簬絎簲鐐瑰緩璁紝澶у鎴栬閮芥湁綾諱技鐨勭粡楠屻傗滃綋浣犲績緇鉤闈欎笅鏉ユ椂錛?浣犳垨璁鎬細濂囪抗鑸殑璁拌搗涓㈠け鐨勪笢瑗褲傜獊鐒惰璧瘋嚜宸辨病鏈変涪錛?鍙槸鏀鵑敊浜嗕綅緗傗?br />
鏈夌殑鏃跺欙紝灝卞儚絎叚鐐瑰緩璁殑閭f牱錛屼綘鍙兘姝e湪鐩村嬀鍕劇殑鐩潃瑕佹壘鐨勪笢瑗匡紝鍗村氨鏄滅湅鈥濅笉瑙併傗滃綋涓涓漢鎬ュ寙鍖嗐佹濈淮澶勪簬楂樺害嬋鍔ㄧ姸鎬佹椂錛?寰堝鏄撴垚涓衡樼潄鐪肩瀻鈥欍傜湅涓嶅埌瑕佹壘鐨勪笢瑗褲傝鍐嶄粩緇嗗湴瀵繪壘涓閬嶃傗?br />
鎵浠ワ紝褰撲綘鍢撮噷鍢熷摑鐫鈥滆濺閽ュ寵鈥濈殑鏃跺欙紝鐗㈣絎竷鐐瑰緩璁?鈥滈伄钄芥晥搴斺濄傝濺閽ュ寵鍏跺疄灝卞湪浣犺涓虹殑鍦版柟錛?鍙笉榪囪鏌愪釜鐗╀綋鐩栦綇浜?銆?br />
鈥滄巰寮浠諱綍鑳介伄鎸′笢瑗跨殑鐗╁搧錛屽鎶ョ焊錛屽鏋滆繕娌℃湁錛岄偅涔堥噰綰崇鍏偣寤鴻銆傗濇湁鐨勪笢瑗垮彧鏄◢寰尓鍔ㄤ簡涓鐐逛綅緗紝铏界劧寰堝皬錛?鍗磋凍浠ヨ浠栦滑閫冪浣犵殑瑙嗙嚎銆?钘忓湪鎵撳瓧鏈轟笅鐨勯搮絎旓紝鏀懼湪鎶藉眽鏈閲岄潰鐨勫伐鍏風瓑絳夈傗滄牴鎹垜浠殑瑙傚療錛屼笢瑗挎尓鍔ㄧ殑璺濈涓嶈秴榪?8鑻卞錛屼互18鑻卞涓哄崐寰勭敾鍦嗭紝 浠旂粏鍦ㄨ繖涓尯鍩熸煡鎵撅紝 鑳滃埄鐨勬鐜囧氨姣旇緝澶с傗?br />
絎節鐐瑰緩璁瘬浜庡父璇嗕箣涓紝褰撲綘涓㈠け涓滆タ鏃訛紝濂藉ソ鎯蟲兂涓㈠湪鍝効銆傗滃綋浣犵簿鐤插姏灝界殑緲婚亶鎵鏈夌殑鍦版柟錛?娌℃湁鍙戠幇铔涗笣椹抗鏃訛紝浣犲緱鍒版渶緇堢殑緇撹錛?涔熷氨鏄鍗佹潯寤鴻錛屼笉鏄綘鐨勯敊銆傛崲鍙ヨ瘽璇達紝灝辨槸鍒漢鍊熶簡浣犵殑闆ㄤ紴錛屽悆浜嗕綘鐨勬補鐐稿湀錛屾嬁璧頒簡浣犵殑杞﹂挜鍖欍傗?br />
鈥滃叾瀹炶繕鏈夌鍗佷竴鐐瑰緩璁紝鈥濇墍緗楅棬璇達紝鈥滄棤璁哄浣曪紝 鏈変簺鏃跺欙紝 鍛借繍浼氶夋嫨鎶婃煇浜涗笢瑗夸粠浣犵殑璐駭涓案涔呯殑鎷胯蛋銆?鎺ュ彈榪欎竴鐐癸紝 鐒跺悗緇х畫鑷繁鐨勭敓媧匯傗?br />



]]>
Fix Out of Memory errors by increasing available memory http://www.tkk7.com/nikita/archive/2010/09/09/331477.htmlpicture talkpicture talkThu, 09 Sep 2010 02:56:00 GMThttp://www.tkk7.com/nikita/archive/2010/09/09/331477.htmlhttp://www.tkk7.com/nikita/comments/331477.htmlhttp://www.tkk7.com/nikita/archive/2010/09/09/331477.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/331477.htmlhttp://www.tkk7.com/nikita/services/trackbacks/331477.html Go to start of metadata

I am getting Out of Memory errors, how can I allocate more memory to FishEye?

Since the default memory setting usually is around 64MB or 128MB, you might have to adjust the settings to run a bigger FishEye instance with sufficient memory.
On this page:


Out Of Memory Errors

There are a number of different memory errors that the JVM will throw. The most common are listed as follows.
In the following, you will be required to set your memory settings via your FISHEYE_OPTS Environment Variables.
You will need to restart your server after setting your FISHEYE_OPTS.

After having set the FISHEYE_OPTS and restarting your server, go to Administration > Sys Info/Support > System Info, and check your JVM Input Arguments to ensure that your server is picking up your FISHEYE_OPTS as expected.

OutOfMemoryError: Java Heap Space

If you are running Fisheye/Crucible as a windows service, increasing memory needs to be done in the wrapper.conf file. Refere to the Can Fisheye be run as a Windows Service for instructions.

To solve this error, you will need to add the argument -Xmx1024m to FISHEYE_OPTS, in addition to any argument you use to set the heap size. Often you need to increase the amount of memory allocated to fisheye during the initial scan and period and once this is completed you can reduce back down.

FISHEYE_OPTS="-Xms128m -Xmx1024m -XX:MaxPermSize=256m"

After having set the FISHEYE_OPTS and restarting your server, go to Administration > Sys Info/Support > System Info, and check your JVM Input Arguments to ensure that your server is picking up your FISHEYE_OPTS as expected.

OutOfMemoryError: PermGen space, or Permanent Generation Size

If you get the error message: java.lang.OutOfMemoryError: PermGen space this means that you have exceeded Java's fixed 64MB block for loading class files. You will need to add the argument -XX:MaxPermSize=256m to FISHEYE_OPTS, in addition to any argument you use to set the heap size.

FISHEYE_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=256m"

After having set the FISHEYE_OPTS and restarting your server, go to Administration > Sys Info/Support > System Info, and check your JVM Input Arguments to ensure that your server is picking up your FISHEYE_OPTS as expected.

OutOfMemoryError: unable to create new native thread

This error occurs when the operating system is unable to create new threads. This is due to the JVM Heap taking up the available RAM.

Big heaps take away from the space that can be allocated for the stack of a new thread

For Linux the maximum heap size of the JVM cannot be greater than 2GB. If you only have 2GB RAM in your server, it is not recommended to set the Max size of the JVM that high.
The size of the stack per thread can also contribute to this problem. The stack size can reduce the number of threads that can be created.

To fix this problem, you should reduce the size of your JVM Heap and also the size of the stack per thread.
The stack size can be changed with the following (example) parameter being added to your FISHEYE_OPTS:

FISHEYE_OPTS="-Xms128m -Xmx1024m -XX:MaxPermSize=256m -Xss512k"

Please refer to this guide as a reference for JVM tuning.

After having set the FISHEYE_OPTS and restarting your server, go to Administration > Sys Info/Support > System Info, and check your JVM Input Arguments to ensure that your server is picking up your FISHEYE_OPTS as expected.

OutOfMemoryError: GC overhead limit exceeded

This error indicates that the JVM took too long to free up memory during its GC process. This error can be thrown from the Parallel or Concurrent collectors.

The parallel collector will throw an OutOfMemoryError if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown. This feature is designed to prevent applications from running for an extended period of time while making little or no progress because the heap is too small. If necessary, this feature can be disabled by adding the option -XX:-UseGCOverheadLimit to the command line.

This kind of OutOfMemoryError can be caused if your java process is starting to use swapped memory for its heap. This will cause the JVM to take a lot longer than normal to perform normal GC operations. This can eventually cause a timeout to occur and cause this error.

To overcome this issue, you need to make sure that all processes can't allocate more memory than there is system memory. In practice this is impossible to do for all processes. At a minimum you should make sure that all your jvm's do not have a total maximum memory allocation than your normally available system memory.

Please refer to this guide for more information.

java.lang.OutOfMemoryError: requested 32756 bytes for ChunkPool::allocate. Out of swap space?

Essentially the native objects does not have enough memory to use. This is usually because you have allocated too much memory to your heap reducing the amount available for native objects. See this article.

The solution is to reduce the amount of heap memory you have allocated. For example if you have set -Xmx4096, you should consider reducing this to -Xmx2048m.

Remember if you are using a 32bit JVM you cannot allocate more than -Xmx2048m for linux (and even less for windows). Using a 64 bit JVM can resolve this problem, but is not recommended for fisheye/crucible instances (refer to System Requirements).



Read the Tuning FishEye page for more detail on adjusting resource limits and performance settings in FishEye.


婧愯嚜 錛?a >http://confluence.atlassian.com/display/FISHEYE/Fix+Out+of+Memory+errors+by+increasing+available+memory#FixOutofMemoryerrorsbyincreasingavailablememory-OutOfMemoryError%3Aunabletocreatenewnativethread,



]]>
Problems Opening an Editor in Eclipsehttp://www.tkk7.com/nikita/archive/2010/06/21/324030.htmlpicture talkpicture talkMon, 21 Jun 2010 01:55:00 GMThttp://www.tkk7.com/nikita/archive/2010/06/21/324030.htmlhttp://www.tkk7.com/nikita/comments/324030.htmlhttp://www.tkk7.com/nikita/archive/2010/06/21/324030.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/324030.htmlhttp://www.tkk7.com/nikita/services/trackbacks/324030.html

I used to be able to open *.sql files in my Eclipse text editor. For some reason that stopped working this morning:

聽聽聽 Invalid menu handle.

InvalidMenuHandle

聽聽聽 Problems opening an editor... unable to open external editor.

ProblemsOpeningEditor

To fix this behavior for ALL files of a certain extension:

聽聽聽 Window > Preferences -

... and on the Preferences Tree:

聽聽聽 General > Editors > File Associations -

... add your File Type extension, for example *.sql

... and finally add your Associated Editor. I chose "internal editors" - "text editor"

TextEditorPreferences

You can also change the behavior "temporarily" for a single file. Right click the file, click "Open With..." and select the editor...

OpenWith



]]>
鑷杞?/title><link>http://www.tkk7.com/nikita/articles/317967.html</link><dc:creator>picture talk</dc:creator><author>picture talk</author><pubDate>Sat, 10 Apr 2010 15:59:00 GMT</pubDate><guid>http://www.tkk7.com/nikita/articles/317967.html</guid><wfw:comment>http://www.tkk7.com/nikita/comments/317967.html</wfw:comment><comments>http://www.tkk7.com/nikita/articles/317967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/nikita/comments/commentRss/317967.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/nikita/services/trackbacks/317967.html</trackback:ping><description><![CDATA[2010騫寸殑4鏈堜喚錛?鍙鳳紝 鎴戜拱浜嗕竴杈嗘柊鐨勮嚜琛岃濺錛?蹇冩儏鏈夌偣嬋鍔?銆?br /><img src ="http://www.tkk7.com/nikita/aggbug/317967.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/nikita/" target="_blank">picture talk</a> 2010-04-10 23:59 <a href="http://www.tkk7.com/nikita/articles/317967.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>The Java serialization algorithm revealedhttp://www.tkk7.com/nikita/archive/2010/04/10/317951.htmlpicture talkpicture talkSat, 10 Apr 2010 09:20:00 GMThttp://www.tkk7.com/nikita/archive/2010/04/10/317951.htmlhttp://www.tkk7.com/nikita/comments/317951.htmlhttp://www.tkk7.com/nikita/archive/2010/04/10/317951.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/317951.htmlhttp://www.tkk7.com/nikita/services/trackbacks/317951.html Serialization is the process of saving an object's state to a sequence of bytes; deserialization is the process of rebuilding those bytes into a live object. The Java Serialization API provides a standard mechanism for developers to handle object serialization. In this tip, you will see how to serialize an object, and why serialization is sometimes necessary. You'll learn about the serialization algorithm used in Java, and see an example that illustrates the serialized format of an object. By the time you're done, you should have a solid knowledge of how the serialization algorithm works and what entities are serialized as part of the object at a low level.

Why is serialization required?

In today's world, a typical enterprise application will have multiple components and will be distributed across various systems and networks. In Java, everything is represented as objects; if two Java components want to communicate with each other, there needs be a mechanism to exchange data. One way to achieve this is to define your own protocol and transfer an object. This means that the receiving end must know the protocol used by the sender to re-create the object, which would make it very difficult to talk to third-party components. Hence, there needs to be a generic and efficient protocol to transfer the object between components. Serialization is defined for this purpose, and Java components use this protocol to transfer objects.

Figure 1 shows a high-level view of client/server communication, where an object is transferred from the client to the server through serialization.

A high-level view of serialization in action

Figure 1. A high-level view of serialization in action (click to enlarge)

How to serialize an object

In order to serialize an object, you need to ensure that the class of the object implements the java.io.Serializable interface, as shown in Listing 1.

Listing 1. Implementing Serializable

				
import java.io.Serializable;

class TestSerial implements Serializable {
public byte version = 100;
public byte count = 0;
}

In Listing 1, the only thing you had to do differently from creating a normal class is implement the java.io.Serializable interface. The Serializable interface is a marker interface; it declares no methods at all. It tells the serialization mechanism that the class can be serialized.

Now that you have made the class eligible for serialization, the next step is to actually serialize the object. That is done by calling the writeObject() method of the java.io.ObjectOutputStream class, as shown in Listing 2.

Listing 2. Calling writeObject()

				
public static void main(String args[]) throws IOException {
FileOutputStream fos = new FileOutputStream("temp.out");
ObjectOutputStream oos = new ObjectOutputStream(fos);
TestSerial ts = new TestSerial();
oos.writeObject(ts);
oos.flush();
oos.close();
}

Listing 2 stores the state of the TestSerial object in a file called temp.out. oos.writeObject(ts); actually kicks off the serialization algorithm, which in turn writes the object to temp.out.

To re-create the object from the persistent file, you would employ the code in Listing 3.

Listing 3. Recreating a serialized object

				
public static void main(String args[]) throws IOException {
FileInputStream fis = new FileInputStream("temp.out");
ObjectInputStream oin = new ObjectInputStream(fis);
TestSerial ts = (TestSerial) oin.readObject();
System.out.println("version="+ts.version);
}

In Listing 3, the object's restoration occurs with the oin.readObject() method call. This method call reads in the raw bytes that we previously persisted and creates a live object that is an exact replica of the original object graph. Because readObject() can read any serializable object, a cast to the correct type is required.

Executing this code will print version=100 on the standard output.

The serialized format of an object

What does the serialized version of the object look like? Remember, the sample code in the previous section saved the serialized version of the TestSerial object into the file temp.out. Listing 4 shows the contents of temp.out, displayed in hexadecimal. (You need a hexadecimal editor to see the output in hexadecimal format.)

Listing 4. Hexadecimal form of TestSerial

				
AC ED 00 05 73 72 00 0A 53 65 72 69 61 6C 54 65
73 74 A0 0C 34 00 FE B1 DD F9 02 00 02 42 00 05
63 6F 75 6E 74 42 00 07 76 65 72 73 69 6F 6E 78
70 00 64

If you look again at the actual TestSerial object, you'll see that it has only two byte members, as shown in Listing 5.

Listing 5. TestSerial's byte members

				
public byte version = 100;
public byte count = 0;

The size of a byte variable is one byte, and hence the total size of the object (without the header) is two bytes. But if you look at the size of the serialized object in Listing 4, you'll see 51 bytes. Surprise! Where did the extra bytes come from, and what is their significance? They are introduced by the serialization algorithm, and are required in order to to re-create the object. In the next section, you'll explore this algorithm in detail.

Java's serialization algorithm

By now, you should have a pretty good knowledge of how to serialize an object. But how does the process work under the hood? In general the serialization algorithm does the following:

  • It writes out the metadata of the class associated with an instance.
  • It recursively writes out the description of the superclass until it finds java.lang.object.
  • Once it finishes writing the metadata information, it then starts with the actual data associated with the instance. But this time, it starts from the topmost superclass.
  • It recursively writes the data associated with the instance, starting from the least superclass to the most-derived class.

I've written a different example object for this section that will cover all possible cases. The new sample object to be serialized is shown in Listing 6.

Listing 6. Sample serialized object

				
class parent implements Serializable {
int parentVersion = 10;
}

class contain implements Serializable{
int containVersion = 11;
}
public class SerialTest extends parent implements Serializable {
int version = 66;
contain con = new contain();

public int getVersion() {
return version;
}
public static void main(String args[]) throws IOException {
FileOutputStream fos = new FileOutputStream("temp.out");
ObjectOutputStream oos = new ObjectOutputStream(fos);
SerialTest st = new SerialTest();
oos.writeObject(st);
oos.flush();
oos.close();
}
}

This example is a straightforward one. It serializes an object of type SerialTest, which is derived from parent and has a container object, contain. The serialized format of this object is shown in Listing 7.

Listing 7. Serialized form of sample object

				
AC ED 00 05 73 72 00 0A 53 65 72 69 61 6C 54 65
73 74 05 52 81 5A AC 66 02 F6 02 00 02 49 00 07
76 65 72 73 69 6F 6E 4C 00 03 63 6F 6E 74 00 09
4C 63 6F 6E 74 61 69 6E 3B 78 72 00 06 70 61 72
65 6E 74 0E DB D2 BD 85 EE 63 7A 02 00 01 49 00
0D 70 61 72 65 6E 74 56 65 72 73 69 6F 6E 78 70
00 00 00 0A 00 00 00 42 73 72 00 07 63 6F 6E 74
61 69 6E FC BB E6 0E FB CB 60 C7 02 00 01 49 00
0E 63 6F 6E 74 61 69 6E 56 65 72 73 69 6F 6E 78
70 00 00 00 0B

Figure 2 offers a high-level look at the serialization algorithm for this scenario.

An outline of the serialization algorithm

Figure 2. An outline of the serialization algorithm

Let's go through the serialized format of the object in detail and see what each byte represents. Begin with the serialization protocol information:

  • AC ED: STREAM_MAGIC. Specifies that this is a serialization protocol.
  • 00 05: STREAM_VERSION. The serialization version.
  • 0x73: TC_OBJECT. Specifies that this is a new Object.

The first step of the serialization algorithm is to write the description of the class associated with an instance. The example serializes an object of type SerialTest, so the algorithm starts by writing the description of the SerialTest class.

  • 0x72: TC_CLASSDESC. Specifies that this is a new class.
  • 00 0A: Length of the class name.
  • 53 65 72 69 61 6c 54 65 73 74: SerialTest, the name of the class.
  • 05 52 81 5A AC 66 02 F6: SerialVersionUID, the serial version identifier of this class.
  • 0x02: Various flags. This particular flag says that the object supports serialization.
  • 00 02: Number of fields in this class.

Next, the algorithm writes the field int version = 66;.

  • 0x49: Field type code. 49 represents "I", which stands for Int.
  • 00 07: Length of the field name.
  • 76 65 72 73 69 6F 6E: version, the name of the field.

And then the algorithm writes the next field, contain con = new contain();. This is an object, so it will write the canonical JVM signature of this field.

  • 0x74: TC_STRING. Represents a new string.
  • 00 09: Length of the string.
  • 4C 63 6F 6E 74 61 69 6E 3B: Lcontain;, the canonical JVM signature.
  • 0x78: TC_ENDBLOCKDATA, the end of the optional block data for an object.

The next step of the algorithm is to write the description of the parent class, which is the immediate superclass of SerialTest.

  • 0x72: TC_CLASSDESC. Specifies that this is a new class.
  • 00 06: Length of the class name.
  • 70 61 72 65 6E 74: SerialTest, the name of the class
  • 0E DB D2 BD 85 EE 63 7A: SerialVersionUID, the serial version identifier of this class.
  • 0x02: Various flags. This flag notes that the object supports serialization.
  • 00 01: Number of fields in this class.

Now the algorithm will write the field description for the parent class. parent has one field, int parentVersion = 100;.

  • 0x49: Field type code. 49 represents "I", which stands for Int.
  • 00 0D: Length of the field name.
  • 70 61 72 65 6E 74 56 65 72 73 69 6F 6E: parentVersion, the name of the field.
  • 0x78: TC_ENDBLOCKDATA, the end of block data for this object.
  • 0x70: TC_NULL, which represents the fact that there are no more superclasses because we have reached the top of the class hierarchy.

So far, the serialization algorithm has written the description of the class associated with the instance and all its superclasses. Next, it will write the actual data associated with the instance. It writes the parent class members first:

  • 00 00 00 0A: 10, the value of parentVersion.

Then it moves on to SerialTest.

  • 00 00 00 42: 66, the value of version.

The next few bytes are interesting. The algorithm needs to write the information about the contain object, shown in Listing 8.

Listing 8. The contain object

				
contain con = new contain();

Remember, the serialization algorithm hasn't written the class description for the contain class yet. This is the opportunity to write this description.

  • 0x73: TC_OBJECT, designating a new object.
  • 0x72: TC_CLASSDESC.
  • 00 07: Length of the class name.
  • 63 6F 6E 74 61 69 6E: contain, the name of the class.
  • FC BB E6 0E FB CB 60 C7: SerialVersionUID, the serial version identifier of this class.
  • 0x02: Various flags. This flag indicates that this class supports serialization.
  • 00 01: Number of fields in this class.

Next, the algorithm must write the description for contain's only field, int containVersion = 11;.

  • 0x49: Field type code. 49 represents "I", which stands for Int.
  • 00 0E: Length of the field name.
  • 63 6F 6E 74 61 69 6E 56 65 72 73 69 6F 6E: containVersion, the name of the field.
  • 0x78: TC_ENDBLOCKDATA.

Next, the serialization algorithm checks to see if contain has any parent classes. If it did, the algorithm would start writing that class; but in this case there is no superclass for contain, so the algorithm writes TC_NULL.

  • 0x70: TC_NULL.

Finally, the algorithm writes the actual data associated with contain.

  • 00 00 00 0B: 11, the value of containVersion.

Conclusion

In this tip, you have seen how to serialize an object, and learned how the serialization algorithm works in detail. I hope this article gives you more detail on what happens when you actually serialize an object.

From 聽錛?http://www.javaworld.com/community/node/2915



]]>
CDT with launch failed,binary not found problemhttp://www.tkk7.com/nikita/archive/2010/01/16/309799.htmlpicture talkpicture talkSat, 16 Jan 2010 14:10:00 GMThttp://www.tkk7.com/nikita/archive/2010/01/16/309799.htmlhttp://www.tkk7.com/nikita/comments/309799.htmlhttp://www.tkk7.com/nikita/archive/2010/01/16/309799.html#Feedback0http://www.tkk7.com/nikita/comments/commentRss/309799.htmlhttp://www.tkk7.com/nikita/services/trackbacks/309799.html2. 鍦╟md 閲岄潰榪愯make.exe
3. 鍦╬ath 閲岄潰鍔犲畨瑁呰礬寰?bin
4. 榪樻湁鍔燱XWIN鐜鍙橀噺 錛圵XWIN灝卞儚java home涓鏍鳳級
5. 鎵撳紑cmd錛岃漿鎹㈠埌欏圭洰鐨勭洰褰曚笅闈紝 鎵цmake.exe錛岃繖鏍峰氨鍒涘緩涓涓」 鐩殑鎵ц鏂囦歡
6. 鍦–DT閲岄潰鎵цBUILD鏃訛紝 Browse榪欎釜鎵ц鏂囦歡錛?榪愯灝卞彲浠ヤ簡銆?img src ="http://www.tkk7.com/nikita/aggbug/309799.html" width = "1" height = "1" />

]]>
主站蜘蛛池模板: 无码专区一va亚洲v专区在线 | 亚洲啪啪综合AV一区| 亚洲成人一级电影| 最新国产乱人伦偷精品免费网站 | 亚洲乱码无码永久不卡在线| 亚洲人成网站在线播放2019 | 又色又污又黄无遮挡的免费视| 亚洲精品中文字幕无码AV| 国产一区二区免费视频| 亚洲国产成人一区二区三区| a高清免费毛片久久| 亚洲中文字幕无码久久2017| 一级做a爰性色毛片免费| 日本免费无遮挡吸乳视频电影| 久久精品国产亚洲AV嫖农村妇女 | 免费人成毛片动漫在线播放| 亚洲人成人网站色www| 久久久久久噜噜精品免费直播 | 国产成人啪精品视频免费网| 亚洲午夜日韩高清一区| 中文字幕久精品免费视频 | 国产免费的野战视频| a免费毛片在线播放| 美女视频黄.免费网址| 亚洲AV无码成人精品区日韩| 亚洲国产品综合人成综合网站| 少妇中文字幕乱码亚洲影视| 亚洲AV成人片色在线观看| 亚洲精品无码永久中文字幕| 国产亚洲精aa成人网站| 亚洲情侣偷拍精品| 亚洲色偷拍区另类无码专区| 免费中文字幕不卡视频| 四虎免费久久影院| 亚洲精品国自产拍在线观看| 亚洲国产成人久久综合区| 亚洲伦乱亚洲h视频| 国产亚洲精品a在线观看| 国产美女亚洲精品久久久综合| 国产亚洲大尺度无码无码专线| 国产精品亚洲w码日韩中文|