俺様デシリアライザを作ろうとして困ったこと

クラスjava.io.ObjectInputStreamはどうやって実現されているんだ?

俺様デシリアライザを作るにはクラスjava.io.ObjectInputStreamをカスタマイズする必要があります。クラスjava.io.ObjectInputStreamの振る舞いを変えるには完全に再実装するしかありません(そのように無理やり制限されています)。ということは、俺様デシリアライザでクラスjava.io.ObjectInputStreamと同じような振る舞いを実現しなければいけないことになります。そこで、いろいろ考えたところ問題にぶち当たりました。

(さらに…)

投稿者:Yamaguchi Youhei 投稿日時:

How to get the more specific return type of a overridden method?

Javaのgenericsはある型Xの型引数へより具体的な型を代入して得られる全ての部分型Yを実行時に同一視する。つまり、全てのYのための実行時型がXになるのだ。このような実現方法をとると、実行時に各Yを区別できないという欠点はあるが、genericsを導入する前と互換性を保てるという利点がある。これがJavaのgenericsの妥協点である。この妥協点のおかげで、型引数に代入された型の情報が得られないため、リフレクション使いとしては歯がゆい思いをすることになる。
(さらに…)

投稿者:Yamaguchi Youhei 投稿日時:

nutchのWordExtractorでStringIndexOutOfBoundsExceptionが起きる

nutch-0.9に含まれるWordExtractorを使って日本語を含むMicrosoft Wordファイルをテキスト化しようとしたら

java.lang.StringIndexOutOfBoundsException: String index out of range: -101
	at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:881)
	at java.lang.StringBuffer.substring(StringBuffer.java:416)
	at org.apache.poi.hwpf.model.TextPiece.substring(TextPiece.java:88)
	at org.apache.nutch.parse.msword.WordExtractor.extractText(WordExtractor.java:190)
	at org.apache.nutch.parse.msword.Test.main(Test.java:41)

こんな例外が起きる。

(さらに…)

投稿者:sato 投稿日時:

やっちゃたよ俺様JavaVM

ある日、非常に控えめのOS上で動くプログラムをC++で作って欲しいと頼まれました。C++はいろいろと面倒なのであまりできれば使いたくありません。そこで、だめもとで交渉したところ「リアルタイム性が保証できるんだったらJavaでもいいですよ」ということだったので、俺様JavaVM(Virtual Machine)を作ることにしました。そういう訳で、たまに俺様JavaVMの状況を報告します。

(さらに…)

投稿者:Yamaguchi Youhei 投稿日時:

javaでhttps通信

オレオレ証明書を使ってHTTPSをサービスしているサーバに対してコネクションを確立しようとすると以下の例外が発生して接続できない。

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

(さらに…)

投稿者:sato 投稿日時: