锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩亚洲人成在线综合日本,亚洲图片在线观看,久久精品国产亚洲AV未满十八http://www.tkk7.com/raymondchen625/category/6966.htmlJava絎旇zh-cnFri, 02 Mar 2007 20:22:42 GMTFri, 02 Mar 2007 20:22:42 GMT60涓嶅悓鏂規硶閬嶅巻鍒楄〃鐨勬椂闂存晥鐜?/title><link>http://www.tkk7.com/raymondchen625/archive/2006/03/03/33423.html</link><dc:creator>Raymond鐨凧ava絎旇</dc:creator><author>Raymond鐨凧ava絎旇</author><pubDate>Fri, 03 Mar 2006 04:00:00 GMT</pubDate><guid>http://www.tkk7.com/raymondchen625/archive/2006/03/03/33423.html</guid><wfw:comment>http://www.tkk7.com/raymondchen625/comments/33423.html</wfw:comment><comments>http://www.tkk7.com/raymondchen625/archive/2006/03/03/33423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/raymondchen625/comments/commentRss/33423.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/raymondchen625/services/trackbacks/33423.html</trackback:ping><description><![CDATA[鍦↗ava楂樻晥緙栫▼閲岄潰鐪嬪埌鍙橀噺涓涓狝rrayList鐨勬椂鍊欙紝鏈変袱縐嶆柟寮忥細<BR>鍋囪a鏄釜ArrayList<BR><BR>1銆?for (int i=0;i<a.size();i++) {<BR>2銆?for (int i=0,n=a.size();i<n;i++) {<BR><BR>甯︾潃鐐規鐤戞垜鍋氫簡涓涓嬭瘯楠岋紝鐨勭‘鏄柟娉?蹇竴鐐圭殑錛屼及璁℃槸a.size()鏂規硶閲岄潰鑺辮垂浜嗕竴鐐瑰浣欑殑鏃墮棿銆傚悗鏉ユ垜鎯沖埌jdk 1.5寮濮嬭繕鏈変竴縐嶉亶鍘嗙殑for/each鏂規硶錛屾垜鍋氫簡涓涓嬫瘮杈冿紝緇撴灉鏈夌偣鎯婅銆?BR><BR>婧愮▼搴忓涓?BR><BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #008080"> 1</SPAN><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.ArrayList;<BR></SPAN><SPAN style="COLOR: #008080"> 2</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080"> 3</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_59_781_Open_Image onclick="this.style.display='none'; Codehighlighter1_59_781_Open_Text.style.display='none'; Codehighlighter1_59_781_Closed_Image.style.display='inline'; Codehighlighter1_59_781_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_59_781_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_59_781_Closed_Text.style.display='none'; Codehighlighter1_59_781_Open_Image.style.display='inline'; Codehighlighter1_59_781_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> ProfileArrayList </SPAN><SPAN id=Codehighlighter1_59_781_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_59_781_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080"> 4</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080"> 5</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_103_354_Open_Image onclick="this.style.display='none'; Codehighlighter1_103_354_Open_Text.style.display='none'; Codehighlighter1_103_354_Closed_Image.style.display='inline'; Codehighlighter1_103_354_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_103_354_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_103_354_Closed_Text.style.display='none'; Codehighlighter1_103_354_Open_Image.style.display='inline'; Codehighlighter1_103_354_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> main(String[] args) </SPAN><SPAN id=Codehighlighter1_103_354_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_103_354_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080"> 6</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> s</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">();<BR></SPAN><SPAN style="COLOR: #008080"> 7</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_184_234_Open_Image onclick="this.style.display='none'; Codehighlighter1_184_234_Open_Text.style.display='none'; Codehighlighter1_184_234_Closed_Image.style.display='inline'; Codehighlighter1_184_234_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_184_234_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_184_234_Closed_Text.style.display='none'; Codehighlighter1_184_234_Open_Image.style.display='inline'; Codehighlighter1_184_234_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> i</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;i</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">15000</SPAN><SPAN style="COLOR: #000000">;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_184_234_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_184_234_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080"> 8</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>      s.add(</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">System.currentTimeMillis());<BR></SPAN><SPAN style="COLOR: #008080"> 9</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">10</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Start </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">11</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    testOne(s);<BR></SPAN><SPAN style="COLOR: #008080">12</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    testTwo(s);<BR></SPAN><SPAN style="COLOR: #008080">13</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    testThree(s);<BR></SPAN><SPAN style="COLOR: #008080">14</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">End </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR></SPAN><SPAN style="COLOR: #008080">15</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">16</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>  <BR></SPAN><SPAN style="COLOR: #008080">17</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_410_511_Open_Image onclick="this.style.display='none'; Codehighlighter1_410_511_Open_Text.style.display='none'; Codehighlighter1_410_511_Closed_Image.style.display='inline'; Codehighlighter1_410_511_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_410_511_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_410_511_Closed_Text.style.display='none'; Codehighlighter1_410_511_Open_Image.style.display='inline'; Codehighlighter1_410_511_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> testOne(ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> a) </SPAN><SPAN id=Codehighlighter1_410_511_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_410_511_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">18</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> j</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;String s</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">19</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_472_507_Open_Image onclick="this.style.display='none'; Codehighlighter1_472_507_Open_Text.style.display='none'; Codehighlighter1_472_507_Closed_Image.style.display='inline'; Codehighlighter1_472_507_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_472_507_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_472_507_Closed_Text.style.display='none'; Codehighlighter1_472_507_Open_Image.style.display='inline'; Codehighlighter1_472_507_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> i</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;i</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">a.size();i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_472_507_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_472_507_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">20</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>      s</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">a.get(i);<BR></SPAN><SPAN style="COLOR: #008080">21</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>      j</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">22</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">23</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">24</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>  <BR></SPAN><SPAN style="COLOR: #008080">25</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_565_675_Open_Image onclick="this.style.display='none'; Codehighlighter1_565_675_Open_Text.style.display='none'; Codehighlighter1_565_675_Closed_Image.style.display='inline'; Codehighlighter1_565_675_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_565_675_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_565_675_Closed_Text.style.display='none'; Codehighlighter1_565_675_Open_Image.style.display='inline'; Codehighlighter1_565_675_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> testTwo(ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> a) </SPAN><SPAN id=Codehighlighter1_565_675_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_565_675_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">26</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> j</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">27</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    String s</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">28</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_636_671_Open_Image onclick="this.style.display='none'; Codehighlighter1_636_671_Open_Text.style.display='none'; Codehighlighter1_636_671_Closed_Image.style.display='inline'; Codehighlighter1_636_671_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_636_671_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_636_671_Closed_Text.style.display='none'; Codehighlighter1_636_671_Open_Image.style.display='inline'; Codehighlighter1_636_671_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> i</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,n</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">a.size();i</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">n;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_636_671_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_636_671_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">29</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>      s</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">a.get(i);<BR></SPAN><SPAN style="COLOR: #008080">30</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>      j</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">31</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">32</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">33</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">34</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_729_778_Open_Image onclick="this.style.display='none'; Codehighlighter1_729_778_Open_Text.style.display='none'; Codehighlighter1_729_778_Closed_Image.style.display='inline'; Codehighlighter1_729_778_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_729_778_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_729_778_Closed_Text.style.display='none'; Codehighlighter1_729_778_Open_Image.style.display='inline'; Codehighlighter1_729_778_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> testThree(ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> a) </SPAN><SPAN id=Codehighlighter1_729_778_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_729_778_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">35</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> j</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">36</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_763_776_Open_Image onclick="this.style.display='none'; Codehighlighter1_763_776_Open_Text.style.display='none'; Codehighlighter1_763_776_Closed_Image.style.display='inline'; Codehighlighter1_763_776_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_763_776_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_763_776_Closed_Text.style.display='none'; Codehighlighter1_763_776_Open_Image.style.display='inline'; Codehighlighter1_763_776_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (String s : a) </SPAN><SPAN id=Codehighlighter1_763_776_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_763_776_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">37</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    j</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">38</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">39</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">40</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">41</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">42</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV> <P>閫氳繃Profiling宸ュ叿鐪嬬粨鏋滐細<BR>鏂規硶      榪愯鏃墮棿<BR>testOne   0.055764<BR>testTwo  0.043821<BR>testThres 0.132451<BR><BR>涔熷氨鏄錛宩dk 1.5鐨刦or/each寰幆鏄渶鎱㈢殑銆傛湁鐐逛笉鐩鎬俊銆傚紑澶磋寰楁槸鍥犱負璧嬪奸犳垚鐨勶紝浣嗗悗鏉ュ湪鍙︿袱涓柟娉曢噷闈㈠姞涓婅祴鍊艱鍙ワ紝渚濈劧鏄痜or/each鏈鎱€傛瘮杈冩湁瓚g殑緇撴灉銆?BR><BR>浠庝唬鐮佹竻鏅拌搴︼紝鐢╢or/each娑堣楀涓鐐圭偣鏃墮棿浼間箮涔熸棤鎵璋撱備絾鏄紝鍙︿袱縐嶄唬鐮佷篃涓嶈寰椻滀笉娓呮櫚鈥濓紝鍛靛懙銆傜湅鐫鍔炰簡銆?/P><img src ="http://www.tkk7.com/raymondchen625/aggbug/33423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/raymondchen625/" target="_blank">Raymond鐨凧ava絎旇</a> 2006-03-03 12:00 <a href="http://www.tkk7.com/raymondchen625/archive/2006/03/03/33423.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤JMeter榪涜鍘嬪姏嫻嬭瘯http://www.tkk7.com/raymondchen625/archive/2006/03/01/32965.htmlRaymond鐨凧ava絎旇Raymond鐨凧ava絎旇Wed, 01 Mar 2006 02:04:00 GMThttp://www.tkk7.com/raymondchen625/archive/2006/03/01/32965.htmlhttp://www.tkk7.com/raymondchen625/comments/32965.htmlhttp://www.tkk7.com/raymondchen625/archive/2006/03/01/32965.html#Feedback0http://www.tkk7.com/raymondchen625/comments/commentRss/32965.htmlhttp://www.tkk7.com/raymondchen625/services/trackbacks/32965.htmlJMeter鏄痑pache鐨刯akarta涓婇潰鐨勯」鐩紝鐢ㄤ簬杞歡鐨勫帇鍔涙祴璇曪紙Load Test錛夛紝涓嶄絾鍙互瀵笻TTP錛屼篃鍙互瀵規暟鎹簱錛堥氳繃JDBC錛夈丗TP銆乄eb Service銆丣ava 瀵硅薄絳夌瓑榪涜鍘嬪姏嫻嬭瘯銆?BR>
欏圭洰鍦板潃錛歨ttp://jakarta.apache.org/jmeter

