1 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 11:50:09 ] ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、 パフォーマンスの問題は徐々にですが改善されつつあります。 しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 Java低速GUI Swing 4 (前スレ) pc8.2ch.net/test/read.cgi/tech/1140533866/ Java低速GUI Swing 3 pc8.2ch.net/test/read.cgi/tech/1121700954/ Java低速GUI Swing 2 pc8.2ch.net/test/read.cgi/tech/1095398949/ Java低速GUI Swing pc5.2ch.net/test/read.cgi/tech/1062271447/l50
552 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 20:39:46 ] 結構いると思う 5.0からは複数のプロダクトで使われてるのみてる 大手はRSAとかだけど重すぎてきつい
553 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:32:39 ] >>551 うちの奴らはGUIの作成のみに使ってる。他はEclipse使ってるみたいだが。。。 Swing流行らせるためには、まずはNetBeansが機能も知名度もEclipse並に なってもらわないとだめだね。
554 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:40:43 ] 日本だとNetBeansの動きがやや鈍いね 海外は動きが速い
555 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:49:24 ] 本屋にくだらないEclipse本があふれてるからねー 海外だとそこらへんの事情も違うのかな・・・
556 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 21:56:01 ] まずはJREをどう抵抗少なく配布するかじゃないか? 結局ここが一番のネックに感じる。 launch4j に JRE 同梱して、 「exe 叩けばOK」な形で配布すると 割と抵抗なく受け入れてもらえるんだが、 人としてこのファイルサイズはどうなのって感じが。
557 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:14:40 ] gcj使ってるひといる?
558 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:22:23 ] >>556 アプリとして有用であればランタイムが大きくても気にしない のが正解かと
559 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:49:47 ] >>556 Consumer JREがどうなるか気になるね。 軽量化してくれればJRE同梱も納得できるサイズになるかも。
560 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:56:28 ] >>558 Delphiも結構デカくなってたしなあ・・・。
561 名前:529 mailto:sage [2007/06/26(火) 23:16:16 ] Mac板から帰ってきました。 NFCとNFDについて勉強してきたんで、なんでこんなことになるか 理解できました。 ファイル名を扱うツールを作ってるんですが、ファイル名を取得して テキストエリアに表示するサンプルを作って試したら問題が再現しました。 以下、サンプルコードです。
562 名前:529 mailto:sage [2007/06/26(火) 23:16:56 ] package test; import java.io.File; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class DakuonTest { public static void main(String[] args) { try { JFrame frame = new JFrame(); JTextArea text = new JTextArea(); frame.getContentPane().add(new JScrollPane(text)); File[] files = new File(args[0]).listFiles(); for(int i=0; i<files.length; i++) { text.append(files[i].getName() + "\n"); } frame.pack(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }
563 名前:529 mailto:sage [2007/06/26(火) 23:22:03 ] 第一引数のパスのディレクトリのファイル一覧を取得し、 1行に1ファイル、テキストエリアに表示しています。 「ピクチャ.png」があった場合、 Java 5の場合、ピは1文字で表示されますが、カーソルはずれてます。 Java 6の場合、ヒ゜と表示されます。
564 名前:529 mailto:sage [2007/06/26(火) 23:34:10 ] ついでですが、濁点の入る文字が三つ以上続くファイル名でJava6の場合、 濁点がずれて表示されます。 「ががが.txt」 の場合、 「か゛かか゛゛.txt」 と見えます。 Appleのバグレポートにあげようかと思ったんですが、こんなもんどうやって 英語で説明したものか・・・
565 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:35:58 ] >>563 >>536 が言ってるフォントレンダラの問題なんじゃないかと推測。 1.5 -> Quartz という Mac 本来のエンジン使ってるので、NFD でも 一文字として表示する、 けど Java と Quartz の連携が中途半端で文字の大きさとかの情報が渡ってなくって カーソル位置がずれる。 1.6 -> Sun のエンジンは NFD は 別々の文字として表示する。 あくまで推測だから本当のところはわからんけど。
566 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:40:06 ] 1.5までは合成文字未対応だから、1.6でjava.text.Normalizerを 通すのがまっとうな解決法だろうなぁ。
567 名前:566 mailto:sage [2007/06/26(火) 23:41:05 ] いや、比較する訳じゃないし、これはあくまで描画上の問題ですね……
568 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:56:10 ] 比較する訳じゃないのに、Normalizeされた文字列を 表示しようとするのが間違い。 MacのFSのUTF-8はNormalizeされてるので、取ってきた後 deNormalizeしてから表示するべき、ってことなのかなー。
569 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:00:03 ] macオワタ
570 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:03:58 ] macは知らんがレンダラのフォントの扱いの問題? appleこういうの多いよね。
571 名前:529 mailto:sage [2007/06/27(水) 00:29:08 ] とりあえずAppleに「直せや」ってねじ込んで、駄目なら568さんの方法で 自分のコードを改修しようと思います。 その場合Java5については諦めるしかなさそうですね。 ついでなんでさらにMacのSwingについてぼやきます。 日本語キーボードを使っていると、KeyEventのgetKeyChar()とgetKeyCode()の 戻り値が矛盾します。 英語と日本語キーボードで配置が変わらない数字やアルファベットのキーなら 問題ないですが、記号だとgetKeyCode()の値がおかしいです。 たとえば@キーの場合、getKeyChar()は'@'を返しますが、 getKeyCode()はKeyEvent.VK_OPEN_BRACKET(0x5B)を返しました。 キー操作の多いアプリで、キーコードとアクションを関連づけてるんで しゃれになりません。 バグレポートは投げておきましたが、なんでこんな基本的なバグが 何年も放置されてるんだと・・・
572 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:52:29 ] おんなじ現象で困ってる人 ttp://www.starseed.ne.jp/ikemen/diary/tdiary/?date=20070622#p02
573 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:08:00 ] mac版はアップルが実装してるからなぁ・・・ VMが昔はたくさんあったが今は淘汰されてSunのばかりになったことも移植性があがった原因なんだよな しかしLinuxとWindowsは問題ないというのが歯がゆい
574 名前:デフォルトの名無しさん [2007/06/27(水) 08:54:46 ] VEでjspinnerって入力できるの?
575 名前:529 [2007/06/27(水) 09:21:07 ] >>572 すんません、それ僕です。
576 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 09:37:18 ] >>574 Choose Beanすれば何でも可
577 名前:574 [2007/06/27(水) 09:43:30 ] >>576 なるほど、ありがとうございます。
578 名前:574. [2007/06/27(水) 09:56:55 ] 連続質問すいません。 JSpinnerで入力した値を取得したらNullPointExceptionが出てきて困っています。 JSpinnerは JSpinner SP_Date = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.DAY_OF_MONTH )); SP_Date.setBounds(new Rectangle(147, 191, 113, 21)); SP_Date.setUI(new BasicSpinnerUI()); SP_Date.setModel(new SpinnerDateModel()); という感じで作成し、 String TestDate = SP_PurchaseDate.getValue().toString(); で取得しようとしているのですが…
579 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:03:28 ] setBounds・・・ゴクリ
580 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:43:57 ] >>578 JSpinnerの使い方間違ってね? ・JSpinnerのコンストラクタにSpinnerModel指定したのなら、setModel()は不要 ・SpinnerDateModel使うのなら、モデルに対してgetDate()すればDate型で値もらえる それと、変数名は小文字で始めようぜ。Javaの流儀だ。
581 名前:529 mailto:sage [2007/06/27(水) 22:24:31 ] もはやSwingと関係ないんですが、MacのJavaでかなり衝撃の事実が 発覚したんで書きます。 new File("ががが.txt").createNewFile(); で作られるファイル名が「か゛かか゛゛.txt」になります。 あと、564に書いたことは間違っていて、 「ががが.txt」が「か゛かか゛゛.txt」と見えるのではなく、 Javaで「ががが.txt」を作ると「か゛かか゛゛.txt」が出来る、という話でした。 ひどすぎる・・・ Java6の場合、 new File(Normalizer.normalize("ががが.txt", Normalizer.Form.NFD)).createNewFile(); と書くと正しいファイルが作れましたが、多分Java5だと どうしようもないんじゃないでしょうか。 スレと関係なくてすみません。
582 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:16:12 ] 普通に日本語使っただけでNormalizerが必要ってのもおわっとるな Mac対応はやめよう LinuxとWindows、Solarisだけでいいや
583 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:25:53 ] >>581 変な挙動だね…… ががががが.txt みたいに「が」の個数増やすと、どーなるんだろとか がぎぐげご.txt みたいに濁点は付いてるけど別の字の場合とか 興味があったり
584 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:28:15 ] macオワタ\(^o^)/
585 名前:529 mailto:sage [2007/06/27(水) 23:42:19 ] >>583 実験してみました。 がががが.txt -> ががかが?.txt ががががが.txt -> ががかかが??.txt がががががが.txt -> がががかかが??.txt がぎぐげご.txt -> がぎくけご??.txt がぱが.txt -> がはか??.txt(最後の「か」に半濁点付いた後に濁点があります) がぱがぱ.txt -> がぱかば?.txt(最後のばの後に半濁点が付いてます) なんか頭痛くなってきました・・・
586 名前:529 mailto:sage [2007/06/27(水) 23:44:53 ] すんません、コピペじゃ駄目みたいなんで書き直します。 がががが.txt -> ががかが゛.txt ががががが.txt -> ががかかが゛゛.txt がががががが.txt -> がががかかが゛゛.txt がぎぐげご.txt -> がぎくけご゛゛.txt がぱが.txt -> がはか゜゛.txt(最後の「か」に半濁点付いた後に濁点があります) がぱがぱ.txt -> がぱかば゜.txt(最後のばの後に半濁点が付いてます)
587 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 05:20:04 ] >>586 ソースの文字コードだけど何使ってる? コンパイルする時に、-encodingオプション指定すればよくなくね? WinのコードとMacのコードは違うしそこらへんの問題じゃなくて?
588 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 09:37:16 ] String s = "\u304c\u304c\u304c\u002e\u0074\u0078\u0074"; System.out.println(s); new java.io.File(s).createNewFile(); をwinのJDK5でコンパイルして、バイトコードをmacに持っていってJDK5環境で実行すると、 println表示は「ががが.txt」だけど、作成されたファイル名は「がかが゛.txt」になるね。 macはサブで、あまり本格的にjavaでいろいろやったりしてなかったんで、 macのjava実装がこんなもんだということにちょっとびっくり。
589 名前:574. mailto:sage [2007/06/28(木) 09:50:31 ] >>580 ありがとうございます。 getDate()ですね。 あと、変数名おかしいのも指摘していただいてありがとうございます。 またひとつ質問があるのですが、 JSPinnerで 日付のみを表示することって可能でしょうか? 2007/06/28 00:00:00 という表示を 2007/06/28 という表示にしたいのですが…
590 名前:588 mailto:sage [2007/06/28(木) 10:22:52 ] 分解後のリテラル"\u304b\u3099\u304b\u3099\u304b\u3099\u002e\u0074\u0078\u0074"だと、 ファイルとして「ががが.txt」が生成されるけど、逆にwin環境では化けファイル名になる。 もしかしてmacでNormalizerを使って正しいファイル名を生成できたとしても、 それをwinに持ってきて正しいファイル名にはならない? うちはJDK5環境のままなんでNormalizer周りを確認できないけど。
591 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 10:38:04 ] >>590 > 逆にwin環境では化けファイル名になる NFD使われた程度で化けるならWin側にも問題はあると思うけどね。 NFCが正しいユニコードってわけじゃないし。 まぁ、>>586 のはバグだろうけど。
592 名前:588 mailto:sage [2007/06/28(木) 10:46:23 ] >>589 JSpinner#setEditorを使って、 setEditor(new JSpinner.DateEditor(sp, "yyyy/MM/dd"))
593 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 10:49:40 ] 名前欄が……orz
594 名前:589 [2007/06/29(金) 00:15:08 ] >>592 ありがとうございます。できました。 でも次はデータを取得したらなぜかぬるぽになる・・・ sp.getValue().toString() とかやってみたのですが…
595 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:36:31 ] commitEdit しないと値が確定しないからぬるぽなんじゃね?
596 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:37:53 ] ソースさらさんとわからん
597 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:40:59 ] >>594 spがnullなのかsp.getValue()がnullなのか。 データ取得のタイミングが早過ぎてスピナがまだ構築されていないとか。 試しにこういうのを作ったけど普通に取得できたよ。 JFrame f = new JFrame(); f.setLayout(new java.awt.FlowLayout()); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JSpinner sp = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.DAY_OF_MONTH )); sp.setEditor(new JSpinner.DateEditor(sp, "yyyy/MM/dd")); sp.setUI(new javax.swing.plaf.basic.BasicSpinnerUI()); f.add(sp); JButton b = new JButton("A"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println(sp.getValue()); } }); f.add(b); f.pack(); f.setVisible(true);
598 名前:594 [2007/06/29(金) 00:47:44 ] >>595 >>596 ありがとうございます(涙 >>597 うわマジありがとうございます(号泣 さっそくやってみます!!
599 名前:529 mailto:sage [2007/06/30(土) 10:08:36 ] 遅レスですが。 >>587 ソースはShift_JISですが、.classファイル中では変換されちゃってNFCなUTF-8の コードで記録されてるんで関係無いっぽいですね。 MacのファイルシステムはNFDでファイル名持ってるけどNFCのファイル名渡されると NFDに変換するみたいなんですが、Java VMのそこら辺の実装にバグがあるっぽいです。 >>591 Windowsは最初っからNFCのファイル名のみを渡されるのが前提で、 NFDのファイル名をNFCに変換する機能とかが無く、NFDの濁点のフォントを持ってないんで 化けるみたいです。 まあ、仕方ないかと。 Appleに報告したら1日で返事が来て追加情報を求められました。 さすがにやばいと思ったんでしょうか。 あと、無理矢理Swingに話を戻すと、JTextComponentはNFCみたいなんで、 自分のアプリではファイル名はNFCで扱い、java.io.Fileを生成するときだけ MacではNFDに変換するようにしました。
600 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 14:12:28 ] クラスファイル内のエンコーディングはUTF-8だったのか
601 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 15:56:39 ] >>600 だからsunのJDKの実装ではReaderのデフォエンコーディングがUTF-8なんだったはず。
602 名前:デフォルトの名無しさん [2007/07/02(月) 17:46:19 ] JFrameから他のJFrameのボタンを押すことって可能でしょうか? 今AとBという画面を作って、Bに検索窓を作って、クリックした内容がAウィンドウのテキストフィールドに反映するように しているのですが、そこからさらにBウィンドウの「確定」ボタンを押すと、Aウインドウでも「確定」ボタンを押したのと同じ状況にしたいのですが…
603 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:07:29 ] 普通にそのロジックが入ったメソッドを呼べばいいだけでは? イベントの中ではそのメソッドを呼ぶようにするだけ Swingの中で押したように動作させるという意味ならそのまま命令があるけど、APIマニュアルをよく見てみよう
604 名前:594 mailto:sage [2007/07/03(火) 11:12:10 ] >>597 すいません、spがnullになってしまいます。。。 EclipseでgetJContentPane()に自前で以下のコードを追加したのですが… JSpinner sp = new JSpinner(new SpinnerDateModel()); sp.setUI(new BasicSpinnerUI()); sp.setEditor(new JSpinner.DateEditor(SP_checkDate, "yyyy/MM/dd")) ; jContentPane.add(sp); そして、ボタンを押したときのコードはこれです。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date spData = sdf.parse(SP_checkDate.getValue().toString()); なぜかspがnullになっています。。。
605 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:28:07 ] >>604 Swingの前にJavaの勉強した方がいいぞ。 >>597 のコードを、お前のコードにそのまま埋め込んでもダメ。 意味を理解しろ。 JSpinner.DateEditorのコンストラクタの引数は、 setEditorを呼び出すJSpinnerオブジェクトを指定する。 >>604 では、JSpinner.DateEditorのコンストラクタで指定したJSpinnerと setEditorを呼ぶJSpinnerが異なっている。 それと、以前のアドバイスをまるで無視してるな。ちゃんと読んでるか? SpinnerDateModel#getDate()でDate型で取得できると言われたのに 無駄にSimpleDateFormat使ってDate→String→Date変換してるし、 変数名があいかわらず変だったりするし。
606 名前:594 [2007/07/03(火) 13:46:28 ] >>604 変数名の修正が中途半端になっていました・・・すいません。 Date型で取得せずにStringで取得してたりダメダメなので、もう一度出直します…
607 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:57:06 ] >>594 がんがれ
608 名前:デフォルトの名無しさん [2007/07/03(火) 17:16:40 ] VisualEditorでのデフォルトのフォントって変更できますか? いつも太字のDialog,12を手動でぽちぽち変更しているのですが…
609 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:35:49 ] 実行時だけ素敵になれば良いのであれば >>483 辺りを参照するヨロシ。
610 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 01:14:58 ] commonsのsmtp関連って使っているひといますか? 使おうと思ったけどエンコード思うようにいかなくて javax.mailの方に手を出したら結局そっちだけで用が済んでしまい わざわざcommons使うまでもなかったっていうか・・・
611 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 01:15:44 ] 誤爆しますたスマソ
612 名前:594 [2007/07/04(水) 12:11:32 ] やっと取得できるようになりまいた!! DataModelが必要だったのですね… ちゃんと読んでなくてすいません。ありがとうございます!
613 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 12:12:23 ] >>609 やっぱりVE上でもヨロシくしたかったのですが… VE以外のGUIエディタなら可能?
614 名前:デフォルトの名無しさん [2007/07/04(水) 16:25:33 ] eclipse+swingでGUIをふんふんふん〜って作っていて、 いざエクスポートして、問題なく起動でしたと思ったら、 なぜかDBとの通信に失敗している。 エラー内容をみるとjava.lang.NullPointerException 開発時には普通に実行できたのに、 jarにエクスポートしたらDBと通信できなくなる場合ってあるのでしょうか? JDBCはちゃんとclasspathがあるとこに置いてます
615 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:09:10 ] だからその例外が発生している場所をさらさんとダメだとなんど・・・
616 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:25:13 ] >>614 Swingというかスレ違いな気がするが、一応回答。 実行可能jarから起動すると、CLASSPATHや-classpathオプションは無視される。 代わりにMANIFEST.MFのClass-Pathエントリに書くこと。 これ以上の助言が欲しかったら、その例外の発生箇所を加えて Java質問・相談スレに行け。
617 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:31:57 ] >>616 無視されないよ なにわけのわからんことを・・・
618 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:51:03 ] >jarにエクスポートしたらDBと通信できなくなる場合ってあるのでしょうか? ある
619 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 18:18:05 ] クラスが見つからなかったらふつうは、NoClassDefFoundだろ・・・ >>614 eclipse使ってるなら、jarファイルをデバッガ経由で起動してみたら?
620 名前:614 mailto:sage [2007/07/04(水) 18:56:44 ] >>616 いけましたよ!! ギガントありがとう!!
621 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:33:41 ] >>617 ttp://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/java.html#-jar ドキュメントを読む習慣を付けようぜ。
622 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:49:10 ] -jar使うのかよ 普通は使わんし、使うならマニフェストファイルに書くの普通だろ Swingと何も関係ないやんか
623 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:00:11 ] スレ違いではあるが >>622 とことん読まないね。 ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jar/jarGuide.html >デスクトップ上で JAR ファイルをダブルクリックすれば javaw -jar により JAR ファイルが自動的に実行されます。
624 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:04:36 ] ダブルクリック起動なんて使い物にならんよ オプション設定できないから
625 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:43:07 ] Windows Explorerを否定する617=622=624に脱帽
626 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:54:08 ] 最近のGUIシェルならむしろダブルクリックで 関連付けされたプログラム実行の方が一般的だろ。 自分を正当化してかみつきたいだけの馬鹿はスルーしとけよ。
627 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 11:41:18 ] >>624 lauch4j
628 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 12:00:32 ] > 625-626は624のいいたいことわかってるのかな
629 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:08:40 ] そのソフトがGUIなら起動後にオプション設定して再起動が今じゃ普通だが それを回避するためにコマンドライン引数受け付けるのもあるけど、あくまでも救済処置だろ。 今となっては。
630 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:27:57 ] >629は、わけがわかってないと見た。
631 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:43:14 ] >>629 たぶんアプリケーションのオプションではなくJVMオプションの類の話をしてると思われる
632 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 14:47:03 ] 関連付けでオプションも設定しておけばいいんじゃね?
633 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 14:53:28 ] 起動するときにアプリにオプションを渡さないといけないのはCUIでGUIではあまりないと思うが
634 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 14:57:18 ] JavaのVMは別
635 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 15:07:49 ] オプションといってもVMのオプションね。 システムプロパティを指定する-Dや、 VMの種類を選択する-clientや-serverとか、 メモリ割当プールの最大最小サイズを指定する-Xmxや-Xmsなど。 今のところ、実行可能Jarをダブルクリックでは、 これを個別指定することはできない。 まあただ、-clientや-serverはCPUやアーキテクチャによって 自動選択されるし(おおよそではあるけど) -Xmxと-Xmsも、Java6からは規定値が64MB/2MBではなくなり、 物理メモリに応じた値に変わるようになった。 ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html -Dやその他のVMオプションは無理としても、 実行可能Jarの手軽さを全否定するほど、使えないってことは無いと思う。
636 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:26:11 ] GUIアプリほどオプションが必要。 SwingやJavaの動作が速くなったとはいえ、デフォではGCによる停止時間が長すぎるので 使い物にならないのさ。 あくまでも快適に動くアプリはチューニングされたオプションが前提。 マニフェストファイルにオプションがかけないのでここは厳しいんだよな。 WebStartもメモリだけしか対応してないので厳しい。 普通の人は2,3秒もGCでGUIがとまってたら使わないと思う。
637 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:28:14 ] >>635 6では単純なサーバークラス検出動作からかわったの?
638 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:28:25 ] わかった。 VMのチューニングしないとまともに動かないような、リッチでヘビーなGUIアプリはお前に任せる。 俺は、VMのチューニングが不要な、チープでライトなアプリ作って、実行可能jarで配布するよ。 ところでV2C使ってると、クライアントサイドJava & Swingもいいもんだと思えてくる。 もっとも、あれは作者さんのがんばりに寄るところが大きいのかな。 HTMLビューアは自作してるそうだし。
639 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:25:02 ] V2CだってデフォだとGC時にあほみたいに重くてつかえんだろ・・・
640 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:46:47 ] GCが一瞬で終わるウチの環境はハッピーなんだな。 ガンガレ639。お前には未来とVMチューニングがある。
641 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 02:48:48 ] デフォでGCで2,3秒とまるって、どんなアプリをどんな環境で使ってるんだろう? Swingで最重量級といえるNetBeansでも、そんなに止まることはないが。
642 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 07:00:10 ] とりあえずOSはWindows 98だろうな。
643 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 20:16:52 ] IntelCore+XPでNetBeans5.5.1も2,3秒とまるよ コンカレントGCに変更すれば大丈夫だけど
644 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:46:12 ] メモリがバカみたいに少ないんだろうか
645 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 22:02:26 ] メモリは1.5GBだーね glassfish立ち上げたりDB立ち上げると1GBじゃたりないよね NetBeansはデフォだとまったくメモリが足りないから増やしてるさ もしかしてみんなヘビーにNetBeansつかってないの?
646 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 23:37:13 ] ヘビーに使ってるよ。最近2GBじゃ足りない。 いや、コンカレントにするより、分散GCの周期を1分から延ばすのと スループット並列GCにする方が快適だったりするかもしれないぞ。 でもIDEのVMとアプリケーションサーバのJVMは分けるよ。 違う性質のアプリなんだから分けた方がチューニングしやすい。 って何の話になってるんだ。 V2Cは、多分に作者さんのコーディングの腕で快適になってるんだと思う。
647 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 23:54:15 ] >>646 遅いのはFullGCだけだからFullGCがでなければそれでいいのさ GCチューニングはJavaでゲーム作ったりしてテストしてるから大丈夫 5ms以下にしていれば体感的に問題はないかな メモリが多いとパラレルがわりと有効だけど、パラレルにするとスループットはいいけど、 レスポンスが大幅に低下するから、使う場面が結構難しい マルチコアだからパラレルでいいというよりはGC用にずっとコンカレントだけ動かしてるほうが いい場合も多いかな まぁ、バックグラウンドコンパイルとかもあるし、AP鯖やDB鯖も起動するからIDEだけにフルにまわすわけには行かないからね 最近はVM系もよく使うからなおさらかな ところでAP鯖とIDE、デバッグ起動とそれぞれVMは自動的に分かれるよね? Tomcatだってデフォだとメモリ少ないし-Xmxいれないとまずうごかん あーSwingがもはや関係なくなってしまった
648 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 11:24:32 ] >645 glassfishとJavaDBはNetBeansと違うVMで走るよ。
649 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:59:29 ] >>648 何を当たり前のことを
650 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 15:41:58 ] glassfish走らせようがJavaDB走らせようが、GCには関係ないってことだ。
651 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 16:00:02 ] >>650 マルチプロセスでの動作を考慮ってことだろ。
652 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 19:59:56 ] とりあえずSwing関係ねーから他所行けや