<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/picolit/">
    <title>Javaで @ ウィキ</title>
    <link>http://w.atwiki.jp/picolit/</link>
    <atom:link href="https://w.atwiki.jp/picolit/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Javaで @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-11-04T02:24:41+09:00</dc:date>
    <utime>1194110681</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/picolit/pages/10.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/19.html">
    <title>http</title>
    <link>https://w.atwiki.jp/picolit/pages/19.html</link>
    <description>
      |コード|ステータス|おおよその意味|
|200|OK|リクエストは正常に成功|
|304|Not Modified|リクエストされたリソースは更新されていない|
|403|Forbidden|アクセス権がない|
|404|Not Fount|リクエストされたリソースが存在しない|
|500|Internal Server Error|サーバ側のエラー|
|503|Service Unavailable|サーバが一時的に利用できない|    </description>
    <dc:date>2007-11-04T02:24:41+09:00</dc:date>
    <utime>1194110681</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/18.html">
    <title>html</title>
    <link>https://w.atwiki.jp/picolit/pages/18.html</link>
    <description>
      &lt;html&gt;
&lt;head&gt;
&lt;STYLE TYPE=&quot;text/css&quot;&gt; 
&lt;!--
/*
.maintabletable tr td {
    padding:0 0 0 0;
    margin:0 0 0 0;
    width:700px;
    border:1px;
}
.maintable tr{}
.maintable td {border:solid 1px #f96;}
*/

