Murayama blog.

プログラミング教育なブログ

Java

Javaのインストール

タイトルは、Javaのインストールですが、 正しくは、JDK(バージョン7)のインストールです。 以下に手順をまとめます。 大まかな手順 以下の3ステップでJavaのインストールは完了します。 1. JDKをダウンロードする 2. JDKインストーラーを実行する 3. 環境…

スレッドダンプの取り方

最近、いろいろと調べる必要があったので記念にメモします。 スレッドダンプとは JVM上のすべてのスレッドの状態とスタックトレースを出力したものです、と。 コマンドラインからスレッドダンプを取得する GUIで確認もいいけど、今回はコマンドラインからの…

2分でわかるオブジェクト指向プログラミング

ちょっと仕事の中で出てきたプログラムの話についてまとめます。 オブジェクト指向プログラミングとはこういうことだよ。という話。 たとえば、以下のようなプログラムがあるとします。Javaです。 Member member = getMember(); if (member.getPoint() >= 30…

JAXBを試してみる。

最近、読み始めたこの本に触発されてJAXBを試してみました。 JavaによるRESTfulシステム構築作者: Bill Burke,arton,菅野良二出版社/メーカー: オライリージャパン発売日: 2010/08/23メディア: 大型本購入: 28人 クリック: 772回この商品を含むブログ (35件)…

Mapのputメソッドの戻り値

return map.put(key, value); // putが戻り値を返すなんて。 今まで気づいてませんでした。 追記: 誤解を招くコードだったので修正しました。 #キャッシュの用途としては間違っていました、すみません。 putメソッドの戻り値は以前の値なので注意しよう。 …

EnumでStateパターン的なものの真似

Enumについて調べてたら面白い使い方が紹介されていたので真似してみました。 J2SE 5.0 Tiger 虎の穴 Typesafe Enum package en1; public enum Signal { BLUE { @Override public Signal next() { return YELLOW; } @Override public void doSomething() { S…

Enumでシングルトン

Enumはシングルトンとして使うことができる。by Effective Java package en1; public enum SampleEnum { SINGLETON("insance_name"); private SampleEnum(String name) { this.name = name; } final private String name; public void showName() { System.o…

ビルダー

GW最終日ということで、Effective Javaを読んでみました。 項目2 数多くのコンストラクタパラメータに直面した場合はビルダーを検討する というのを見て、試しに何かのビルダーを作ってみたくなったので、何か作ってみました。 お題:SQLを実行するクラス的…

ソートアルゴリズムの実装

一般的?なソートアルゴリズムのJava実装まとめ。 選択法(セレクションソート) 交換法(バブルソート) 挿入法(インサーションソート) シェルソート クイックソート 選択法(セレクションソート) import java.util.Arrays; public class SelectionSort …

javax.sql.DataSourceはスレッドセーフか

というのが気になりました。 Webアプリケーションの開発で、 JNDIでInitialContextからDataSourceを取得してキャッシュするようなコードをよく見ます。 例えばこんなの。 private static DataSource ds = null; public static Connection getConnection() th…

SHIFT_JISとWindows-31Jと、から〜(WAVE DASH)

今までわかったふりをしてきた文字コードの復習。 間違ってたらつっこんで下さい。 Eclipse上で以下のファイルを作成して実行します。 package sample; import java.nio.charset.Charset; public class Sample { public static void main(String[] args) { S…

ほぼはじめてのMaven Eclipseとの連携その1

次にMavenで作ったプロジェクトをEclipseで利用できるようにします。 大体の手順は以下のとおり。 Eclipseにクラスパス変数M2_REPOを登録する Mavenでプロジェクトを作る MavenプロジェクトにEclipseの設定ファイルを作る Eclipseからプロジェクトをインポー…

ほぼはじめてのMaven

Javaを触る機会が増えてきて嬉しい今日このごろ。 思えばここ数年、お仕事では.NETの案件とか教育事業の案件とかで、 家に帰ってからはRubyやらActionScriptやらiPhoneやら流行ものに流され続け、 30歳にして再びJavaに帰ってきたかんじ。 ちょうど良いので…

IllegalArgumentException IllegalStateExceptionの使い方

IllegalArgumentException IllegalStateExceptionの使い方についてまとめます。 IllegalArgumentException パラメータ値が不適切 メソッドのパラメータ(引数)が不正だった場合にスローする例外クラスです。 例えば、 public void introdue(String address)…

Javaプログラマがとりあえず知っとくべき標準例外

Javaに用意されている標準例外の話。 Effective Javaの中にわかりやすくまとめられていたのでメモ。 例外クラス 意味 IllegalArgumentException パラメータ値が不適切 IllegalStateException メソッドの呼び出しに対してオブジェクト状態が不正 NullPointerE…

例外

Javaの例外についてまとめようと思ったので。 Effetive Javaの目次を参考に。 項目57 例外的状態にだけ例外を使用する 項目58 回復可能な状態にはチェックされる例外を、プログラミングエラーには実行時例外を使用する 項目59 チェックされる例外を不必要に…

Commons DBCPを使ってみる

Commons DBCPについて調べてみました。 ちょっと前置きからスタートします。 Connectionオブジェクトの生成について Javaは、DBとの接続をjava.sql.Connection型のオブジェクトとして取り扱います。 JDBCドライバを使った一般的なプログラムは以下のようにな…

Strutsフレームワークについて

いろいろと思案した結果、第1回はStrutsのお話をしたいと思います。 それではどーぞ。 JavaでWebアプリケーションを構築するには、JSPやServletといった技術がベースになります。 これらの技術はWebアプリケーションを構築する上で必須となる技術なのですが…

お疲れ様でした。

東京での新入社員研修が終わりました。 おかげさまで、なかなか濃い(楽しい)2ヶ月を過ごすことができました。 大阪に帰ってきた僕は少し時間ができたので、 研修で話せなかったことや、気づいたこと、その他もろもろをこれからブログでまとめていこうと思…

web.xmlについての疑問。

ひさしぶりにTomcatをいじっていて、気になることがあったのでメモしときます。 Tomcaは6.0を使っていました。 Tomcat6.x系はServlet2.5/JSP2.1を実装しています。 で、こっから疑問なんすけど、