トップページ⇒tech
1001コメント253KB

【祝】 JDK 1.4 βリリース

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
でました、JDK 1.4ベータ。
前回のJDK 1.3のときと違い、意欲的です。

ということで、JDK1.4を試用して、1.4を語ろう!

http://java.sun.com/j2se/1.4/ja/index.html
0002名無しさんNGNG
休日出勤ご苦労様。
0003デフォルトの名無しさんNGNG
Swing速くなったって話、どうよ?
1.3.1で作業中なのでインストールするわけにいかず。レポートきぼん。
0004デフォルトの名無しさんNGNG
また互換性の問題が発生するんですね
はあ・・・
0005デフォルトの名無しさんNGNG
ほほー。そんなに嬉しいのか?どのへんが嬉しい?
0006デフォルトの名無しさんNGNG
サーバがコンデルーヨ
0007デフォルトの名無しさんNGNG
assertionが言語レベルで加わった。
0008デフォルトの名無しさんNGNG
正規表現のAPIが加わった。
OROMatcher?
0009デフォルトの名無しさんNGNG
暗号とXMLと正規表現あたりはうれしい人も多いんじゃない?
0010デフォルトの名無しさんNGNG
>>4
VMはマイナーチェンジだけだと思うよ。
API側の拡張される部分については、既存に影響そんなに
無いと思うんだけど…
(でもForteは1.4じゃ動かないのね。なんで?)
0011デフォルトの名無しさんNGNG
java.nioだって。channelってなんすか?
0012デフォルトの名無しさんNGNG
気になるのは、Swingの表示スピードがどれくらい
上がっているのか・・・その一点に尽きる。
幾らなんでもサーバーサイドのみでは魅力も半減だよ。
0013DL中NGNG
Swingの速度レポートきぼーん
0014デフォルトの名無しさんNGNG
>>13
DL中なら落としたらよろしく。(藁
0015デフォルトの名無しさんNGNG
java.nioってよくわからんなぁ、、、。使い方が・・・。
0016デフォルトの名無しさんNGNG
どれ、ダウンロードしてみっか。漏れは業務は未だにJDK1.1.8ベースだ。
一応最新世界にも触れてみるモナー。
0017デフォルトの名無しさんNGNG
落とせた人いる?
0018デフォルトの名無しさんNGNG
なかなか終わらん・・・
0019デフォルトの名無しさんNGNG
個人的にはGTK+風Look&Feelが好みだな。
002016NGNG
本体とドキュメント、今落としたよ。 デスクトップにJavaWebStart(クライアントアプリ配信
する奴)のショートカットが出来る。
0021デフォルトの名無しさんNGNG
すでに昨日から手元にある・・・。
0022デフォルトの名無しさんNGNG
うおおお、48MBがたったの10分!
ADSLにして良かった〜マンセー! マンセー!
002321NGNG
>>22
オレも最近ADSLにした。
速いよねー。おかしいよねー。うへへー。
002417NGNG
何度かチャレンジしてうまくいきました。
Linux版、ASDL環境なんで、ドキュメントはもちろんダウンロードしない。
これから試します♪
0025デフォルトの名無しさんNGNG
java.nio

http://java-house.etl.go.jp/ml/archive/j-h-b/042892.html#body

が参考になる・・・かな。
0026デフォルトの名無しさんNGNG
正規表現マンセー!
0027デフォルトの名無しさんNGNG
で、どうよどうよどうよ? Swingの速度どうよ?
教えてくれー。
0028デフォルトの名無しさんNGNG
>27
どうやって計るんだ?
うちのマシンは速いから1.3.1でもそんなに不満ないぞ。
0029デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.4/docs/guide/performance/index.html

Swingは・・・?
0030デフォルトの名無しさんNGNG
松井のスウィングは秒速200km/sです。
0031デフォルトの名無しさんNGNG
ネタ書くならsageろよ>30
ちなみにつまんねえよ
0032デフォルトの名無しさんNGNG
>>30
罰としてmozillaのコンパイルを20回しろ
0033デフォルトの名無しさんNGNG
必ず途中でとまる、、Iriaさんが使えない、、、ウトゥだ
0034デフォルトの名無しさんNGNG
>>32

シェルスクリプトでループさせてもいい?<20回
0035デフォルトの名無しさんNGNG
SwingSet2を動かしてみたけど、速くなったとは思えない
むしろ遅くなってるよ
どうすんだよこれ
0036デフォルトの名無しさんNGNG
なんでぇ、ダメじゃん。Sun。
0037デフォルトの名無しさんNGNG
SunSunSunさわやかSun組
0038デフォルトの名無しさんNGNG
37=30
いや、レベルが
003937NGNG
30も俺だよ。よくわかったな。すごいよアンタ。
0040デフォルトの名無しさんNGNG
ネタ書くならsageろよ>30=37
ちなみにつまんねえよ
0041デフォルトの名無しさんNGNG
>>39
罰としてmozillaのコンパイルを20回しろ

break;
0042名無しさん♯NGNG
(゚∀゚)アヒャヒャヒャヒャ

http://developer.java.sun.com/developer/earlyAccess/adding_generics/
0043デフォルトの名無しさんNGNG
>>42
その実装はVMに変更加わらないし、
キャストで済ましているからGJの実装に似てるよね。
0044デフォルトの名無しさんNGNG
なにげにマウスのホイール効くようになってません?
前からかもしれんけど。
0045デフォルトの名無しさんNGNG
>>44 1.4から対応
0046デフォルトの名無しさんNGNG
結局、Operator Overloadは言語仕様に盛り込まれなかったんですね
0047デフォルトの名無しさんNGNG
>>46
そんな話は聞いたこともないな。
syntax sugarにすぎないから入れてくれって人は少ないんじゃないのか?
0048デフォルトの名無しさんNGNG
デスクトップにJavaWebStartのショートカットが出てきたので
実行してみたところ、お絵かきやノートパッドが実行できました。

なにこれ?
0049デフォルトの名無しさんNGNG
.NETのまねごとです。沖に流されぬよう
0050デフォルトの名無しさんNGNG
アプレットの拡張みたいなもんです。
.NET とは位置付けが違うだろ。たぶん。< JavaWebStart
0051デフォルトの名無しさんNGNG
>>46
GenericTypeの言語仕様盛り込みの方なら、JCPの方で
話が進んでるよ。そのうちコレクションフレームワークは
テンプレートメソッドの嵐になると思うよ。
0052デフォルトの名無しさんNGNG
>>51
ガイシュツです。>>42
0053デフォルトの名無しさんNGNG
>>51

>>46 のOperator OverloadとGeneric Typeって全然次元の違う話ですよ。
第一、Operator Overloadなんて、Javaやっている人は望んでないと思うけど。(C++でも、あまり使いすぎると訳のわからんソースになるし)
0054デフォルトの名無しさんNGNG
>>53
operator new/delete とかは、単なるシンタックスシュガーじゃな
くて環境別チューニングのために非常に重要なC++の機能なんだけど、
Javaはそういうことできないよね…

RTSJを待つしかないか。リファレンス実装っていつでるんだろ。
005553NGNG
>>54

deleteってJava的にはfinalizeじゃないの?(GC時なんで、いつコールされるかわからないけど、、、。同期的にコールしたいんだったら、それようのメソッドを勝手に作れば?ってのが基本思想じゃないかな?)
そもそも、環境別チューニングっていうのはJavaには不要なような・・・・。
0056デフォルトの名無しさんNGNG
Java知らないんだけど、finalizeって明示的に呼べるんですか?>>55
0057デフォルトの名無しさんNGNG
>>54
C++はあまり良く知らないのですが、
new/deleteをオーバーロードしてどうするんですか?

newだったらファクトリか何かで代わりができそうだし、
deleteは適当なメソッドを使って("close"とか)リソース
を開放できそうだと思いますが・・・。
0058デフォルトの名無しさんNGNG
>>42
Java の Generics って、このあたりのヤツが元になってるのかな? paper
読んでみようと思うんで、他にも関連 URL あったら教えて欲しい。

GJ (A Generic Java Language Extension)
http://www.cs.bell-labs.com/who/wadler/pizza/gj/index.html

PolyJ (Java with Parameterized Types)
http://lirone.lcs.mit.edu/polyj/
0059デフォルトの名無しさんNGNG
>>58
それに加えて、
"Compatible Genericity with Run-time Types for the Java(tm) Programming Language", Robert Cartwright and Guy Steele,
Proceedings of the 13th ACM Conference on Object Oriented Programming, Systems and Applications, Vancouver, B.C., October 1998.
だって。
0060デフォルトの名無しさんNGNG
>>57
ヒープから動的に取ってくる代わりに、固定長で事前に確保した配列
から切り出してくるとかね。

ヒープの断片化を防ぎ、メモリ割り当てに要する時間を確定したい場
合(メモリの量が厳しかったりリアルタイム応答を要求される場合)に
は、ヒープから可変長のメモリブロックを切り出す汎用的なメモリアロ
ケータだと困るわけよ。
006157NGNG
>>60
何かそれこそgcに任せろってことになりそうだなー。
0062デフォルトの名無しさんNGNG
Javaを覚えようと思って本を買ってきたばかり……
なんか鬱です。
0063デフォルトの名無しさんNGNG
>>62 ムツカシイ?
買う本を間違った?
0064デフォルトの名無しさんNGNG
1.3付きの本買ったとか。
1.4はまだβだから気にすんな。
0065デフォルトの名無しさんNGNG
>>61
C++は何でも言語から制御できることを望んでいるらしいからねえ。

その割にはMetaClassとかは無い
(そっち方面を言語から制御することが出来ない)んで
片手落ちだけどさ(w
0066デフォルトの名無しさんNGNG
>>61
Java のメモリアロケータって、リアルタイム性を確保してくれるんですか?

>>65
それは微妙に話がずれてる。
006761NGNG
>>65
盛り込める仕様はとりあえず盛り込んでいるって感じですよね。

自分がなれていないからだろうけれど、
一つのことをやろうにもいくつも方法があるような気がして
迷う・・・。

>>66
リアルタイム性は保証してくれないと思うよ。
>>54がいうみたいにRTSJ(Real-Time Specific Java?)待ちってことになると思う。
0068デフォルトの名無しさんNGNG
>>67
> 盛り込める仕様はとりあえず盛り込んでいるって感じですよね。
その割にinterfaceみたいな重要な概念は盛り込まなかった。

そういえば「C++の進化」という本の執筆者には
SUNの人間がいたような気が
006967NGNG
>その割にinterfaceみたいな重要な概念は盛り込まなかった。
多重継承ができるからinterfaceはいらないのでは?
007058NGNG
>>59
遅ればせながら、Thanks.
0071デフォルトの名無しさんNGNG
>>69
う、メカニズム的にはその通りなんですけど、
実際使うと、仮想基底クラスとか純粋仮想関数とか、
見た目が怪しさ全開になる。
それだと誰もC++で最初からInterfaceベースの設計しないでしょう。

先の「C++の進化」では、もっと簡単にInterface定義できる構文
を導入しようって話があったと思います。

どっかWEBに載ってないかな〜と探したら、別のが釣れた。

ttp://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_5.html#SEC112
GCCのC++拡張 「signature」
こんなのあったんだ、Javaにも欲しいって人いないかな
# ひたすらスレ違いスマソ
0072デフォルトの名無しさんNGNG
>>71

そう?クラスライブラリをうまく設計する人は多重継承は使わずに、Interface的な抽象クラスを作るけど。MacのPowerPlantとか、そうやん。

>>65

MetaclassってReflectionのことだよね?RTTIで代用はできないの?
0073デフォルトの名無しさんNGNG
>>72
クラス名(文字列)からインスタンスが作れない
正体不明のオブジェクトのメソッド一覧を取得→呼び出しできない
COM の IDispatch レベルの機能を言語が用意してこそメタクラス。
RTTI はダウンキャストとデバッグくらいに使うのがせいぜいかと。

すれ違いでした。
0074デフォルトの名無しさんNGNG
>>72
それを言い出すとC言語でもオブジェクト指向できるという話に行き着きます(笑
# http://www5a.biglobe.ne.jp/~sage-p/process/cool.htm
でも処理系のサポートがあったほうが学習しやすい/利用しやすいわけで。
0075デフォルトの名無しさんNGNG
>>72 PowePlantって知らないのだけど、
多重継承使わずにInterface的な使い方ってどうやるんだろう?
'実装の'多重継承なしでということだったら納得です。

DesignPatternとかInterviewsとか美しく設計してるけど
やっぱり言語レベルでinterface欲しいです。

だってどれがinterfaceで、どれがまだ実装が終わってないだけの
classなのか設計者に聞かなきゃわかんないんだもん

ある程度のフレームワークだったらinterfaceはIで始まるとか
全部小文字にするとか記法で分けてあって統一されてるから
いいけど、いろんなライブラリ使ってるとごちゃ混ぜになる。

ついでに上記みたいなハンガリアン記法もどきをJavaに
持ち込むのも嫌い
0076デフォルトの名無しさんNGNG
ホイール効く効く happy!
けどトラックポイントのスクロールが効かないよ(鬱だ
0077デフォルトの名無しさんNGNG
>>76
>けどトラックポイントのスクロールが効かないよ(鬱だ
そのうちトラックポイントでもスクロールできるようになるのかなぁ。
mozillaのスクロールには新しいバージョンで対応したらしいけれど。
0078デフォルトの名無しさんNGNG
>やっぱり言語レベルでinterface欲しいです。
#define interface class
でいいじゃん。

>ついでに上記みたいなハンガリアン記法もどきをJavaに
版画利案は変数の型名を変数名にくっつける命名規約のことで、
インターフェイスにIをくっつけるのはただの命名規約。
あなたの言い分だとすべからく命名規約は嫌いと言ってるように聞こえる。
0079デフォルトの名無しさんNGNG
>>73
>クラス名(文字列)からインスタンスが作れない

ていうかクラス名から、クラスが作れて…もとい、クラスが取得
できて欲しいな。さすがに作るのは無理だろうけど取得くらいなら
「クラス型」という型をとりあえず規定すれば出来ることなので。

これが出来ると必然的(?)に、「クラスメソッドの多態」とかが
できるようになって、結構楽です。
0080デフォルトの名無しさんNGNG
>>79

でも、C++で技術的にできるんか?できないから、実装してないんだと思うけど。
0081デフォルトの名無しさんNGNG
>>80
長年かけて今の仕様に至ったC++、という意味では
「いまさら」不可能じゃないかとは、思う。
既存機能と相性悪いだろうから。

ちなみにDelでは出来る。最初からそう設計した言語だからだ、と
いえばそれまで。

OOPで強型でコンパイラな言語一般で出来るのか?という問いなら
少なくともDelに出来て他にできないことは無いわけで。
0082デフォルトの名無しさんNGNG
>>80
これとか?

Open C++
http://www.csg.is.titech.ac.jp/~chiba/openc++.html
008380NGNG
>>81

あんた、厨房?

>長年かけて今の仕様に至ったC++、という意味では
>「いまさら」不可能じゃないかとは、思う。
>既存機能と相性悪いだろうから。

技術的な説明が欲しかった。C++のような言語でどうやって、インプリするの?本当にC++をわかってる?
0084デフォルトの名無しさんNGNG
>>83
OpenC++ のページは読んでくれたかい?
008575NGNG
>>78
#define interface class は確かに有効かも、ついでに、
#define extends : virtual これは、だめだ。

> あなたの言い分だとすべからく命名規約は嫌いと言ってるように聞こえる。
すべからく命名規約は嫌いってわけじゃないっす
インターフェースにIをつける命名規約は、C++では有効でしょう。
けど、Javaではいらない。クラス名の先頭にCをつける規約と同じくらいに。

基本的に言語全体に及ぶような命名規約は、
JLSのNaming Conventionsに従えば十分で、
特定のプロジェクトで命名規約をつけるときも、
JLSにかぶるような規約は冗長でかっこわるくなると思う。

ハンガリアン記法もどきという言い方は、確かにハズしてました
すいません。
けど、識別子一文字をなにかの命名時にくっつけるのが、
カッコワルサにおいてハンガリアンに似てたんで、つい。。
0086デフォルトの名無しさんNGNG
JAXPが標準でついてくるようになったせいか、
xercesとか使うアプリでエラーが出るときがある(magicdrawとか)

1.4からのマウスホイ〜ルの恵みは受けたいのだけど、
どうすればいいんでしょうか?
0087デフォルトの名無しさんNGNG
>インターフェースにIをつける命名規約は、C++では有効でしょう。
>けど、Javaではいらない。クラス名の先頭にCをつける規約と同じくらいに。
なんでえ?
クラス名の先頭にCをつける規約はいらんと思うけどインターフェイスとクラス
を分けるのがC++で有効でJavaで有効じゃない理由が分からん。
それともすべてのインタフェイスに able付けるってことか?
そっちのほうがよっぽど腐った仕様だぞ。ツーか守られてないし。
0088デフォルトの名無しさんNGNG
http://developer.java.sun.com/developer/earlyAccess/adding_generics/

JSR-14実装プレリリース記念age。
コレクションフレームワークのObject型インターフェイスから
開放されるはず。だれか使用感レポートきぼーん。
0089デフォルトの名無しさんNGNG
JBuilder4をJDK1.4βで動かしてみたが、エディタがらみで動作がおかしい。
残念ながらJDK1.4β上でJBuilderはまだ使えないな。
ホイール機能はエディタでバッチリ使えてる。
0090デフォルトの名無しさんNGNG
>>88
がいしゅつ。
0091デフォルトの名無しさんNGNG
>>83
あぁ?だからそれは「C++のような」という言葉がどこまでを意味するか?に
よって答えも凄く変わってくるだろよ。

そりゃそうと意味をテキトウに拡大解釈したとして、有りそうな実装は…

仮想関数テーブル+RTTI用各種情報、をClassと一対一対応で持った構造体(?)
への参照みたいなものを、言語レベルではClass型として扱えるようにする。

ってとこから話が始まるんじゃないの?

コンストラクタ…というかstatic関数のポインタも
また仮想関数テーブルに入れちまえばいいんだよ。
そうすりゃメソッドを呼ぶとき「クラス型変数に代入されたクラス型値に
動的に対応したstatic関数」が呼ばれるだろう。
これって最早staticという語が似合わないけども(笑)。
(だからClassメソッドをstaticメソッドと呼ぶという考え方自体が既に
やばいのよ。Classメソッドの多態というアイデアを拒否してる。
C++だけならまだしも、Javaまでその考えを引き継いだのはガッカリ。)
0092デフォルトの名無しさんNGNG
>>87
クラスとインターフェース区別する必要まったくなしだよ、Javaでは。
0093デフォルトの名無しさんNGNG
JavaOneあげ
0094デフォルトの名無しさんNGNG
92はリアル厨房ですか?
0095デフォルトの名無しさんNGNG
jdk1.5からgenericsのサポートがされるそうなage
0096デフォルトの名無しさんNGNG
>>95
どこに情報があるの?age
009795NGNG
>>96
http://www.watch.impress.co.jp/pc/docs/article/20010606/java02.htm
のJames Goslingのキーノートのあたり。

Sunのページを探したけれど何もみつからんかった・・・。
0098デフォルトの名無しさんNGNG
>>97
JCP JSR-014を調べるべし。
実装のプレリリースすでにあるぞ。
0099デフォルトの名無しさんNGNG
>>94
さんきゅー!
型としては区別する必要なしってことね。
きみにはまだちょっとむずかしかったかなー(藁
010097NGNG
>>98
いや、それは見たけれど、そこには実際に実装する予定があるとか
そういうのは書いてなかったから。

collectionはどうなるんだろう。
0101デフォルトの名無しさんNGNG
もう対応コンパイラのプロトタイプあるんだよ。
JCPのほうはSpecDraftしかないよ。
なんか、つい最近JCPがドメインとってWebページ全面改装
したみたいね。jcp.orgだってさ。

実装プロトタイプのほうはJDCのEarly Accessだよ。
http://developer.java.sun.com/developer/earlyAccess/adding_generics/
こっちが、Generic対応コンパイラjavacの実装プロトタイプ。
■ このスレッドは過去ログ倉庫に格納されています