2008-01-01から1年間の記事一覧

別のクラスローダーだと同じクラスでもキャストできない場合の対処法。

別のクラスローダーから読み込んだクラスがキャストできない件の対処法は 調べた結果、インターフェース使うしかないっぽい。で、ためしにテストコード作ってみた。これで途中でTest.java書き換えてもなんとか動かすことが可能。 うまく設計しなきゃいけない…

O/RマッパーってCSVファイル出力に向かないね。

たまに、他のシステムとの連携のためにデータのCSVファイル出力が要件として あがるのですが、これがO/Rマッパーと相性が悪い。と言うのも現状は、大多数のシステムがRDBを採用している、 で、当然テーブルを扱うってことでデータは表であらわしてる。 CSVフ…

DIJava0.0.2リリース!

DIJava(Dynamic Interactive Java)は対話的なJavaプログラミングを行うためのツールです。 Javaの式を標準入力から簡単に入力/実行することができます。実行コマンドを追加しました。ダウンロードはココ: http://sourceforge.jp/projects/diproxy/download…

オーバーライドされたメソッドの元のメソッドを呼び出してみた。

ネタ元 http://d.hatena.ne.jp/cero-t/20080815/1218812380 CGLIB使ったほうが楽そうだったのでこっちでやってみた。 当然、ASMは必要です。 ソースはこんな感じ。 これでBaseクラスのメソッドが呼ばれます。 package test; import java.lang.reflect.Method…

DIJava0.0.1リリース

DIJava(Dynamic Interactive Java)は対話的なJavaプログラミングを行うためのツールです。 Javaの式を標準入力から簡単に入力/実行することができます。 ダウンロードはココ: http://sourceforge.jp/projects/diproxy/downloads/32500/DIJava.zip スクリー…

DINote0.0.1リリース

DINoteはSwingで作ったタブ付きテキストエディタです。ダウンロードはココ:http://sourceforge.jp/projects/diproxy/downloads/32381/DINote.jar スクリーンショット:http://sourceforge.jp/projects/diproxy/wiki/DINote

strictfpが心配になってきた??

Javaには予約語[strictfp]が定義されています。 この定義を行わないと、float や double の浮動小数点演算が プラットフォームに依存してしまうことになります。一般の厳密計算を行っているマルチプラットフォームな ソフトやパッケージはこのことを意識して…

J2EEパターンを調べてみた。

・Intercepting Filter ・Front Controller ・View Helper ・Composite View ・Service-to-Worker ・Dispatcher View ・Business Delegate ・Value Object ・Session Facade ・Composite Entity ・Value Object Assembler ・Value List Handler ・Service Lo…

オブジェクト指向DB

ちょっと愚痴。Sunさん。JPAよりもMySQLのオブジェクト指向DBに力入れて欲しいなー。そしたら設計がもっとシンプルになると思うんだけども・・・

DIProxy0.0.5リリース!

DIProxy0.0.5リリース!DIコンテナを汎用的に使えるようにするモジュール。 DIProxyはDIコンテナを呼び出す部分をフレームワークに依存させないような設計を目標として作成しました。 文字列引数でインスタンス取得できるようにしました。 詳細はここ「https…

Javaの並列処理の今後

Javaとは言わず並列(分散)処理について考えてみた。 Javaには分散処理ということでCORBAの実装が提供されている。 でも、自分の感覚としてはなかなかCORBAは主流に乗れていない気がする。 次に時期Java7で実装されるかもしれないfork()については細かい並…

DIProxy0.0.4リリース!

DIProxy0.0.4リリース!DIコンテナを汎用的に使えるようにするモジュール。 DIProxyはDIコンテナを呼び出す部分をフレームワークに依存させないような設計を目標として作成しました。 リファクタリング、アーキテクチャを少し変更しました。 詳細はここ「htt…

ワンライナーで初期化できるArrayListを拡張してみた。

使い方は以下のとおり。 List<String> l = SList.l("a","b","c").addAll("d","e"); 全ソースはこんな感じ。 package ikdnet; import java.util.ArrayList; import java.util.Collections; /** * * @author kensir0u * * @param <E> */ public class SList<E> extends Array</e></e></string>…

ジェネリックの通例がどのような意味を持つのか調べてみた。

T=TYPE ・・・・クラスのタイプを表すみたい。 ? extends E=Extend ・・・親クラスを表すみたい。 ? extends B=Base ・・・親クラスを表すみたい。 ? super S=SubClass ・・・サブクラスを表すみたい。 S=Self ・・・・インナークラスとかで使ってるみたい。…

DIProxy0.0.3リリース!

DIProxy0.0.3リリース!Guiceに対応しました。 詳細はここ「https://sourceforge.jp/projects/diproxy」ダウンロードはここ「http://sourceforge.jp/projects/diproxy/downloads/31655/diproxy.jar」

Syntax SugarなArrayListを作ってみた。

ワンライナーで初期化できるArrayListを作ってみた。使い方は以下のとおり。 List<String> l = new SList<String>("a","b","c").addAll("d","e"); 全ソースはこんな感じ。 package ikdnet; import java.util.ArrayList; import java.util.Collections; /** * * @author kensi</string></string>…

DIコンテナのパフォーマンス調査2回目

結果は以下の通り。Guiceも調査してみた。(※設定ファイルからの読み込みでない場合)一個のクラスを設定ファイルを使用してシングルトン呼び出しを100回繰り返した時の処理時間(単位はミリ秒) コンテナ名 平均 最大 最小 最大−最小 最大−平均 平均比率 Sp…

DIProxy機能追加!

状態を持ったオブジェクトをインジェクションできるように とりあえずとりあえず機能を追加してみた。 使い方は以下のとおり。 String state1 = "状態1" + new Date().toString(); String state2 = "状態2"+ new Date().toString(); FI foo = new Contollo…

Syntax SugarなHashMapを作ってみた。

ワンライナーで初期化できるHashMapを作ってみた。使い方は以下のとおり。(static import でmが必要になります。) Map m = new SMap().puts(m("a","a"),m("b","b"),m("c","c")); //こっちのほうがありかな!? Map m = new SMap(m("a","a"),m("b","b"),m("…

AnnotationUtil作ってみた。

今後、Javaにおいてアノテーションの利用がいっそう活発になると思うので とりあえず、作ってみた。 使い方は対象のクラスとメソッド名と取得対象のアノテーションクラスを渡す。 AnnotationSample anno = getAnnotationMethod(sample.class,"test",null,Ann…

Webフレームワークのレスポンスが載ってた。

JavaOneのサイトにWebフレームワークのベンチマークのセッション資料があったので 見てみた。 JSFってなんか遅そうなイメージがあったけども10ユーザーの場合は Struts1.xよりもレスポンスは早かった。 でも100ユーザーだったらやっぱStruts1.xの勝利で…

DIProxyを作ってみた。

最近の主流はフレームワーク+DIコンテナ+O/Rマッパー で、フレームワークとDIコンテナの組み合わせの部分を 一元化できたらいいなと思い作ってみた。 FI foo = ContainerFactory.getContainer().getBean(bean.Foo.class); foo.helloWorld(); こんな感じで…

DIコンテナのパフォーマンスをちょっと調査してみた。(趣味の範囲)

結果は以下の通り。一個のクラスを設定ファイルを使用してシングルトン呼び出しを100回繰り返した時の処理時間(単位はミリ秒) コンテナ名 平均 最大 最小 最大−最小 最大−平均 平均比率 Spring (2.5.4) 1365.9 3107 1108 1999 1741.1 3 Seasar (2.4.25) 10…