浣跨敤錛?榪愯bin鐩綍涓嬬殑jmeterw.bat錛岃繍琛宩meter.bat涔熷彲浠ワ紝涓嶈繃灝變細鏈変竴涓懡浠ょ獥鍙f樉紺恒?BR>
瑕佹彁閱掍竴涓嬬殑鏄痡meter鏍規嵁褰撳墠緋葷粺鐨刲ocale鏄劇ず鑿滃崟鐨勮璦錛屼負浜嗘柟渚挎兂璁劇疆鍥炶嫳鏂囩殑璇濓紝鍙互淇敼jmeter.properties鏂囦歡錛岃緗甽anguage=en  錛堟垜涓嬭澆鐨?.1.1鐗堟湰鎶娾滈鍑衡濊璇戜負鈥滄帹鍑衡濓紝鎬庝箞鐪嬮兘涓嶉『鐪?錛?BR>
浣跨敤錛?BR>
JMeter鐨勬祴璇曡鍒掞紙Test Plan錛夊憟鏍戠姸緇撴瀯錛屾爲閲岄潰鏈夊縐嶅厓绱犵被鍨嬶紝鏍戠姸緇撴瀯鐨勫厓绱犱箣闂存湁鐨勬槸鏈夌戶鎵垮叧緋葷殑錛堝叾鍘熺悊鏈夌偣綾諱技log4j錛夈備笅闈㈢畝榪頒竴涓嬪厓绱犵被鍨嬶細

1銆?STRONG>ThreadGroup
      欏懼悕鎬濅箟灝辨槸綰跨▼緇勶紝嫻嬭瘯蹇呴』鏈変竴涓猅hreadGroup鍏冪礌浣滀負鍩虹錛堝惁鍒欏氨娌℃湁嫻嬭瘯綰跨▼鍦ㄨ窇浜嗭級錛岃繖涓厓绱犲彲浠ラ厤緗窇澶氬皯涓嚎紼嬨佹瘡涓嚎紼嬪驚鐜灝戞錛屾墍鏈夌嚎紼嬫暟鐨勬誨惎鍔ㄦ椂闂達紙Ramp-up period錛夌瓑絳夈?BR>
