Java
インストール
ソフトウェア開発キット(Software Developer Kit)インストールからHelloWorldを書いてみるまでを記述しています。
文法入門
技術
デザインパターン実践
デザインパターンは書籍での学習用サンプルではそのメリットが分からないことがあります。そのためWebアプリケーションを開発している際に使ったより実践的なサンプルを書いていきます。
- Singletonデザインパターン(インスタンスが1つである事を保証する方法です。)
- コネクションプーリングによるFlyweightパターンサンプル
- コネクションプーリングによるFlyweightパターンサンプル
- コネクションプーリングによるFlyweightパターンサンプル
- サーブレットによるCommandパターンサンプル
- Lazy Loading パターン(怠惰な初期化)の実装方法です。
- JDK1.4までは、C言語のenum型がないので、TypeSafeパターンをつかって実装する方法です。
- Null Objectパターンの説明と実装サンプル(zip形式)
Effective Java
書籍 Effective Javaを学習したときの技法を記述しています。
- ファイナライズメソッド(Object#finalize)はいつ動作するか確認。
- 廃れた参照(Obsolete reference)とは何でしょうか?
- シングルトン・その1・シングルトンを作る下準備(DefaultConstructor.java) シングルトン・その2・継承を防ぐ書き方(DefaultConstructor2.java) シングルトン・その3(DefaultConstructor3.java)
- ハッシュコードの理解のため、Java2 SDKのHashMapを解読してみます。
- equalsメソッドの一般契約(GenericContract.java)
- equalsメソッドを実装したら、hashCodeも実装しなければならない?(GenericContract2.java
- Object#clone()メソッドを理解する。・その1 Object#clone()メソッドを理解する。・その2
- Comparableを実装方法(その1) equalsの一般契約から矛盾しているのでコレクションクラス(java.util.*)では、たぶん正常に動作しません。 Compare.java・サンプルコード CompareTest.java・JUnitテストコード
- Comparableを実装方法(その2) equalsの一般契約とhashCodeメソッドを実装 Compare2.java・サンプルコード CompareTest2.java・JUnitテストコード
- クラスとメンバへのアクセス可能性を最小限にすることを心がける方法(項目12) カプセル化(encapsulation)を行い、API(Application Program Interface)を通じてのみモジュールアクセスが出来る設計方法です。Javaでは、これを行うために、interfaceキーワードがあるので利用します。 また、アクセス可能性(accessibility)の仕組みを有効活用します。 static finalアクセス制御をして不変にしようとしているが出来ていない例 java.util.Collecitons#unmodifiableListを使って上記を回避している例
その他
- C-コンパイラ(仮)
- Java仮想マシンの構造
- Java 5のMap
- map.entrySetメソッドによる処理の改善
- Jakarta Commons-LangのExceptionUtilsのメモ
- Java (J2SE 6.0) Mustang(マスタング)の概要を先取り
- ポートスキャン
- Java Open Single Sign-On(JOSSO)のインストールガイド
- ClassLoaderの学習
- リフレクションの学習
- LiveLockを実装する。
- JDK1.4でキュー(Queue)を実装してみる。
- java.sql.PreparedStatementクラスを使って、Oracle9iのmerge文を作成してみる。
- java.sql.PreparedStatementクラスを使って、SQL長の最大値を確認してみる。
- 現在のISOLATION LEVELを調べる。
- Oracle9iの文字列検索のワイルドカード%を使ってみる。
- Package内のクラス一覧を表示してみる。
- スレッドロックを確認してみた時のソースコード(zip形式)
- ビット単位の演算子 (bitwise operators)とシフト演算子 (shift operators)のサンプルソースコード(その1)
- ビット単位の演算子 (bitwise operators)とシフト演算子 (shift operators)のサンプルソースコード(その2)