.commontable th{background-color:#99CC66;}

.btn{width:90px}
.txt{width:310px}

.outLine{border:solid 1px #f96;}
--&gt;
&lt;/STYLE&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;TABLE ALIGN=&quot;center&quot; width=&quot;700&quot;&gt;
&lt;TR&gt;
&lt;TD HEIGHT=&quot;100&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;&lt;TD&gt;
&lt;div CLASS=&quot;outLine&quot;&gt;
&lt;TABLE class=&quot;commontable&quot; border=&quot;1&quot; width=&quot;100%&quot; cellpadding=&quot;5&quot; bgcolor=&quot;#DCF4B1&quot; style=&quot;font-size:0.9em&quot;&gt;
&lt;tr&gt;
	&lt;th COLSPAN=&quot;3&quot;&gt;AAAA&lt;/th&gt;
&lt;/tr&gt;
&lt;TR&gt;
	&lt;th&gt;key&lt;/th&gt;	
	&lt;TD COLSPAN=&quot;2&quot;&gt;&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;keyword&quot; SIZE=&quot;20&quot; MAXLENGTH=&quot;10&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
	&lt;th&gt;key&lt;/th&gt;
    &lt;TD COLSPAN=&quot;2&quot;&gt;&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;keyword&quot; SIZE=&quot;20&quot; MAXLENGTH=&quot;10&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
	&lt;th WIDTH=&quot;20%&quot;&gt;key&lt;/th&gt;
    	&lt;td WIDTH=&quot;40%&quot;&gt;&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;keyword&quot; SIZE=&quot;50&quot;&gt;&lt;/TD&gt;
    	&lt;TD  WIDTH=&quot;40%&quot; STYLE=&quot;text-align    </description>
    <dc:date>2007-03-01T23:49:40+09:00</dc:date>
    <utime>1172760580</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/17.html">
    <title>Javaのコマンド</title>
    <link>https://w.atwiki.jp/picolit/pages/17.html</link>
    <description>
      **JAR ファイルの解凍
JAR ファイル pack.jar を解凍するには、次のコマンドを発行します。
$jar xvf pack.jar
**JAR ファイルへの圧縮
ディレクトリ pack を pack.jar に圧縮するためには、次のコマンドを発行します。
$jar cvf pack.jar pack
**JAR ファイルの閲覧
JAR ファイル pack.jar に圧縮されているファイルの一覧は、次のコマンドを発行することで取得できます。
$jar tf pack.jar
**warファイルの作成
WEB-INFに移動します。
$jar -cvf javahello.war *    </description>
    <dc:date>2006-12-11T23:58:20+09:00</dc:date>
    <utime>1165849100</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/16.html">
    <title>Javaの小技</title>
    <link>https://w.atwiki.jp/picolit/pages/16.html</link>
    <description>
      **改行
移植性を考慮して改行コード

StringBuffer buffer = new StringBuffer();
buffer.append(System.getProperty(&quot;line.separator&quot;));    </description>
    <dc:date>2006-12-11T23:38:51+09:00</dc:date>
    <utime>1165847931</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/15.html">
    <title>JavaScriptサンプル</title>
    <link>https://w.atwiki.jp/picolit/pages/15.html</link>
    <description>
      ・[[JavaScriltSample&gt;http://www.geocities.jp/rallys1122/JavaScript.html]]
・[[テーブルのTD要素を取得する&gt;http://www.geocities.jp/rallys1122/getTable_td_yoso.html]]    </description>
    <dc:date>2006-12-11T23:16:24+09:00</dc:date>
    <utime>1165846584</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/14.html">
    <title>JavaScriptリンク集</title>
    <link>https://w.atwiki.jp/picolit/pages/14.html</link>
    <description>
      ・[[イヌでもわかるJavaScript講座&gt;http://www.red.oit-net.jp/tatsuya/java/index.htm]]    </description>
    <dc:date>2006-12-11T22:21:56+09:00</dc:date>
    <utime>1165843316</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/13.html">
    <title>Eclipse_plugin</title>
    <link>https://w.atwiki.jp/picolit/pages/13.html</link>
    <description>
      ・Eclipse HTML Editor Plugin([[Project Amateras &gt;http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=EclipseHTMLEditor]])
+[[tk.eclipse.plugin.htmleditor_2.0.2.zip&gt;http://keihanna.dl.sourceforge.jp/amateras/21426/tk.eclipse.plugin.htmleditor_2.0.2.zip]]
+ [[GEF-ALL-3.2.1.zip&gt;http://www.eclipse.org/downloads/download.php?file=/tools/gef/downloads/drops/R-3.2.1-200609211617/GEF-ALL-3.2.1.zip&amp;url=http://ftp.jaist.ac.jp/pub/eclipse/tools/gef/downloads/drops/R-3.2.1-200609211617/GEF-ALL-3.2.1.zip&amp;mirror_id=105]]
・Eclipse 逆コンパイル
+[[jad&gt;http://www.kpdus.com/jad.html#download]]
+[[JadClipse&gt;http://sourceforge.net/project/showfiles.php?group_id=40205]]    </description>
    <dc:date>2007-01-03T23:39:50+09:00</dc:date>
    <utime>1167835190</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/12.html">
    <title>デザインパターン</title>
    <link>https://w.atwiki.jp/picolit/pages/12.html</link>
    <description>
      ・[[Singleton(シングルトン)&gt;Singleton]]    </description>
    <dc:date>2006-12-07T00:06:11+09:00</dc:date>
    <utime>1165417571</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/11.html">
    <title>Singleton</title>
    <link>https://w.atwiki.jp/picolit/pages/11.html</link>
    <description>
      **Singleton(シングルトン)
 たった一つのインスタンスしか作らせないようにするパターンです。 

普通はインスタンスを沢山作るものですが、場合によってはインスタンスを一つしか作らない、作らせたくないということもあるでしょう。そのようなときに威力を発揮します。

　Java API での使用例　java.lang.Runtime 

もっとも、一つしか作りたくないのであれば newの呼び出しを１回だけにすればよいと思うかもしれません。プログラマが注意深く実装すればそれでも可能です。 

しかしプログラマ任せにすると、間違ってnewを複数回呼び出してしまうかもしれません。
絶対ではありません。 

このパターンを適用すると、指定したクラスのインスタンスが絶対に１つしか存在しないことを保証することができます。 

■クラス図

#ref(singleton.png)


■サンプルソース 
実装方法は簡単です。 

public class Hoge {
    /* 唯一のインスタンス。 */
    private static final Hoge instance = new Hoge();

    /**
     * コンストラクタ。
     */
    private Hoge() {
    }

    /**
     * このクラスの唯一のインスタンスを返す。
     */
    public static Hoge getInstance() {
        return instance;
    }
}

 

いわゆる「自己参照」の形を取ります。 

■実装のミソ 
１．
private な static 変数を定義して初期化します。
インスタンスは、このクラスのロード時に一度だけ生成処理が行われることにより作られます。

２．
コンストラクタは外部に公開せず private とします。
そうすることで外部からうっかりインスタンス生成されることを防ぎます。
privateにしないと外部から new Hoge()とされてしまいインスタンスが自由に作れてしまいます。

３．
getInstance() を作成し外    </description>
    <dc:date>2006-12-07T00:05:08+09:00</dc:date>
    <utime>1165417508</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/picolit/pages/10.html">
    <title>Javaリンク集</title>
    <link>https://w.atwiki.jp/picolit/pages/10.html</link>
    <description>
      **Java 
・[[Java講座&gt;http://www.sgnet.co.jp/java/index.html]]
・[[たけおばの門&gt;http://takeoba.cool.ne.jp/]]
**Tomcat
・[[yok&#039;s 技術メモ&gt;http://www.nihon-eng.co.jp/c-break/TechNote/index.htm]]
・[[浅煎り珈琲Javaアプリケーション入門&gt;http://msugai.fc2web.com/java/index.html]]
・[[TECHSCORE -Java-&gt;http://www.techscore.com/tech/Java/main.html]]
・[[Java Tips and Linux&gt;http://www.applitips.com/index.htm]]
・[[Java プログラミング入門&gt;http://jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/JAVA/java.shtml]]
・[[JavaでHello World&gt;http://www.hellohiro.com/jdbcmysql.htm]]
**Hibernate
・[[Hibernate メモ&gt;http://www.okisoft.co.jp/esc/hibernate/index.html]]
・[[Hibernate-TECHSCORE-&gt;http://www.techscore.com/tech/Others/Hibernate/index.html]]
・[[ファイヤープロジェクト&gt;http://www.fireproject.jp/feature/hibernate/index.html]]    </description>
    <dc:date>2006-12-28T00:25:47+09:00</dc:date>
    <utime>1167233147</utime>
  </item>
  </rdf:RDF>
