トップページ⇒tech
983コメント278KB

Cから虎へ〜JDK1.5について!Part2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
比較上等!

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1056807119/l50
0232デフォルトの名無しさんNGNG
>>225
バージョンはいくつ?
ついでにJ2SEのバージョンも 
0233デフォルトの名無しさんNGNG
>>792
これってどうよ?

private final double[] vector;

public DoubleVector(double[] vector) {
this.vector = (double[]) vector.clone();
}

public double max() {
double max = (-1) * Double.MAX_VALUE;
for (int i = 0; i < size(); i++) {
max = StrictMath.max(max, get(i));
}
return max;
}
0234デフォルトの名無しさんNGNG
誤爆した
0235デフォルトの名無しさんNGNG
>>225
とりあえずApplet, JavaweStart対応アプリでは
すでに解決済み。

古いバージョンのコンパイラでつくったバイナリでは無理。 
0236デフォルトの名無しさんNGNG
>>231
Linux のプロセスリストに java.exe があったら怖いな。
0237デフォルトの名無しさんNGNG
> 古いバージョンのコンパイラでつくったバイナリでは無理。 
?
0238デフォルトの名無しさんNGNG
>>236
ln -s java java.exe でO.K.

ところでrt.jarの共有って、1.4のコンパイラで-source 1.4つけてコンパイルすれば有効になる?
0239デフォルトの名無しさんNGNG
> ln -s java java.exe でO.K.
んなアホな事するか。

> ところでrt.jarの共有って、1.4のコンパイラで-source 1.4つけてコンパイルすれば有効になる?
?
0240デフォルトの名無しさんNGNG
>>237
たとえばJ2SE1.2でコンパイルしたUMLツールのIIOSSとか。
いくつも起動すると起動した数だけjava.exeが沢山立ち上がる。
0241デフォルトの名無しさんNGNG
J2SE 1.4 でコンパイルしなおせば
> いくつも起動すると起動した数だけjava.exeが沢山立ち上がる。
にならない、とか考えてるわけ?
0242デフォルトの名無しさんNGNG
IIOSSはJ2SE1.4には未対応だよん。
未だに1.2だか1.3でシコシコSwing使っているんだから
おもたくてしょうがない。
0243デフォルトの名無しさんNGNG
IIOSSも古すぎ。サイトの更新が去年の4月で終わってる。

ソフトウェアの更新履歴についても具体的に触れていない。
もう枯れているというか。Eclipse UML Omondoがタダで便利ならみんなそっちのほうを使ってしまう。

http://www.iioss.org/QA/iioss-j.html#iioss-jdk1-4-x
[Q] JDK1.4 では動作しないのですか?
いくつか動作しない機能もあります。
0244デフォルトの名無しさんNGNG
winで1.4.2だけどたくさん起動するとjavaw.exeがガンガンたまっていくぞ
0245デフォルトの名無しさんNGNG
やっぱりAppletやJavaWebStartだけにしか対応していないっぽい。

Eclipseとかはだめぽ
0246デフォルトの名無しさんNGNG
>>245
それはつまり、AppletやJavaWebStartを起動するJavaプラグインが
個別のAppletやJWSごとに別スレッドを立てているだけか。
きっとブラウザを複数プロセス立ち上げてそれぞれでApplet動かしたら
java.exeが複数動くんだろうな。
>>223の話と違うな。てことは223の勘違いってことでFA?
0247デフォルトの名無しさんNGNG
>>246
> きっとブラウザを複数プロセス立ち上げてそれぞれでApplet動かしたら
> java.exeが複数動くんだろうな。
いや、そうはならなかった。Applet, JavaWebStart対応アプリを複数起動しても
java.exe, javaw.exeは一つだった。
0248デフォルトの名無しさんNGNG
Windows2000とSun J2SE1.4.2_04上でJavaWebStartアプリをコンパイル&実行してますが、
新しく起動するたびにタスクマネージャのプロセスにjavaw.exeが増えていきます。
223や247の環境はどうなってるんでしょうね?
それとも、こちらの環境でのコンパイルをEclipse付属のコンパイラにやらせたのが原因?
(Eclipseは内部に独自のコンパイラを持っている)
0249デフォルトの名無しさんNGNG
> それとも、こちらの環境でのコンパイルをEclipse付属のコンパイラにやらせたのが原因?
なんで原因になるんだ?
0250デフォルトの名無しさんNGNG
Windows XP - J2SE 1.4.2_04 で試してみた。

