2008-01-01から1年間の記事一覧
別のクラスローダーから読み込んだクラスがキャストできない件の対処法は 調べた結果、インターフェース使うしかないっぽい。で、ためしにテストコード作ってみた。これで途中でTest.java書き換えてもなんとか動かすことが可能。 うまく設計しなきゃいけない…
たまに、他のシステムとの連携のためにデータのCSVファイル出力が要件として あがるのですが、これがO/Rマッパーと相性が悪い。と言うのも現状は、大多数のシステムがRDBを採用している、 で、当然テーブルを扱うってことでデータは表であらわしてる。 CSVフ…
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…
DIJava(Dynamic Interactive Java)は対話的なJavaプログラミングを行うためのツールです。 Javaの式を標準入力から簡単に入力/実行することができます。 ダウンロードはココ: http://sourceforge.jp/projects/diproxy/downloads/32500/DIJava.zip スクリー…
DINoteはSwingで作ったタブ付きテキストエディタです。ダウンロードはココ:http://sourceforge.jp/projects/diproxy/downloads/32381/DINote.jar スクリーンショット:http://sourceforge.jp/projects/diproxy/wiki/DINote
Javaには予約語[strictfp]が定義されています。 この定義を行わないと、float や double の浮動小数点演算が プラットフォームに依存してしまうことになります。一般の厳密計算を行っているマルチプラットフォームな ソフトやパッケージはこのことを意識して…
・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…
ちょっと愚痴。Sunさん。JPAよりもMySQLのオブジェクト指向DBに力入れて欲しいなー。そしたら設計がもっとシンプルになると思うんだけども・・・
DIProxy0.0.5リリース!DIコンテナを汎用的に使えるようにするモジュール。 DIProxyはDIコンテナを呼び出す部分をフレームワークに依存させないような設計を目標として作成しました。 文字列引数でインスタンス取得できるようにしました。 詳細はここ「https…
Javaとは言わず並列(分散)処理について考えてみた。 Javaには分散処理ということでCORBAの実装が提供されている。 でも、自分の感覚としてはなかなかCORBAは主流に乗れていない気がする。 次に時期Java7で実装されるかもしれないfork()については細かい並…
DIProxy0.0.4リリース!DIコンテナを汎用的に使えるようにするモジュール。 DIProxyはDIコンテナを呼び出す部分をフレームワークに依存させないような設計を目標として作成しました。 リファクタリング、アーキテクチャを少し変更しました。 詳細はここ「htt…
使い方は以下のとおり。 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リリース!Guiceに対応しました。 詳細はここ「https://sourceforge.jp/projects/diproxy」ダウンロードはここ「http://sourceforge.jp/projects/diproxy/downloads/31655/diproxy.jar」
ワンライナーで初期化できる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>…
結果は以下の通り。Guiceも調査してみた。(※設定ファイルからの読み込みでない場合)一個のクラスを設定ファイルを使用してシングルトン呼び出しを100回繰り返した時の処理時間(単位はミリ秒) コンテナ名 平均 最大 最小 最大−最小 最大−平均 平均比率 Sp…
状態を持ったオブジェクトをインジェクションできるように とりあえずとりあえず機能を追加してみた。 使い方は以下のとおり。 String state1 = "状態1" + new Date().toString(); String state2 = "状態2"+ new Date().toString(); FI foo = new Contollo…
ワンライナーで初期化できる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("…
今後、Javaにおいてアノテーションの利用がいっそう活発になると思うので とりあえず、作ってみた。 使い方は対象のクラスとメソッド名と取得対象のアノテーションクラスを渡す。 AnnotationSample anno = getAnnotationMethod(sample.class,"test",null,Ann…
JavaOneのサイトにWebフレームワークのベンチマークのセッション資料があったので 見てみた。 JSFってなんか遅そうなイメージがあったけども10ユーザーの場合は Struts1.xよりもレスポンスは早かった。 でも100ユーザーだったらやっぱStruts1.xの勝利で…
最近の主流はフレームワーク+DIコンテナ+O/Rマッパー で、フレームワークとDIコンテナの組み合わせの部分を 一元化できたらいいなと思い作ってみた。 FI foo = ContainerFactory.getContainer().getBean(bean.Foo.class); foo.helloWorld(); こんな感じで…
結果は以下の通り。一個のクラスを設定ファイルを使用してシングルトン呼び出しを100回繰り返した時の処理時間(単位はミリ秒) コンテナ名 平均 最大 最小 最大−最小 最大−平均 平均比率 Spring (2.5.4) 1365.9 3107 1108 1999 1741.1 3 Seasar (2.4.25) 10…