﻿<?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-advancement-文章分类-Java</title><link>http://www.blogjava.net/kjunch1129/category/17924.html</link><description>前进</description><language>zh-cn</language><lastBuildDate>Sat, 02 Jun 2007 03:32:07 GMT</lastBuildDate><pubDate>Sat, 02 Jun 2007 03:32:07 GMT</pubDate><ttl>60</ttl><item><title>Java.util.Collections类包的学习</title><link>http://www.blogjava.net/kjunch1129/articles/Collections.html</link><dc:creator>navy</dc:creator><author>navy</author><pubDate>Fri, 01 Jun 2007 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/kjunch1129/articles/Collections.html</guid><wfw:comment>http://www.blogjava.net/kjunch1129/comments/121333.html</wfw:comment><comments>http://www.blogjava.net/kjunch1129/articles/Collections.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kjunch1129/comments/commentRss/121333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kjunch1129/services/trackbacks/121333.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java.util.Collections												类包的学习																																																																																																		1. 												描述：																						...&nbsp;&nbsp;<a href='http://www.blogjava.net/kjunch1129/articles/Collections.html'>阅读全文</a><img src ="http://www.blogjava.net/kjunch1129/aggbug/121333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kjunch1129/" target="_blank">navy</a> 2007-06-01 12:05 <a href="http://www.blogjava.net/kjunch1129/articles/Collections.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml元素介绍(转)</title><link>http://www.blogjava.net/kjunch1129/articles/kjun.html</link><dc:creator>navy</dc:creator><author>navy</author><pubDate>Fri, 01 Jun 2007 03:55:00 GMT</pubDate><guid>http://www.blogjava.net/kjunch1129/articles/kjun.html</guid><wfw:comment>http://www.blogjava.net/kjunch1129/comments/121329.html</wfw:comment><comments>http://www.blogjava.net/kjunch1129/articles/kjun.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kjunch1129/comments/commentRss/121329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kjunch1129/services/trackbacks/121329.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: web.xml														定义：																																																										站台的名称和说明																																																										针对环境参数(Context)做初始化工作							...&nbsp;&nbsp;<a href='http://www.blogjava.net/kjunch1129/articles/kjun.html'>阅读全文</a><img src ="http://www.blogjava.net/kjunch1129/aggbug/121329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kjunch1129/" target="_blank">navy</a> 2007-06-01 11:55 <a href="http://www.blogjava.net/kjunch1129/articles/kjun.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十行代码搞定冒泡排序</title><link>http://www.blogjava.net/kjunch1129/articles/85261.html</link><dc:creator>navy</dc:creator><author>navy</author><pubDate>Mon, 04 Dec 2006 01:17:00 GMT</pubDate><guid>http://www.blogjava.net/kjunch1129/articles/85261.html</guid><wfw:comment>http://www.blogjava.net/kjunch1129/comments/85261.html</wfw:comment><comments>http://www.blogjava.net/kjunch1129/articles/85261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kjunch1129/comments/commentRss/85261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kjunch1129/services/trackbacks/85261.html</trackback:ping><description><![CDATA[
		<div>
				<span class="unnamed3">Java Code:<br />class Class1<br />{<br /> static void bubbleSort(int[] a)<br /> {<br /><font color="#ff0000">  <font color="#0000ff">for (int j = a.length - 1; j &gt; 0; j--)</font> // outer loop (backward)<br />   <font color="#0000ff">for (int i = 0; i &lt; j; i++)</font> // inner loop (forward)<br />    if (a[i] &gt; a[i+1]) //Swap<br />    {<br />     a[i] = a[i] + a[i+1];<br />     a[i+1] = a[i] - a[i+1];<br />     a[i] = a[i] - a[i+1];<br />    }</font><br /> }<br /> public static void main(String[] args)<br /> {<br />  int[] a = new int[]{-1,-2,9,4,5,3,7,1,2,3,1,2,3,-3,2,-19};<br />  //int[] a = new int[]{9,8,7,6,5,4,3,2,1,0,11};<br />  bubbleSort(a);<br />  for (int i=0; i &lt; a.length; i++)<br />  {<br />   System.out.println(a[i]);<br />  }<br /> }<br />}<br /><br />C# Code:<br />class Class1<br />{<br /> static void BubbleSort(int[] a)<br /> {<br />  <font color="#ff0000"><font color="#0000ff">for (int j = a.Length - 1; j &gt; 0; j--)</font> // outer loop (backward)<br />   <font color="#0000ff">for (int i = 0; i &lt; j; i++)</font> // inner loop (forward)<br />    if (a[i] &gt; a[i+1])<br />    {<br />     //a[i] = a[i] + a[i+1];<br />     //a[i+1] = a[i] - a[i+1];<br />     //a[i] = a[i] - a[i+1];<br />     Swap(ref a[i],ref a[i+1]);<br />    }<br /></font> }<br /> static void Swap(ref int x,ref int y)<br /> {<br />  x = x + y;<br />  y = x - y;<br />  x = x - y;<br /> }<br /> static void Main(string[] args)<br /> {<br />  int[] a = new int[]{-1,-2,9,4,5,3,7,1,2,3,1,2,3,-3,2,-19};<br />  //int[] a = new int[]{9,8,7,6,5,4,3,2,1,0,11};<br />  BubbleSort(a);<br />  for (int i=0; i &lt; a.Length; i++)<br />  {<br />   System.Console.WriteLine(a[i]);<br />  }<br />  System.Console.ReadLine();<br /> }<br />}</span>
		</div>
<img src ="http://www.blogjava.net/kjunch1129/aggbug/85261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kjunch1129/" target="_blank">navy</a> 2006-12-04 09:17 <a href="http://www.blogjava.net/kjunch1129/articles/85261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中的单态</title><link>http://www.blogjava.net/kjunch1129/articles/84794.html</link><dc:creator>navy</dc:creator><author>navy</author><pubDate>Fri, 01 Dec 2006 03:59:00 GMT</pubDate><guid>http://www.blogjava.net/kjunch1129/articles/84794.html</guid><wfw:comment>http://www.blogjava.net/kjunch1129/comments/84794.html</wfw:comment><comments>http://www.blogjava.net/kjunch1129/articles/84794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kjunch1129/comments/commentRss/84794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kjunch1129/services/trackbacks/84794.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">单态定义<span lang="EN-US">:</span></span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<br />Singleton</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">模式主要作用是保证在<span lang="EN-US">Java</span>应用程序中，<span style="COLOR: blue">一个类<span lang="EN-US">Class</span>只有一个实例存在</span>。<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">在很多操作中，比如建立目录 数据库连接都需要这样的<span style="COLOR: blue">单线程操作</span>。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">还有<span lang="EN-US">, singleton</span><span style="COLOR: blue">能够被状态化</span><span lang="EN-US">; </span>这样，<span style="COLOR: blue">多个单态类在一起就可以作为一个状态仓库一样向外提供服务</span>，比如，你要论坛中的帖子计数器，每次浏览一次需要计数，单态类能否保持住这个计数，并且能<span lang="EN-US">synchronize</span>的安全自动加<span lang="EN-US">1</span>，如果你要把这个数字永久保存到数据库，你可以在不修改单态接口的情况下方便的做到。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">另外方面，<span lang="EN-US">Singleton</span>也能够被无状态化。提供工具性质的功能，<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">Singleton</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">模式就为我们提供了这样实现的可能。使用<span lang="EN-US">Singleton</span>的好处还在于可以节省内存，因为它限制了实例的个数，有利于<span lang="EN-US">Java</span>垃圾回收（<span lang="EN-US">garbage collection</span>）。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">我们常常看到工厂模式中类装入器<span lang="EN-US">(class loader)</span>中也用<span lang="EN-US">Singleton</span>模式实现的<span lang="EN-US">,</span>因为被装入的类实际也属于资源。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">如何使用<span lang="EN-US">?<br /></span>一般<span lang="EN-US">Singleton</span>模式通常有几种形式<span lang="EN-US">:<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 8pt; COLOR: #212121; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.5pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">第一种形式</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #212121; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.5pt">:<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public class Singleton {<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">　　<span lang="EN-US" style="COLOR: red">private</span><span lang="EN-US"> Singleton(){}<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">　　<span lang="EN-US">//</span>在自己内部定义自己一个实例，是不是很奇怪？<span lang="EN-US"><br /></span>　　<span lang="EN-US">//</span>注意这是<span lang="EN-US">private </span>只供内部调用<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">　<span style="COLOR: blue">　</span><span lang="EN-US" style="COLOR: red">private</span><span lang="EN-US" style="COLOR: blue"></span><span lang="EN-US" style="COLOR: red">static</span><span lang="EN-US" style="COLOR: blue"> Singleton instance = new Singleton();<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">　　<span lang="EN-US">//</span>这里提供了一个供外部访问本<span lang="EN-US">class</span>的静态方法，可以直接访问　　<span lang="EN-US"><br /></span>　　<span lang="EN-US">public <span style="COLOR: red">static</span> Singleton getInstance() {<br /></span>　　　　<span lang="EN-US">return instance; </span>　　<span lang="EN-US"><br /></span>　　<span lang="EN-US"> } <br />} <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 8pt; COLOR: #212121; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.5pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">第二种形式</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 8pt; COLOR: #212121; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.5pt">:<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public class Singleton { <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">private static</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">Singleton instance = null;<br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">　　<span lang="EN-US" style="COLOR: red">public</span><span lang="EN-US"><span style="COLOR: red">static</span><span style="COLOR: red">synchronized</span> Singleton getInstance() {<br /></span>　　<span lang="EN-US">//</span>这个方法比上面有所改进，不用每次都进行生成对象，只是第一次　　　 　<span lang="EN-US"><br /></span>　　<span lang="EN-US">//</span>使用时生成实例，提高了效率！<span lang="EN-US"><br /></span>　　<span lang="EN-US">if (instance==null)<br /></span>　　　　<span lang="EN-US">instance</span>＝<span lang="EN-US">new Singleton();<br /></span>　　<span lang="EN-US">return instance; </span>　　<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">} <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">} <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">使用<span lang="EN-US">Singleton.getInstance()</span>可以访问单态类。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">上面第二中形式是<span lang="EN-US">lazy initialization</span>，也就是说第一次调用时初始<span lang="EN-US">Singleton</span>，以后就不用再生成了</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">注意到<span lang="EN-US">lazy initialization</span>形式中的<span lang="EN-US">synchronized</span>，这个<span lang="EN-US">synchronized</span>很重要，如果没有<span lang="EN-US">synchronized</span>，那么使用<span lang="EN-US">getInstance()</span>是有可能得到多个<span lang="EN-US">Singleton</span>实例。关于<span lang="EN-US">lazy initialization</span>的<span lang="EN-US">Singleton</span>有很多涉及<span lang="EN-US">double-checked locking (DCL)</span>的讨论，有兴趣者进一步研究。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">一般认为第一种形式要更加安全些。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">使用<span lang="EN-US">Singleton</span>注意事项：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">有时在某些情况下，使用<span lang="EN-US">Singleton</span>并不能达到<span lang="EN-US">Singleton</span>的目的，如有多个<span lang="EN-US">Singleton</span>对象同时被不同的类装入器装载；在<span lang="EN-US">EJB</span>这样的分布式系统中使用也要注意这种情况，因为<span lang="EN-US">EJB</span>是跨服务器，跨<span lang="EN-US">JVM</span>的。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">代码：饿汉式单态类<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public class EagerSingletion{<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">private static final EagerSingletion m_instance= new EagerSingletion();<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">private EagerSingletion(){} //</span>
				<span style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">私有构造函数，防止被<span lang="EN-US">new <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">/**<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">* </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">静态工厂方法<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">*/<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public static EagerSingletion getInstance(){<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">return m_instance;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">代码：懒汉式单态类<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public class LazySingletion{<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">private static final LazySingletion m_instance= null;</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">private LazySingletion(){} //</span>
				<span style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">私有构造函数，防止被<span lang="EN-US">new <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">/**<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">* </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">线程安全，静态工厂方法，保证返回唯一实例<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">*/<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">public static synchronized EagerSingletion getInstance(){<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">if(m_instance = null){<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">m_instance = new EagerSingletion();<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">return m_instance;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/kjunch1129/aggbug/84794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kjunch1129/" target="_blank">navy</a> 2006-12-01 11:59 <a href="http://www.blogjava.net/kjunch1129/articles/84794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>