Applet:
複数起動してもプロセスにjavaw.exeは一つもない。
ブラウザを複数プロセス立ち上げても同じ。

Java Web Start:
起動した数だけプロセスにjavaw.exeがある。

Java Application(.jarをダブルクリックして起動):
起動した数だけプロセスにjavaw.exeがある。
0251デフォルトの名無しさんNGNG
Appletはブラウザのプロセス上のスレッドで動いている。

Java Web StartやJava Applicationはそれぞれのプロセスで動いている。
1.6ではJVM上のプロセスで動くようになる。

こんな理解でよろしいか?
0252デフォルトの名無しさんNGNG
>>251
1.6 って3年後くらいか?
.NET の Longhorn みたいにあまりにも先の話はむなしい。
0253デフォルトの名無しさんNGNG
ベータが今年秋で、来年リリースだと
言ってるだろうに、ソース嫁。
0254デフォルトの名無しさんNGNG
今秋β版が登場し、2005年に一般リリース予定。だそうです。
0255デフォルトの名無しさんNGNG
まあ、最後のJ2SEだけどね。(ゲラ
0256デフォルトの名無しさんNGNG
Javaは相変わらず遅いままか
0257デフォルトの名無しさんNGNG
少し前に 1.2 から 1.4 にリプレースしたばかり。
1.6? とりあえず 3 年は仕事には関係ない。
0258デフォルトの名無しさんNGNG
>>159
public class HogeMap extends hash_map< ClassA, ClassB, ClassA::HashFunc > {}

でええやん。

たくさんあるなら同じパッケージにまとめてimportさせるよろし。
0259デフォルトの名無しさんNGNG
> public class HogeMap extends hash_map< ClassA, ClassB, ClassA::HashFunc > {}
Java と C++ が混じってるのか?
0260デフォルトの名無しさんNGNG
条件コンパイル入れてくれたらなあ。
デバッグプリントとかつけはずししたいし。
0261デフォルトの名無しさんNGNG
>>260
AspectJつかうとよろし。
0262デフォルトの名無しさんNGNG
>>260
final なデバッグフラグならコンパイル時に消去されるので問題なし。

public static final boolean DEBUG
〜
if(DEBUG){
  System.out.println();
}

まあ、大概はassertで片付く気もするが。
0263デフォルトの名無しさんNGNG
ログ使うって方法もあるんじゃない
0264デフォルトの名無しさんNGNG
>>258
ちなみにJavadocで、そのクラスの説明は何て書くの?
0265あぼーんNGNG
あぼーん
0266デフォルトの名無しさんNGNG
>>262
正確には定数式である事が条件なので final で修飾しただけではダメ。
> public static final boolean DEBUG = Boolean.getValue("debug");
とかなってる場合は
> if(DEBUG){
>   System.out.println();
> }
はコンパイル時には絶対に消去されない。
0267デフォルトの名無しさんNGNG
>>266
そういった議論がなされている時点で、
○○でやれば無問題って意見は却下だよなぁ。
しかし、>>260みたいなことをしたければ
Velocityのようなシステムを使えってのには同意だ。
別に言語仕様に含めるもんでもないからな。
0268267NGNG
Velocityは関係なかった。すまそー。

書いた後でちょっと考えたら
やっぱ>>267では問題あるような気がしてきた。
0269デフォルトの名無しさんNGNG
Logger とレベル設定じゃ、あかんのか?
0270デフォルトの名無しさんNGNG
>>269
それでいーと思われ。
0271デフォルトの名無しさんNGNG
>>269
そもそもリリース版でメソッド呼ぶコストがキニナル(そんなのが気になるような
ら、そもそもスレッドスタックが深くなりがちなJavaなんぞ使うべきではない
が)場合の話ではないかな。

もし本当に問題になるなら、デバッグ版だけAspectJつかうか、IoCコンテナで
インスタンス作ることにしといてデバッグ版だけLogging全てかますProxyでラ
ップ掛けとく、あたりがいいんじゃないのかな。
0272デフォルトの名無しさんNGNG
Logjでええんじゃん
0273デフォルトの名無しさんNGNG
>>271
>260 がコストとかを気にしてるようには見えなかったんで。
実際、JDK Logger や Log4J のパフォーマンスが問題になるのは
よほどのことが無い限り、無いと思う。
アンタが言うとおり Java を使ってるんであれば。

AOP や IoC コンテナを使えばパフォーマンスも良いかもしれないし
柔軟性も高いかもしれない。 が現時点で人によう勧めん。
0274デフォルトの名無しさんNGNG
.NETのPreJITまでパクってたのか。見境なしだな。
http://java.sun.com/j2se/1.5.0/docs/guide/vm/class-data-sharing.html
0275デフォルトの名無しさんNGNG
そんな程度のことでパクリだパクリだいってどうすうのやら。
M$もJITをパクって.NETを作ったわけだし。
0276デフォルトの名無しさんNGNG
もともとパクリだパクリだって騒ぎ出したのはJava厨だけどね。
そのJavaもパクっているってこった。
0277デフォルトの名無しさんNGNG
>>274
IBM の JRE では .NET が出る前からやってる手法だし。
0278デフォルトの名無しさんNGNG
そのうち、どちらともなくアルファベットを使うのはパクリだといいだしかねない勢いだな。
0279デフォルトの名無しさんNGNG
つまりドトネトがIBM JREをパクったわけか
0280デフォルトの名無しさんNGNG
内容を見ずに言葉の誤解があるような。
0281デフォルトの名無しさんNGNG
PreJITよりセキュアなら全然オッケー。
ノータッチデプロイメントといいドトネト製品はどうもセキュリティの脆弱性が高すぎて。
0282デフォルトの名無しさんNGNG
>>281
脆弱性が高いって変な表現だなぁ

ちなみにノータッチデプロイはJavadeいうアプレットだと思うんだけど。
セキュリティモデルはちゃんとある。
0283デフォルトの名無しさんNGNG
けどデフォルトでは有効になってないっておち?
0284デフォルトの名無しさんNGNG
>>282
M$がいっているやつのほうよ。
ドトネト厨が速度が速いからJavaWebStartのほうがいいと豪語してる。
実際のところ、セキュリティ上の問題を抱え込んでる。
0285デフォルトの名無しさんNGNG
jdk-1_5_0-beta2 age
0286デフォルトの名無しさんNGNG
C#のパクリ
0287デフォルトの名無しさんNGNG
bold が若干きれいになったような気がする…
0288デフォルトの名無しさんNGNG
>>286
じゃあ、1.5を朴ってC#++を作れ。
0289デフォルトの名無しさんNGNG
bata2のあとは何?
正規版はいつごろ?
0290デフォルトの名無しさんNGNG
>>289
> bata2のあとは何?
BugParadeで tiger-rc で検索したらいくらかひっかかるけど
tiger-beta3 で検索しても何も見つからないので、
Sun としては次は RC を出したいのではないかと推測。

> 正規版はいつごろ?
2004年の前半とかいってたよーな気もするが。
俺の考えでは beta2 -> RC まで1ヶ月、RC -> 正式版 まで1ヶ月かかると推測。
とすると最も早くても7月の終わり頃ではないかと思われ。
0291デフォルトの名無しさんNGNG
年の前半っていうことは、8月くらいに出ればいいんだよ。
後半の場合は、次の年の3月くらいまで。

あと、夏ごろリリース予定、は、夏ごろにリリース予定日が発表されるという意味。
0292デフォルトの名無しさんNGNG
demoの
jvmti っていうのが何をするものかわかりませぬ
あと、sample の jnlp も
0293デフォルトの名無しさんNGNG
>>292
JavaNetworkLaunchingProtolco
0294デフォルトの名無しさんNGNG
お前らベタ2が出てますよ
0295デフォルトの名無しさんNGNG
Beta2age
0296デフォルトの名無しさんNGNG
あおぅ、三日も前に既出だった
吊ってくる
0297デフォルトの名無しさんNGNG
Beta1もそうだったけど、ReaderのJISAutoDetectのアルゴリズムにバグがあるね。
0298デフォルトの名無しさんNGNG
>>297
これかな?
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5053096

俺は三票とも使っちゃてるので JISAutoDetect 使う人は vote しといてください。
0299297NGNG
ありゃ、登録済みか。さっき自分で登録したけど無駄だったか。
0300デフォルトの名無しさんNGNG
>>298
voteした。
0301デフォルトの名無しさんNGNG
SwingのOpenGL描画うまくいった人いる?
うちのノートのRadeonじゃろくに動かなかったんだけど。
0302デフォルトの名無しさんNGNG
yahooのチャットもできない。
0303デフォルトの名無しさんNGNG
>> 301

GeForce FXで試したけどえらい遅かった。まだ問題あるみたいね。

ttp://java.sun.com/j2se/1.5.0/docs/guide/2d/new_features.html#ogl
> Note: The latest drivers from both Nvidia and ATI have known issues
> on Microsoft Windows that might cause rendering artifacts in your application.
> We are actively investigating these driver bugs and are working
> with the manufacturers to have them resolved in future driver updates.
0304デフォルトの名無しさんNGNG
java2dの描画もopenglを使うようになったって聞いたけど
0305デフォルトの名無しさんNGNG
-Dsun.java2d.opengl=true
まだあまり効果無いよ。遅くなることもある。
0306デフォルトの名無しさんNGNG
現状でもJava2DはDirectDrawが効くモードにすると遅くなることもあるよ
つーか、Win自体がそうなんだけど
GDI(DDB)のほうがDirectDrawより速いこともあることはある
0307デフォルトの名無しさんNGNG
インストールディレクトリの名前がJDKだね。
JDKっていう言葉は1.1までで、それ以降はJ2SEかJ2SDKになってたと思うんだけどね。
0308デフォルトの名無しさんNGNG
それにしても一体何時になったら本物がリリースされるんだ?
0309デフォルトの名無しさんNGNG
β2いじってるとぱっとみβ1のJava2Dのバグが無くなってたので一安心

OpenGLによるアクセラレーションは確認してないがDirectDrawつかってる
1.4より遅くなければいいや
0310デフォルトの名無しさんNGNG
DirectDrawにOpenGLで勝つのは至難
0311デフォルトの名無しさんNGNG
速度的な物よりもDirectDrawでのアクセラレーションが限定すぎるのが現状問題
OpenGLで回転拡大縮小程度が加速されればそれなりに使いやすくなるかと

あとは通常合成の他に加算合成をいれてくれぇ〜
0312デフォルトの名無しさんNGNG
WindowsではデフォでDirectX(Draw + 一部D3D)とGDIだよ。
>>311
System.setProperty( "sun.java2d.translaccel", "true");
System.setProperty( "sun.java2d.ddscale", "true");
これはやってる?
0313デフォルトの名無しさんNGNG
>>312
311じゃないが、そんなの知らなかった!ありがとう!
0314デフォルトの名無しさんNGNG
>>312
それって1.5での話だよね?
1.4でのアクセラレーションが限定的すぎるといってるだけ
0315デフォルトの名無しさんNGNG
>>314
それって1.4の話だよね?だったら、他所行ってやれやヴォケ
0316デフォルトの名無しさんNGNG
>>315
そのつぎの話をしてるんだからいいんじゃない?
0317デフォルトの名無しさんNGNG
現状(1.4)がアクセラレーション効かないのが多い、
1.5ではどこがアクセラレーションきくかという話

もしかしてJava2d触ってるヤツって少ないのか?
1.4のアクセラレーション効く場所とか分かってないようだし

0318312NGNG
System.setProperty( "sun.java2d.translaccel", "true");
System.setProperty( "sun.java2d.ddscale", "true");
これやれば1.4でアクセラレーションをアルファの描画と
スケールにかけられるって話なんだが。

分かってないってのはどこが?
0319デフォルトの名無しさんNGNG
正確には効いてないじゃないな
その設定でアクセラレーションが効くときは背景が透過しなくなるんだよ

効くには効いてるが実用にならないってこと

あと、いかにもDirectDrawそのままですという感じでクリッピングエリアに
描画がかかるといっきにソフトウェア描画になって使い物にならない
このへんは自動的にやってほしかった

速度だけならともかくハードウェア描画になるときはアンチエイリアスが
かかるし(DirectXの設定に従ってると予想)見た目での違いが
そのままでる(ソフトになると急にゼロ補完)ので厳しい

そしてソフト描画になるとbitmaskにしないと遅くて使えない

ラッピングされているが上の苦しみというか
0320デフォルトの名無しさんNGNG
そもそもJavaでOpenGLなんて遅くて使い物にならないから無問題。
0321デフォルトの名無しさんNGNG
Javaが従来遅かったのはハードウェアアクセラレーションを積極的に使ってこなかったから。
Windowsだってすべてソフト描画だったらWindow描画だけで大変に重い。

1.4からは描画にvramを使えるようになってそれなりにアクセラレーション効くようになったが
依然限定すぎるというところ。

1.5でどれだけきくようになってるか見物といったところだろう。

でも、ネットで検索してもこの辺の資料がほとんど無いことからみんなサーバーサイドしか
やってないのが分かるね。
0322デフォルトの名無しさんNGNG
>>320
バカハケーン
0323デフォルトの名無しさんNGNG
クライアントサイドのJavaなんて、アプレット以外は死滅して久しい訳だが。
0324デフォルトの名無しさんNGNG
>>323
バカを指摘されて涙ぐみながら、Javaの死滅を語るバカハケーン
0325デフォルトの名無しさんNGNG
>>321
sun.java2d.ddscale みたいな設定の説明ってどこに書いてあんの?
0326デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.5.0/docs/guide/2d/flags.html
0327デフォルトの名無しさんNGNG
>>325
日本語の資料ではsunの一つのみかと。
でも、このシステムプロパティはセットしても1.4では事実上使い物にならないので注意すべし。
0328デフォルトの名無しさんNGNG
>>326-327
さんきゅ
0329デフォルトの名無しさんNGNG
言語界の三菱ことJavaには未来はあるのですか?
0330デフォルトの名無しさんNGNG
>>321
おいおい。その理屈はおかしいだろ。

> Windowsだってすべてソフト描画だったらWindow描画だけで大変に重い。
つまり、Window描画はハードウェアアクセラレーションを使っていると言いたいんだよな?
それはまさかDirectXアプリだけのことじゃないよな?
Windows描画ってことはGDIのAPIもハードウェアアクセラレーションを
使っているってことだろ。

> Javaが従来遅かったのはハードウェアアクセラレーションを積極的に使ってこなかったから。
そのJavaは内部でWindows描画に何を使っているんだ?
ハードウェアに直接命令を出しているわけないよな。
当然GDIのAPIだろ? ハードウェアアクセラレーションを使っているGDIのAPIだろ?
0331デフォルトの名無しさんNGNG
おい、おまいら最新のビルドが落とせるようになってますよ。
http://java.sun.com/j2se/1.5.0/snapshots/index.jsp
■ このスレッドは過去ログ倉庫に格納されています