﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-渔人码头-随笔分类-Java 学习笔记</title><link>http://www.blogjava.net/fisher/category/18301.html</link><description>天行健，君子以自强不息。地势坤，君子以厚德载物。</description><language>zh-cn</language><lastBuildDate>Mon, 12 Mar 2007 04:45:28 GMT</lastBuildDate><pubDate>Mon, 12 Mar 2007 04:45:28 GMT</pubDate><ttl>60</ttl><item><title>intern()得到的String之间的==</title><link>http://www.blogjava.net/fisher/archive/2007/03/11/103148.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Sun, 11 Mar 2007 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2007/03/11/103148.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/103148.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2007/03/11/103148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/103148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/103148.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: intern()得到的String之间的==&nbsp;&nbsp;<a href='http://www.blogjava.net/fisher/archive/2007/03/11/103148.html'>阅读全文</a><img src ="http://www.blogjava.net/fisher/aggbug/103148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2007-03-11 21:09 <a href="http://www.blogjava.net/fisher/archive/2007/03/11/103148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>String 与 char[] 的问题</title><link>http://www.blogjava.net/fisher/archive/2007/02/13/99722.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Tue, 13 Feb 2007 08:53:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2007/02/13/99722.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/99722.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2007/02/13/99722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/99722.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/99722.html</trackback:ping><description><![CDATA[面试的时候遇到这样一个问题<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);"> com.fisher.string;<br /><br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> TestStringChange {<br /><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> change(String a, </span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">[] b) {<br />        a </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Jennfier</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br />        b[</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">] </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">F</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">;<br />    }<br /><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> main(String[] args) {<br />        TestStringChange test </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> TestStringChange();<br /><br />        String a </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Fisher</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br />        </span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">[] b </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">f</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">i</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">s</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">h</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"> };<br /><br />        test.change(a, b);<br />        System.out.println(a);<br />        System.out.println(b);<br />    }<br />}<br /></span></div><br />这个是比较容易迷惑的问题。<br /><br />String 是对象，传引用调用后，穿过方法<span style="color: rgb(0, 0, 0);">change 里去的a 是一份指向"Fisher"对象的指针,当  在change里面改变后，指向别的对象“Jennfier"后，在原来的main 方法里不受影响，改变的不是"Fisher"对象，而是改变该方法的指针a 的指向<br /><br />但是char[] 数组就会改变了,因为在change  方法里改变的是char[] 数组的内容<br /><br />答案是<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Fisher<br />Fish<br /></span></div><br /></span><img src ="http://www.blogjava.net/fisher/aggbug/99722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2007-02-13 16:53 <a href="http://www.blogjava.net/fisher/archive/2007/02/13/99722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring中常见数据源的配置参数 </title><link>http://www.blogjava.net/fisher/archive/2006/12/27/90296.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Wed, 27 Dec 2006 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2006/12/27/90296.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/90296.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2006/12/27/90296.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/90296.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/90296.html</trackback:ping><description><![CDATA[
		<p>Spring中常见数据源的配置参数 <br /><br />一共分为直接连接、连接池、jndi绑定三种<br /></p>
		<p>1、直接连接</p>
		<p>&lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt;<br />&lt;property name="driverClassName"&gt;<br />&lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="url"&gt;<br />&lt;value&gt;jdbc:mysql://127.0.0.1:3306/test&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="username"&gt;<br />&lt;value&gt;admin&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="password"&gt;<br />&lt;value/&gt;<br />&lt;/property&gt;<br />&lt;/bean&gt;</p>
		<p>2、连接池</p>
		<p>&lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt;<br />&lt;property name="driverClassName"&gt;<br />&lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="url"&gt;<br />&lt;value&gt;jdbc:mysql://127.0.0.1:3306/test&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="username"&gt;<br />&lt;value&gt;admin&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;property name="password"&gt;<br />&lt;value/&gt;<br />&lt;/property&gt;<br />&lt;/bean&gt;</p>
		<p>3 jndi，以tomcat为例</p>
		<p>&lt;bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"&gt;<br />&lt;property name="jndiName"&gt;<br />&lt;value&gt;java:comp/env/jdbc/TestDB&lt;/value&gt;<br />&lt;/property&gt;<br />&lt;/bean&gt;</p>
		<p>注意每种容器的jndi写法不同，所以java:comp/env/jdbc/TestDB为其全称，但在配置jndi时可能会是其中一部分，如tomcat配置jdbc/TestDB</p>
		<p>配置错误会报javax.naming.NameNotFoundException: Name jdbc is not bound in this Context异常</p>
		<br />
		<br />
		<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=627248</p>
<img src ="http://www.blogjava.net/fisher/aggbug/90296.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2006-12-27 14:32 <a href="http://www.blogjava.net/fisher/archive/2006/12/27/90296.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>类修饰词可见性</title><link>http://www.blogjava.net/fisher/archive/2006/12/22/89487.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Fri, 22 Dec 2006 04:15:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2006/12/22/89487.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/89487.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2006/12/22/89487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/89487.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/89487.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 446.4pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" width="595" border="1">
				<tbody>
						<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 84.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-diagonal-down: .5pt solid windowtext" valign="top" width="112">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US">
														<span style="mso-spacerun: yes">       </span>
														<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同一个类中</span>
														<span lang="EN-US">
																<o:p>
																</o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同一个包中</span>
														<span lang="EN-US">
																<o:p>
																</o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="132">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不同包中的子类</span>
														<span lang="EN-US">
																<o:p>
																</o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 90pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="120">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不同包中非子类</span>
														<span lang="EN-US">
																<o:p>
																</o:p>
														</span>
												</b>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 1">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 84.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="112">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Private<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 90pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="120">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 2">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 84.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="112">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Default<span style="mso-spacerun: yes">      </span><o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 90pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="120">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 3">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 84.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="112">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Protected<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 90pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="120">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">
																<o:p> </o:p>
														</span>
												</b>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 84.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="112">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Public<span style="mso-spacerun: yes">       </span><o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 86.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="115">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 90pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="120">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
												<b style="mso-bidi-font-weight: normal">
														<span lang="EN-US">Y<o:p></o:p></span>
												</b>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/fisher/aggbug/89487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2006-12-22 12:15 <a href="http://www.blogjava.net/fisher/archive/2006/12/22/89487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>,HashMap和Hashtable及HashSet的区别</title><link>http://www.blogjava.net/fisher/archive/2006/12/13/87398.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Wed, 13 Dec 2006 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2006/12/13/87398.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/87398.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2006/12/13/87398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/87398.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/87398.html</trackback:ping><description><![CDATA[Hashtable类   <br />  　　Hashtable继承Map接口，实现一个key-value映射的哈希表。任何非空（non-null）的对象都可作为key或者value。   <br />  　　添加数据使用put(key,   value)，取出数据使用get(key)，这两个基本操作的时间开销为常数。   <br />  Hashtable通过initial   capacity和load   factor两个参数调整性能。通常缺省的load   factor   0.75较好地实现了时间和空间的均衡。增大load   factor可以节省空间但相应的查找时间将增大，这会影响像get和put这样的操作。   <br />  使用Hashtable的简单示例如下，将1，2，3放到Hashtable中，他们的key分别是”one”，”two”，”three”：   <br />  　　　　Hashtable   numbers   =   new   Hashtable();   <br />  　　　　numbers.put(“one”,   new   Integer(1));   <br />  　　　　numbers.put(“two”,   new   Integer(2));   <br />  　　　　numbers.put(“three”,   new   Integer(3));   <br />  　　要取出一个数，比如2，用相应的key：   <br />  　　　　Integer   n   =   (Integer)numbers.get(“two”);   <br />  　　　　System.out.println(“two   =   ”   +   n);   <br />  　　由于作为key的对象将通过计算其散列函数来确定与之对应的value的位置，因此任何作为key的对象都必须实现hashCode和equals方法。hashCode和equals方法继承自根类Object，如果你用自定义的类当作key的话，要相当小心，按照散列函数的定义，如果两个对象相同，即obj1.equals(obj2)=true，则它们的hashCode必须相同，但如果两个对象不同，则它们的hashCode不一定不同，如果两个不同对象的hashCode相同，这种现象称为冲突，冲突会导致操作哈希表的时间开销增大，所以尽量定义好的hashCode()方法，能加快哈希表的操作。   <br />  　　如果相同的对象有不同的hashCode，对哈希表的操作会出现意想不到的结果（期待的get方法返回null），要避免这种问题，只需要牢记一条：要同时复写equals方法和hashCode方法，而不要只写其中一个。   <br />  　　Hashtable是同步的。   <br />    <br />  HashMap类   <br />  　　HashMap和Hashtable类似，不同之处在于HashMap是非同步的，并且允许null，即null   value和null   key。，但是将HashMap视为Collection时（values()方法可返回Collection），其迭代子操作时间开销和HashMap的容量成比例。因此，如果迭代操作的性能相当重要的话，不要将HashMap的初始化容量设得过高，或者load   factor过低。   <br />    <br />  WeakHashMap类   <br />  　　WeakHashMap是一种改进的HashMap，它对key实行“弱引用”，如果一个key不再被外部所引用，那么该key可以被GC回收。 <br /><br /><br /><br />HashSet请参考对Set的描述   <br />    <br />          Set是一种不包含重复的元素的Collection，即任意的两个元素e1和e2都有e1.equals(e2)=false，Set最多有一个null元素。   <br />  　　Set的构造函数有一个约束条件，传入的Collection参数不能包含重复的元素。　　请注意：必须小心操作可变对象（Mutable   Object）。如果一个Set中的可变元素改变了自身状态导致Object.equals(Object)=true将导致一些问题。<br />两个通用Set实现是HashSet   和TreeSet。要决定用哪一个，那是非常简单明了的。   HashSet   要快得多   (对大多数操作是常数时间之于对数时间（constant   time   vs.   log   time）),   但不提供排序保证。如果你需要使用   SortedSet   中的操作，或者按顺序迭代对你来说是重要的，那么请使用   TreeSet。   否则，使用   HashSet。   在大多数时间都不使用   HashSet   ，对你来说是个公平的赌博。     <br />    <br />  　　关于   HashSet，有一件事应该牢记，即就条目数和容量之和来讲，迭代是线性的。因此，如果迭代性能很重要，那就应该慎重选择一个适当的初始容量。容量选得太大，既浪费空间，也浪费时间。   默认的初试容量是101,   一般来讲，它比你所需要的要多。可以使用   int   构造函数来指定初始容量。要分配   HashSet   的初始容量为17:     <br />    <br />  Set   s=   new   HashSet(17);     <br />    <br />  　　HashSets   另有一个称作   装载因数（load   factor）   的"调整参数（tuning   parameter）"   。如果你非常在乎你的   HashSet   的空间的使用，请阅读   HashSet   文本以获取详细信息。否则，就使用默认值吧。如果你接受默认装载因数，但你确实又想指定初始容量，那么，选一个大约是你期望你的   Set   将增长到的容量的两倍的数。如果你的猜测不着边，它也可以增长，或只是浪费一点空间。但都没有大问题。如果你知道有关正确尺寸的一个最佳值，用它吧；如果不知道，那就使用一个旧的值，或使用一个偶数值。它真的不是非常重要。这些事情只能使   HashSet   稍稍变好一点点。     <br />    <br />  　　TreeSet   没有调整参数。除   clone   之外，HashSet   和   TreeSet   都仅有那些由它们各自的接口所要求的操作   (Set   和   TreeSet)，而没有任何别的操作。     <br />  <img alt="Java 集合类图" src="http://www.blogjava.net/images/blogjava_net/fisher/18768/o_umlList.jpg" /><br /><img src ="http://www.blogjava.net/fisher/aggbug/87398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2006-12-13 10:22 <a href="http://www.blogjava.net/fisher/archive/2006/12/13/87398.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ArrayList和Vector的区别</title><link>http://www.blogjava.net/fisher/archive/2006/12/13/87397.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Wed, 13 Dec 2006 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2006/12/13/87397.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/87397.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2006/12/13/87397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/87397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/87397.html</trackback:ping><description><![CDATA[ArrayList类   <br />  　　ArrayList实现了可变大小的数组。它允许所有元素，包括null。ArrayList没有同步。   <br />  size，isEmpty，get，set方法运行时间为常数。但是add方法开销为分摊的常数，添加n个元素需要O(n)的时间。其他的方法运行时间为线性。   <br />  　　每个ArrayList实例都有一个容量（Capacity），即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自动增加，但是增长算法并没有定义。当需要插入大量元素时，在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率。   <br />  　　和LinkedList一样，ArrayList也是非同步的（unsynchronized）。   <br />    <br />  Vector类   <br />  　　Vector非常类似ArrayList，但是Vector是同步的。由Vector创建的Iterator，虽然和ArrayList创建的Iterator是同一接口，但是，因为Vector是同步的，当一个Iterator被创建而且正在被使用，另一个线程改变了Vector的状态（例如，添加或删除了一些元素），这时调用Iterator的方法时将抛出ConcurrentModificationException，因此必须捕获该异常。  <img src ="http://www.blogjava.net/fisher/aggbug/87397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2006-12-13 10:20 <a href="http://www.blogjava.net/fisher/archive/2006/12/13/87397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于HttpURLConnection.setFollowRedirects</title><link>http://www.blogjava.net/fisher/archive/2006/12/11/86934.html</link><dc:creator>Fisher</dc:creator><author>Fisher</author><pubDate>Mon, 11 Dec 2006 08:13:00 GMT</pubDate><guid>http://www.blogjava.net/fisher/archive/2006/12/11/86934.html</guid><wfw:comment>http://www.blogjava.net/fisher/comments/86934.html</wfw:comment><comments>http://www.blogjava.net/fisher/archive/2006/12/11/86934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fisher/comments/commentRss/86934.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fisher/services/trackbacks/86934.html</trackback:ping><description><![CDATA[
		<h4 class="TextColor1" id="subjcns!40AC093BB3A2F0E4!120" style="MARGIN-BOTTOM: 0px">关于HttpURLConnection.setFollowRedirects(转)</h4>
		<div id="msgcns!40AC093BB3A2F0E4!120">
				<div>
						<div>public static void HttpURLConnection.setFollowRedirects(boolean followRedirects)<br />public void HttpURLConnection.setInstanceFollowRedirects(boolean followRedirects)<br /><br />前者设置所有的http连接是否自动处理重定向；<br />后者设置本次连接是否自动处理重定向。<br />设置成true，系统自动处理重定向；设置成false，则需要自己从http reply中分析新的url<br />自己重新连接。<br /></div>
				</div>
		</div>
<img src ="http://www.blogjava.net/fisher/aggbug/86934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fisher/" target="_blank">Fisher</a> 2006-12-11 16:13 <a href="http://www.blogjava.net/fisher/archive/2006/12/11/86934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>