2006-01-01から1年間の記事一覧
ついでにClassCastExceptionも出しておきました。ドッペルゲンガーと紹介されてるやつです。内部でキャストのテストを行うcastMe()メソッドを持つインタフェースと、その実装クラスを定義します。 /* TestInterface.java */ public interface TestInterface{…
クラスローダーとJ2EEパッケージング戦略を理解する の解説がわかりやすいです。servletに初めて触ったときからモヤモヤしていたClassNotFoundExceptionの正体がちょっとだけ見えました。 public class MyGlobalClass{ public MyLocalClass getMyLocalClass(…
Pro EJB 3: Java Persistence API (Pro)Mike Keith Merrick Schincariol オレンジニュースで買おうと思ったら、リンクが無くなってました。ありゃりゃ( ̄ー ̄?)
Javaのクラスアンロード(Class Unloading)と言うタイトルの、クラスローダーの解説です。ふむふむ。
これを試しました。便利ですね〜。単一クラスのロードまでしかできなかったんで明日以降もうちょっといじります。Eclipseの設定やら何やらでハマって時間かかりましたorz WTPの「Move To Workspace」とか「Move To Metadata」ってなんなんだろ?? 誤って選…
出席してきました。 Seasar のコミッタの方もたくさんいて、刺激的でした。次回までにもうちょっと Java EE 関連触っておこうかと思います。飲み会で調子に乗って id:t-wada さんにダメージを与えてしまいました。 hirataraさん「t-wadasさんは哀愁を背負っ…
クラッシュバンデクーはLispの上に書かれていたみたいです。 ゲームというと、私は PlayStation の『クラッシュバンデクー』を見た時、「こんなことがゲームでできるんだ」ってびっくりしました。あれって、専用の言語で書かれているそうですね。 あれは、GO…
Seasar眺めてみました。ありゃりゃ、SeasarってHttpServletに依存してたのか。・・・と思ったら。Servlet非依存になったそうです。2.4系を落とせばよかったんですね、さすが〜。痒いとこに手が届くと気持ちいいです。
こんな記事ですが、ちょっと目に留まりました。 Seasar2では,Javaプログラミング言語の文法が含む「interface」の「型」と「名前」の情報に基づき,自動的にモジュール相互を接続する。...ひが氏はこの考え方を「設定より規約を重視する(Convention over C…
perlで書くとこうです。 use strict; open(IN, 'huge.txt'); while(<IN>){ while(/key?s*=?s*'([?w?-]+)'/g){ print $1, "?n"; } } close(IN);で、java使って書いてみたわけです。 import java.io.*; import java.util.regex.*; class Test{ static final privat</in>…
ところで、前のエントリのperlsubで、気になる一文を見つけたのです。 Note, however, that the ``&'' is NOT optional when you're just naming the subroutine, such as when it's used as an argument to defined() or undef(). え、definedとundefって、…
perlも忘れてないですよ(´m`)。次のコードの結果に、納得できますか? sub my_print{ print @_; } sub test1{ my_print;} sub test2{ &my_print;} test1("test1\n"); test2("test2\n"); 【結果】 test2納得出来たらかなりの通。perlsubには以下のように書い…
皆さん、ソースコードは下手な小説より楽しいですよヽ( ´-`)ノ。今日はJakarta commonsより、padding()です。文字padCharをrepeat回だけ繰り返した文字列を返すだけの関数です。 private static String padding(int repeat, char padChar) { // be careful o…
StringBuilderはStringBufferの高速版です。新しい人はこっちを積極的に使いましょう。
絶対領域をおかしてしまうとどうなるのか(゜ー゜)。先の方式を使うと、Stringオブジェクトを書き換え可能になります。次のメソッドを定義します。 /* strToの中身をstrFromにする。 ただし、短い文字列に変更しようとすると ArrayIndexOutOfBoundsException …
privateのフィールドは操作出来ないことになっているが、100%絶対と言うわけでもないみたいです。 import java.lang.reflect.Field; /* イミュータブルなクラス */ class PersonalData{ private String name = "Hiratara"; public String toString(){ return…
Jakarta Commons クックブック―Javaプロジェクト必須のレシピ集ティモシー・M. オブライエン Timothy M. O’Brien 長瀬 嘉秀 commons本を購入しました。ついでにLangのソースも取ってきたので、しばらく楽しめそうですヽ(゜▽、゜)ノ
初期化をコンストラクタの外に用意する手法、現場では多い気がするが? class TestSuper{ TestSuper(){ this.init(); } void init(){ System.out.println("initialize Super fields"); } } class TestSub extends TestSuper{ TestSub(){ this.init(); } void…
以下のコードを実行してみますと。 class Super{ public void publicMethod(){ System.out.println("super did public"); } protected void protectedMethod(){ System.out.println("super did protected"); } void defaultMethod(){ System.out.println("su…
バッチ処理させるプログラムで、以下のようなコードを見つけました。 class EvilBatch{ EvilBatch(){ System.out.println("start batch"); /* 以下、複雑な処理のつもり */ try{ Thread.sleep(3000); }catch(InterruptedException e){ e.printStackTrace(); …
以下のコードは、ClassBの$hageをtypoしてます。でも、use strictも効かずコンパイルが通ってしまいます。 package ClassA; use strict; my $hoge; sub count_up_hoge{return ++$hoge;} package ClassB; use strict; my $hage; sub count_up_hage{return ++$…
オーバーロードとオーバーライドは似て非なる挙動をします。 /* ClassA <|- ClassB の継承関係で、オーバーライドとオーバーロードを試す */ class ClassA{ void overridedMethod(){ System.out.println("by ClassA"); } } class ClassB extends ClassA{ voi…
perl上がりだと、「.」演算子と同じ感覚で文字列をくっつけたくなるけど、ちょっと待った!例えば、0〜9の数字を1万個つなげたいと思ってコードを書くと、以下のようになると思います。 String str = ""; for(int i = 0; i < 10000; i++){ str += (i % 10); …
やさしい Java インタプリタ の作り方。
コンストラクタについてわかりやすい説明はないか探していたところ、詳しく書かれたページを発見。 if( そのクラスが、ルートクラスである Object である ) { /* なにもしない */ return; } 引数形式に合致するコンストラクタを選ぶ if( そのコンストラクタ…
Java SE 5.0はEoDに力を入れてるとのことなので、チェックしてみました。EoDとはEasy of Developmentで*1、要するに簡素化で工数を減らしましょうってことです。 Autoboxing/Unboxing 基本型をラッパ型に自動変換してくれます。Integer.valueOf(1);みたいな…
宣言していた通り、Ooo突っ込んだんですが、なんか画面がおかしい。kinput2とメニューでフォント幅がバラバラだし、メニューの括弧の中身空だし。めんどくさいのでしばらく放置ですε-(ーдー)。
今更ですけど、誰か Gmail Invitation してくれるご親切な方、こっそり募集しますm(_ _)m。
Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! ...これくらい言っとけば大丈夫でしょう(笑)。