2銆?STRONG>Controller
     鍖呮嫭Logical Controller鍜孲ampler錛屽墠鑰呯敤鏉ヤ綔涓浜涢昏緫涓婄殑鎺у埗錛屼緥濡傝疆鎹€佹潯浠躲佸驚鐜瓑絳夈係ampler灝辨槸鐪熸鈥滃共媧燴濈殑鈥滃彇鏍峰櫒鈥濓紝渚嬪鈥淗TTP Request鈥濓紝灝辨槸鎷挎潵鎵ц涓涓狧TTP璇鋒眰鐨勩?BR>
3銆?STRONG>Listener
    Listener瀵硅姹傝繃紼嬭繘琛岀洃鍚紝鍙互綆鍗曠悊瑙d負鑾峰彇緇撴灉鐨勪笢涓溿備緥濡係imple Data Writer錛屽彲浠ユ妸緇撴灉鍐欏埌涓涓枃鏈枃浠墮噷錛堝叾瀹炴墍鏈塋istener閮藉彲浠ュ啓鏁版嵁鍒版枃浠墮噷錛夛紝榪樻湁View Results in Table錛屽氨鏄妸緇撴灉鏄劇ず鍦ㄨ〃鏍奸噷銆?BR>
4銆?Timer
    鐢ㄦ潵鎺у埗鎵ц嫻佺▼涓殑鏃墮棿寤惰繜絳夊姛鑳姐?BR>
5銆?Assertion
    鏂█錛屽姞鍒癝ampler閲岄潰鍙互瀵硅繑鍥炵殑緇撴灉榪涜鍒ゆ柇錛屼緥濡傚垽鏂璈TTP榪斿洖緇撴灉閲岄潰鏄惁鍚湁鏌愪釜瀛楃涓層傚鏋滄柇璦涓虹湡錛孞Meter浼氭爣璁拌姹備負鎴愬姛錛屽惁鍒欐爣璁頒負澶辮觸銆?BR>
6銆?Configuration Element
   
閰嶇疆鐢ㄧ殑鍏冪礌錛屽緢鏈夌敤銆傜敱浜庢祴璇曡鍒掓槸鏍戠姸鍜屾湁緇ф壙鍏崇郴鐨勶紝鍙互鍦ㄩ珮灞傛鎸囧畾涓涓狢onfiguration Element錛屼綆灞傛鐨勭浉鍏砈ampler濡傛灉娌℃湁鏄懼紡鍦版寚瀹氶厤緗紝灝辯戶鎵塊珮灞傛鐨勯厤緗俊鎭傦紙璺焞og4j寰堝儚鍚э紵錛?BR>
7銆?Pre-Processor/Post-Processor Elements
   鐢ㄦ潵鍦⊿ampler榪愯鍓嶅拰榪愯鍚庝綔涓浜涢澶勭悊鍜屽悗澶勭悊宸ヤ綔鐨勩備緥濡傚姩鎬佷慨鏀硅姹傜殑鍙傛暟錛堥澶勭悊錛夛紝浠庤繑鍥炰俊鎭噷闈㈡彁鍙栦俊鎭紙鍚庡鐞嗭級絳夌瓑銆?BR>
