<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ゆっちのＢｌｏｇ &#187; Java</title>
	<atom:link href="http://yucchi-ja.com/wordpress/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://yucchi-ja.com/wordpress</link>
	<description>☆*:･°★:*:･°　ゆっちの秘密研究所　☆*:･°★:*:･°</description>
	<lastBuildDate>Sun, 20 Jun 2010 09:03:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NetBeans 6.9 をインストールしてみた</title>
		<link>http://yucchi-ja.com/wordpress/2010/06/20/netbeans-6-9-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/06/20/netbeans-6-9-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 09:03:01 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/06/20/netbeans-6-9-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</guid>
		<description><![CDATA[先日リリースされた NetBeans 6.9 をインストールしてみた。
せっかくだから Java チュートリアルのサンプルを実行してみた。
試したチュートリアルは Watching a Directory for Cha [...]]]></description>
			<content:encoded><![CDATA[<p>先日リリースされた NetBeans 6.9 をインストールしてみた。</p>
<p>せっかくだから Java チュートリアルのサンプルを実行してみた。</p>
<p>試したチュートリアルは <a href="http://java.sun.com/docs/books/tutorial/essential/io/notification.html" target="_blank">Watching a Directory for Changes</a> です。</p>
<p>以下の環境で試したのですがちゃんと実行されました。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/06/3.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="http://yucchi-ja.com/wordpress/wp-content/2010/06/3_thumb.jpg" width="465" height="484" /></a> </p>
<p>しかし、バーチャルコンピュータ上で動かしているせいか実行結果が・・・</p>
<p>そして、出力ウィンドウのフォントを大きくしようとしたところポップアップメニューがつぶれてました。</p>
<p>これはゲスト OS がサポート外なので NetBeans の問題ではないでしょう。</p>
<p>実機での確認はできないのでそういうことにします。（ヲヒ</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/06/2.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://yucchi-ja.com/wordpress/wp-content/2010/06/2_thumb.jpg" width="644" height="454" /></a> </p>
<p>で、同じプログラムを Windows Vist で実行すると</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/06/4.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4" border="0" alt="4" src="http://yucchi-ja.com/wordpress/wp-content/2010/06/4_thumb.jpg" width="244" height="164" /></a> </p>
<p>全然 OK です！</p>
<p>ちなみにルートディレクトリに適当にディレクトリを作成したりリネームしたり削除したりしてます。</p>
<p>今回のバージョンアップでは日本人にとっては大きな問題であった IME 変換時の勝手なスクロールは直ってます。</p>
<p>そして何より私のような未熟者にとってはヒントが増えてさらに賢くなったエディタは大歓迎です（＾＾）</p>
<p>JavaEE のほうでは CDI がサポートされましたね。</p>
<p>たしか WebBeans とか言われてたものですよね。</p>
<p>新技術への対応の早さはさすがです。</p>
<p>やっぱり NetBeans 最高です！</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3ba0aaee-71bc-497e-b522-e966b13bfc56" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a>,<a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/06/20/netbeans-6-9-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>型推論が使える？</title>
		<link>http://yucchi-ja.com/wordpress/2010/03/31/%e5%9e%8b%e6%8e%a8%e8%ab%96%e3%81%8c%e4%bd%bf%e3%81%88%e3%82%8b%ef%bc%9f/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/03/31/%e5%9e%8b%e6%8e%a8%e8%ab%96%e3%81%8c%e4%bd%bf%e3%81%88%e3%82%8b%ef%bc%9f/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 08:51:33 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JDK 7]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/03/31/%e5%9e%8b%e6%8e%a8%e8%ab%96%e3%81%8c%e4%bd%bf%e3%81%88%e3%82%8b%ef%bc%9f/</guid>
		<description><![CDATA[NetBeans 6.9 Dev で JDK7 で採用される機能の一つを試してみました。
JDK 6 では下記のようなコードはエラーとなります。
 
しかし、JDK 7 では OK なんですねぇ～
 
とりあえず、Net [...]]]></description>
			<content:encoded><![CDATA[<p>NetBeans 6.9 Dev で JDK7 で採用される機能の一つを試してみました。</p>
<p>JDK 6 では下記のようなコードはエラーとなります。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/03/0.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="0" border="0" alt="0" src="http://yucchi-ja.com/wordpress/wp-content/2010/03/0_thumb.jpg" width="486" height="319" /></a> </p>
<p>しかし、JDK 7 では OK なんですねぇ～</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/03/11.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://yucchi-ja.com/wordpress/wp-content/2010/03/1_thumb1.jpg" width="490" height="419" /></a> </p>
<p>とりあえず、NetBeans でエラーが出なくて実行もできたことを確認！</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3f7d23e6-addb-4a00-8af8-21ba7af34a2d" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a>,<a href="http://b.hatena.ne.jp/t/JDK+7" rel="tag">JDK 7</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/03/31/%e5%9e%8b%e6%8e%a8%e8%ab%96%e3%81%8c%e4%bd%bf%e3%81%88%e3%82%8b%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JColorChooser が豪華になってる</title>
		<link>http://yucchi-ja.com/wordpress/2010/02/26/jcolorchooser-%e3%81%8c%e8%b1%aa%e8%8f%af%e3%81%ab%e3%81%aa%e3%81%a3%e3%81%a6%e3%82%8b/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/02/26/jcolorchooser-%e3%81%8c%e8%b1%aa%e8%8f%af%e3%81%ab%e3%81%aa%e3%81%a3%e3%81%a6%e3%82%8b/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 13:06:29 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/02/26/jcolorchooser-%e3%81%8c%e8%b1%aa%e8%8f%af%e3%81%ab%e3%81%aa%e3%81%a3%e3%81%a6%e3%82%8b/</guid>
		<description><![CDATA[JDK7 では JColorChooser が豪華になってる。
NetBeans 6.9 Dev 版で JColorChooser を GUI ビルダーにて貼り付けると変化に気づかないけど実行すると

なんと！
 
 
 [...]]]></description>
			<content:encoded><![CDATA[<p>JDK7 では JColorChooser が豪華になってる。</p>
<p>NetBeans 6.9 Dev 版で JColorChooser を GUI ビルダーにて貼り付けると変化に気づかないけど実行すると</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/12.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/1_thumb2.jpg" width="244" height="194" /></a></p>
<p>なんと！</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/22.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/2_thumb2.jpg" width="244" height="155" /></a> </p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/32.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3" border="0" alt="3" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/3_thumb2.jpg" width="244" height="156" /></a> </p>
<p>豪華になってますね（＾＾）</p>
<p>なんで今頃このような機能が追加されたのかは謎です。</p>
<p>&#160;</p>
<p>[ 追記 ] 2010/03/08</p>
<p>NetBeans を JDK 7 で動かすようにしたら GUI ビルダーでも豪華になった JColorChooser で表示されました。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:26372ee0-14ab-40ed-bf63-3c4225b47341" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a>,<a href="http://b.hatena.ne.jp/t/JDK+7" rel="tag">JDK 7</a>,<a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/02/26/jcolorchooser-%e3%81%8c%e8%b1%aa%e8%8f%af%e3%81%ab%e3%81%aa%e3%81%a3%e3%81%a6%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>deepEquals</title>
		<link>http://yucchi-ja.com/wordpress/2010/02/06/deepequals/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/02/06/deepequals/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 14:54:40 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/02/06/deepequals/</guid>
		<description><![CDATA[今日、ネットサーフィン（死語）してて、面白そうな記事を見つけたのでさっそく試してみました。
ネタもとは英語だったので詳しく理解することはできなかった。
コードの切れ端と読めない英語をながめてみました。
私はこれを見てすぐ [...]]]></description>
			<content:encoded><![CDATA[<p>今日、ネットサーフィン（死語）してて、面白そうな記事を見つけたのでさっそく試してみました。</p>
<p>ネタもとは英語だったので詳しく理解することはできなかった。</p>
<p>コードの切れ端と読めない英語をながめてみました。</p>
<p>私はこれを見てすぐに自信を持って答えることはできませんでした（＞＜）</p>
<p>まぁ・・・永遠の初心者ですからしかたないです。</p>
<p>けど気になるので下記のようなシンプルなコードを書いて実行してみました。</p>
<p>２４行目からの if 文の処理結果はよく知られた結果となることは間違いないでしょう。</p>
<p>２９行目からの if 文の処理結果が気になります。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/11.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/1_thumb1.jpg" width="375" height="495" /></a> </p>
<p>実行結果だけ確認するのもあれなので、NetBeans を使ってるのだからウォッチポイントを設定してデバッグ実行してみました。</p>
<p>変数 a,b,c,d をウォッチポイントとして違いを確認してみました。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/21.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/2_thumb1.jpg" width="396" height="494" /></a> </p>
<p>変数 c,d は一段階深い所に Object 型の配列の中に Object 型配列の変数が格納され一段階深くなってます。</p>
<p>素人考えでは一段階深くなったところで同じじゃないの？って思ってしまいます。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/31.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/3_thumb1.jpg" width="395" height="537" /></a> </p>
<p>そこで２９行目にブレークポイントを仕掛けてステップ実行させてみました。</p>
<p>下のコードの２３９２行目で引っかかるようですね。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/41.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4" border="0" alt="4" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/4_thumb1.jpg" width="495" height="347" /></a> </p>
<p>念のために実行結果はこうなります。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/5.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="5" border="0" alt="5" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/5_thumb.jpg" width="277" height="102" /></a> </p>
<p>たぶん Java プログラマなら知ってて当然ってことでしょうがこんなこと考えたことがなかったので新鮮でした。</p>
<p>NetBeans の優秀なデバッガをこんなことに使う私って・・・幸せ者だ（＾＾；</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:893aca9b-6b7a-461f-ac84-948a0dd62eb9" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a>,<a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/02/06/deepequals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDK 7 の Switch 文を試してみる</title>
		<link>http://yucchi-ja.com/wordpress/2010/02/02/jdk-7-%e3%81%ae-switch-%e6%96%87%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/02/02/jdk-7-%e3%81%ae-switch-%e6%96%87%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 11:36:20 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JDK 7]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/02/02/jdk-7-%e3%81%ae-switch-%e6%96%87%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</guid>
		<description><![CDATA[JDK 7 で変更のはいる Switch 文を試してみました。
JDK 6 ではエラーとなります。
 
ターゲット JDK を JDK 7 に変更します。
&#160; 
プロジェクトをビルドします。
なにやらビルドエラ [...]]]></description>
			<content:encoded><![CDATA[<p>JDK 7 で変更のはいる Switch 文を試してみました。</p>
<p>JDK 6 ではエラーとなります。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/1.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/1_thumb.jpg" width="459" height="403" /></a> </p>
<p>ターゲット JDK を JDK 7 に変更します。</p>
<p>&#160;<a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/2.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/2_thumb.jpg" width="416" height="101" /></a> </p>
<p>プロジェクトをビルドします。</p>
<p>なにやらビルドエラーが出てますが NetBeans 6.9 の Dev 版を使っているので気にしない（いいのか！</p>
</p>
</p>
</p>
<p> <a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/3_thumb.jpg" width="644" height="171" /></a>
<p>プロジェクトを実行します。</p>
<p>ちゃんと String 型で Switch 文の制御ができてますね（＾＾）</p>
<p>素晴らしい！！</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/02/4.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4" border="0" alt="4" src="http://yucchi-ja.com/wordpress/wp-content/2010/02/4_thumb.jpg" width="296" height="98" /></a> </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:07ec6a6d-ba38-4e5a-a117-c80ffbee91c9" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a>,<a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a>,<a href="http://b.hatena.ne.jp/t/JDK+7" rel="tag">JDK 7</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/02/02/jdk-7-%e3%81%ae-switch-%e6%96%87%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play!</title>
		<link>http://yucchi-ja.com/wordpress/2010/01/25/play/</link>
		<comments>http://yucchi-ja.com/wordpress/2010/01/25/play/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:04:10 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2010/01/25/play/</guid>
		<description><![CDATA[CodeZine の記事で Java で動く軽量フレームワーク Play! が紹介されていた。
なにげに見てたら NetBeans プロジェクトとして取り込むことができるとあった。
 Play! がどういったものかは C [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://codezine.jp/article/detail/4750" target="_blank">CodeZine</a> の記事で Java で動く軽量フレームワーク <a href="http://www.playframework.org/" target="_blank">Play!</a> が紹介されていた。</p>
<p>なにげに見てたら NetBeans プロジェクトとして取り込むことができるとあった。</p>
<p> Play! がどういったものかは CodeZine の記事をご覧いただくとして、記事をもとに NetBeans で動かしてみた。</p>
<p>まず、コマンドプロンプトで Web アプリケーションを作成します。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/11.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="11" border="0" alt="11" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/11_thumb.jpg" width="644" height="470" /></a> </p>
<p>次に NetBeans プロジェクトとして取り込めるようにします。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/13.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="13" border="0" alt="13" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/13_thumb.jpg" width="644" height="470" /></a> </p>
<p>これで NetBeans プロジェクトとして取り込めるはず。 たぶん・・・</p>
<p>では、取り込んでみます。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/14.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="14" border="0" alt="14" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/14_thumb.jpg" width="644" height="337" /></a> </p>
<p>プロジェクト構成は下図のようになってます。</p>
<p>test パッケージがエラーとなってます。</p>
<p>未使用のインポートがあるようです。</p>
<p>何故かは調べてないので解りませんが無視するか、指示にしたがって未使用のインポートを削除でとりあえずエラーはなくなります。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/16.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="16" border="0" alt="16" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/16_thumb.jpg" width="249" height="555" /></a> </p>
<p>プロジェクトが実行できるか確認します。</p>
<p>無事にプログラムが実行されました。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/17.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="17" border="0" alt="17" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/17_thumb.jpg" width="588" height="168" /></a> </p>
<p>ブラウザで確認します。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/18.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="18" border="0" alt="18" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/18_thumb.jpg" width="461" height="484" /></a> </p>
<p>ついでだから記事のとおりプログラムを変更してみました。</p>
<p>いつもの NetBeans での使い勝手の良さがこれでも一緒ですね。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/19.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="19" border="0" alt="19" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/19_thumb.jpg" width="244" height="158" /></a> <a href="http://yucchi-ja.com/wordpress/wp-content/2010/01/20.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="20" border="0" alt="20" src="http://yucchi-ja.com/wordpress/wp-content/2010/01/20_thumb.jpg" width="244" height="158" /></a> </p>
<p>で、ちょっとだけ触ってみただけなのですが・・・</p>
<p>NetBeans プロジェクトとして取り込んで何が便利なのかな？って考えてみた。</p>
<p>賢いエディタ機能が使える！</p>
<p>これくらいしか思い浮かばない（＞＜）</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fdbb5af2-13a7-4b37-848f-970987cbaea5" class="wlWriterEditableSmartContent">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a>,<a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2010/01/25/play/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ForkJoin を NetBeans 6.8 で試してみた</title>
		<link>http://yucchi-ja.com/wordpress/2009/12/21/forkjoin-%e3%82%92-netbeans-68-%e3%81%a7%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://yucchi-ja.com/wordpress/2009/12/21/forkjoin-%e3%82%92-netbeans-68-%e3%81%a7%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 07:47:43 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JDK 7]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/12/21/forkjoin-%e3%82%92-netbeans-68-%e3%81%a7%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</guid>
		<description><![CDATA[１２月の初旬にリリースされた NetBeans 6.8 を使って JDK 7 に組み入れられる予定の ForkJoin フレームワークを試してみました。
Fork Jion フレームワークの情報は日本語でも少しありました [...]]]></description>
			<content:encoded><![CDATA[<p>１２月の初旬にリリースされた NetBeans 6.8 を使って JDK 7 に組み入れられる予定の ForkJoin フレームワークを試してみました。</p>
<p>Fork Jion フレームワークの情報は日本語でも少しありましたのでネット上の情報を元に英語の API ドキュメントをちらちら見ながら適当にプログラムを組んでみました。</p>
<p>素人の私がそういう状況で作ったので間違いがあるかもしれないの見つけられた方は優しく解りやすく間違いを正してくれることを望みます。（＾＾；</p>
<p>まず、JDK 7 build 77 をインストールして NetBeans 6.8 でそれを使えるようにします。（現在は build 78 が最新です）</p>
<p>Java プラットフォームマネージャーにて JDK 7 を登録します。</p>
<p>メニューバーの [ ツール ] から [ Java プラットフォーム ] をクリックして表示される画面の指示に従って入力していきます。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/1.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="602" alt="1" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/1-thumb.jpg" width="1103" border="0"></a> </p>
<p>プラットフォーム名は自分の好みでつけてかまいません。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="512" alt="2" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/2-thumb.jpg" width="841" border="0"></a> </p>
<p>以上で NetBeans 6.8 でターゲット JDK を JDK 7 build77 にすることが簡単にできます。</p>
<p>新規プロジェクトを作成したらデフォルトがターゲット JDK と異なってる場合はプロジェクトのプロパティで Java プラットフォームを変更できます。</p>
<p>先ほど登録した JDK 7 build 77 が利用可能になってますのでそれを選択します。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/3.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="590" alt="3" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/3-thumb.jpg" width="830" border="0"></a> </p>
<p>また、下のほうに「ソース / バイナリ形式」 に JDK 7 が選択可能となりますのでそれを選択します。</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/4.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="590" alt="4" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/4-thumb.jpg" width="829" border="0"></a> </p>
<p>以上のようにして下図のようなプロジェクト構成のサンプルプログラムを作ってみました。</p>
<p>分割統治型アルゴリズムで有名なマージソートです。</p>
<p>ちなみに JDK 6 ではこのマージソートアルゴリズムが使われているらしいです。 </p>
<p>この JDK 7 build 77 からは java.util.Arraysクラスの定義されている基本データ型の配列のソートは、Dual Pivot Quicksortを呼び出すように書き換えられています。</p>
<p>参照型の配列の場合には、TimSortですので、Java 7ではソートのアルゴリズムが新しくなります。</p>
<p>と ForkJoin フレームワークの情報を探していたときにみつけました。（余計な情報＞＜</p>
<p><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/5.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="5" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/5-thumb.jpg" width="212" border="0"></a> </p>
<p><strong><font size="3">RandomNumber2009.RandomNumber.java</font></strong>&nbsp;</p>
<pre>package RandomNumber2009;

import java.util.Random;

public class RandomNumber {

    private final int[] number = new int[300000];

    public RandomNumber() {
        Random generator = new Random(1982);
        for (int i = 0; i &lt; number.length; i++) {
            number[i] = generator.nextInt(300000);
        }
    }

    public int[] getNumber() {
        return number;
    }
}</pre>
<pre>&nbsp;</pre>
<pre><strong><font face="Verdana" size="3">forkjointest.MergeSort.java</font></strong></pre>
<pre></pre>
<pre>package forkjointest;

import java.util.Arrays;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.RecursiveAction;

public class MergeSort {

    public int[] sort(int[] number) {
        int nThreads = Runtime.getRuntime().availableProcessors();
        ForkJoinPool pool = new ForkJoinPool(nThreads);
        SortImpl sort = new SortImpl(number);
        pool.invoke(sort);
        return sort.result;
    }

    private class SortImpl extends RecursiveAction {

        private int[] number;
        private int[] result;

        SortImpl(int[] number) {
            this.number = number;
        }

        @Override
        protected void compute() {
            if ((number.length &lt; 5)) {
                result = Arrays.copyOf(number, number.length);
                Arrays.sort(result, 0, result.length);
            } else {
                int midpoint = number.length / 2;
                int[] left = Arrays.copyOfRange(number, 0, midpoint);
                int[] right = Arrays.copyOfRange(number, midpoint, number.length);
                SortImpl task1 = new SortImpl(left);
                SortImpl task2 = new SortImpl(right);
                invokeAll(task1, task2);
                left = task1.result;
                right = task2.result;
                merge(left, right, number);
                result = number;
            }
        }

        private void merge(int[] left, int[] right, int[] number) {
            int i = 0, j = 0;
            while (i &lt; left.length || j &lt; right.length) {
                if (j &gt;= right.length || (i &lt; left.length &amp;&amp; left[i] &lt; right[j])) {
                    number[i + j] = left[i];
                    i++;
                } else {
                    number[i + j] = right[j];
                    j++;
                }
            }
        }
    }
}</pre>
<pre><font face="Verdana" size="3"><strong>forkjointest.Main.java</strong></font></pre>
<pre></pre>
<pre>package forkjointest;

import RandomNumber2009.RandomNumber;
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        RandomNumber test = new RandomNumber();
        int[] beforeNumber = test.getNumber();
        System.out.println("Before");
        System.out.println(Arrays.toString(beforeNumber));
        MergeSort ms = new MergeSort();
        int[] result = ms.sort(beforeNumber);
        System.out.println("After");
        System.out.println(Arrays.toString(result));
    }
}</pre>
<pre>このプロジェクトを構築し、実行させると無事に動きました。</pre>
<pre>さて、ここで本当に並列化しているか確認してみます。</pre>
<pre>プロファイラを接続して ForkJoinPool のワーカースレッドが起動しているか?</pre>
<pre>プロファイラによると起動されてますね。</pre>
<pre>実行中から待機状態になり新たに４っつのワーカースレッドがありますね。</pre>
<pre>ちなみに CPU コア数は ８個なので８つのワーカースレッドが作成されます。</pre>
<pre>実行が終了し待機状態になってなんで新たにスレッドが４っつ起動されているのかは謎です。（こういう仕様なのか？）</pre>
<pre><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/7.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="694" alt="7" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/7-thumb.jpg" width="1330" border="0"></a> </pre>
<pre>では、生成されるワーカースレッド数を変更してみます。</pre>
<pre>        int nThreads = Runtime.getRuntime().availableProcessors();
        nThreads = 1;
        ForkJoinPool pool = new ForkJoinPool(nThreads);
</pre>
<pre>このようにワーカースレッド数を１に変更してみました。</pre>
<pre><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/8.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="306" alt="8" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/8-thumb.jpg" width="1332" border="0"></a> </pre>
<pre>次に ２に変更</pre>
<pre><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/9.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="383" alt="9" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/9-thumb.jpg" width="1334" border="0"></a> </pre>
<pre>４の場合</pre>
<pre><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/10.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="402" alt="10" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/10-thumb.jpg" width="1335" border="0"></a> </pre>
<pre>ちゃんと指定した数のワーカースレッドが生成されるようですね。</pre>
<pre>ついでにプロファイラの CPU でアプリケーションのパフォーマンスを調べてみようとしたところ</pre>
<pre>見れなかった（＞＜）</pre>
<pre>ヒープを大きくしても変わらず・・・　なんでだろう？</pre>
<pre><a href="http://yucchi-ja.com/wordpress/wp-content/2009/12/12.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="126" alt="12" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/12-thumb.jpg" width="627" border="0"></a> </pre>
<pre>JDK 7 に標準搭載予定の ForkJoin フレームワークについての情報はネット上にも少し流れていますので興味のあるかたはググってみてくださいね。</pre>
<pre>大切なことを忘れてました。</pre>
<pre>ノーマルのマージソートとのパフォーマンスの比較はまだしていませんので気になる方は比較してみてください。（爆</pre>
<pre><a href="http://netbeans.org/downloads/index.html?pagelang=ja" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="129" alt="download-netbeans-125x125" src="http://yucchi-ja.com/wordpress/wp-content/2009/12/download-netbeans-125x125.png" width="129" border="0"></a> </pre>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ed8b8742-ed8e-4a40-8abe-9bded47d5fa4" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Hatena タグ: <a href="http://b.hatena.ne.jp/t/JDK%207" rel="tag">JDK 7</a>,<a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a></div>
<pre>&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2009/12/21/forkjoin-%e3%82%92-netbeans-68-%e3%81%a7%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>無限大</title>
		<link>http://yucchi-ja.com/wordpress/2009/08/21/%e7%84%a1%e9%99%90%e5%a4%a7/</link>
		<comments>http://yucchi-ja.com/wordpress/2009/08/21/%e7%84%a1%e9%99%90%e5%a4%a7/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 13:47:07 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/08/21/%e7%84%a1%e9%99%90%e5%a4%a7/</guid>
		<description><![CDATA[Java でも無限大を定義することができます。
ちょっとそれを試してみました。
なぜかって？
今まで無限大を使ったことがないからです。（＾＾；
&#160;
package infinity2;
public class [...]]]></description>
			<content:encoded><![CDATA[<p>Java でも無限大を定義することができます。</p>
<p>ちょっとそれを試してみました。</p>
<p>なぜかって？</p>
<p>今まで無限大を使ったことがないからです。（＾＾；</p>
<p>&nbsp;</p>
<p>package infinity2;
<p>public class Main {
<p>&nbsp;&nbsp;&nbsp; private static final double i = Double.POSITIVE_INFINITY;<br />&nbsp;&nbsp;&nbsp; private static final double j = Double.NEGATIVE_INFINITY;<br />&nbsp;&nbsp;&nbsp; private static final double k = 1.0e40;
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == i + 1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;無限大 &#8221; + i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (j == j &#8211; 1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;無限小 &#8221; + j);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (k == k + 1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;1.0e40 に１を足しても &#8221; + k);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;ulp = &#8221; + Math.ulp(k));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;最も近い浮動小数点数 &#8221; + Math.nextUp(k));<br />&nbsp;&nbsp;&nbsp; }<br />}
<p>&nbsp;</p>
<p>このプログラムの実行結果は下記のとおりです。</p>
<p>無限大 Infinity<br />無限小 -Infinity<br />1.0e40 に１を足しても 1.0E40<br />ulp = 1.2089258196146292E24<br />最も近い浮動小数点数 1.0000000000000002E40
<p>&nbsp;</p>
<p>無限大や無限小って英語で Infinity , -Infinity って表示されるんですね。</p>
<p>初めて知りました。</p>
<p>おまけがついてますけど浮動小数点数演算って癖があるので微妙・・・（＾＾；；；</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b5c7aa2-6e20-4a4e-931a-1b9dbf3acf15" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2009/08/21/%e7%84%a1%e9%99%90%e5%a4%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>素敵な無限ループ</title>
		<link>http://yucchi-ja.com/wordpress/2009/08/20/%e7%b4%a0%e6%95%b5%e3%81%aa%e7%84%a1%e9%99%90%e3%83%ab%e3%83%bc%e3%83%97/</link>
		<comments>http://yucchi-ja.com/wordpress/2009/08/20/%e7%b4%a0%e6%95%b5%e3%81%aa%e7%84%a1%e9%99%90%e3%83%ab%e3%83%bc%e3%83%97/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 11:38:05 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/08/20/%e7%b4%a0%e6%95%b5%e3%81%aa%e7%84%a1%e9%99%90%e3%83%ab%e3%83%bc%e3%83%97/</guid>
		<description><![CDATA[無限ループ文の作り方にはいろいろなものがありますが最近知った素敵な無限ループ文を個人的に覚え書きしておきます。
package infinity;
public class Main {
&#160;&#160;&#038;nbs [...]]]></description>
			<content:encoded><![CDATA[<p>無限ループ文の作り方にはいろいろなものがありますが最近知った素敵な無限ループ文を個人的に覚え書きしておきます。</p>
<p>package infinity;
<p>public class Main {
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count = 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 素敵な無限ループ<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt;= Integer.MAX_VALUE; i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == Integer.MAX_VALUE)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 無限ループになるトリックの答え<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&#8220;Integer.MAX_VALUE + 1 = &#8221; + (i + 1));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(count);<br />&nbsp;&nbsp;&nbsp; }<br />}</p>
<p>無限ループがあるので標準出力に変数 count の値は表示されません。</p>
<p>無限ループの中で int の最大値の時に 1 を足した時の値を表示させてます。</p>
<p>Integer.MAX_VALUE + 1 = -2147483648
<p>これで解るように int の最小値になってます。</p>
<p>普通このような無限ループを使う人はいないと思うので素敵ですね！</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9d0baee7-6842-4b6a-9580-7bb4eade8c39" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2009/08/20/%e7%b4%a0%e6%95%b5%e3%81%aa%e7%84%a1%e9%99%90%e3%83%ab%e3%83%bc%e3%83%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDK 6 Update 15 がリリースされてます</title>
		<link>http://yucchi-ja.com/wordpress/2009/08/06/jdk-6-update-15-%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%a6%e3%81%be%e3%81%99/</link>
		<comments>http://yucchi-ja.com/wordpress/2009/08/06/jdk-6-update-15-%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%a6%e3%81%be%e3%81%99/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 22:15:38 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/08/06/jdk-6-update-15-%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%a6%e3%81%be%e3%81%99/</guid>
		<description><![CDATA[JDK 6 Update 15 がリリースされてます。
Windows 7 、Internet Explorer 8、Windows Vista SP2 などのサポートをしているようです。
G1 ガベージコレクタも含まれ [...]]]></description>
			<content:encoded><![CDATA[<p>JDK 6 Update 15 がリリースされてます。</p>
<p>Windows 7 、Internet Explorer 8、Windows Vista SP2 などのサポートをしているようです。</p>
<p>G1 ガベージコレクタも含まれているようです。</p>
<p>この G1 ガベージコレクタ と言うものはいったい何なのでしょう？</p>
<p>調べてみたところ Garbage-Firstガーベージコレクタ 略のようです。</p>
<p>名前からして早そうですね。</p>
<p>今までのガベージコレクタは 世代別GC と呼ばれるものでヒープ領域を物理的に二つのYoung領域とOld領域(Tenured領域)に分けて管理しています。</p>
<p>それに対してG1 ガベージコレクタ はヒープ領域は一つです！</p>
<p>その一つだけ用意された領域の中でいくつかをYoung領域とし、残りをOld領域として利用してます。</p>
<p>詳しくは <a href="http://journal.mycom.co.jp/news/2009/02/16/049/index.html" target="_blank">Java SE 6 Update 14のEarly Access公開、G1ガーベージコレクタが利用可能に</a> をご覧ください。</p>
<p>これによって、<strong>全ヒープ領域に対して常にフルGCを実施するのではなく</strong>、<strong>GCの効果が高い領域を優先的に開放するので</strong>、アプリケーションの停止時間を<strong>大幅に減少</strong>できる。</p>
<p>パフォーマンスアップが期待されますね。</p>
<p>とりあえず今からダウンロードしてインストールすることにします。</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:be49f4fd-5602-4be7-9400-ee9862097133" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2009/08/06/jdk-6-update-15-%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%a6%e3%81%be%e3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
