ObjectXXXXXStreamの謎
①ObjectInputStream oin = new ObjectInputStream(new BufferedInputStream(sock.getInputStream())); はここでブロックする。
②ObjectInputStream oin = new ObjectInputStream(sock.getInputStream()); は動く。
③DataInputStream din = new DataInputStream(new BufferedInputStream(sock.getInputStream()));
ObjectInputStream oin = new ObjectInputStream(din);
もだめ。ブロックする。
謎だ。ObjectInputStreamとか(Outputもだけど)ってBufferedと合わせちゃいけないとかあったっけ?
あと、getInputStreamとgetOutputStreamって呼ぶ順序に何か制約ってあったっけ?
とりあえず②の書き方をしてgetXXXの呼ぶ順序を変えることで動くようになったが、なんかしっくりこない。誰か教えて。
JDK(1.4系列)のバグか?