涓句緥錛氳鍋氫竴涓渶綆鍗曠殑HTTP鍘嬪姏嫻嬭瘯錛?鐢?0涓嚎紼嬭闂竴涓猆RL錛屾瘡涓嚎紼嬭闂?00嬈°?BR>鍋氭硶錛?BR>1銆?鍦═est Plan涓嬮潰鍔犱竴涓猅hread Group錛岄厤緗噷闈紝綰跨▼鏁板~10錛屽驚鐜鏁板~100
2銆?鍦═hread Group涓嬮潰鍔犱竴涓狧TTP Request錛岃繖鏄竴涓猄ampler錛屽湪瀹冪殑閰嶇疆閲岄潰濉啓涓繪満淇℃伅錛岀鍙c佸崗璁佽礬寰勩佸弬鏁扮瓑淇℃伅
3銆?鍦℉TTP Request涓嬮潰鍔犱竴涓猇iew Results in Table錛屽鏋滀綘鎯蟲妸璁板綍璁板埌鏂囦歡錛屽垯濉啓鏂囦歡璺緞銆?BR>4銆?淇濆瓨涓浜涜繖涓猅est Plan錛屽氨鍙互閫夋嫨Run鑿滃崟涓嬮潰鐨凴un鏉ヨ繍琛屼簡銆傜洿鍒癛un鑿滃崟欏逛粠鐏拌壊鍙樺洖榛戣壊錛屽氨琛ㄧず榪愯瀹屼簡銆傚湪View Results in Table涓嬮潰錛屼綘鍙互鐪嬪埌榪愯緇撴灉銆?BR>
鍏充簬鍏冪礌鐨勮緇嗘弿榪板彲浠ュ弬鑰?A >瀹樻柟鏂囨。銆?BR>
JMeter鍔熻兘寰堜赴瀵岀殑錛岃繕鏈夊緢寮虹殑鎵╁睍鑳藉姏錛岃屼笖鍙堟槸鍏嶈垂錛屽煎緱鐮旂┒浣跨敤銆?/FONT>


]]>
浣跨敤TPTP鍜宔clipse榪涜Profiling錛堝墫鏋愶級錛嶇畝浠?/title><link>http://www.tkk7.com/raymondchen625/archive/2006/02/27/32637.html</link><dc:creator>Raymond鐨凧ava絎旇</dc:creator><author>Raymond鐨凧ava絎旇</author><pubDate>Mon, 27 Feb 2006 06:14:00 GMT</pubDate><guid>http://www.tkk7.com/raymondchen625/archive/2006/02/27/32637.html</guid><wfw:comment>http://www.tkk7.com/raymondchen625/comments/32637.html</wfw:comment><comments>http://www.tkk7.com/raymondchen625/archive/2006/02/27/32637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/raymondchen625/comments/commentRss/32637.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/raymondchen625/services/trackbacks/32637.html</trackback:ping><description><![CDATA[<P>鏈枃鍙綔寰堢畝瑕佷粙緇嶏紝鍙浣滃蹇樺弬鑰冦?BR><BR>TPTP鏄痚clipse瀹樻柟鐨刾rofiling鎻掍歡錛屽垵姝ヤ嬌鐢ㄤ笅鎰熻鍔熻兘寮哄ぇ銆?BR><BR>涓嬭澆瀹夎錛?鍦?A >http://www.eclipse.org/tptp/</A>涓嬭澆錛屾垜閫夋嫨All錛峈untime錛岀劧鍚庡儚鍏跺畠鎻掍歡涓鏍瘋В鍘嬪埌eclipse鐨勭洰褰曪紝鐒跺悗鍏佽eclipse -clean鏉ュ埛鏂頒竴鎶娿?BR><BR>浣跨敤錛?nbsp;<BR>   甯哥敤鐨刾rofiling綆鍗曟潵璁插氨瀵圭▼搴忚繍琛岃繘琛岃褰曪紝鐒跺悗浠庢暟鎹腑鍒嗘瀽鍝簺鏂規硶榪愯鏃墮棿闀匡紝鍝簺瀵硅薄鍚冨唴瀛樺錛屽摢浜涚被鐨勫疄渚嬪絳夌瓑銆備竴涓瘮杈冨ソ鐨勪嬌鐢ㄥ叆闂╯ample鍦ㄨ繖閲岋細 <A >http://www.eclipse.org/tptp/home/documents/tutorials/profilingtool/profilingexample_32.html</A> 鎴戝氨涓嶇綏鍡︿簡銆?BR><BR>鍊煎緱澶氳鐨勬槸Remote Profiling錛屽氨鏄繙紼嬪墫鏋愩傚疄鐜扮殑鍘熺悊鏄湪榪滅▼鏈哄櫒涓婅繍琛屼竴涓唬鐞嗚繘紼嬶紝瑕佽榪滅▼鍓栨瀽鐨勭▼搴忔垨鑰匒pplication Server鍚姩鐨勬椂鍊欏姞涓涓狫VM鍙傛暟鏉ヨ瘑鍒繖涓唬鐞嗚繘紼嬶紝涓よ呯浉浜掍綔鐢紝浠g悊灝卞彲浠ユ妸鏀墮泦鍒扮殑淇℃伅鍙戠粰鍦ㄨ繙紼嬬殑涓鏂癸紙灝辨槸榪愯鐫eclipse鐨勪竴鏂癸級銆?BR><BR>鍥犳瑕佸疄鐜癛emote Profiling錛岃繕瑕佸湪鐩爣鏈哄櫒涓婅涓涓猘gent銆?--><BR><BR>涓嬭澆瀹夎錛?A >http://www.eclipse.org/tptp/home/downloads/drops/TPTP-4.0.1.html</A>銆閫夋嫨瀵瑰簲鎿嶄綔緋葷粺鐨?FONT color=#000000><STRONG>Agent Controller</STRONG>涓嬭澆錛岄夋嫨Runtime鍗沖彲銆?BR><BR>涓嬭澆鍚庯紝闃呰渚濈収getting_started.html鐨勮鏄庢潵瀹夎鍗沖彲錛岃繖閲岀畝榪頒竴涓嬶細<BR>1銆?鎶婂畠鐨刡in鐩綍鏀懼埌PATH閲岄潰<BR>2銆?榪愯涓涓婼etConfig鏉ヨ緗弬鏁幫紝娉ㄦ剰濡傛灉鎯寵闄ゆ湰鍦發ocalhost鎰忓鎵浠ユ満鍣ㄩ兘璁塊棶鐨勮瘽錛岃娉ㄦ剰璁劇疆Network Access Mode錛岄粯璁ゆ槸localhost鐨勩?BR>3銆?榪愯RAStart鏉ュ惎鍔ㄤ唬鐞嗭紙Linux涓嬶級<BR>4銆?鏈嶅姟鍣ㄧ紼嬪簭錛堜緥濡倀omcat錛夊惎鍔ㄧ殑JVM鍙傛暟閲岄潰鍔犲叆-XrunpiAgent:server=enabled鍗沖彲錛堣繕鏈夊叾瀹冨弬鏁板煎弬瑙佹枃妗o級<BR>5銆?鐒跺悗灝卞彲浠ュ湪榪滅▼鐢╡clipse鏉ュ惎鍔ㄤ竴涓狿rofiling榪涚▼鏉ttach鍒拌繖涓猘gent controller浜嗐傛晥鏋滃拰鍦╡clipse閲岄潰鐩存帴profile搴旂敤紼嬪簭涓鏍楓?BR><BR></FONT></P><img src ="http://www.tkk7.com/raymondchen625/aggbug/32637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/raymondchen625/" target="_blank">Raymond鐨凧ava絎旇</a> 2006-02-27 14:14 <a href="http://www.tkk7.com/raymondchen625/archive/2006/02/27/32637.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Volatile Fieldshttp://www.tkk7.com/raymondchen625/archive/2006/02/19/31476.htmlRaymond鐨凧ava絎旇Raymond鐨凧ava絎旇Sun, 19 Feb 2006 07:58:00 GMThttp://www.tkk7.com/raymondchen625/archive/2006/02/19/31476.htmlhttp://www.tkk7.com/raymondchen625/comments/31476.htmlhttp://www.tkk7.com/raymondchen625/archive/2006/02/19/31476.html#Feedback0http://www.tkk7.com/raymondchen625/comments/commentRss/31476.htmlhttp://www.tkk7.com/raymondchen625/services/trackbacks/31476.htmlVolatile Fields

Sometimes, it seems excessive to pay the cost of synchronization just to read or write an instance field or two. After all, what can go wrong? Unfortunately, with modern processors and compilers, there is plenty of room for error:

  • Computers with multiple processors can temporarily hold memory values in registers or local memory caches. As a consequence, threads running in different processors may see different values for the same memory location!

  • Compilers can reorder instructions for maximum throughput. Compilers won't choose an ordering that changes the meaning of the code, but they make the assumption that memory values are only changed when there are explicit instructions in the code. However, a memory value can be changed by another thread!

If you use locks to protect code that can be accessed by multiple threads, then you won't have these problems. Compilers are required to respect locks by flushing local caches as necessary and not inappropriately reordering instructions. The details are explained in the Java Memory Model and Thread Specification developed by JSR 133 (see http://www.jcp.org/en/jsr/detail?id=133). Much of the specification is highly complex and technical, but the document also contains a number of clearly explained examples. A more accessible overview article by Brian Goetz is available at http://www-106.ibm.com/developerworks/java/library/j-jtp02244.html.

NOTE

Brian Goetz coined the following "synchronization motto": "If you write a variable which may next be read by another thread, or you read a variable which may have last been written by another thread, you must use synchronization."


The volatile keyword offers a lock-free mechanism for synchronizing access to an instance field. If you declare a field as volatile, then the compiler and the virtual machine take into account that the field may be concurrently updated by another thread.

For example, suppose an object has a boolean flag done that is set by one thread and queried by another thread. You have two choices:

  1. Use a lock, for example:

    public synchronized boolean isDone() { return done; }
    private boolean done;
    

    (This approach has a potential drawback: the isDone method can block if another thread has locked the object.)

  2. Declare the field as volatile:

    public boolean isDone() { return done; }
    private volatile boolean done;
    

Of course, accessing a volatile variable will be slower than accessing a regular variablethat is the price to pay for thread safety.

NOTE

Prior to JDK 5.0, the semantics of volatile were rather permissive. The language designers attempted to give implementors leeway in optimizing the performance of code that uses volatile fields. However, the old specification was so complex that implementors didn't always follow it, and it allowed confusing and undesirable behavior, such as immutable objects that weren't truly immutable.


In summary, concurrent access to a field is safe in these three conditions:

  • The field is volatile.

  • The field is final, and it is accessed after the constructor has completed.

  • The field access is protected by a lock.



]]>
鍦╨ucene瀹炵幇鎸夊叧閿瓧鍑虹幇嬈℃暟鎺掑簭鐨勫垪琛?/title><link>http://www.tkk7.com/raymondchen625/archive/2006/02/04/29526.html</link><dc:creator>Raymond鐨凧ava絎旇</dc:creator><author>Raymond鐨凧ava絎旇</author><pubDate>Sat, 04 Feb 2006 06:26:00 GMT</pubDate><guid>http://www.tkk7.com/raymondchen625/archive/2006/02/04/29526.html</guid><wfw:comment>http://www.tkk7.com/raymondchen625/comments/29526.html</wfw:comment><comments>http://www.tkk7.com/raymondchen625/archive/2006/02/04/29526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/raymondchen625/comments/commentRss/29526.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/raymondchen625/services/trackbacks/29526.html</trackback:ping><description><![CDATA[闇姹傦細 鍦╨ucene绱㈠紩涓緩绔嬩簡寰堝鍏抽敭瀛楃殑绱㈠紩錛屾兂鑾峰緱涓涓綋鍓嶇敤鎴風殑鍏抽敭瀛楀垪琛紝騫朵笖姣忎釜鍏抽敭瀛楄繕甯︽湁浣跨敤浜嗗灝戞鐨勪俊鎭?BR><BR>瑙e喅鏂規硶錛?BR>浣跨敤鑷畾涔夌殑HitCollector瀵硅薄錛屼唬鐮佸涓? <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.io.IOException;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.ArrayList;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.Collections;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.HashMap;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.Iterator;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> java.util.Set;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> org.apache.lucene.document.Document;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> org.apache.lucene.search.HitCollector;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000"> org.apache.lucene.search.IndexSearcher;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_347_1561_Open_Image onclick="this.style.display='none'; Codehighlighter1_347_1561_Open_Text.style.display='none'; Codehighlighter1_347_1561_Closed_Image.style.display='inline'; Codehighlighter1_347_1561_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_347_1561_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_347_1561_Closed_Text.style.display='none'; Codehighlighter1_347_1561_Open_Image.style.display='inline'; Codehighlighter1_347_1561_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> TagCollector </SPAN><SPAN style="COLOR: #0000ff">extends</SPAN><SPAN style="COLOR: #000000"> HitCollector </SPAN><SPAN id=Codehighlighter1_347_1561_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_347_1561_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> IndexSearcher searcher;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> HashMap</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String,Integer</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> tagList</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> HashMap</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String,Integer</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">();<BR><IMG id=Codehighlighter1_499_528_Open_Image onclick="this.style.display='none'; Codehighlighter1_499_528_Open_Text.style.display='none'; Codehighlighter1_499_528_Closed_Image.style.display='inline'; Codehighlighter1_499_528_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_499_528_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_499_528_Closed_Text.style.display='none'; Codehighlighter1_499_528_Open_Image.style.display='inline'; Codehighlighter1_499_528_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> TagCollector(IndexSearcher searcher) </SPAN><SPAN id=Codehighlighter1_499_528_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_499_528_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.searcher</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">searcher;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    @Override<BR><IMG id=Codehighlighter1_586_847_Open_Image onclick="this.style.display='none'; Codehighlighter1_586_847_Open_Text.style.display='none'; Codehighlighter1_586_847_Closed_Image.style.display='inline'; Codehighlighter1_586_847_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_586_847_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_586_847_Closed_Text.style.display='none'; Codehighlighter1_586_847_Open_Image.style.display='inline'; Codehighlighter1_586_847_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> collect(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> docID, </SPAN><SPAN style="COLOR: #0000ff">float</SPAN><SPAN style="COLOR: #000000"> score) </SPAN><SPAN id=Codehighlighter1_586_847_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_586_847_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_594_791_Open_Image onclick="this.style.display='none'; Codehighlighter1_594_791_Open_Text.style.display='none'; Codehighlighter1_594_791_Closed_Image.style.display='inline'; Codehighlighter1_594_791_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_594_791_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_594_791_Closed_Text.style.display='none'; Codehighlighter1_594_791_Open_Image.style.display='inline'; Codehighlighter1_594_791_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN id=Codehighlighter1_594_791_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_594_791_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            Document doc</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">searcher.doc(docID);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            String[] tagValues</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">doc.getValues(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">tag</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG id=Codehighlighter1_701_787_Open_Image onclick="this.style.display='none'; Codehighlighter1_701_787_Open_Text.style.display='none'; Codehighlighter1_701_787_Closed_Image.style.display='inline'; Codehighlighter1_701_787_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_701_787_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_701_787_Closed_Text.style.display='none'; Codehighlighter1_701_787_Open_Image.style.display='inline'; Codehighlighter1_701_787_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>            </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"> (tagValues</SPAN><SPAN style="COLOR: #000000">!=</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_701_787_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_701_787_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_744_782_Open_Image onclick="this.style.display='none'; Codehighlighter1_744_782_Open_Text.style.display='none'; Codehighlighter1_744_782_Closed_Image.style.display='inline'; Codehighlighter1_744_782_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_744_782_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_744_782_Closed_Text.style.display='none'; Codehighlighter1_744_782_Open_Image.style.display='inline'; Codehighlighter1_744_782_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>                </SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> i</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;i</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">tagValues.length;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN id=Codehighlighter1_744_782_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_744_782_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>                    addTagCount(tagValues[i]);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>            }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_815_843_Open_Image onclick="this.style.display='none'; Codehighlighter1_815_843_Open_Text.style.display='none'; Codehighlighter1_815_843_Closed_Image.style.display='inline'; Codehighlighter1_815_843_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_815_843_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_815_843_Closed_Text.style.display='none'; Codehighlighter1_815_843_Open_Image.style.display='inline'; Codehighlighter1_815_843_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000"> (IOException e) </SPAN><SPAN id=Codehighlighter1_815_843_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_815_843_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            e.printStackTrace();<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    <BR><IMG id=Codehighlighter1_893_1025_Open_Image onclick="this.style.display='none'; Codehighlighter1_893_1025_Open_Text.style.display='none'; Codehighlighter1_893_1025_Closed_Image.style.display='inline'; Codehighlighter1_893_1025_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_893_1025_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_893_1025_Closed_Text.style.display='none'; Codehighlighter1_893_1025_Open_Image.style.display='inline'; Codehighlighter1_893_1025_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> addTagCount(String tagName) </SPAN><SPAN id=Codehighlighter1_893_1025_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_893_1025_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> count</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">;<BR><IMG id=Codehighlighter1_946_992_Open_Image onclick="this.style.display='none'; Codehighlighter1_946_992_Open_Text.style.display='none'; Codehighlighter1_946_992_Closed_Image.style.display='inline'; Codehighlighter1_946_992_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_946_992_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_946_992_Closed_Text.style.display='none'; Codehighlighter1_946_992_Open_Image.style.display='inline'; Codehighlighter1_946_992_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"> (tagList.containsKey(tagName)) </SPAN><SPAN id=Codehighlighter1_946_992_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_946_992_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            count</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">(Integer)tagList.get(tagName)</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        tagList.put(tagName,count);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    <BR><IMG id=Codehighlighter1_1074_1095_Open_Image onclick="this.style.display='none'; Codehighlighter1_1074_1095_Open_Text.style.display='none'; Codehighlighter1_1074_1095_Closed_Image.style.display='inline'; Codehighlighter1_1074_1095_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1074_1095_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1074_1095_Closed_Text.style.display='none'; Codehighlighter1_1074_1095_Open_Image.style.display='inline'; Codehighlighter1_1074_1095_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> HashMap</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">String,Integer</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> getTagList() </SPAN><SPAN id=Codehighlighter1_1074_1095_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1074_1095_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> tagList;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    @SuppressWarnings(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">unchecked</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)<BR><IMG id=Codehighlighter1_1197_1556_Open_Image onclick="this.style.display='none'; Codehighlighter1_1197_1556_Open_Text.style.display='none'; Codehighlighter1_1197_1556_Closed_Image.style.display='inline'; Codehighlighter1_1197_1556_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1197_1556_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1197_1556_Closed_Text.style.display='none'; Codehighlighter1_1197_1556_Open_Image.style.display='inline'; Codehighlighter1_1197_1556_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">TagSummary</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> getSortedTagList(</SPAN><SPAN style="COLOR: #0000ff">boolean</SPAN><SPAN style="COLOR: #000000"> ascending) </SPAN><SPAN id=Codehighlighter1_1197_1556_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1197_1556_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">TagSummary</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000"> list</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> ArrayList</SPAN><SPAN style="COLOR: #000000"><</SPAN><SPAN style="COLOR: #000000">TagSummary</SPAN><SPAN style="COLOR: #000000">></SPAN><SPAN style="COLOR: #000000">();<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        Iterator keyIterator</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">tagList.keySet().iterator();<BR><IMG id=Codehighlighter1_1341_1458_Open_Image onclick="this.style.display='none'; Codehighlighter1_1341_1458_Open_Text.style.display='none'; Codehighlighter1_1341_1458_Closed_Image.style.display='inline'; Codehighlighter1_1341_1458_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1341_1458_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1341_1458_Closed_Text.style.display='none'; Codehighlighter1_1341_1458_Open_Image.style.display='inline'; Codehighlighter1_1341_1458_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000"> (keyIterator.hasNext()) </SPAN><SPAN id=Codehighlighter1_1341_1458_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1341_1458_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            String key</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">(String)keyIterator.next();<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            </SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> value</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">tagList.get(key);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            list.add(</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> TagSummary(key,value));<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        Collections.sort(list);<BR><IMG id=Codehighlighter1_1504_1538_Open_Image onclick="this.style.display='none'; Codehighlighter1_1504_1538_Open_Text.style.display='none'; Codehighlighter1_1504_1538_Closed_Image.style.display='inline'; Codehighlighter1_1504_1538_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1504_1538_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1504_1538_Closed_Text.style.display='none'; Codehighlighter1_1504_1538_Open_Image.style.display='inline'; Codehighlighter1_1504_1538_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"> (</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">ascending) </SPAN><SPAN id=Codehighlighter1_1504_1538_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1504_1538_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>            Collections.reverse(list);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>        </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> list;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top>    <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>鍔熻兘璇存槑錛?姣忎釜鎼滅儲鍒扮殑hits錛岄兘浼氳皟鐢ㄨ繖涓柟娉曠殑collect鏂規硶錛屽洜姝ゅ彲浠ュ湪榪欎釜瀵硅薄褰撲腑鏀句竴涓狧ashMap錛岀瘡璁¤褰曟瘡涓叧閿瓧寰楀埌鐨勬鏁般?BR><BR>鎺掑簭閮ㄥ垎鐢ㄥ彟澶栫殑涓涓猅agSummary綾繪潵鑾峰緱錛岃繖閲屽氨涓嶈緇嗙粰鍑轟簡銆?BR><BR>闂錛?榪欐槸涓涓洿瑙傜殑鏂規硶錛屼絾鏄浉淇¢綣佽皟鐢ㄨ繖鏍風殑鏂規硶浼氶犳垚鏈嶅姟鍣ㄧ殑涓ラ噸璐熸媴銆傚彲浠ヨ冭檻涓涓嬬敤緙撳瓨鐨勬柟娉曪紝鍦ㄦ病鏈夊叧閿瓧鏈浘鍙戠敓鏀瑰彉涔嬪墠錛屽彧鍦ㄧ涓嬈¤皟鐢ㄨ繖鏍風殑鏂規硶錛屼箣鍚庢妸緇撴灉緙撳瓨鍦ㄦ暟鎹〃鎴栬呭唴瀛樺綋涓傛湁鏇存柊鐨勬椂鍊欙紝閫氳繃鐗堟湰鍙峰姣斾互鍐沖畾鏄惁闇瑕佹洿鏂般?img src ="http://www.tkk7.com/raymondchen625/aggbug/29526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/raymondchen625/" target="_blank">Raymond鐨凧ava絎旇</a> 2006-02-04 14:26 <a href="http://www.tkk7.com/raymondchen625/archive/2006/02/04/29526.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Resin + Struts 鐨勪腑鏂囦貢鐮侀棶棰樿В鍐?/title><link>http://www.tkk7.com/raymondchen625/archive/2006/01/19/28708.html</link><dc:creator>Raymond鐨凧ava絎旇</dc:creator><author>Raymond鐨凧ava絎旇</author><pubDate>Thu, 19 Jan 2006 15:28:00 GMT</pubDate><guid>http://www.tkk7.com/raymondchen625/archive/2006/01/19/28708.html</guid><wfw:comment>http://www.tkk7.com/raymondchen625/comments/28708.html</wfw:comment><comments>http://www.tkk7.com/raymondchen625/archive/2006/01/19/28708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/raymondchen625/comments/commentRss/28708.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/raymondchen625/services/trackbacks/28708.html</trackback:ping><description><![CDATA[闂錛?BR>浣跨敤Struts鐨凙ctionForm鎺ユ敹鍒扮殑涓枃鍏ㄩ儴鏄貢鐮侊紝渚嬪鎻愪氦榪囧幓鐨勨滄祴璇曗濆瓧絎︿覆錛屽緱鍒扮殑鏄??????貓????鈥濄傚紑澶翠互涓烘槸浼犵粺鐨別ncoding璇嗗埆鐨勯棶棰橈紝浣嗘槸鐢ㄥ悇縐嶇紪鐮侀噸鏂版瀯閫犲緱鍒扮殑byte[]鏁扮粍錛屼緷鐒舵棤娉曞緱鍒版紜殑涓枃銆備絾鏄鏋滅敤鏅氱殑jsp鏉ユ帴鏀秄orm鐨勬暟鎹紝涓枃鏄畬鍏ㄦ甯哥殑銆?BR>鎴戝紑濮嬭寰楁槸struts鐨勬祦紼嬪綋涓紝閿欒鍦頒嬌鐢ㄤ簡緙栫爜錛屼互鑷蟲渶鍚庡緱鍒扮殑緇撴灉瀹屽叏涔變簡銆傛悳绱簡濂藉鏂囩珷錛屾葷畻鎵懼埌涓涓瘮杈冩帴榪戠殑銆?BR>瑙e喅鏂規硶錛?BR>瀹氫箟涓涓猣ilter錛宖ilter鍙仛涓浠朵簨鎯咃紝灝辨槸錛?BR>      request.setCharacterEncoding("UTF-8");<BR>鍦╳eb.xml鐨刦ilter mapping閲?璁懼畾鍜宻truts鐨刟ction鍚屾牱鐨刴apping銆?BR><BR>瑙i噴錛?Filter鏈鍏堟嫤鎴獁eb璇鋒眰錛屽湪榪欓噷璁劇疆浜嗘紜殑CharacterEncoding錛屾帴涓嬫潵鍚勪釜澶勭悊鐨勭粍浠跺氨涓嶄細鎼為敊浜嗐傚湪娌℃湁Filter鐨勬儏鍐典笅錛屾垜鐨剅esin鏈嶅姟鍣ㄤ笂鑾峰緱鐨勬槸null錛屼及璁truts涓嶅悓鐨勫鐞嗙粍浠跺null鐨勮В閲婂拰澶勭悊涓嶅お涓鑷達紝瀵艱嚧閿欒鐨勪駭鐢熴?BR><BR>瑕佹敞鎰忔垜鎵鏈夐〉闈㈤兘鏄疷TF-8緙栫爜錛屾墍浠ュ湪filter閲岄潰瀹氫箟浜哢TF-8錛屽鏋滄槸鍏跺畠鐨勭紪鐮侊紝榪欓噷搴旇鐩稿簲鏀逛竴涓嬨?img src ="http://www.tkk7.com/raymondchen625/aggbug/28708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/raymondchen625/" target="_blank">Raymond鐨凧ava絎旇</a> 2006-01-19 23:28 <a href="http://www.tkk7.com/raymondchen625/archive/2006/01/19/28708.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Java鍒ゅ畾瀛楃鏄惁涓枃http://www.tkk7.com/raymondchen625/archive/2006/01/17/28293.htmlRaymond鐨凧ava絎旇Raymond鐨凧ava絎旇Tue, 17 Jan 2006 04:09:00 GMThttp://www.tkk7.com/raymondchen625/archive/2006/01/17/28293.htmlhttp://www.tkk7.com/raymondchen625/comments/28293.htmlhttp://www.tkk7.com/raymondchen625/archive/2006/01/17/28293.html#Feedback0http://www.tkk7.com/raymondchen625/comments/commentRss/28293.htmlhttp://www.tkk7.com/raymondchen625/services/trackbacks/28293.html

   System.out.println(Character.UnicodeBlock.of('鐞?));
   System.out.println(Character.UnicodeBlock.of('j'));
   System.out.println(Character.UnicodeBlock.of(3267));

榪愯緇撴灉錛?BR>CJK_UNIFIED_IDEOGRAPHS
BASIC_LATIN
KANNADA

鍏跺疄涓嶅畬鍏ㄥ鐢紝鍥犱負濡傛灉寰楀埌鈥淐JK_UNIFIED_IDEOGRAPHS鈥濓紝榪樺彲鑳芥槸鏃ユ枃鎴栬呴煩鏂囥備笉榪囧鎴戠殑闇姹傛槸瓚沖浜嗐傚鏋滆鍑嗙‘鍒ゆ柇涓枃錛屽幓鏌ヤ竴涓媢nicode浠g爜灝卞彲浠ヤ簡銆?BR>


]]>
瀹炵幇闃熷垪鐨凧avaScript瀵硅薄http://www.tkk7.com/raymondchen625/archive/2006/01/16/28205.htmlRaymond鐨凧ava絎旇Raymond鐨凧ava絎旇Mon, 16 Jan 2006 07:52:00 GMThttp://www.tkk7.com/raymondchen625/archive/2006/01/16/28205.htmlhttp://www.tkk7.com/raymondchen625/comments/28205.htmlhttp://www.tkk7.com/raymondchen625/archive/2006/01/16/28205.html#Feedback2http://www.tkk7.com/raymondchen625/comments/commentRss/28205.htmlhttp://www.tkk7.com/raymondchen625/services/trackbacks/28205.html this.size=size;
 this.data=new Array();
 this.add=function(ele) {
  if (this.data.length<this.size) {
   this.data[this.data.length]=ele;
  } else {
   this.data.shift();
   this.data[this.data.length]=ele;
  }
 };
 this.getData=function() {
  return this.data;
 };
 this.toCookieValue=function(delimiter) {
  var result='';
  for (var i=0;i<this.data.length ;i++ )
  {
   if(i==0) {
    result=escape(this.data[i]);
   } else {
    result+=delimiter+escape(this.data[i]);
   }
  }
  return result;
 };
}


]]>
Resin 緙栬瘧鐨勫鎬棶棰樿В鍐?/title><link>http://www.tkk7.com/raymondchen625/archive/2006/01/13/27945.html</link><dc:creator>Raymond鐨凧ava絎旇</dc:creator><author>Raymond鐨凧ava絎旇</author><pubDate>Fri, 13 Jan 2006 08:05:00 GMT</pubDate><guid>http://www.tkk7.com/raymondchen625/archive/2006/01/13/27945.html</guid><wfw:comment>http://www.tkk7.com/raymondchen625/comments/27945.html</wfw:comment><comments>http://www.tkk7.com/raymondchen625/archive/2006/01/13/27945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/raymondchen625/comments/commentRss/27945.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/raymondchen625/services/trackbacks/27945.html</trackback:ping><description><![CDATA[浣跨敤Resin 3.0寮鍙戯紝寰堝鎬狤clipse鍦ㄥ惎鍔ㄤ簡remote debug錛岀劧鍚庡姞鏂偣鐨勬椂鍊欒鎴戠殑綾繪病鏈夊姞琛屽彿銆傛垜鎵鵑亶浜嗛夐」錛屾槑鏄庢槸鍔犱簡琛屽彿鐨勫憖銆傜敋鑷蟲垜鍦ㄤ竴涓繀瀹氫細璧拌繃鐨勭被鍓嶉潰鍔犱釜log鎵撳嚭鏉ワ紝璺収璧頒簡錛屽眳鐒跺湪console涓嶈log銆傜櫨鎬濅笉寰楀叾瑙o紝蹇穿婧冧箣鍓嶃傜粓浜庢兂璧蜂簡涓存椂鐩綍銆?BR><BR>Resin榛樿鎬繪槸鍦╓EB-INF涓嬮潰鐢熸垚work鍜宼mp鐩綍錛屾槸鏀緅sp緙栬瘧鑰屾垚鐨勭被鐨勩傛垜鎶婅繖涓や釜鐩綍鍒犻櫎浜嗐備竴鍒囨甯革紝鏂偣涔熷彲浠ュ姞浜嗐?BR><BR>鍘熷洜錛?搴旇鏄痳esin鍦ㄥ垽鏂被鏄惁闇瑕侀噸鏂扮紪璇戞椂鏈夌偣闂錛屽浜庢垜jsp閲岄潰鏈変嬌鐢ㄥ埌鐨勭被鍙戠敓鍙樺寲浠ュ悗錛岃皟鐢ㄥ畠鐨刯sp鏂囦歡娌℃湁閲嶆柊緙栬瘧銆傚鑷寸被鏂囦歡涓嶆洿鏂幫紝榪炲甫灝卞嚭浜嗕竴鍫嗗彜鎬殑閿欒銆?BR><BR>涓嬫璁頒綇浜嗭紝鏈夐棶棰橈紝鍏堝垹涓存椂鐩綍錛?img src ="http://www.tkk7.com/raymondchen625/aggbug/27945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/raymondchen625/" target="_blank">Raymond鐨凧ava絎旇</a> 2006-01-13 16:05 <a href="http://www.tkk7.com/raymondchen625/archive/2006/01/13/27945.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://okbala.com" target="_blank">亚洲男人的天堂网站</a>| <a href="http://zjj100.com" target="_blank">国产在线播放线91免费</a>| <a href="http://yy6653.com" target="_blank">亚洲欧洲精品成人久久曰影片 </a>| <a href="http://513109.com" target="_blank">精品亚洲国产成人</a>| <a href="http://muguangmi.com" target="_blank">四虎永久成人免费</a>| <a href="http://www999973.com" target="_blank">久久国产乱子伦精品免费看</a>| <a href="http://lyaa17.com" target="_blank">亚洲中文字幕久久精品无码A </a>| <a href="http://770144.com" target="_blank">在线免费视频一区</a>| <a href="http://181xx.com" target="_blank">a视频免费在线观看</a>| <a href="http://ipx588.com" target="_blank">亚洲综合丁香婷婷六月香</a>| <a href="http://cjsyw123.com" target="_blank">亚洲爽爽一区二区三区</a>| <a href="http://pppmmmm.com" target="_blank">国产高清免费视频</a>| <a href="http://zjhydouyaji.com" target="_blank">2022国内精品免费福利视频</a>| <a href="http://499k.com" target="_blank">亚洲伊人久久大香线蕉啊</a>| <a href="http://89895cc.com" target="_blank">久久久久亚洲爆乳少妇无</a>| <a href="http://mcjc1.com" target="_blank">曰批全过程免费视频在线观看</a>| <a href="http://002309.com" target="_blank">一级做a爰黑人又硬又粗免费看51社区国产精品视 </a>| <a href="http://mt181.com" target="_blank">亚洲综合精品网站</a>| <a href="http://ziguang1688.com" target="_blank">免费国产成人高清在线观看网站</a>| <a href="http://ruidamo.com" target="_blank">日韩大片免费观看视频播放</a>| <a href="http://ahzlgj.com" target="_blank">亚洲一级毛片在线观</a>| <a href="http://aicbbs.com" target="_blank">亚洲线精品一区二区三区影音先锋 </a>| <a href="http://51a88.com" target="_blank">99精品免费视品</a>| <a href="http://1314c.com" target="_blank">亚洲国产精品无码久久</a>| <a href="http://yuejiju.com" target="_blank">亚洲人成网站在线播放影院在线</a>| <a href="http://mironpress.com" target="_blank">国产成人在线观看免费网站</a>| <a href="http://565636.com" target="_blank">曰批全过程免费视频网址</a>| <a href="http://x3013.com" target="_blank">中文字幕在线免费看</a>| <a href="http://6609929.com" target="_blank">久久亚洲欧美国产精品</a>| <a href="http://m8va.com" target="_blank">亚洲剧情在线观看</a>| <a href="http://woaisouluo.com" target="_blank">久久综合九九亚洲一区</a>| <a href="http://wwwdd312.com" target="_blank">亚洲欧洲自拍拍偷精品 美利坚</a>| <a href="http://wwwks2424.com" target="_blank">毛片免费在线观看网站</a>| <a href="http://yg1617.com" target="_blank">99精品国产成人a∨免费看</a>| <a href="http://xhm33.com" target="_blank">好湿好大好紧好爽免费视频</a>| <a href="http://ax445.com" target="_blank">亚洲区日韩精品中文字幕</a>| <a href="http://ahbbht.com" target="_blank">亚洲电影一区二区</a>| <a href="http://z88d.com" target="_blank">亚洲乱码中文字幕久久孕妇黑人 </a>| <a href="http://7x966.com" target="_blank">亚洲AV无码成人精品区天堂</a>| <a href="http://jinlaifubuxiugang.com" target="_blank">国产无遮挡吃胸膜奶免费看</a>| <a href="http://2886868.com" target="_blank">亚洲国产精品免费观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>