Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

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

続続・クラスローダー

ついでにClassCastExceptionも出しておきました。ドッペルゲンガーと紹介されてるやつです。内部でキャストのテストを行うcastMe()メソッドを持つインタフェースと、その実装クラスを定義します。 /* TestInterface.java */ public interface TestInterface{…

続・クラスローダー

クラスローダーとJ2EEパッケージング戦略を理解する の解説がわかりやすいです。servletに初めて触ったときからモヤモヤしていたClassNotFoundExceptionの正体がちょっとだけ見えました。 public class MyGlobalClass{ public MyLocalClass getMyLocalClass(…

Java EE勉強会用の本

Pro EJB 3: Java Persistence API (Pro)Mike Keith Merrick Schincariol オレンジニュースで買おうと思ったら、リンクが無くなってました。ありゃりゃ( ̄ー ̄?)

Javaのクラスアンロード

Javaのクラスアンロード(Class Unloading)と言うタイトルの、クラスローダーの解説です。ふむふむ。

Seasar2お試し

これを試しました。便利ですね〜。単一クラスのロードまでしかできなかったんで明日以降もうちょっといじります。Eclipseの設定やら何やらでハマって時間かかりましたorz WTPの「Move To Workspace」とか「Move To Metadata」ってなんなんだろ?? 誤って選…

第20回 Java EE勉強会

出席してきました。 Seasar のコミッタの方もたくさんいて、刺激的でした。次回までにもうちょっと Java EE 関連触っておこうかと思います。飲み会で調子に乗って id:t-wada さんにダメージを与えてしまいました。 hirataraさん「t-wadasさんは哀愁を背負っ…

関数型言語でクラッシュバンデクー

クラッシュバンデクーはLispの上に書かれていたみたいです。 ゲームというと、私は PlayStation の『クラッシュバンデクー』を見た時、「こんなことがゲームでできるんだ」ってびっくりしました。あれって、専用の言語で書かれているそうですね。 あれは、GO…

Seasarって・・・

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には以下のように書い…

StringUtils.padding(int repeat, char padChar)

皆さん、ソースコードは下手な小説より楽しいですよヽ( ´-`)ノ。今日はJakarta commonsより、padding()です。文字padCharをrepeat回だけ繰り返した文字列を返すだけの関数です。 private static String padding(int repeat, char padChar) { // be careful o…

StringBuilder

StringBuilderはStringBufferの高速版です。新しい人はこっちを積極的に使いましょう。

privateは絶対領域か?(2)

絶対領域をおかしてしまうとどうなるのか(゜ー゜)。先の方式を使うと、Stringオブジェクトを書き換え可能になります。次のメソッドを定義します。 /* strToの中身をstrFromにする。 ただし、短い文字列に変更しようとすると ArrayIndexOutOfBoundsException …

privateは絶対領域か?

privateのフィールドは操作出来ないことになっているが、100%絶対と言うわけでもないみたいです。 import java.lang.reflect.Field; /* イミュータブルなクラス */ class PersonalData{ private String name = "Hiratara"; public String toString(){ return…

Jakarta Commons/Lang

Jakarta Commons クックブック―Javaプロジェクト必須のレシピ集ティモシー・M. オブライエン Timothy M. O’Brien 長瀬 嘉秀 commons本を購入しました。ついでにLangのソースも取ってきたので、しばらく楽しめそうですヽ(゜▽、゜)ノ

init()メソッド

初期化をコンストラクタの外に用意する手法、現場では多い気がするが? class TestSuper{ TestSuper(){ this.init(); } void init(){ System.out.println("initialize Super fields"); } } class TestSub extends TestSuper{ TestSub(){ this.init(); } void…

継承とprivate

以下のコードを実行してみますと。 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(); …

myの有効範囲に気をつけて

以下のコードは、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); …

OKI

やさしい Java インタプリタ の作り方。

コンストラクタもわからないとは・・・(2)

コンストラクタについてわかりやすい説明はないか探していたところ、詳しく書かれたページを発見。 if( そのクラスが、ルートクラスである Object である ) { /* なにもしない */ return; } 引数形式に合致するコンストラクタを選ぶ if( そのコンストラクタ…

EoD

Java SE 5.0はEoDに力を入れてるとのことなので、チェックしてみました。EoDとはEasy of Developmentで*1、要するに簡素化で工数を減らしましょうってことです。 Autoboxing/Unboxing 基本型をラッパ型に自動変換してくれます。Integer.valueOf(1);みたいな…

Ooo → orz

宣言していた通り、Ooo突っ込んだんですが、なんか画面がおかしい。kinput2とメニューでフォント幅がバラバラだし、メニューの括弧の中身空だし。めんどくさいのでしばらく放置ですε-(ーдー)。

書くだけ書いてみる

今更ですけど、誰か Gmail Invitation してくれるご親切な方、こっそり募集しますm(_ _)m。

Ajaxイン・アクション欲しい!

Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! Ajaxイン・アクション欲しい! ...これくらい言っとけば大丈夫でしょう(笑)。