1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
561 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:05:22 ] 語りたい、お年頃なのさ 確かに現場の意見は大切だと思うよ? 言われた通り動く実装者云々と何の関連もないけど
562 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:05:45 ] 少なくとも言われたとおりに動かないのはそもそも駄目だろ その上で何か提案するなら分かるが
563 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:14:29 ] 25歳と見た
564 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:38:55 ] >>557 なにこの糞SEが言いそうなテンプレその1は。 PGの仕事じゃないし。
565 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:45:55 ] 仕様にないコード書いたら火の付いた煙草を押し付けられるのが基本
566 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:49:11 ] 過去にコメントアウトした行を全部消して、新しく書き直しさせてくださいよ。・゚・(ノД`)・゚・。
567 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:55:04 ] 履歴管理に使ってるんだからダメだ
568 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:58:24 ] 規制解除されてやっと書き込みが戻ってきた このスレ死んでるのかと思ったよ
569 名前:545 mailto:sage [2009/11/05(木) 12:30:29 ] なんか呼ばれた気がする >>548 アルファブレンド値ですね。 ちょっと調べてみてますが、現状まだうまくいって無いです >>557 50%も何も現状は透明化できてないんですよ… なにかいい案出してくれませんかね? >単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。 >社内の人間からあいつ使えないなって言われてリストラされない様になw 自称給料泥棒の俺に抜かりは無かった
570 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 12:31:29 ] 最低q
571 名前:デフォルトの名無しさん [2009/11/05(木) 13:02:58 ] 下の式を実行するとokが表示せず、boの結果はfalseになるんですが、 理由がわかりません。 下のif文はまず、括弧のboにtrueが代入され、 次に&&と|ですが、 |が優先順位が高い為、先に実行。 最後はif(false && true){〜という形になり最終的にはfalse。 結果if内のokは表示されないが、 その下のboはtrueが出力と考えたんですが、 間違ってますでしょうか? すいませんがアドバイスよろしくお願いします。 boolean bo = false; if(false && (bo=true) | true ){System.out.println("ok");} System.out.println(bo);
572 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:36:54 ] よーわからんけど &&、||と&、|の違い &&、|| と&、|において演算子が意味するところは同じですが、 その振る舞いには明確な違いがあります。 & &と&は左オペランドと右オペランドのいずれもがtrueの場合trueを返します。 このことは左オペランドがfalseの場合は右オペランドがtrue、falseにかかわらずfalseを返すとも言えます。 &&は左オペランドがfalseの場合右オペランドを実行せずにfalseを返します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ &は左オペランドがfalseの場合右オペランドを実行した後、falseを返します。
573 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:59:57 ] >>569 www.ujihara.jp/iTextdotNET/examples/files/softmask.pdf
574 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:27:20 ] >>573 できたできた。
575 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:08:10 ] >>549 私もそんなポインがある人とお知り合いになりたいです。 ぜひ紹介してください。お願いします。
576 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:15:12 ] ポインは〜 赤ちゃんが吸うためにあるんやでぇ〜
577 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 20:19:56 ] 俺が吸うためにあるんだ!
578 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 10:44:39 ] ポインタは馬鹿には無理。 何か現場の人間に虐げられてる糞PG多そうだなw
579 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 14:58:33 ] 質問させてください。 今JavaでのGUI開発について勉強するために計算機アプリケーションを 構築中なのですが、テキストフィールドにWindowsのデフォルトで 表示されるポップアップ(コンテキスト)メニューが表示されてしまい、 意図しない動作をさせることができるようになってしまっています。 そのテキストフィールドのポップアップメニューにnullを当ててしまうと 例外が発生してしまい、removeメソッドでポップアップメニューを消去しようとしても デフォルトのMenuComponentをどう指定していいのか解らず、 メニュー項目を定義していないポップアップメニューをテキストフィールドに設定しても RuntimeExceptionが発生してしまいます。 今回はGUI構築に初めて手を付けるということで、敢えてAWTのみで構築しています。 Swingで構築すればこの辺りは気にしなくても良い様なのですが・・・ AWTでポップアップメニューが表示されないようにすることはできないのでしょうか? 長文駄文失礼しました。
580 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 16:10:58 ] >>177 プレーンテキストでもダメだった… そこでは無いみたい
581 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 16:14:34 ] 誤爆乙
582 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 18:37:48 ] JFS+Faceletsで <my:getUrl urlVal="url" /> <h:outputLink value="#{url}">文字列</h:outputLink> のところ、urlが空の場合には<h:outputLink>をはずすような処理をするにはどうすればよいでしょうか? getUrlはカスタムタグハンドラでurlをセットする処理を行います。 普通はJSTLを使うのでしょうか?
583 名前:582 mailto:sage [2009/11/06(金) 18:45:01 ] el式とh:outputLinkのdisabled属性を使いできました。すみません。
584 名前:デフォルトの名無しさん [2009/11/06(金) 21:42:53 ] FLASHのおかげでJAVAを使う機会が大幅に減った
585 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:01:31 ] Flashって言語でないから習得むずかしそう
586 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:04:12 ] FlashにもActionSciptがあるジャマイカ
587 名前:デフォルトの名無しさん [2009/11/06(金) 22:50:37 ] よく知らないんだけど、Actionscriptだけじゃ完結しないんじゃない それともFlashがRAD的位置づけになるの
588 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:51:20 ] Flashとjavaてどう被るんだ? アプレットの頃は激重になるってかなり嫌われてすぐに廃れたが。 flashてそのあとだろ。
589 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:10:30 ] test
590 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 02:23:35 ] フラッシュはなんか違う。後頻繁にバージョン上がるので後の手間もかかるよ。企業だとフラッシュ無効にしてる所も有る。 アプレットはブラウザの制約受けるからな。ちゃんとjavaアプリ配布した方が自由度高い。
591 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 05:52:28 ] jnlpですな
592 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 08:29:47 ] jwsだろ。どっちかというと
593 名前:デフォルトの名無しさん [2009/11/07(土) 12:52:26 ] JAVAで結果を返して、Flashで表示がカコイイわぁ
594 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:24:33 ] com.sun.facelets.tag.TagHandler#applyでServletContext#getRealPath の様にファイルの絶対パスを取得するスマートな方法はなんですか? 海外のWEBページなどでは FacesContext fctx = ctx.getFacesContext(); ServletContext sctx = (ServletContext)fctx.getExternalContext().getContext(); String rpath = sctx.getRealPath(path); のようにやってますけど。
595 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:39:32 ] 質問です javaプログラムを起動してから1日ぐらい放置して、急に付加が高い処理を始めると処理が急に遅くなるんですけど、 どういう原理でそうなるんでしょうか?
596 名前:595 mailto:sage [2009/11/07(土) 14:58:02 ] 解決しました。 詳しいことは書けませんがGCが悪さしているようです。
597 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:58:05 ] >>595 不可が高いからじゃね?
598 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:58:47 ] (;´∀`) おういえ
599 名前:595 mailto:sage [2009/11/07(土) 15:00:13 ] しかし、GCの挙動を意図的に制御しようとするとコードが煩雑になりますねぇ・・・ JavaやめてC#で行くことにします;;
600 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:00:53 ] JVMの実装依存だけど 起動時のコマンドラインオプションでGCの処理をかえられます どれがいいとはいえないけど,試してみたら?
601 名前:595 mailto:sage [2009/11/07(土) 15:06:55 ] >>600 検討済みです。 しかし、どれも適切ではありませんでした。
602 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:10:22 ] えっ検討してたのに再確認した・・の・・・? とりあえず打つ手が無いのならしかたがない
603 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:39:31 ] Cでも負荷高いのは変わらないと思うなw
604 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:46:06 ] 1日放置後に発現する問題をどうやって20分足らずで解決したのかを知りたい
605 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:28:35 ] gc問題をこの短時間で解決し、さらにC#へ移植(?)をあっさり決断、スーパーPGすぐるwww
606 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:34:17 ] 俺GC問題だったら原因究明に1週間〜3ヶ月の工数必要だわ
607 名前:595 mailto:sage [2009/11/07(土) 18:31:36 ] 1日放置って書きましたけど、実際には5分で起きました。
608 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:43:48 ] 5分でパフォーマンス悪化する糞コード書いたのか。 一般的にJITが働けば最終的に速度は安定するんだが5分後から1日後でパフォーマンス変わらんとは・・・。
609 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:47:27 ] >>69606 今すぐ辞表を書いてくれ
610 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:56:16 ] >>69606 お前はクビだ
611 名前:595 mailto:sage [2009/11/07(土) 18:57:09 ] ん・・・勘違いされてるけど面倒くさいからもういいですよ。 すでに解決したことだし、ここで質問して解決できる程度の問題でもなかったですし。 おそらく詳細を書けば分かる人もいるかもしれないけど、急いでいるのでそこまでしません。 質問してごめんなさい。
612 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:58:51 ] ソースの先頭のライセンス表記を編集したいのですが、一括で自動編集してくれるようなものはないでしょうか?
613 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:12:59 ] プログラマならそんなもん作れよw
614 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:24:46 ] 作らんでもgrepで一発だろw
615 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:25:47 ] 1ヶ月もありゃ余裕で作れるだろう
616 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:30:57 ] 悪いがWindowsなんでgrepなんぞ使えない
617 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:33:51 ] >>615 いいからおまえは辞表書けw
618 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:41:24 ] 正規表現でやっちゃうとか不安じゃないですか? まぁそれなら作ることにします。 失礼しました。
619 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:01:44 ] EJBの質問です。 session beanをtransfer objectに積んで ネットワーク越に他のEJBサーバに転送しても大丈夫ですかね? remote・local・statefull・statelessによって違う場合は そのへんもよろしくお願いします
620 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:20:05 ] 面倒なことをすれば大丈夫です
621 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 23:11:00 ] 普通やらないってことだな
622 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 23:17:18 ] EJBは糞
623 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:10:26 ] あの、質問なんですけど、grepでどうやって置換するんですか?
624 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:16:19 ] grepじゃ無理だろ>>614 の勘違いだろ edやsedやawkとかならできそう windows用もネットに転がってる
625 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:20:21 ] grepして置換するテキストエディタなんて五万とあるだろ
626 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:24:31 ] 説教くさいおっさんに聞こえるかもしれんが まじに後方参照程度までの正規表現は使えるようになっておいたほうがいいぞ。 そういったテクニックに救われる場面が必ず出てくる。
627 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:25:37 ] grepして置換する機能を持ったテキストエディタのことを、普通grepとは呼ばない。
628 名前:デフォルトの名無しさん [2009/11/08(日) 01:00:40 ] シンボルを見つけられませんというエラーが出ます 助けてください // <applet code="RotateEx.class" width="900" height="600"></applet> import java.awt.*; import java.io.*; import javax.swing.JApplet; import javax.imageio.ImageIO; public class RotateEx extends JApplet {Image kin, fu, sky; public void init() {try { kin = ImageIO.read(new File("images/kin.gif")); fu = ImageIO.read(new File("images/fu.gif")); sky = ImageIO.read(new File("images/sky.jpeg")); } catch (IOException e) {throw new RuntimeException(e);}} public void paint(Graphics g) {int x =270, y = 123; Graphics2D g2 = (Graphics2D)g; g2.drawImage(sky, 0, 0, 900, 600, this); for (int i = 0; i < 4; i++) {g2.drawImage(kin, x-20, y, this); g2.rotate(Math.PI/4, x, y);}}}
629 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:09:53 ] >>628 ふつーにうごいたぞい
630 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:18:34 ] 何度コンパイルしても Graphics2D g2 = (Graphics2D)g のところでシンボルが見つけられません というエラーが出るんです・・・
631 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:31:42 ] import java.awt.Graphics2D; のように*使わず書いてみれ それでダメならまずはJavaのバージョンを書け
632 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:33:33 ] ちょっとJavaファイルをコンパイルするときに ちゃんと「書き直したJavaファイル」をコンパイルしているか確認してみなよ
633 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:28:46 ] 5秒以上前に作ったjavaクラスファイルは実行せずにエラーになるランチャをjavaで作ればいいんじゃねw
634 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:29:13 ] どれも確認しましたがコンパイルできませんでした バージョンは大学のPCなので新しいと思います (今年入れ替えたばかりのPCです)
635 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:36:10 ] 悩んでないでeclipseダウンロードしとけw
636 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 09:59:47 ] 新しいpcなら動作実績無いからウマく逝かなくて当然だなw
637 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 11:17:18 ] >>628 それ以前に、swingでpublic void paint(){}をオーバーライドしちゃダメな気がするんですけど
638 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:06:51 ] 正確にはオーバーライドしたら super.paint(g) だっけ。
639 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:44:28 ] >>638 swingはpaint()をオーバーライドするんじゃなくて、 paintcomponent()するべきだと思うんだけど
640 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:01:28 ] HTMLに独自のタグを追加して表示したいのですが、何かいい方法はありませんか? ひとまず、JEditorPaneを使ってパースしようとしましたが遅くて遅くて 今は、javax.swing.text.Document辺りを調べています
641 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:26:55 ] なにそのw3cに真っ向から対決する姿勢 cssでやりなさいよ
642 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:33:29 ] >>640 xmlなら可能
643 名前:628 mailto:sage [2009/11/08(日) 14:01:58 ] すみません、解決しました どうやら同じディレクトリに Graphics.java Graphics.class というファイルがあったのが原因のようです
644 名前:628 mailto:sage [2009/11/08(日) 14:03:49 ] 訂正 Graphics→Graphics2D
645 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:15:14 ] >>643 開発環境使ってない人にはよくある間違い(ファイル名≠ファイルパス が理解できない)だから もし周りにも同じような人いたら注意してあげなよ・・・
646 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:21:50 ] 俺の耳の裏、オマンコのにおいがする
647 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:46:32 ] >setFocusCycleRoot(boolean focusCycleRoot) >このコンテナがフォーカストラバーサルサイクルのルートであるかどうかを設定します。 java.awt.Containerのjavadocを読んでいて、この様な説明が書いてあったのですが フォーカストラバサールサイクルとは何の事なのでしょうか まったく意味がわかりません。教えてエロい人!!
648 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:15:04 ] TAB キーでフォーカスが移動するコンポーネントツリーのルート 例えば JDesktopPane を使った MDI なアプリケーションで、 JInternalFrame の中のコンポーネントにフォーカスがある場合、 TAB キーを押すとその JInternalFrame 内の別のコンポーネントにはフォーカスが移るけど、 別の JInternalFrame にまでフォーカスが移ったら不自然だろ その場合 JInternalFrame がフォーカストラバーサルサイクルのルートになると、 TAB キーをいくら押してもそこから外へはフォーカスが出ない
649 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:15:44 ] 英語分からんのか?
650 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:28:29 ] 分からん人もいるだろう 辞書を引く努力すら放棄してる人が大半のような気はするけどな
651 名前:647 mailto:sage [2009/11/08(日) 20:31:26 ] >>648 なるほど、わかりました。ありがとうございます >>649-650 一応、辞書を引きながら調べては居るものの、根本的に文法がわからないので まったく意味が理解できず
652 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:23:35 ] これは文法関係ないぞ。 技術英語なんざカタカナ英語に訳してそのまま繋げれば読める
653 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:41:00 ] 読むのと理解するのは違うけどなっ フォーカストラバーサルサイクルなんて繋いで呼んだだけだ^p^;
654 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:02:26 ] Even English speakers won't understand jargon without proper background knowledge.
655 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:16:27 ] 質問です。 Double-Checked LockingはJavaではちゃんと動かない、という話は理解しているのですが、 例えば、以下のようなコードならば意図どおりに動作するでしょうか? class X { private Y instance = null; void method() { if (this.instance == null) { synchronized (this) { Y __instance = Y.getSingleton(); // インスタンス化されてるけど初期化されてないインスタンス if (this.instance == null) { __instance.init(); // Y固有の初期化処理 this.instance = _instance; } } } } }
656 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:18:43 ] EJBに関して質問です リモートセッションビーンを呼び出したいのですが、lookupでこけてしまいます。 jndi-viewからセッションビーンを確認できないので、JNDIのどこかが誤っている と思います。 JBoss4.2(EJB3.0)なので、ejb-jar.xmlやjboss.xmlは不可欠でないと思うのですが、 それは正しいでしょうか?
657 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:51:22 ] >>655 いいえ __instance.init(); が this.instance = _instance; よりも後に実行されると (メモリアクセスは様々な要因で勝手に並び替えられる)、 他のスレッドから未初期化のインスタンスが見えてしまう
658 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:22:19 ] JavaのStringは内部的にUnicodeでエンコードされていると聞いたのですが、 内部的にUTF-16になるのでしょうか?
659 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:27:41 ] はい
660 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:31:07 ] >>658 Unicodeであってるよ。 全ての文字を16ビット値で表現可能とするために、 UTF-16と呼ばれるエンコーディング形式を定義しているだけ。 UTF-16では0x0000〜0xffffの間の値は直接Unicode文字に対応してる。
661 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:38:58 ] >>657 なるほど。 あと、もう一点伺いたいのですが、__instance.init(); を init(__instance); にしたり、 instanceフィールドをvolatileで宣言した場合でも同様になるでしょうか?
662 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:43:38 ] instanceがvolatileなら大丈夫 volatileには同期効果がある
663 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:51:55 ] >>662 私の理解では、volatileは「各スレッドから常にその変数の最新の値が見えるように強制する」もの なのですが、最適化時に順序の入れ替えを禁止する効果もあるのでしょうか。
664 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 02:46:10 ] はい えーと・・・・・・ここかな java.sun.com/docs/books/jls/third_edition/html/memory.html#17.4.4 抜粋で > Synchronization actions induce the synchronized-with relation on actions, defined as follows: > ・A write to a volatile variable (§8.3.1.4) v synchronizes-with all subsequent reads of v > by any thread (where subsequent is defined according to the synchronization order). > If we have two actions x and y, we write hb(x, y) to indicate that x happens-before y. > ・If x and y are actions of the same thread and x comes before y in program order, then hb(x, y). > ・If an action x synchronizes-with a following action y, then we also have hb(x, y). あるスレッド内でvolatileへの書き込みより前に起きることは、 別のスレッド内でそれを読み出した後に起きることよりも前に起きる
665 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 07:48:47 ] >>664 なるほど、ありがとうございました。
666 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:54:05 ] Webアプリを作っていて、JSFと普通のサーブレットを使っています。 /faces以下にアクセスしたらFacesServletで、それ以外にアクセスしたら自前のサーブレットで処理したいと思っているんですが、 それぞれのサーブレットのURLパターンを /faces/* と /* にしたところ、すべてのリクエストが自前のサーブレットに回ってきて、 /faces/index.jspのようなリクエストでもFacesServletで処理されなくなります。 どのようにすればこれを正しくわけることができるのでしょうか。
667 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:33:50 ] 0〜30の数字の中からランダムに5つ重複なしで選びたいんですが どうやったらいいでしょうか? もしそういう関数があれば教えてください
668 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:46:18 ] 配列に0〜30まで数字を入れる 乱数でかき混ぜる 前から取り出す ( ^ω^)おっ おっ おっ
669 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:47:53 ] 宿題か何かかよ
670 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:54:06 ] そうです宿題です すいません宿題スレっていうのがあるんですね そちらに行きます ありがとうございました
671 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:59:05 ] 668で解決じゃないの
672 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:05:41 ] 宿題は2ちゃんねらにやらせる時代
673 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:26:01 ] import java.util.Vector; import java.util.Map; import java.util.HashMap; public class Main { public static final int MAX = 999;//初期値 public static final int SIZE = 5;//頂点の数 public static int path[][] =//隣接行列 { {MAX, 50, 80, MAX, MAX}, {MAX, MAX, 20, 15, MAX}, {MAX, MAX, MAX, 10, 15}, {MAX, MAX, MAX, MAX, 30}, {MAX, MAX, MAX, MAX, MAX}, }; public static void dijkstra(int start, int end, Vector<Integer> allNode) { Map<Integer, Integer> root = new HashMap<Integer, Integer>(); int[] distance = new int[SIZE]; boolean[] kakutei = new boolean[SIZE]; for (int i = 0; i < SIZE; i++) { distance[i] = MAX; kakutei[i] = false; } kakutei[start] = true; distance[start] = 0; for (int i = 0; i < allNode.size(); i++)
674 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:26:42 ] { root.put(i, start); if (kakutei[i] == true) continue; if (path[start][i] != MAX) distance[i] = path[start][i]; } while (kakutei[end] == false) { int kakuteiIndex = -1; for (int i = 0; i < allNode.size(); i++) { if (kakutei[i] == true) continue; if (kakuteiIndex == -1) kakuteiIndex = i; else if (distance[i] < distance[kakuteiIndex]) kakuteiIndex = i; } kakutei[kakuteiIndex] = true; for (int i = 0; i < allNode.size(); i++) { if (kakutei[i] == true) continue; if (distance[kakuteiIndex] + path[kakuteiIndex][i] < distance[i]) { distance[i] = distance[kakuteiIndex] + path[kakuteiIndex][i]; root.put(i, kakuteiIndex); } } }
675 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:27:09 ] なんなんですか
676 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:27:37 ] for (int i = 0; i < distance.length; i++) { System.out.println(i + " までの最短距離は " + distance[i]); } int r = root.get(end); StringBuffer sb = new StringBuffer(); sb.append(end); while (true) { sb.append(r); if (r == 0) break; r = root.get(r); } sb.reverse(); System.out.print(start + " から " + end + " までの最短ルートは"); for (int i = 0; i < sb.length(); i++) { System.out.print(" ==> " + sb.charAt(i)); } } public static void main(String[] args) { Vector<Integer> allNode = new Vector<Integer>(); for (int i = 0; i < SIZE; i++) { allNode.add(i); } dijkstra(0, allNode.size() - 1, allNode); } }
677 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:28:18 ] やっていることをコメントアウトで解説してくれませんか?
678 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:30:37 ] よく見てないけどダイクストラ法か何か?
679 名前:673 mailto:sage [2009/11/09(月) 17:32:23 ] はい、ダイクストラ法です
680 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:33:08 ] 質問です。 ArrayList listに list.add(new Integer(10))と追加してあるんですけど このlistから元の数字の10を取り出すにはどうすればいいでしょうか? (int)list.get(0)みたいなことをやりたいんですがキャストできませんと言われました。
681 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:33:43 ] Integerにキャストすればおk
682 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:40:03 ] >>681 The method Integer(Object) is undefined for the type ○○○(自分で作ったクラスの名前) と言われました・・・
683 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:42:51 ] list.get(0).intValue()
684 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:43:29 ] あごめんなさい キャストじゃなくてInteger(list.get(0))で新しく作ろうとしてました キャストならできました! ありがとうございます
685 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:45:23 ] >>683 これだとできませんでした
686 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:40:07 ] ((Integer) list.get(0)).intValue()
687 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:06:48 ] import java.awt.*; import java.awt.event.*; import javax.swing.*;; public class renshu3 extends JApplet { private JLabel lb; private JPanel pn; private JRadioButton rb1,rb2,tmp; private ButtonGroup bg; public void init() { lb=new JLabel("いらっしゃいませ。"); pn=new JPanel(); rb1=new JRadioButton("白", true); rb2=new JRadioButton("黒", false); bg=new ButtonGroup(); bg.add(rb1); bg.add(rb2); pn.add(rb1); pn.add(rb2); add(lb, BorderLayout.NORTH); add(pn, BorderLayout.SOUTH); rb1.addActionListener(new SampleActionListener()); rb2.addActionListener(new SampleActionListener()); }
688 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:07:29 ] class SampleActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { tmp=(JRadioButton) e.getSource(); lb.setText(tmp.getText() + "を選びました。"); if(){ lb.setForeground(Color.white); } else{ lb.setForeground(Color.black); } } } 質問です。ラジオボタンが2つあって、それぞれ押すと色が変わるようにしたいんですが ifの括弧に何を入れればいいんでしょうか。
689 名前:デフォルトの名無しさん [2009/11/09(月) 22:10:53 ] trueかfalseになる様な式を入れればいいんじゃないでしょうか
690 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:18:04 ] >>688 解らないならばAcionLisnerを2種類用意しろ
691 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:21:39 ] 「〜を選びました」って出せるのにif文の内容が判らないとは、これいかに?
692 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:25:12 ] その文は最初からありましたので
693 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:53:24 ] ttp://www.open-tec.info/modules/download/index.php?cid=1 こちらのサイトのWindows版を入手したものの 使い方が分からずにいます。 java実行環境があれば実行できるようですが、 >>3 のリンク先 ttp://www.java.com/ja からjavaをインストールしましたが、どのように使うのか分かりません。 現在インストールしているのはJava Version6 Update 17です。 根本的なことが理解できていないような気がしますが どなたかご教示下さい。
694 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:11:54 ] ここはプログラミングの板であってソフト板じゃない
695 名前:687 mailto:sage [2009/11/09(月) 23:14:32 ] 括弧にtrueを入れてみたところ、白にはなりましたが黒にはなりませんでした。 ttp://www.dotup.org/uploda/www.dotup.org346945.jpg どうか教えてくださいませんか。
696 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:22:59 ] 質問なのですが三つの座標が一直線に並んでいるか判定するにはどうすればよいでしょうか
697 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:26:57 ] 面倒なら目視すればいいんじゃないんでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:37:05 ] >>696 点A,B,Cとして、二点間A-B,A-Cの傾斜を求めて一致するか判定。なお正負には注意。
699 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:39:27 ] >>695 >>690 に書いてある通り、クラスを2つ作ればいいだけの話だと思うんだけど IDEを使わないで書いたコードなので、たぶんタイプミスがあると思う↓ rb1.addActionListener(new RB1ActionListener()); rb2.addActionListener(new RB2ActionListener()); private class RB1ActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { /* 白の時したい処理を書く */ }} private class RB2ActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { /* 黒の時したい処理を書く */ }}
700 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:54:58 ] 教えていただいてて申し訳ないですが、さっぱり分からないのでtrueのまま提出することにします。
701 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:08:54 ] >>700 trueのかわりに「rb1.isSelected()」って書いとけ!
702 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:15:08 ] あきらめろ
703 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:16:14 ] 理屈が分からなくても動きさえすれば無問題 そんなふうに考えていた時期が俺にもありました
704 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:41:49 ] >>701 激烈之謝謝!
705 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 10:16:20 ] JEditorPaneにHTMLを読み込んだ後に、HTMLを追加できないですかね? <html><body> <!-- HogeHogeな内容 --> <!-- ここに新しく追加 --> </body></html>
706 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 16:39:23 ] Faceltesのタグファイルについてです。 // タグファイル <ui:composition><f:convertDateTime timeZone="JST"/></ui:composition> // 使用側 ... <my:convertDateTime dateStyle="full" /> ... のように元のタグ(f:convertDateTime)を利用してカスタムタグ(my:convertDateTime)を作る場合、カスタムタグ の属性値を委譲先のタグの属性に渡すにはどうやると良いでしょうか? 上の例ですと <ui:composition><f:convertDateTime dateStyle=#{dateStyle} timeZone="JST"/></ui:composition> とすれば可能ですが#{dateStyle}が空の場合に問題となります。
707 名前:705 mailto:sage [2009/11/10(火) 19:03:34 ] 自分で解決してしまいました HTMLEditorKitの使い方を間違えていたようですorz
708 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:32:05 ] コレクションワークフレームについて質問です。 現在「Javaの道」で勉強中なのですが、 ttp://www.javaroad.jp/java_collection2.htm 上記URLの例1の中で下記1.のような記述があります。 これは下記2.と同じ意味なのでしょうか。 2.でもエラーはでませんでした。 addメソッドの中に new ** というように記述するのを初めてみたもので。 メモリ確保やニュアンスがちがうのでしょうか。 1.(Javaの道 記載コード void addhead(List exList) { for (int i = 0; i < 10000; i++) { exList.add(0, new Integer(i)); } } 2.(自分で書き換えたコード void addhead(List exList) { for (int i = 0; i < 10000; i++) { Integer it = new Integer(i); exList.add(0, it); } }
709 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 10:44:54 ] 一緒です System.out.println(123 + 456); と int x = 123 + 456; System.out.println(x); が一緒なのと同じ理屈
710 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:03:58 ] >>708 こっちは同じコードだけど >>709 こっちは最適化で変わるんじゃ・・
711 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:59:15 ] >>708 一旦変数に参照させてから使わないといけない、という決まりは無い。 String s = new SimpleDateFormat("yyyy/MM/dd").format(new Date()); こういうのもあり。
712 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:08:19 ] ダブルバッファリングのことについて質問です 「Swing ではJRootPaneとそのコンテンツペインそれからJPanelクラスがダブルバッファリングを有効にしています」 というような記述を見つけたのですが、JPanel上に描画を行うならダブルバッファリングを行う必要はないのでしょうか 一般公開されてるソースを参考にJAVAでゲーム作成の勉強をしているのですが、 JPanelを使っているのにダブルバッファリングを使っていてちょっと混乱しています。
713 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:14:57 ] そのソースとやらがアクティブレンダリングやってるなら必要。やってないなら不要。
714 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:39:25 ] 自分で図形が動いていくプログラムを書いて、表示が乱れるかどうかやってみりゃいいんじゃね。
715 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:46:47 ] C++ 使いです、C++ では、コンストラクタで例外を投げないというのがセオリーなのですが java も同様に考えていいでしょうか?
716 名前:712 mailto:sage [2009/11/12(木) 20:04:39 ] >>713 返答ありがとうございます。 アクティブレンダリング(自前の描画メソッド?)が必須なときがいまいち分かってないのですが、もう少し調べてみます。 >>714 返答ありがとうございます。 自分でも色々実験して検証してみます。
717 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:14:52 ] >>715 Java では普通に例外を投げる。
718 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:47:27 ] そもそもリークするからとか言い出すC++厨が頭沸いてる。 コンストラクタで引っかかるようなモン、処理継続させたって無駄じゃね?
719 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 21:12:54 ] >>715 です >>717 郷に入らずんば、郷に従え として、例外を投げても後始末してくれるという具合に考えます。 >>718 あまりにも思考が短絡的ですね。
720 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:03:04 ] ふーん、 ・コンストラクタに置くしかなくて、 ・でもエラーが起きても処理を継続させないといけない って状況って何?
721 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:51:00 ] 好きにしろよ 同意を求める為だけに質問するフリをするな
722 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:19:34 ] 質問じゃねーよ、当てこすってるんだよ。 C++のローカル神話持ち込んできた癖に、そっちこそ好きにしろやww
723 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:37:33 ] 分かると思って安価入れなかったんだけど、勘違い君に噛み付かれてるなあ 721は719向けね
724 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:39:59 ] 相手が何でも察すると思うな。 きちんとドキュメントにしたまえ。
725 名前:708 mailto:sage [2009/11/12(木) 23:55:00 ] >>709 , >>710 , >>711 ご回答ありがとうございます。 >>711 これはすごいw。なんて複雑怪奇なんだ。 でも、行数減らしてかけるからスッキリしますね。
726 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:59:39 ] どこかのコンストラクタでエラーが起きただけでプログラム停止できれば楽だろうねぇ。
727 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:03:10 ] 止めたくなければ上位のメソッドでキャッチすりゃいいだけだよ どこまで頭悪いんだ
728 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:04:46 ] むしろなんでC++はコンストラクタで例外投げないの? コレクションからコレクション作るときnull許可しないなら普通に投げないか?
729 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:08:42 ] C++ コンストラクタ 例外でググるとそんなのは迷信だってサイトが大量に出てきて笑えるよ 時代遅れの妄言だな
730 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:35:35 ] >>727 >>720
731 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:41:16 ] >>725 え゛? 複雑? あー、でもJavaじゃメソッドチェインはあんまやらないから、見慣れない人がいるのもしゃーないのか。 ライブラリが「void返すくらいならthis返せ」って思想だったらよかったのに。
732 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 02:07:25 ] >>727 たぶん、new した所が普通に上位のメソッドだという考えになっていないんだろうね。 C++ だとローカル変数を置くだけでオブジェクトが生成されちゃうこともあって。
733 名前:質問者 [2009/11/13(金) 08:48:30 ] 1. Java1.6の、型を限定したListの作り方を教えてください。 2. inport java.util.List;として、他の場所ではList型が使えているのに、 new List(); が、「型Listのインスタンスを生成できません。」とコンパイルエラーになります。 理由に心当たりがありましたらご教授ください。
734 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 09:17:02 ] Listは実装じゃなくてインタフェースだから List型の変数は宣言できても実体は作れない 実体はLinkedList<T>やArrayList<T>や自分で作った実装のあるクラスでないといけない List<?> list = new ArrayList<?>(); とか
735 名前:733 [2009/11/13(金) 09:50:48 ] >>734 ありがとうございました。
736 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:34:51 ] エラーでてるのに処理続けてもなあ。 エラー出ない様に対処してから再試行するべき。
737 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:52:08 ] 勘違い君は、>>727 だけでなく>>732 もなのか。 >>726 では「キャッチしなくていいなら楽だ」って意味なのに、>>727 で「キャッチすりゃいい」なんてレス 入れるのは勘違いも甚だしい。 また、>>718 >>720 の脈絡からすれば「コンストラクタでエラーならプロセス停止するべき」って言ってる に等しい。 リークが問題になるのはプロセスを継続する場合なんだからな。 「処理」って「エラーになったクラスの処理」だったなんて寝ぼけたこと言うのかもしれんが。
738 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 12:20:09 ] 578 名前: デフォルトの名無しさん [sage] 投稿日: 2009/11/13(金) 12:00:40 HTTPは無理しすぎだからな。 本来は閲覧専用のプロトコルだったはずだ。 いつの間にか書き込みができるようになったり、 個人識別ができるようになったり、 pushもできるようになったり。
739 名前:732 mailto:sage [2009/11/13(金) 12:22:46 ] >>737 >>737 は、>>727 がどのレスに対するレスなのかを勘違いしていると思われる。
740 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 12:36:53 ] アンカー付けようねってことだねwww
741 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:33:09 ] Javaで正規表現を使うにはどうしたらいいでしょうか? また、Javaの文字(char)のユニコード値を得る(int)コードはどうしたらいいでしょうか?
742 名前:デフォルトの名無しさん [2009/11/13(金) 13:33:50 ] 間違えてsageてしまったのでageます
743 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:37:26 ] 正規表現はPatternクラス charはキャストすればintに入る
744 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:39:48 ] 間違えた 「キャストしなくても」
745 名前:デフォルトの名無しさん [2009/11/13(金) 13:44:32 ] >>743 (名無しさん) ありがとう
746 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 19:49:29 ] Hibernateについて質問させてください。 複数クラスとテーブルのマッピングSQLを作成するにあたり、 以下の方法では取得できています。 @itより抜粋 Query sqlQuery = session.createSQLQuery( " select {mem.*},{wg.*} from member {mem} join workgroup {wg} “ + “ on {mem}.groupno = {wg}.groupno", new String[] { "mem","wg"}, new Class[] {Member.class,WorkGroup.class}); List list =sqlQuery.list(); for (int i = 0; i < list.size(); i++) { Object[] items = (Object[]) list.get(i); Member member = (Member)items[0]; WorkGroup group = (WorkGroup)items[1]; System.out.println( member.getNo() + ":" + member.getName() + ";group:" + group.getGroupname() ); } session.close(); 質問に入りますが、全列を使用するわけではないので、取得列名を絞り込むこと は可能でしょうか。絞込みによる性能向上を期待しています。 どなたかお分かりになる方の助言をお待ちしています。 よろしくお願いいたします。
747 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:01:07 ] 質問します。 java で、ファイルに書き込まれている内容の比較をしたいのですが、そのようなメッソッドは無いでしょうか?
748 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:11:55 ] Javaでやる必要があんのけ?
749 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:14:29 ] javaでやれといわれたので。
750 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:23:00 ] そのようなメッソッドはありません 普通にファイルを読み込んでから普通に内容を比較してください
751 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:27:47 ] 黒魔法メッソッド!!!
752 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:38:16 ] >>747 MappedByteBuffer#equals()でも使うのがお手軽じゃない? 使ったこと無いけど。
753 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 23:34:26 ] pc12.2ch.net/test/read.cgi/tech/1248012902/ ★★ Java の宿題ここで答えます Part 68 ★★
754 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 23:51:03 ] 質問させてください。 現在Swingで、コンボボックスを画像表示にし、 そこで選択された画像を、フレーム中央に表示させるプログラムを作っています。 ところが、getSelectedItemの設定で行き詰ってしまいました。 どなたかアイディアをお貸しいただければ幸いです。 ちなみに現在のソースは以下のようになっています。 色々いじくったので可笑しなことになっているかもしれません。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/830.java どうぞよろしくお願いします。
755 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 00:51:34 ] >>754 combo.setRenderer(new JLabel()); になってないか?
756 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 00:54:35 ] >>754 JavaDocではこうなっている。 void setRenderer(ListCellRenderer aRenderer)
757 名前:755-756 mailto:sage [2009/11/14(土) 01:08:46 ] 間違えた。すまん
758 名前:754 mailto:sage [2009/11/14(土) 01:16:20 ] >>755-756 いえ、非常にありがたいです。 他にも何かお気づきの点があれば、よろしくお願いします。
759 名前:755-756 mailto:sage [2009/11/14(土) 01:31:36 ] class ComboLabelにtextとicon保存 public Component getListCellRendererComponent内で上で保存したtextとiconをJLabelにセットしなければならないから、 class ComboLabel{ にtext追加。 public Component getListCellRendererComponent( にsetText追加。 すればいいんじゃないかと……
760 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:04:27 ] >>754 これで普通に画像の切り替えできてるよ。 変数が見えてなかったりLabelが表示されてなかったりしたのも直したけど。 MyCellRenderer renderer = new MyCellRenderer(); combo.setRenderer(renderer); combo.addItemListener(renderer);//追加 class MyCellRenderer extends JLabel implements ItemListener, /*追加*/ ListCellRenderer { ..... //省略 public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon()); } }
761 名前:754 mailto:sage [2009/11/14(土) 02:39:10 ] 皆さんどうもありがとうございます。 早速教えていただいたように直してみました。 ところが、 lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon()); の箇所で、lb、modelを解決できませんというエラーが表示されてしまいます。 どこが間違っているのか、自分ではどうしても解決できませんでした。 もう一度教えていただいてもよろしいでしょうか。 お願いします。 ちなみに現在のソースです。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/831.java
762 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:46:43 ] >>761 こっちに変えてみな。 public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ ComboLabel lbl = (ComboLabel)((JComboBox)e.getSource()).getSelectedItem(); lb.setIcon(lbl.getIcon()); //lb.setText(lbl.getText()); Textが必要ならComboLabelにgetText()を追加する } }
763 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:49:14 ] あと以下の2行を修正 public class Combobox extends JFrame{ private JLabel lb; //追加 //JLabel lb = new JLabel(("ここに画像が表示されます")); この行コメントアウトして下のように変更 lb = new JLabel(("ここに画像が表示されます"));;
764 名前:754 mailto:sage [2009/11/14(土) 03:01:24 ] 迅速なお返事をどうもありがとうございます。 教えていただいたことを元に、もう少し自分で考えてみようと思います。 こんなに遅い時間まで、本当にどうもありがとうございました。
765 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 03:05:30 ] >>764 適当に動くようにしたソースはっとくよ。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/832.java
766 名前:754 mailto:sage [2009/11/14(土) 03:12:17 ] わざわざソースまで! 自分の求めていたとおりに動かすことができました。 本当にありがとうございます。 自分ももっと勉強します。
767 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 03:35:46 ] MyCellRenderer extends JLabel implements ListCellRenderer よりも MyCellRenderer extends DefaultListCellRenderer にするといいよ。 getListCellRendererComponent() の最初で super.getListCellRendererComponent(); を呼んで、 アイコンをセットして、 最後に return this; とすればいい。
768 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 07:53:25 ] java でC/C++ でいうところの、関数ポインタのような振る舞いをさせるには どのようなデザインパターンを用いればいいでしょうか? 2つのboolean 値があって、その値の内容の組み合わせパターン(2^2)によって、呼び出すメソッドを変えたいのですが if 〜else if 構文や、switch 文はかっこ悪いので使いたくありません、よろしくお願いします。
769 名前:732 mailto:sage [2009/11/14(土) 08:59:26 ] >>768 Java では関数ボインタを変数に持ったり、関数ポインタを使って多相化することはない。 そういうことをしたい時は、オブジェクトを変数に持って、パターンによって、 共通のインタフェースを実装した異なるオブジェクトを呼ぶことになる。 関数テーブルの代わりにはオブジェクトテーブルということになるが、 オブジェクトテーブル以外にも、4つのパターンを表現した enum クラスを作って、 各 enum 定数の中に実装を書くなどの作戦もある。
770 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 09:17:34 ] >>769 Thx
771 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 09:28:13 ] >>769 それ、なんてStrategyパターン?
772 名前:768 mailto:sage [2009/11/14(土) 09:41:43 ] >>771 外していたらごめんなさい、多分State パターンではないでしょうか?
773 名前:デフォルトの名無しさん [2009/11/14(土) 14:23:46 ] 総称型の配列が作れません。 以下のような場合どうすればいいのでしょうか? public T[] getSpecifiedElements(T[] allElements) { //allElementの一部要素をT配列で返したい。 } ArrayList<T> temp = new ArrayList<T>(); に必要な分をつめこんで、 temp.toArray(new T[temp.size()]); ってしたいのですが無理なようです。 (T) temp.toArray(); もクラスキャストエクセプションになってしまいした。。。
774 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:38:55 ] >>772 お前がやりたいのは、ちょっとした計算ロジックを切りかえたい ということに見えるが、それだとしたらStrategyパターンであってる
775 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:56:35 ] >>773 無理。 代替案としては Class<T> を引数で指定してもらうか、 配列使わずList<T>で受け渡しするか。 <T> T[] getSpecifiedElements (T[] allElements, Class<T> clazz) { List<T> temp = new ArrayList<T>(); //tempに必要な要素をつめる。 return temp.toArray((T[])Array.newInstance(clazz, temp.size())); } List<T> getSpecifiedElements (List<T> allElements) { List<T> temp = new ArrayList<T>(); //tempに必要な要素をつめる。 return temp; }
776 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:57:52 ] >>773 総称型の配列をnewすることは、Javaの言語仕様上できない。 多少強引だがこれでOK。 @SuppressWarnings("unchecked") T[] subElements = (T[]) java.lang.reflect.Array.newInstance( allElements.getClass().getComponentType(), temp.size()); return temp.toArray(subElements); つーか、そもそも配列使うのやめればいいだけなんだけどな。
777 名前:デフォルトの名無しさん [2009/11/14(土) 15:25:04 ] >>775 >>776 引数でクラス指定すると総称型の意味がないし、 ワーニング潰すのも気持ち悪いので、 諦めてList<T>を返すことにしました。 しかし勉強になりました。ありがとうございます。
778 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:01:01 ] ストラッツの質問はここでも大丈夫でしょうか?jsp にアクセス(リロード)した際、自動的にActionクラスを実行するプログラムを組みたいのですが、どうすれば良いでしょうか?
779 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:01:46 ] >>776 jdk7だと[]とListの区別がなくなるのかも。
780 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:58:38 ] www.tomicom.ac.jp/~koba/doja5/jguidefordoja5api/javadoc/com/nttdocomo/security/SymmetricCipher.html ここを参考に,特定の文字列をAESで暗号化するiアプリを作成してみたのだけど,例外が出てしまう… どなたか,原因が分かる方ご教授お願いします. 例外 Main :java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm keyTest java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm at com.nttdocomo.security.CipherSessionKey.createSymmetricCipher(+71) at cryptionClass.encryption(+72) at keyTest.start(+14) com.nttdocomo.security.CipherSessionKey: Can't use the sessionkey or the iv with the algorithm ソースコード ttp://www.cms-e.net/java/src/
781 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:24:28 ] "Can't use the sessionkey or the iv with the algorithm" って書いてあるけど?
782 名前:780 mailto:sage [2009/11/14(土) 17:33:11 ] >>781 まぁ,そのエラーメッセージの意味は分かるのだけど,解決策が分からない…. 参考URLではプログラム解説のためにDESアルゴリズムを用いているけどできればAESを使いたいので.
783 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:36:00 ] >>781 いや,ごめん.意味も分かってないかも. アルゴリズムのあるセッション鍵かIVを使用できません. という文章的な意味は分かるのだけど,そのトラブルシューティングが分からない
784 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:49:27 ] >>778 jspがAction経由で表示されたなら、リロードしてもActionが再実行されると思うけど。
785 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:55:10 ] >>783 その訳はたぶん そのセッション鍵またはそのIVをそのアルゴリズムと共に使うことはできません ではないか? ちょっと調べたらAESはブロックサイズが128ビットらしいので、IVのサイズをそれに合わせて長くしてみるとか
786 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:56:31 ] ジャバってランタイムがないと動かないの? RPGツクールみたいなもん? 単体で動くexeとか作れないの?
787 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:57:45 ] POJOって一体何なの? どういう風に便利なのかとか、どうすれば使えるのかとかがよく分からない。
788 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:58:29 ] そうです 強引な方法も無くはないが 素人には10年早い
789 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:08:27 ] 788さん、それボク786に対する答えですか。
790 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:43:23 ] >>786 うん でもC++とかでもランタイム必要なものもあるよ
791 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:56:51 ] OS だってランタイムだ、という考え方をすれば、単に OS 標準でどこまで付いて来るかという問題でしか無いとも言えるな。
792 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:12:21 ] 790さんありがとうございます とりあえずいろいろいれずにWindowsでexeをクリックするだけで起動する感じが理想なので 別の言語あたってみます
793 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 04:55:26 ] アジャイル手法とかに詳しい人がいたら、ご意見をいただけないでしょうか。 最近、私が関わっているプロジェクトで、 「カバレッジ100%を達成するためにホワイトボックスな単体テストを書きまくった結果、 逆に、テストを書き直すコストが増大して大きなリファクタリングができなくなりつつある」 という本末転倒っぽい状態に陥りつつあるのですが、何か良い方法なり指針はないものでしょうか。
794 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:57:08 ] 端的に言えばカバレッジ最優先なポリシはバランスが悪い。 リファクタリング前と後で、極端なまでにテスト再利用性が存在しないのは、 そもそも変化が許容される内容(つまりはリファクタリングによって改善した内部構造そのもの) に対して過剰なテストが行われていることを意味している。 極端に言ってしまえば、テストは所詮バグが存在しないことの証明にはならないのだから、 あまり内部詳細に踏み込みすぎず、外部インタフェース越しに一般的なシナリオをテストするに 留めておくぐらいがちょうど良いと個人的には思う。
795 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:30:53 ] >>793 一律にテスト書かないで変更が多そうな部分と変更が少なそうな部分にわけて 変更が少なそうな部分を重点的にテストするとか
796 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:00:14 ] javamail-1.4.2 を使い、メール送信機能を付与した、プログラムを作成しました 送信テストも終わり、このプログラムを他人に配布したいのですが 通常のjava のアプリケーションが動くJava(TM) SE Runtime Environment (build 1.6.0_17-b04) の環境であれば、別途に必要なランタイムやライブラリィはありませんか?
797 名前:796 mailto:sage [2009/11/15(日) 09:52:09 ] 自己解決です ttp://oshiete1.goo.ne.jp/qa1919395.html 同じ方がいました、他人に配布するのは、ライセンス的には問題なさそうですが、 バッチでmail.jar を入れるとか、面倒な感じですね、実行するにも長たらしいコマンドを入れなければならないし C で書いたDLL があるので、こいつを使った方が解決が早そうです。 java のインストローラが作れればいいんだが・・・・
798 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:28:08 ] izpackかは? コマンドって、実行時のクラスパス指定のこと? それならManifestに記述すればいいし最悪バッチファイルなりなんなり書けばいいし、他にもexeにラップしちゃうって手もあるし、あんまり問題にはならなくないかい?
799 名前:796 mailto:sage [2009/11/15(日) 10:45:00 ] >>798 ありがとうございます、java は最近はじめたばっかりなので詳しくく質問させてもらいました Manifest とか、exe にラップする方法があるのですね知りませんでした、調べてみます。
800 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:28:58 ] >>785 ありがとうございました! IVを128bitにしたら無事通りました!
801 名前:793 mailto:sage [2009/11/15(日) 13:50:12 ] >>794 なるほど。。 インタフェースごしのブラックボックステストと、ホワイトボックステストを分けるのも手かもしれませんね。
802 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:00:16 ] URLClassLoader#loadClass(null)で呼び出したクラスは、 このクラスローダがGCされると綺麗にメモリ上から消えますか? public static void run(URL jarFile, String className) throws Exception { Class clazz = new URLClassLoader(new URL[]{jarFile}).loadClass(className); MyInterface obj = (MyInterface) clazz.newInstance(); obj.run(); }
803 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:35:26 ] >>802 一緒にGCされると思うけど、仕様によって保証はされない。 あと、java.lang.Class や java.lang.reflect.Method なんかの リフレクション用のオブジェクト握りっぱなしにしてると、 そもそもクラスローダがGCされない
804 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:05:11 ] JNIでCを呼び出すとき、System.loadLibraryでネイティブライブラリをロードしますが、 System.loadLibraryを書くのはコンストラクタがよいのか、staticイニシャライザが良いのかわかりません。 どちらの方がよいのでしょうか?
805 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:10:50 ] インスタンスをnewするまでstaticなネイティブメソッドが呼べないよ
806 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:21:36 ] 携帯でMP3再生したい オープンアプリでいっちょやってみるか ハフマン符号???? File decode(File mp3File) { // 誰かサンプル書いてみて return decodeFile; }
807 名前:806 mailto:sage [2009/11/15(日) 18:24:48 ] だめだ メモリ足りなくなりそうなので いちいち展開なんてしてられん・・・ void playMp3(File mp3File) { //一時停止機能とかいらないから誰かサンプル書いて }
808 名前:デフォルトの名無しさん [2009/11/15(日) 19:28:40 ] 別スレッドがSystem.out.print..などで、標準出力にメッセージを出すようになっていて、 それをInputStreamなどで拾いたいのだけど、どうしたら良いですか?
809 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:54:06 ] java mediaとかかな 特許がらみが多い分野だからほとんどの形式がクローズドだけど。
810 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:01:17 ] >>808 System.setOutで出力先をPipedOutputStreamか何かに変え、PipedInputStreamか何かで読み出す
811 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:24:08 ] >>810 ありがとう!解決した!
812 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:35:18 ] どうしてクラスローダが1つのVMに複数あるのでしょうか?
813 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:49:06 ] URLから取ってくるクラスローダとか色々あるから。で回答としてはいいのかな?
814 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:49:48 ] たとえば同一の外部ライブラリで複数バージョンを使い分けたい場合などがあったとする。 唯一のクラスローダしか存在しない場合、FQNが同一のクラスは、一つしか存在することができない。
815 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:08:02 ] まて、FQNが同一のクラスが同時に複数存在できたりするのか? ウィザードじゃないから知らないだけかもしれないけど、static変数とか矛盾 してしまうと思うんだが。
816 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:28:29 ] できる。そもそも同じFQNであれ、ロードされているクラスローダが違えば同じクラスと扱われない。 J2EEやっていれば同一のコンテナ(単一JavaVM)に複数のWebアプリケーションをデプロイして、 それぞれのWebアプリが独自のライブラリ(WEB-INF/lib)を利用する状況を考えて欲しい。 たとえばAアプリはlog4j1.2で、Bアプリはlog4j1.1というのは普通に可能。 それらはThreadに割りつくContextClassLoaderが入れ替わることで(実装者が意識しないかたちで)実現されている。
817 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:29:07 ] >>815 できるよ 異なるクラスローダがロードしたクラスは、同じFQNであっても別々 static変数も別々 Classオブジェクトを比較しても一致しない
818 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:31:11 ] あとたしかinstanceofもキャストも失敗するっけか あらゆる意味で異なるクラス扱いだったはず
819 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:36:33 ] Seasarという有名な国産DIコンテナがあって、 それはsmart deployという仕組みで、開発時にhot deployが可能なんだけど、 そのやり方は結構単純で、クラスローダをRequestを受け取るごとに生成・廃棄して、 新規にコンパイルされたClassを都度読み込みさせている。 そのようなやり方をすれば、一度読み込まれたClassでも即時反映が実現できる。
820 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:40:34 ] なるほど。 d.hatena.ne.jp/masugata_k/20071203/1196684216 とそのリンク先を見てみた。 システムクラスローダは差し替え可能なわけか。知らなかった。
821 名前:デフォルトの名無しさん [2009/11/16(月) 00:06:47 ] 複雑な管理処理を行うベースウェアにはGUIや集中管理する画面って必須かな? それとも管理するためのAPIだけを提供すれば皆安心?
822 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:20:52 ] せめて参考GUI実装をソースつきで。凝る必要は一切無し。 あれば使ってもらえるし、出来が気に入らなかったら改造するだろうし。 ソース無くてもjadで見ちゃうけど。
823 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:58:42 ] なるほどruby的なのか そりゃそうか
824 名前:デフォルトの名無しさん [2009/11/16(月) 02:05:38 ] 初めましてm(_ _)m JAVA初心者なのですが JAVA2のSEとMEをインストールしようと思い一通りダウンロードしたんですが、 java_ee_sdk-5_08-jdk-6u17-windows-ml.exe これ以外はインストール出来ませんでした。 EEに当たるようなんですが、サイトを見直すとSEに該当しているようにもみえます。 しかし次にMEをインストールしようとすると「SEがインストールされていない」とでてMEがインストールされません。 MEがSE1.4?のみに対応している可能性もあるのでダウンロードしようとしたんですが見当たりません。 ですがそれ以前から教則本の付録でついてたj2sdk1.4.1_01(ランタイム?)を使用してます。 パソコンは2000年発売VAIOのXPです。SPをインストールしていません。 (すでにSP1がダウンロード不可のため) どなたかアドバイス下さい。よろしくお願いします。m(_ _)m
825 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 02:46:23 ] こっから落とせば? java.sun.com/javame/downloads/index.jsp J2ME時代で環境作りたい場合はこっちから落とす java.sun.com/javame/downloads/previous.jsp
826 名前:デフォルトの名無しさん [2009/11/16(月) 02:55:54 ] >>825 解答ありがとうございます。後日、ダウンロード試みてみます。
827 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:12:06 ] SaxParser#parse(File, dh)は内部でファイルのロック取ってるんでしょうかね? プロセス間のは(共有ロック)取ってくれてると思って使ってるけど。 スレッド間の排他はユーザがやる必要があるのでしょうか?
828 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 16:20:57 ] 基本的な質問ですいません。 C言語ソースの移植作業しているのですが・・・。 int a(short b) { return b+5; } を a(50);のように定数を引数にしてコンパイルすると 「a(short) は (int) に適用できません」 とエラーが出てしまいます。 a(50);をa((short)50);のようにキャストすればエラーは無くなりますが、 定数をいちいちキャストするのが面倒です。 キャスト以外に良い方法は無いでしょうか?
829 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 17:38:52 ] int型の引数を受け取れる同名のメソッドを作ればよい int a(int b) { return a((short)b); } みたいな
830 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 19:47:26 ] EJBってどうなの?業務で使ってる?
831 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:06:24 ] test
832 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:48:17 ] 業務意外じゃEJBを使っているのみたことないな
833 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 07:46:28 ] なんか業務でもあえてEJB避けてきたんで... メッセージングとか一部機能のつまみ食い程度しか使ったことないから、 3.0はいい感じなのか実際に採用してる人たちの実感を聞きたいなと。
834 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:18:39 ] 業務システムでも短納期・低コストが求められているのだから、わざわざEJBでコストをあげる必要はないだろ
835 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:25:03 ] EJBなんて学者のオナニーだから使わないほうがいい
836 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:36:51 ] はじめまして、こんにちは 現在塗りつぶしを行うアプレットをアプリに書き換えています が、なかなか上手くいきません アプレット/アプリケーション共通プログラムという www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html このサイトの通りに行っているはずなのですが、、、 間違っているところがあれば、アドバイスをお願いします 以下が私のソースです kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10131.txt サイトの通りに、ExitWhenWindowClosingクラスとAppletFrameクラスは別に作ってあります
837 名前:デフォルトの名無しさん [2009/11/17(火) 15:47:43 ] 単純なキーボード入力を出力するプログラムを作成したのですが、特定の文字列を入れると文字化けして出力されてしまいます。 この問題の原因、または解決方法をご存知の方みえましたら教えていただけないでしょうか。 実行環境:windows vista / Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930 コード: public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println(br.readLine()); } catch (IOException e1) { // TODO 自動生成された catch ブロック e1.printStackTrace(); } } 入力: む 出力: �?
838 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:46:00 ] >>837 キーボードが日本語106キーで認識されて無いのかな。 「む」「ろ」「BackSpace」キー等には気をつけて。 解決策は・・・ドライバがどうなっているかくらいか・・・わかんね。 見当違いかもしれんが参考に。
839 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 17:05:10 ] >>838 おお!ありがとうございます。 ドライバ確認してみます。
840 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:53:16 ] 将来的にはEJBが(実質的な意味で)本命のような気がするんだよね。 現状はまだ様子見しつつって感じのようですね。
841 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:56:48 ] 現状で既に活用できるってばさ。 Apache+Tomcatの時代なんて今は昔。 まあ私の周りの話だから他は知らんけど。
842 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:09:55 ] EJB なんて 10 年前の流行キーワード。今も今後も誰も注目しねぇって。 使えるところで淡々と使われるだけ。
843 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:14:40 ] うちの周りはTomcat(というかサーブレットコンテナメイン)ばかり。 分散+フェイルオーバーで高可用構成とかでも 業務フレームワーク作りこみで対応してるケースが多い。 EJB3.0はコンフィグ地獄じゃなくてよさそうなんだよね。 軽量コンテナとの境界もあいまいになってるわけで、 そうなると標準化プロセスを経ているEJBのメリットが生きてくるような気がする。
844 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:19:52 ] スタンダードに載っとかないと保守で首を絞める。 HibernateよりJPAやiBatisを選択するのがいい。
845 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:26:28 ] だよね。保守はともかく、いまさら新規でHibernateはありえない。 JPAは意識してるけど、使いやすさとパフォーマンスの点でS2JDBCに浮気してたりして。
846 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:06:12 ] 質問させてください 配列名を引数で与えるにはどうしたらいいのでしょうか。 static int[] mkArr(String arrName, int itemNum){ int[] arrName = new int[itemNum]; //このあとはarrName[0]〜[itemNum-1]の値をキーボードから //入力させます } この段階で 重複ローカル変数 arrName, と警告がでます(Eclipse使用です)。 型が String だとまずいのかもしれないかとも思いますが、見当もつきません。 ※このメソッドはメインクラスに書く予定です。 レベルが低すぎて申し訳ありませんがよろしくご教示ください。 お願いいたします。
847 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:17:10 ] 引数でString arrNameを宣言してるのに 最初のステートメントでint[] arrNameを宣言してるやん。 質問のわかりにくさからして始めたばかりなんだろうけど。
848 名前:846 mailto:sage [2009/11/17(火) 23:54:30 ] >>847 お答えありがとうございます。 お察しのとおり始めたばかりです。 ↓こんな感じで呼び出すと mkArr("arr1",3) int[] arr1 = new int[3]; となって配列arr1が生成されるのかと思っているのですが 違うんですよね。。 ずっと考えてるのですがわかりません。 ここ読んどけっていうところがあったら、教えていただければ助かります。 よろしくおねがいします。
849 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:09 ] 酷すぎる
850 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:38 ] 宿題スレをおすすめする。 まず何をするプログラムなのかが分からない。
851 名前:846 mailto:sage [2009/11/18(水) 00:06:42 ] >>849-850 スレ汚しすみませんでした。 宿題ではないので、もう少し考えてみます。 申し訳ありませんでした。
852 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:08:32 ] お前ら厳しいなw
853 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:09:49 ] プログラムの素人であるのは構わない。そういうスレだ。 だが質問の素人であってはいけない。
854 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:13:18 ] 分かりやすく伝えるって結構高度だと思うが
855 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:17:34 ] >>846 自分も初心者なんですが、 static int[] mkArr(int itemNum){ int[] arr = new int[itemNum]; //入力 return arr; } メソッドをこんな感じにして int[] arrName = mkArr(itemNum); 呼び出し側で、受け取ればいいのでは? arrNameは受け取りたい配列名で。 たとえば、 String str = "arr"; int[] str = new int[5]; とやっても、arrという名前のint型の配列は 出来ないかとw
856 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:19:25 ] ああ、呼び出し方がおかしいですね。 すいません。
857 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:35:34 ] >>846 なかなか独創的なコードだけど、以前はどの言語をやってたの?
858 名前:デフォルトの名無しさん [2009/11/18(水) 01:27:56 ] 識別子に表情以上の物を求めるのが素人 識別子に_だけでプログラムするのが変態 識別子にg,o,t,oしか使わないでコーディングするのも変態
859 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:58:04 ] 識別子に$とか付けるのは宗教
860 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:35:54 ] >>845 が「新規でHibernateはありえない」って言ってるけど、なんで? JPAやiBatisと比べてどの辺がありえないの?
861 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:47:43 ] 標準技術じゃないわりに複雑だからだろ。 JPAとの対比で語ってるからNativeAPIやらHQLでの話なんだろうけど。
862 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:50:27 ] >>848 Javaとか初心者とか言って質問する前に、変数と関数というプログラムの基礎概念を勉強してこい
863 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:25:58 ] JWebPaneっていつから使えるようになるんだろう
864 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:50:16 ] JPAは当然ながらORM標準であることが利点。 ORMの業務適用要件は2.0の悲観的ロックサポートで満たしたと言ってよい。 iBatisはSQLをガリガリかけて、かつマッピングも楽ちんだから、 Java屋ではない外様がORMのメリットをすぐに享受できるところが良い。 本格的なORMは真の習得に三ヶ月かかると言われてるから、 標準 or 即効性の保守要件にHibernateは引っかからない。
865 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 01:41:20 ] JSFを勉強し始めて半年ぐらいの若造です。 ■.jspの記述 <h:dataTable var="list" value="#{bean.dataModel}"> <h:column> <h:inputText value="#{list.text}"/> </h:column> ・・・ </h:dataTable> みたいなテーブルを表示して入力部を設け、ボタンを押したら値をテーブルの型式で取得したいのです。 bean.dataModelはListDataModelを返します。 beanのスコープはrequestです。 どのように値を取得するのが賢いのか教えて下さい。
866 名前:デフォルトの名無しさん [2009/11/19(木) 09:59:11 ] JAXBでのバインディングって、setとget以外のメソッドが混ざっている JavaBeans形式以外のオブジェクトでは出来ないのでしょうか?
867 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 12:36:47 ] getter と聞くと、手がドリルの青い合体ロボットを想像してしまう僕は異常でしょうか?
868 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:24:49 ] 配列([])の中身を調べる文字知りませんか? 例えばstring[1]だとしたら1と読み取ってくれるやつです
869 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:26:27 ] ねぇよ
870 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:12:31 ] 文字ってなんだよ >string[1]だとしたら1 も曖昧で分からん。
871 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:59:39 ] >>866 @XmlTransientでOK @XmlAccessorType(XmlAccessType.FIELD)なら マーシャリングしたくないフィールド(メンバ変数)を transientにしとけばOK
872 名前:デフォルトの名無しさん [2009/11/19(木) 19:08:06 ] というか、JAVAで配列使うな
873 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:01:30 ] >>872 なんで?
874 名前:デフォルトの名無しさん [2009/11/19(木) 20:11:04 ] List使った方がいろいろ操作出来る
875 名前:806 mailto:sage [2009/11/19(木) 20:13:27 ] 806のことも思い出してあげてください >>873 javaには優秀なコレクションフレームワークが標準で装備されているので、配列ではなくそっち使おうぜ。 >>872 はそういいたいのだと思う。 配列で十分だと思ったら、何でもかんでもコレクション使うことは推奨しない。
876 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:14:14 ] 配列は使うな云々って本があったなぁ
877 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:15:11 ] 配列を使うメリットはあまりない
878 名前:806 mailto:sage [2009/11/19(木) 20:19:30 ] 配列を使うメリットは、高速かつメモリ消費が最小であること。 ローカルなメソッドの内部処理に用いる場合は、配列もありだと俺は思う。 おさらいだけど 配列:速度良 メモリ小 操作ミス多 コレクション:速度どうかな メモリ最小とはいかない 操作簡単安全
879 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:27:45 ] 速度とかメモリとかにこだわる層はわざわざそういうこと言われなくてもわかってるはずだから、 とりあえず「ArrayList使っとけ」でおk
880 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:32:08 ] 質問です。 HttpURLConnectionを使ってhttp通信を行います。 yahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ましたが、 問題のサイトに接続したところjava.io.FileNotFoundExceptionで弾かれてしまいました。 該当URLはブラウザでアクセスしたところ問題なく表示出来ます。 (パスワードやログインを要求するようなサイトではありません) 恐らくサーバー側で何かを見ているのではないかと思うのですが、 サーバーがチェックしてそうな項目を教えては頂けないでしょうか。 現在設定しているRequestPropertyは Host、User-Agent、Accept、Accept-Language、 Accept-Encoding、Accept-Charset、Keep-Alive、Connection で、値はブラウザで該当URLの確認ができた時と同じ値をセットしています。
881 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:33:56 ] LinkedListのメリットがよく分からない。 リストの半ばの挿入削除が速いって理屈は分かるが、 その場所に辿り付くまでは結局イテレートしてるわけで。
882 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:36:40 ] 404 や 503 じゃないのならプログラム上のミスで、相手サーバーじゃないんだろうな。
883 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:42:19 ] >>880 お前モペ吉か?
884 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:45:43 ] >>881 メリットはあんたが言ってる通りじゃねーかw
885 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:46:44 ] ポインタ辿るだけだしなぁ。System.arraycopyで後ろ詰めるよりは速い。 でもgetFirstなどからして、stackとかqueueに特化した使い道が一番。
886 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:58:49 ] LinkedListは参照の数珠繋ぎだから、要素の最初から最後まで順番にアクセスするなら ArrayListよりも速いはず。逆に、要素の〜番目みたいなアクセスは破滅的に遅いと思う。 ランダムアクセスしない&削除と挿入が頻繁、ならむしろLinkeListの方が良いと思います。 ところで質問なのですが、 Javaで参照カウンタみたいな仕組みを実現したいのですが、なにか良い方法はないでしょうか。
887 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:01:58 ] さっきから「メモリ効率」「速いだろう」「思います」とかばっかりだけど、それじゃいつまでも上達しないだろうな。
888 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:03:54 ] >>886 staticな変数を持って、 コンストラクタ内でインクリメント ファイナライズ内でデクリメント いい方法ではないが、これしか思いつかなかった。
889 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:08 ] >>882 404や503にはならないのですが そのサイトではRequestPropertyを全て外すと403になります またyahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ました
890 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:17 ] >>886 でも実際試してみると ArrayList は LinkedList より結構速い
891 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:10 ] >>887 メモリ効率は上達にはかかせないだろ。
892 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:21 ] ArrayDequeueやConcurrentLinkedQueueがあるから尚更使い道が少なくなってきた。
893 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:12:27 ] うお。なんだ。 Java1.4時代に迷い込んじまったw
894 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:09 ] メ…メモリ効率だってよっwww
895 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:38 ] Dequeueは6から、Queueは5からなんだが。
896 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:23:08 ] >>894 おかしいと思う理由を書けよw 荒らしか?
897 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:28:54 ] メモリ効率とか無駄のないアルゴリズムを考えられない奴っているんだよ。 コーディングする楽しみなんてないんだろうな。
898 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:33:20 ] てかオブジェクト指向ってそういうもんだから構わんよ。 パフォーマンスの80%はソースコードの20%に依存するって奴だ。 裏を返せばソースコードの80%は保守性のが大事ってこと。
899 名前:886 mailto:sage [2009/11/19(木) 21:43:11 ] >>888 レスありがとうございます。 その方法だと、そのクラスのインスタンスがいくつ存在するか、 ということがわかりますね。参照カウンタと近い気がするので参考にさせていただきます。
900 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:50:44 ] メモリ効率を考えてコード書いて 数ヵ月後に、俺なんでこんなややこしいコード書いてんだ? もっとeasyでいいやんって書き直している途中で そういうコード書いてた理由を思い出す revert
901 名前:デフォルトの名無しさん [2009/11/19(木) 21:54:04 ] >>896 荒らすな鼻糞
902 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:02:42 ] 複雑なモデルを複雑なコードで実装してるうちは素人
903 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:48:25 ] 早く仕上げてボトルネックをテストしようぜ
904 名前:806 mailto:sage [2009/11/19(木) 22:51:41 ] >>886 何するのかわからないけど、ウィークリファレンス(弱参照)とかの機能もあるんだぜ。 俺の質問って場違いなの?()涙
905 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:55:29 ] JLayerMEでも使ったら>MP3
906 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:56:02 ] 俺も興味あるな。Javaで参照カウンタが必要ってどんな処理?
907 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:30:01 ] >>904 弱参照と参照カウンタは関係ないだろ。
908 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:31:52 ] おまえらって普通のプログラミングはちょっとはわかってるっぽいけどdrawLineとかdrawOvalはわかるか?
909 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:34:23 ] >>908 知らないなら知らないって言えよw
910 名前:886 mailto:sage [2009/11/20(金) 00:06:24 ] >>906 長い上に上手く説明できませんが、 あるサイトを参考に、IDなどを通じてグローバルに参照できるオブジェクト群を管理するクラスを作ろうとしています。 このクラスは、外部からの要求に応じてオブジェクトを生成し譲渡するのですが、その生成したオブジェクトは自身のフィールドに保持します。 そして次に同じ要求があった場合は、新たに生成せずに保持していた同じオブジェクトを渡します。 一つのオブジェクトを不特定多数の外部で共有するためです。 問題は、保持しているオブジェクトが管理クラス以外のどこからも参照されなくなった時は、それを削除せねばなりません。 そのタイミングを知るために参照カウンタが必要なのです。 >>904 弱参照は使ったことないのですが、上記のような場合でもGCしてくれるものなのでしょうか。 Reference関連は勉強不足で何もわかりません。その辺も調べてみます。
911 名前:デフォルトの名無しさん [2009/11/20(金) 00:15:02 ] ある書籍のwait/notifyのメカニズムの問題で 正解が下記のようになってるんですが、 consumerメソッドでwaitの下の isFlag=falseがどうしても理解できません。 ここでfalseを代入してしまうと 上のproduceでisFlag=trueでnotifyを呼びだし waitを呼び起こしてもすぐにまたfalseになり いつまで経ってもwhileから抜け出せないと思うんですが・・・ 私の見解が間違っているんでしょうか? class MySync{ boolean isFlag = false; public synchronized void produce(){ isFlag = true; notify(); } public synchronized void consumer(){ while(!isFlag){ try{ wait(); isFlag = false; }catch(Exception e){} } } }
912 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:19:13 ] >>910 昔、そういうの使ったことあるよ。 FacesContext.getCurrentInstace().getExternalContext() の下にあるメソッドだったと思う。任意のクラスに対する、別クラスからのバインディングを取り扱う道具があるはず。
913 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:20:05 ] >>910 なるほど・・・ シングルトンを強制しつつも、参照されなくなったらGCに回収させるのですね。
914 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:22:24 ] なるほど。要はキャッシュの仕組みが作りたいわけね。 その用途ならソフト参照がいいかもね。 実際のところ弱参照は相応のライフサイクルが期待される オブジェクトのキャッシュ方法としては適していない場合が多い。 www.ibm.com/developerworks/jp/java/library/j-refs/index.html あたりを読んでみるとわかりやすいよ。
915 名前:デフォルトの名無しさん [2009/11/20(金) 00:25:57 ] ウィークもいいけど、参照カウンタなんかCOMっぽくていいかもw ほっといた方がよさそうだww
916 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:35:06 ] いちいちaddRefとかもういやだお
917 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:41:51 ] >>916 もしc/c++でもjvmでも、gcとかautoリソース解法とかの概念を使えるならそれをデストラクタに入れとくといいよw
918 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 06:37:05 ] 項目と値があるTableをjavaで扱う時、 CollectionInterfaceか配列どのような方法を使うのがいいのでしょうか? Tableからの情報を使って、別のTableの中から同じ文字列を持つものを検索したいと考えています。 ArrayListの二次元配列で作っていたのですが、 うまくピンポイントの情報が取得できません。 Array.get(int )はObjectのため、ArrayListのように指定しての取得ができないように思われます。 まだまだ勉強不足で見当違いの事を書いているのかもしれませんが、 それも含めてご指摘ご意見頂ければと思います。 よろしくお願いします。
919 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:37:57 ] >>918 HashMap を使わない理由は?
920 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:45:52 ] なにこのデジャブ
921 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 11:47:18 ] >>911 お前が正しい そんな本は窓から投げ捨てろ
922 名前:デフォルトの名無しさん [2009/11/20(金) 14:09:16 ] なんか、Javaの技術で面白ものってないですか? 面白いサイトとか本とか教えてくれるとありがたいっす。 今、経理やってるんだけど、2年くらいJavaやってました。 久しぶりにJavaやりたくなったんです。 よろしく><;
923 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 14:10:24 ] iTextとかおすすめ PDF作れる WebならApache
924 名前:922 mailto:sage [2009/11/20(金) 14:21:01 ] >>923 ありがとう。もう両方やったんです><; J2EEの青い分厚い本でも今からかってこよっと・・あれなら、新しいEJBとか載ってそうだ。
925 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 17:10:57 ] Web系ならWicketとか
926 名前:886 mailto:sage [2009/11/20(金) 20:01:26 ] >>914 リンク先参考になりました。 有難うございます。 >>922 JOGLかProcessingはいかがでしょうか。 ゲームやプログラミングアートに興味があれば是非。
927 名前:デフォルトの名無しさん [2009/11/20(金) 20:06:54 ] Javaの長所と短所を教えてください。
928 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:20:50 ] 長所:Write Once, Run Anyware. 短所:リッチクライアント周りでは↑が嘘になる
929 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:21:37 ] Anywhere.だた。恥ずかし−
930 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:33:18 ] 長所 ともかく色々なプラットフォームで動く マニアックでない素直なOO言語 強い型付け 短所 玉虫色器用貧乏GUI、SWTなんてネイティブ移植しなけりゃ動かないし 強い型付け
931 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:39:31 ] Map<String, ? extends MyInterface> map = new HashMap<String, ? extends MyInterface>(); これには閉口する。 var map = new HashMap<String, ? extends MyInterface>(); ってならんかな。提案レベルならすでにJSRにあるんだとは思うが。
932 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:40:55 ] そんなあなたに、はいScala
933 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:47:47 ] >>931 逆はjdk7からできるようになる予定だよ。 Map<String, ? extends MyInterface> map = new HashMap<>();
934 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:51:21 ] >>933 なるほど。IDEとの連携を考えてもそっちのが柔軟か。
935 名前:806 mailto:sage [2009/11/20(金) 22:06:28 ] >>905 ソースさっくりみたけど DLLたたいてるね。 携帯でMP3って意外と敷居高いな・・・
936 名前:デフォルトの名無しさん [2009/11/20(金) 22:12:47 ] 最新のJAVA2EEをインストールして暫くしたらパソコン起動するたびにコマンドプロンプトが起動しSUNのフォルダのdomain01内にログを作り出します。 サーバー?なのか不明なんですが、これ止めるには何処をどうしたら良いでしょうか。 よろしくお願いします。
937 名前:806 mailto:sage [2009/11/20(金) 22:13:08 ] >>886 RMIとか使ってプロセス間通信でもしてるわけじゃないのかな? 単独の仮想マシン上で動いてる場合、参照されなくなったらGC対象になるのはご承知だろうし。 弱参照しているばあい、他の参照がないとGC対象になるってだけなので、今回の件には使うところはないかも。 ちょっと違うことを想定してしまったので、わすれてOK(弱参照
938 名前:806 mailto:sage [2009/11/20(金) 22:26:26 ] 長所と短所の話は 俺の好きな話題だったので・・・ 長所 メモリ開放処理が自動なので簡単である。 そのためソースコードはCなどと比べると、とてもシンプルになり可読性がよい。 java専用高性能エディタが存在するため、生産性は高い(キリ 標準のライブラリがこれでもかってくらいそろってる。 短所 メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。 イージーミスでメモリリークが発生する。 javaSE javaEE と javaMEは別物過ぎる、携帯電話などの端末でもSEで書いたものが動くことを期待する。
939 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:52:32 ] JLayerMEがDLL叩く? そんなもん叩いてないがMMAPIのフルセットが実装されてないとJLayerMEは動かないからMIDPベースでは無理。
940 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:55:54 ] >>938 >>短所 >>メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。 >>イージーミスでメモリリークが発生する。 あんまり見たことないけどね・・・ どんなの?
941 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:04:30 ] 独自に配列スタックを作ろうとして、popされた時にnullで掃除しない場合とかか? しかしArrayDequeueとか適切なクラスがあるしなぁ。
942 名前:918 mailto:sage [2009/11/20(金) 23:24:26 ] >>919 ありがとうございます。 ArrayListにHashMapを格納することで、解決できました。
943 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:28:20 ] >>941 うん。そういう教科書とかに載ってそうなのはわかるんだが、 実装レベルのイージーミスで起こるメモリリークってどんなの?
944 名前:デフォルトの名無しさん [2009/11/21(土) 01:17:22 ] ライブラリにポインタ渡す時はライブラリを信頼しきってるから あとでしっぺ返しされると超こまる
945 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:23:54 ] >>943 staticな変数にデカいコレクション突っ込んだまま放置してメモリを馬鹿食いするとか? メモリリークというのは正しくないけど、症状はメモリリークに近いな。
946 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:53:48 ] Tomcatのコネクタか何かがログをそんな感じでほったらかしにしてたってのがあったな
947 名前:806 mailto:sage [2009/11/21(土) 14:30:28 ] イージーミスの話だけど コレクションにぶち込みっぱなしで放置とか、そんなレベルの実装ね。 現実あったはなしだから、ソースレビューとかちゃんとやろうね
948 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:49:58 ] JTableがクリックされた時に、選択されている行の情報を取得するにはどうすればいいのでしょうか?
949 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:20:07 ] すみません、コンパイルできるんですが何も表示されません、助けてください 見にくいかと思いますが、お願いします //<applet code="SnakeProg2.class" width="300" height="300"></applet> import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SnakeProg2 extends JApplet implements KeyListener { int actiontype = 0, count = 0; int x[] = new int[99]; int y[] = new int[99]; public void init() this.addKeyListener(this); this.setFocusable(true); } public void paint(Graphics g) { super.paint(g); x[count] = 0; y[count] = 0; for (count = 1; count <= x.length; count++) { switch (actiontype) { case 0: count--; break; case 1: x[count] = x[count-1] + 10; g.drawPolyline(x, y, count); break; case 2: y[count] = y[count-1] + 10; g.drawPolyline(x, y, count); break; case 3: x[count] = x[count-1] - 10; g.drawPolyline(x, y, count); break; case 4: y[count] = y[count-1] - 10; g.drawPolyline(x, y, count); break; } } } public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); if(keyCode == KeyEvent.VK_RIGHT) { if(x[count] == 300 || count == 100) { actiontype = 0; } else {actiontype = 1;} } else if(keyCode == KeyEvent.VK_DOWN) { if(y[count] == 300 || count == 100) { actiontype = 0; } else { actiontype = 2; } } else if(keyCode == KeyEvent.VK_LEFT) { if(x[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 3; } else if(keyCode == KeyEvent.VK_UP) { if(y[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 4; } } repaint(); } public void keyTyped(KeyEvent e) { public void keyReleased(KeyEvent e) { }}
950 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:33:59 ] >>948 public void mouseClicked(MouseEvent e) { int idx = tbl.rowAtPoint(e.getPoint()); } あとはお好きに。
951 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:49:53 ] >>948 JTableで文字列をクリックした場合だけセルを選択状態にする ttp://terai.xrea.jp/Swing/CellAtPoint.html MouseInputAdapter ma = new MouseInputAdapter() { public void mousePressed(MouseEvent e) { Point pt = e.getPoint(); int row = table.rowAtPoint(pt);
952 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:53:13 ] >>949 不味い点が多すぎて。 とりあえず初期状態でpaint()が動くと、countでのforループの中でcount--して無限ループ。
953 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:57:00 ] ん、踏んだか。次立ててくるね。スレ立てるのひさびさだな。
954 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:00:17 ] 次は ★★Java質問・相談スレッド134★★ pc12.2ch.net/test/read.cgi/tech/1258793926/
955 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:01:20 ] 乙
956 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:05:44 ] 乙
957 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:18:26 ] >>949 わからん
958 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:20:52 ] >>950-951 とんくす
959 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:27:50 ] 誰か2chにソース貼るとき整形するツール作れよ