1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980 あたりで。
800 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 06:16:29 ] >>739 遅レスだが、ソケットを閉じる
801 名前:755 mailto:sage [2007/07/20(金) 10:32:14 ] レスくれた方どうも有難う御座います。 ググっても適当なメソッドや関数が見つからないと思ったら本当に無いんですか・・・ 凄く冗長な気がしますが大人しくファイル二つの間でコピーし合う事にします
802 名前:デフォルトの名無しさん [2007/07/20(金) 10:41:05 ] for( int i = 0; i < 10; i++ ) { int j = i; } こんな風にループ内で変数の宣言していると、回るたびに変数分のメモリを消費していく? int型の4バイト(?)づつ浪費することになる?
803 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:42:22 ] >>802 intはオブジェクトじゃないからならない。
804 名前:デフォルトの名無しさん [2007/07/20(金) 10:54:28 ] >>803 オブジェクトだとどんどん消費するってことですか? class Hoge { public static void main( String[] args ) { while( 1 ) { xxx(); } } public void xxx() { // ここでオブジェクトの宣言 } 上のようにやればxxx()が終了した時点でオブジェクトのメモリは解放?されると思ってるんですが合ってますか?
805 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:38 ] オブジェクトは xxx が終了した時点で ガベージコレクタによってメモリを開放される条件を満たすようになるが、 実際にメモリが開放されるのはそれ以降でガベージコレクタが実際に走った時。
806 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:56 ] xxx() が終わった時点で参照が外れてGCの対象にはなるが、 その後いつメモリが開放されるかどうかはGCまかせ。
807 名前:デフォルトの名無しさん [2007/07/20(金) 11:20:42 ] レスありがとうございます。 ループ内でオブジェクトを宣言する場合は>>804 のやり方で大丈夫でしょうか? メモリ周りを気にしています。 一番いいのはループ内でオブジェクトは宣言しないことですよね・・・ 軽くGCを調べたら「GCはマルチスレッドで動く」ってあったので期待したい。
808 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:14:44 ] >>807 変数宣言は、できるだけスコープを小さくした方がいい。 この場合なら、ループ内で変数宣言した方がいい。 変数のスコープが小さいときは、 最適化されて変数がレジスタのみ使用し、スタックメモリを消費しなくなる。 オブジェクトの生成はそういうわけにはいかず、 newの度にヒープを消費することになる。
809 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:47:38 ] いまどきはエスケープ解析されて、スタックに詰まれる。
810 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:46:12 ] メモり周りをシビアに使いたいなら Java じゃない方がいいんじゃないかなあ
811 名前:デフォルトの名無しさん [2007/07/20(金) 14:10:46 ] でも管理は楽
812 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:19:29 ] レジスタにのっけるかどうかのアルゴリズムって5.0のままだっけ?6で変わらなかった?
813 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:20:37 ] >>812 レジスタにのっけるかどうかのアルゴリズム自体が 6.0 で追加されたんじゃなかったか?
814 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:08:12 ] JDBCリクエストをラップして、 DB の多重化を簡易的に行えるライブラリはありませんでしょうか。 例えば、アプリケーション層のノードが二つ(A,Bとします) DBノードも二つ(X,Y とします)あるとすれば、 A,B ともラッパー経由で更新していれば X,Y に格納されており、 もし JDBC リクエストで X が落ちたら、Y のみに要求する、と言う形です。 この例であれば X への更新をプールして、X が復活したのを検出したら 流していってくれると最高ですが、この部分は X を復帰させる手続きと して手動でやれということでも構いません。
815 名前:814 mailto:sage [2007/07/20(金) 16:15:52 ] C-JDBC, Sequoia あたりはそうなんですかね… いまいち、一般的に使われているかどうかが分かりません。
816 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:43:41 ] フォントの実際の大きさを求めるにはどうすればいいのでしょうか。 JFrameにJTextAreaを乗せてデータを表示していましたが、一部の文字の色を 変える為に、JTextAreaからJTextPaneへ変更しました。しかし、JTextPaneでは JTextAreaのように行数と列数を指定できません。それはJTextPaneのフォント サイズが可変な為だと思います。けれでも私のプログラムのフォントは等幅で 大きさは全て等しく、色が一意でないだけなので、一文字の実際の高さと幅が分 かれば列数、行数ともに算出可能なはずです。そうすれば setPreferredSize(Dimension d)を使って出来上がりです。 そこで調べてみたところ、FontMetricsクラスを使えば期待する動作が行えそう です。FontMetricsは抽象クラスなので、Graphics.getFontMetrics(Font f)を使 ってインスタンスを生成しなければいけませんが、そのGraphicsクラスを使う方 法が分かりません。Canvs.paint(Graphics g)を使えばできますが、それだけの為 にCanvasクラスを使うのは違う気がしました。
817 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:12:03 ] >>816 使用するフォントを実際に指定できているわけだから そのフォントを表すFontクラスのインスタンスは得ることができるよね? そしたらあとはJComponent#getFontMetrics(Font)でFontMetricsのインスタンスを得ればいいじゃない
818 名前:デフォルトの名無しさん [2007/07/20(金) 20:51:39 ] 質問です。 OutputStream out = new OutputStream(); DataOutputStream dout = new DataOutputStream(out); という風にDataOutputStreamを作って、 dout.close(); を行うと、 out.close()も勝手にやってくれるのでしょうか?
819 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:57:47 ] JavaDocを見なさいって。基本中の基本。 見るのはFilterOutputStreamの方だというヒントは教えとく。
820 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:40 ] >>818 > dout.close(); を行うと、 > out.close()も勝手にやってくれるのでしょうか? 一応やってくれるけど、 例外食らった場合は out.close() してない可能性もある。
821 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:10:51 ] javaってどんなところに使われてるの?
822 名前:818 mailto:sage [2007/07/20(金) 21:10:58 ] >>819 >>820 ありがとうございます。
823 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:13:54 ] >>821 国防
824 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:42:06 ] >>821 火星
825 名前:デフォルトの名無しさん [2007/07/21(土) 01:01:23 ] 参考書とりあえずやったんですけど、どうすればいいですか? 後はAPIっていうのを見ながらやるんですか?
826 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:04:09 ] >>126 は具体的にどのように実装するのか教えていただけませんか。
827 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:43:16 ] >>825 何か作りたいから Java 勉強したんじゃないの?
828 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:09:46 ] >>825 やったのは単なる入門書で文法を学んだだけじゃないの? 参考書ってのは何かを作るときに参照するものだよ 特に作りたいものがないならばゲームでも作ってみるのがいいんじゃね GUI関連は業務じゃ使う機会少ないけど、デザインパターンとか設計力を鍛えるには一番だとばっちゃんが言ってたよ
829 名前:デフォルトの名無しさん [2007/07/21(土) 03:53:11 ] >>825 この辺りで宿題解いてみるのもいいと思うよ。 ★★ Java の宿題ここで答えます Part 62 ★★ pc11.2ch.net/test/read.cgi/tech/1184509890/1-100
830 名前:825 [2007/07/21(土) 12:52:27 ] >>828 >>829 ありがとうございます。参考になりました。
831 名前:788 mailto:sage [2007/07/21(土) 14:44:46 ] >>795-796 レス遅くなりましたが、 これ使わせてもらいます。 ありがとう。
832 名前:デフォルトの名無しさん [2007/07/21(土) 15:22:58 ] サーブレットを覚えたてです、家でも勉強しようと思って、tomcatをインストールしたのですが どうしてもindexに繋がりません、過去に習ってた時の学校では自分でインストールできたのに スタートさせてもアイコンはミドリの▲になるのに、右クリックをするとストップStopではなくStartが押せる状態になっています Tomcatは5.5、Javaは1.5 OSは2000XPでも2000Proでもどちらも同じ現象でダメでした XPのファイアーウォールを無効にしても無理でした 環境設定のPathは教室でインストールした時に、テキストファイルで貰っていたのをコピペしなおしても無理でした これ以上どう足掻いていいのか分かりません
833 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:29:56 ] //A class Hoge{ static void piyo(){} public static void main(String[] arg){ piyo(); } //B class Hoge{ Hoge(){ piyo(); } void piyo(){} public static void main(String[] arg){ new Hoge(); } Aのように書かずBのように書けば、piyoメソッドにstatic修飾子をつけなくてもよくなりますよね こう書くことになにか問題はありますか?
834 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:57:32 ] >>833 修飾子についての理解が不十分 staticをつけたメソッドはインスタンス化しないでも使えるが、 Bのpiyoメソッドはインスタンス化しないと使えない。
835 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:36:23 ] >>832 Eclipse上? 今のTomcatなんてインストーラーに従ってインストールするだけだろ?
836 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:37:18 ] ちなみに環境変数のPathだのCLASS_PATHは下手にいじるなよ
837 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:05:10 ] >>834 うまく言えんけど、おそらく833は 「mainメソッドで呼ぶ」という理由だけでstatic修飾子をつけるのはおかしいのでは? と考えた結果思いついたんじゃないか? 833への答えは持ってないけど、834の答えが的外れな気がしたんで口出し 834のであってたらすまん
838 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:20:47 ] >>833 たしかにAもBもpiyo()が実行されるという一点では同じなんだけど、 piyo()は本当にコンストラクタ内で処理すべき機能なのか考えるべき。 AとBではpiyo()やHogeクラスの意味合いが異なってくる。 piyo()が単にstaticメソッドから呼ばれるだけの下請け的存在ならAで十分だし、 Hogeをインスタンス化する必要がありかつpiyo()がインスタンス生成段階で必要な処理ならB。 class Hoge{ void piyo(){} public static void main(String[] arg){ Hoge h = new Hoge(); h.piyo(); } } こう書くのが適切な場合だってある。 何を実現するためにどうクラス設計をするかを考えてpiyo()の立ち位置を決めておくれ。
839 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:24:31 ] 優等生的回答 class Hoge{ public static void main(String[] arg){ Hoge hoge = new Hoge(); hoge.piyo(); } void piyo(){} }
840 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:42:46 ] newってのが何者かを勉強するといいと思う 単純にfor文とif文を駆使したプログラム入門ならば、全部staticでnewは配列作るときくらいしか使わないでOK クラスとか勉強する段階でnewを覚えるべきだが
841 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:07:22 ] >>832 localhost:8080/index.jsp でだめだったのかい? localhost:8080/manager/html ではどうだい?
842 名前:デフォルトの名無しさん [2007/07/21(土) 19:13:53 ] >>835 私もそう思ってたのでびっくりです >>836 CLASSPATHを作ってservlet-api.jar;.の位置を入れました ↑は自分で打ったけど、パソコンに入れたのは成功した教室のPCからのコピペなんで間違いはないと思います >>841 そこ自体がダメです タスクのアイコンがスタート状態になってても、ストップできずスタートがあるということは、スタートできてないんだと思う
843 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:21:23 ] >>842 CLASS_PATHを消せ 次にコマンドプロンプトからjava -version を打ってversionを確認せよ その上で再インストールして来い スタートできないならばログも嫁
844 名前:デフォルトの名無しさん [2007/07/21(土) 19:29:52 ] >>843 おかげで使えるようになりました ありがとうございました 前に入れたバージョンが残っててそっちを設定してたっぽい ゴメンナサイ 私は、恥かしい間抜けです
845 名前:デフォルトの名無しさん [2007/07/21(土) 21:23:30 ] ,===,====、 _.||___|_____||_ .. / /||___|^ l .. 答えろ ぶち殺すぞ!> (・ω・`)//|| |口| ||ω・` ) . ./(^(^ .//||...|| |口| |⊂ ) . / // ||...|| |口| ||し 新スレです . あ?てめぇどこ中だよ>( )//.... ||...|| |口| || 楽しく使ってね /(^(^ // .... .||...|| |口| || 仲良く使ってね "" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" ` :: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,,
846 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:10:34 ] サーブレット書いてるんだけど、 doGetとdoPostあるじゃん。 どちらか一方に処理全部書いて、もう一方にはdoPost()かdoGet書けば いいだけなんだろうけど。 これでいいのか? てゆうか、分けて書くことってあるの?
847 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:18:16 ] >これでいいのか? いい。 >てゆうか、分けて書くことってあるの? 使い方による。
848 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:41:17 ] 例えばリクエストにGetを許可しないケース
849 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:00:41 ] 初心者です。javaのGUIアプリケーションってデザイン的によくないイメージがあるのですが、 見た目にこった実装ってできるのでしょうか? 例えば、ウィンドウを3D間隔で操作できるとか、swingコンポーネント等でも デザインが柔軟に変更できるとか。OS依存でも構わないです。(できればWindows) その他なんでもよいのですが、おもしろいデザインにするための技術情報など教えていただきたいです。
850 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:04:51 ] LookAndFeel(ようはスキン)を自作することはできる。 Swing synthでぐぐってみたら?
851 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:06:04 ] >>849 やろうと思えば3Dだろうとなんだろうと可能だが、簡単に出来るわけじゃない 単純に派手なUIが欲しいってのならば方向性は違うだろうね Eclipseで使われているSWTなんかを使えば簡単にWindows風のUIも可能 Swingだって6.0で大幅にパフォーマンスも向上しているから捨てたもんじゃない ただし、作るにはそれなりのセンスと時間が必要
852 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:26:17 ] >>850 htmlとcssみたいな関係なのでしょうか?調べてみますm(__)m >>851 javaを勉強し始めてから早一年経ちましたが、人の作ったライブラリを呼び出すだけの人になってますorz ちなみに最近netbeansを使ってGUIの作成ってやってみたのですが、VBチックで楽だなぁと思ったのですが 同じようなものなのかな? SWTなるもの調べてみますm(__)m
853 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:31 ] >>852 SwingなりSWTはツールを使わずに習得した方がいい 自然とOOPでの設計力が付くぞ
854 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:58 ] programming base .javaとか言うのを学校で使って 家でもちょっとやりたいと思ってるのですが、 家では開けず、あぁーなんかダウソしないといかんのかぁー。となっとります。 ほんとに初歩の初歩の質問で申し訳ないのですがどなたか教えて頂けるとありがたいです。 えー、ちなみに void on Idle とか使ってた奴です。(何だこの説明。。。
855 名前:デフォルトの名無しさん [2007/07/21(土) 23:57:39 ] JRE Version 6 Update 2 のインストーラーで質問。 ttp://www.java.com/ja/download/index.jsp ↑ここから辿ってダウンロードできる jre-6u2-windows-i586-p-s.exe と ttp://java.sun.com/javase/ja/6/download.html ↑ここの「Java Runtime Environment (JRE) 6u2」のダウンロードから辿って ダウンロードできる jre-6u2-windows-i586-p.exe の違いが分かる人いますか? 両方ダウンロードするとどちらも 14,566,808 バイトだけど、バイナリ比較すると一致しない…
856 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:15:19 ] >>853 ですね。。正直今の段階だと自動生成されたソースが何をやっているのか分からない状態です。 GUI開発が熟練してからツール使うことにします^^;
857 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:12:13 ] >>854 が釣りかエスパーか判断できないので誰か支援頼むw >>856 まあ、netbeansの吐くコードは汚いね。 いまさらSWT使う利点なんてないよ。 5.0/6のVMは早いし、SwingのSystemLnFもネイティブコードの呼び出し増えて見栄えもかなり近いし。 普通に使う分にはVMのメモリを多めに取ればSwingもSWTもたいして速度変わらん。 それに今時Swingで十分な速度でない環境だとjavaそのものが遅いし。 ここら辺のおかげでnetbeansがかなり使えるようになった。 SWTはjava風じゃないところがあるからまずはjavaを覚えた方が良い。
858 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:49:52 ] これを応えられるほどの凄腕エスパーは世界に3人といないだろう
859 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:55:56 ] SWTって自分でメッセージループ回してるところがWindouzuっぽくて嫌だ
860 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 09:19:55 ] ちゃんと授業を聞いている学校のクラスメートだったら分かるんだろうな
861 名前:816 mailto:sage [2007/07/22(日) 14:51:24 ] >>817 おお、うまくいきました。 Graphicsクラスからしか取得できないと思っていました。 ありがとうございました。
862 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:01:53 ] JFlexとJacでちょっとしたもの作ろうとおもってるんだけど、 ビルドをeclipse上で自動化したい場合ってどうすればいいの?
863 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:03:05 ] ×jac ○jay
864 名前:862 mailto:sage [2007/07/22(日) 17:47:46 ] 申し訳ございません。 eclipseのスレがありましたのであちらで質問します。 ありがとうございました。
865 名前:デフォルトの名無しさん [2007/07/22(日) 20:10:02 ] 英語と日本語が混ざった長文をテキストエリアなどに表示される場合、 正確に一画面文の文字数をカウントすることをご教授願います。 フォントサイズから一画面の文字数を数える場合、 英文が入るを正確にカウントできません
866 名前:デフォルトの名無しさん [2007/07/22(日) 20:14:06 ] できるよ。 文字数を読むメソッドがある
867 名前:デフォルトの名無しさん [2007/07/23(月) 02:05:51 ] >>846 通常、POSTとGETは使い分けるよ。使う目的も違うし、HTTPにおけるパラメータの 送信方法も異なってくる。また、Tomcatの場合はHttpServletRequestのsetCharacterEncodingは GETパラメータには利かない。(※いくつかの設定は存在する) Servletを学習するなら、同時にHTTPについて学習するのはすごく有意義だし、Web上に色々参考に なる記事が沢山落ちてるから、まずはPOSTとGETは具体的に何が違うのかを学習すると良いと思うよ。
868 名前:デフォルトの名無しさん [2007/07/23(月) 09:13:08 ] ちょっとでも、お役に立てれば。 ↓ www.yukinko-net.jp/
869 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:23:50 ] Rhinoの質問いいですか。 Rhinoでコマンドライン用のスクリプトを書こうとしているのですが、 コマンドライン引数の取り方が分かりません。 RubyでいうところのARGVです。 Rhino argv で検索しても C のソースしか引っかからないし。 どなたかお願いします。
870 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:32:59 ] args
871 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:16 ] >>869 RhinoはJavaによるJavascriptの実装だから、実装内容に関わるような話ならこのスレかもしれないが、 単なるスクリプトプログラミングについてここで聞くのはスレ違い。 ある言語について質問する時に、その言語の処理系が何で実装されているかに関わらず、 普通はその言語のスレで質問するだろ?
872 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:53 ] >>870 argsは定義されていないようです。 print(args); //=> ReferenceError: "args" is not defined. Rhinoは1.6R5です。
873 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:01:36 ] >>871 JavaScript一般の話ではなく、あくまでRhino固有の話なので、JavaScript関連のスレではなくここで質問しました。 Rhino専用のスレはないし、RhinoはJava6から標準装備ですし、ここが一番適切ではないでしょうか。
874 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:39:30 ] >>871 JavaScriptのスレでこんなもんわかるやついるわけないだろ。Javaスレ行けっていわれるのがオチ。
875 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:53:57 ] >>874 じゃあお前が答えてやれよ 俺はRhinoは嫌いだ >>869 arguments
876 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:07:55 ] >>869 jrunscript で実行してるなら arguments で取れるはず。 そうでない場合は、自前でScriptEngineにセットしないとダメなんじゃね? scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).put("arguments", args);
877 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:26:41 ] >>875 ,876 argumentsでとってこれました。ありがとうございました。 ちなみにこういった情報はどこで見つけるものなんでしょうか。
878 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:30:03 ] >>877 java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jrunscript.html
879 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:59:42 ] >>874 呼んだ? おまえら少しはEcma Scriptスレに顔出して上げてください。 ネタがないんで普段は実装と仕様の差異の話で盛り上がっとりますよ。 SpiderMonkyが人気ないからRhinoで持ちきりなんだが・・・。 java6のRhino劣化品。いらない子。 >>878 それmozillaのdocの劣化コピペだからmozillaの開発者向けサイトかRhinoのdocに全部書いてある。
880 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:28:58 ] >>879 一応別のツールだから劣化コピペとは言い切れないんじゃね? Rhino のツールでは -l でスクリプト言語指定したりできないっしょ。
881 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:51:12 ] いやjdk6に入ってるjs.jarはスループット優先でRhinoの機能かなりとっぱらってサイズ減らしてるんだよ。 さらにコンパイラ省かれてるから一切最適化されてない純粋なインタープリタで動いてる。 Rhinoのドキュメントに組み込みガイドがあって そこにスループット優先でビルドする手順が書かれてるんだけどそれと同じ事してる。+JavaAdaptorが劣化。 jrunscriptはそのRhinoのScripting APIに従った純粋なラッパー。 Rhinoの殆どの実装クラスがjavax.script.*じゃなくてcom.sun.*にあるから自分でJSオブジェクト実装とかクラスシャッターでセキュリティ制限とかできない問題もある。 ecmaスレで詳しい話題が出てるよ。
882 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:26:28 ] >>881 javax.script は Rhino とは別物だよ。 で、jrunscript と org.mozilla.javascript.tools.shell も別物。 だから jrunscript の、より詳しいドキュメントとして mozilla のドキュメント読めというのはダメ。
883 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:29:23 ] >>869 はjrunscriptとはいってないだろ。 Rhino1.6R5と言っただけ。Rhinoがjavaの実装で6から標準装備だからこっち来たと。 >>876 が勝手にjrunscriptと言い出しただけだろ。だからecmaスレ行けって。
884 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:37:36 ] >>883 俺は >>879 にレスつけただけなんだが。なんで >>869 の話が出てくるんだ?
885 名前:デフォルトの名無しさん [2007/07/24(火) 01:27:16 ] Rhinoってなに?
886 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:39:57 ] どっかの誰かさんが作ったjavaのライブラリ
887 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:51:47 ] >>884 おまえ上の流れくらい読めよ。馬鹿だろ?
888 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:53:20 ] jdbcのドライバのロードを static { } 内に記述して一度だけ実行するようにしたいんだけど、 これって可能なんでしょうか。コードは以下のような感じ。 class Hoge { static { try { Class.forName("org.postgresql.Driver");
889 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:00:58 ] 誤爆 class Hoge { static { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } public static Connection open() { Connection conn = DriverManager.getConnection("foo", "bar", "baz); return conn; } // 以下略 } コンパイルエラーは以下。 [javac] シンボル: 変数 DriverManager [javac] 場所 : Hoge の クラス [javac] Connection conn = DriverManager.getConnection("foo", "bar", "baz"); [javac] ^ [javac] エラー 1 個
890 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:06:50 ] 静的初期化子の中のcatch節の終了の}が無い
891 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:07:07 ] >>889 のソースコード、改めてみるとなかなかひどい抜けがあるけど勘弁してくれ。 クラスパスが通ってないのかなと思って servlet-api.jar にも classpath を通してみて HttpServlet を継承しただけのコードを書いてみたけど、こちらは問題なかった。 ビルドに用いている ant の build.xml のクラスパスの部分は以下。lib/ 内には postgresql.jar が配置されている。 <target name="compile"> <mkdir dir="${bin.dir}" /> <javac srcdir="${src.dir}" destdir="${bin.dir}"> <classpath> <!-- <fileset dir="lib"> <include name="*.jar" /> </fileset>--> <pathelement location="lib/postgresql.jar" /> <pathelement location="/usr/share/tomcat5.5/common/lib/servlet-api.jar" /> </classpath> </javac> </target>
892 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:13:33 ] >>890 取り急ぎ書いたんで抜けた。すまん。他にも "baz" の終わりの " が抜けたりしてる。 手元のコードはちゃんとしてるから大丈夫。
893 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:17:47 ] そして>>889 にはったエラーメッセージに肝心のエラーメッセージがはってないな。 DriverManagerに対して 「シンボルを見つけられません。」 というメッセージです。
894 名前:888 mailto:sage [2007/07/24(火) 03:20:11 ] 解決しますた。 DriverManagerってずっと postgresql.jar の中にあるクラスと思ってたら java.sql.DriverManager だったのな。。。
895 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:21:33 ] >>892 import java.sql.DriverManager;してる?
896 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:38 ] 遅かったorz 解決して何より まあシンボルが見つからないエラーは完全名を指定できていないミスが多いからね
897 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:59 ] まさに今同じミスをやらかして修正に追われていた。 Eclipseの補完機能に頼りすぎておんなじ名前のメソッド入った パッケージがこんがらがるとこういうことになる。
898 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 04:14:49 ] 設計時に使うパッケージは大方分かってるからワイルドカードでインポートして クラス名が被るのは限定名でアクセスしてあとから「インポートの編集」すると混乱が減るよ。
899 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 06:42:38 ] インポートのワイルドカード嫌う人おおいみたいだけどなんで? コンパイル遅くなるから? 実行時にも遅くなる? import *; ができないからどっちもどっち?
900 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:30:15 ] importの意味を知っていれば実行時に遅くなるなんて台詞は出てこないはずだぞ。
901 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:44:01 ] >>899 importは「このクラスはこいつらに依存してますぜ」というある意味クラスの設計情報みたい なもの。仕様変更やデバッグするときに鬼のようにimport hoge.*;とか書かれまくっていきな りプログラム中でクラスが使用されているとどのクラス追いかけたらいいのかわからなくなる。 でっかいシステムなら尚のこと。 俺の場合作る手間より直す手間を減らすため、かなぁ。
902 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:00:23 ] importなんて久しく意識してないな。eclipseが勝手に完全名書いてくれるからねえ
903 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:03:03 ] import hoge.* でもIDEのサポートでどのパッケージはわかるから別に困らんし、 使うオブジェクト全部をimportで指定するのは面度だが、 これもIDEのサポートでさほど手間でもない。 どっちでもいい気がするが、プロジェクトのやり方に合わせるのが基地。
904 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:16:44 ] 入門向け書籍でサンプルコードを1行でも削るために使用されてるだけじゃね?>import の *
905 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:31:57 ] importで*を使うと実行速度が低下するって聞いたんだけど本当?
906 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:37:36 ] >>905 >>900
907 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:51:50 ] 遅くならないの?
908 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:54:42 ] コンパイル時に解決されるのに、実行時に影響があるわけが
909 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:04:52 ] あーそうだね やっとわかった ごめんね
910 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 16:56:27 ] けど無駄なリンクが発生するから要らないリンク時間がかからない?javaって動的リンクだし。 まあ、無駄なアクセスがあればの話だけど。
911 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:00:45 ] 全然分かってないじゃないか
912 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:02:19 ] importじゃなくabbreviateとかそんな予約語だったほうが良かったのかな
913 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:12:23 ] >>910 hoge.Hegeクラスを参照しているソースファイル中で、 import hoge.*; とやった場合と、 import hoge.Hege; とやった場合でコンパイル後のclassファイル中のHegeクラスの名前の指定の相違点を確認。
914 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:33:39 ] import a.*; import b.*; とかなってるときに、 パッケージ b 内にしかなかったクラスの名前と同じクラスをパッケージ a に追加すると、 追加したところとは異なるところからコンパイルエラーが発生してびびる もっとも、たまたまシグネチャが合ってエラーが発生しなかったらと思うともっと心配かも
915 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:38:57 ] 無駄なリンクが発生するので、たぶん 要らないリンクに時間が掛かります(コンパイルに)
916 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:56:13 ] クラスサイズが大きくなるってのは?
917 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:11:12 ] ならないよ コンパイラの名前解決時に影響するだけ コンパイル後はまったく一緒、クラスファイルにはフルネームで格納される
918 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:15:09 ] >>915-916 無駄なリンクなんて発生しねえしサイズも大きくならねえよ importは単にこのクラスもしくはパッケージからクラス定義を拾ってこいっていうコンパイラへの指令 コンパイラの実装次第でワイルドカードを使った時のクラス検索の効率に差が出るかもしれんが
919 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:06:32 ] import * ワロタ どこの都市伝説だよw
920 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:43:08 ] import *; 永遠に compile oh what a night in jamaica!
921 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:43:17 ] すべてのパッケージからクラスを探し出すのか
922 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:11:46 ] 結局クラスパス上になければコンパイルエラーだし クラスパス上にあるなら import *; でも探すことはできるはず。 importってコンパイルを手助けしてあげるためにあるのか? >>901 の意味合いももちろんわかるけど。
923 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:15:11 ] Javaのバージョンを変えてリコンパイルし直すと、ソースいじってないのにファイルサイズ増えるよね。 これってバージョンがあがってリンク先が増えたからだと思ってた。 富○通正社員の俺 協力会社の新人に笑われたorz
924 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:18:12 ] 大丈夫落ち込むほどYOUの会社の評価は高くない。
925 名前:デフォルトの名無しさん [2007/07/25(水) 03:05:55 ] そしてなにより板の空気をよめない 923は最悪
926 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 03:39:37 ] いろんな苦労の末に入ったばっかりなんじゃないかなー
927 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:37:36 ] Rhinoって何て読む? アール日野?
928 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:39:34 ] サイさんは英語でなんと言うのでしょう赤坂?
929 名前:デフォルトの名無しさん [2007/07/25(水) 09:27:12 ] >>923 落ち目だからな・・・。
930 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:52:40 ] J2EEとJavaは何が違うんですか?
931 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:56:24 ] >>930 それは関西と大阪は何が違うかという質問に近い。
932 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:03:05 ] >>931 いやいやいやw 関西と関西弁の違い、と思う
933 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:25:59 ] 日本人と関西人の違いだろ 企業と企業広報の違いでも有るかな
934 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:57:24 ] Javaで動画や音声のストリーミングって出来ますか? 動画はともかく、ねとらじとかをJavaから利用できないかな?
935 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:05:11 ] やろうと思えばできる、やるかどうかは別だが
936 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:06:21 ] >>930 ファミコンとディスクシステムのような関係
937 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:36:59 ] >>934 さがせばストリーミングライブラリがいくらでもある。 J2EEの名称はもう使われてないな。
938 名前:デフォルトの名無しさん [2007/07/26(木) 00:41:29 ] JAVAアプレットのプログラムを作ってるんですが Mainのプログラムから描画の処理のところだけ切り出して 別のクラスにかきだしたいのですがいくらやってもうまくいきません どうすればいいですか? どなたか教えて下さい
939 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:45:52 ] エスパーが来るまでお待ちください。
940 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:49:37 ] >>938 どうすればいいかは、 あなたが考えれば一番うまくいくでしょう。
941 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:57:00 ] まあパッシブレンダリングだと混乱するのも分かるけどな。
942 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:23:16 ] javaのパッシブ/アクティブレンダリングはそういう使い方するもんか? GUIにタイミング任せるか、プログラムで自分でやるかの話だろ? アプレットはエントリポイントが違うってんなら分かるが。 >>938 せめてソースくらい上げましょうぜ旦那?
943 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:28:40 ] >>938 描画処理? とりあえずソースだな。
944 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:35:17 ] プログラム内からrmiregistryを立ち上げたいのですが、 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36623&forum=12&7 itpro.nikkeibp.co.jp/article/COLUMN/20061208/256374/?ST=develop を見て、sun.management.Agent内でその処理を行っているのはわかったのですが このソースのどこで立ち上げてるかさぱり分かりません。 誰がわかる人がいたら解説お願いします。
945 名前:デフォルトの名無しさん [2007/07/26(木) 10:21:31 ] Java って、内部クラスから外側のクラスの this ポインタを取得することってできないの? class Outer { void Hoge() { Inner inner = new Inner(); inner.Foo(); } class Inner { void Foo() { // ここで Outer の this がほしい。 } } } コンストラクタで明示的に外側のクラスの this を渡すしかない?
946 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 10:35:56 ] >>945 Outer.this
947 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:24:44 ] class Inner はstatic finalのほうがよくね?
948 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:25:23 ] 派生元のクラスでprivateで定義されているメンバ変数に それを継承したクラスの方からアクセスするにはどうしたらよいですか?
949 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:41:37 ] >>948 java.lang.reflect.Field
950 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:42:49 ] >>948 private で宣言されたメンバは継承されない getter 用意してアクセスしろ
951 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:02:25 ] >>949 ありがとうございます 1.4でも使えますか?
952 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:08:39 ] 継承はされるだろ
953 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:22:11 ] >>952 java.sun.com/docs/books/jls/third_edition/html/classes.html#8.2 > Members of a class that are declared private are not inherited by subclasses of that class. > Only members of a class that are declared protected or public are inherited by subclasses > declared in a package other than the one in which the class is declared. 継承されてたら言語仕様に反する。
954 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:33:06 ] >>951 1.4でも使えるけど、セキュリティマネージャが許可しない場合は使えない。 例えばアプレットとかだと、Field#setAccessible() が許可されないはず。
955 名前:デフォルトの名無しさん [2007/07/26(木) 18:01:23 ] JAVAさんってC#くんが嫌いなんですか?
956 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:12:42 ] 普通設計段階でprotectedにするだろ。そういうの。 >>955 ゲイツ君がpure javaさんを嫌いで古臭いjavaさんの実行モデルを元に「・・・頼むよ君」と呼んできたのがC#くん。
957 名前:デフォルトの名無しさん [2007/07/26(木) 18:33:30 ] >>938 なんですが もう一度質問します。アプレットのメインクラスの中にある 描画処理・・・・たとえば↓ public void paint(Graphics g){ //描画処理 } を別のクラスに作って描画処理を丸々引き渡したいのですが 別のクラスから描画処理をやろうとするとウィンドウに描画処理が反映されません。 メインクラスからだと反映されるのですが・・・。 描画処理をほかのクラスに引き渡すにはどうしたらいいですか? たびたび質問してしまって申し訳ありません。
958 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:49:04 ] paintの引数のGraphics gを使えば、同じクラスだろうが別のクラスだろうが関係無くちゃんと描画されるハズ。 使ってるつもりなのに描画されないなら、多分つもりなだけで実際には使われて無いんだろう。 問題のコードをどっかにうpした方が回答がつきやすいと思うよ。
959 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:08:29 ] INT型の変数が2147483647を超えるとマイナスになってしまいますが、これを防ぐにはどうしたらいいものでしょうか
960 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:11:50 ] long
961 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:16:38 ] >>957 ソース
962 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:31:25 ] >>960 わかりました。long使ってみます ありがとうございました
963 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:41:33 ] すみません・・・ long b = Integer.parseInt(line); このようにlineを取り込むとlongでも小数点以下がなくなってしまいます longで取り込むにはどうしたらいいのでしょうか
964 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:48:59 ] longもintも整数を保持する型 doubleは小数を保持する型 ってかlongに変えたんならInteger.parseInt()使うなよ long用にはLong.parseLong()がある doubleを使う場合はDouble.parseDouble()とかもある これらを実行してどうなるか試してごらん
965 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:05:07 ] なるほど いろいろ種類があるんですね おかげさまで何とか動くようになりました!ありがとうございました
966 名前:デフォルトの名無しさん [2007/07/26(木) 20:10:25 ] >>958 できました ちょっとしたミスでした どもです^^;
967 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:42:31 ] >>947 親クラスの非staticなメンバに直接アクセスするような インナークラスだとstaticクラスじゃ無理。 たとえば、Iterableを実装するようなクラスがそれにあたる。 >>945 のケースだとOuterのthisを要求しているからstaticじゃ面倒だね。 そうじゃない場合、ただの別クラスがたまたまインナークラスになっている場合、 staticにしないとnewするのにいちいち、 new Outer().new Inner(); とかいうわからないコードを書かないといけないハメになる。 まあ、内部に非staticクラスしのばせるのもいいけど、 メソッド内にクラス定義書くのも乙だと思うけどな。かなり嫌われるけど。
968 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:00:58 ] JUnitをさわりだしたんだけど、これって基本的にpublicな関数・変数のみを 対象にするって感じでいい? 本当はprivateな関数のテストもしたいし、privateな変数にアクセスして チェックもしたいんだけど。 それともprivateを使わないで全部protectedにしてるとか?
969 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:16:31 ] >>968 JUnitは単なるツール どんなテストを行うかは別の問題
970 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:17:16 ] >>968 (1)リスク駆動で。気になったところからチェックする。 単純な getter や setter などトリビアルなものに対するテストを考えるくらいなら、 もっとやるべきことがあるはずだ、たぶん (2)protected にするくらいなら、パッケージプライベートで (3)どうせなら、テストファーストがお勧め テストを書こうとするだけで、モジュールの独立性や使い勝手などが 設計にフィードバックされる
971 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:59:18 ] >>956 わたしもprotectedにするべきだと思うんですが 提供されているソースをみるとそうなってなかったんですね
972 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:51:39 ] サーブレットについて質問。 コンテナに登録されているロール名の一覧を取得する 方法はない? あるロール名が登録されているかどうかを判別する だけでもいい。 コンテナはGlassfish v2 Beta 3だが、JEE汎用の方法が 嬉しい。
973 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:53:26 ] publicなり、protectedのテストがきちんとかかれていれば、privateメソッドもテストされるんでない? jcoverageとか使ってみれば?
974 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:53 ] for文が上手く動いてくれないです while(true){}でやるとちゃんと動くですが、どんな条件を入れても動いてくれません 他にもfor文とかの繰り返しはたくさんあるのですが、これだけ動いてくれません ■java 2 SDK SE v1.4.2_14 ■WinXP Home for文の中にprintlnを書いても全く表示されませんでした。 何が原因なのでしょうか? ttp://up.spawn.jp/file/up36584.txt
975 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:43:11 ] (´・ω・`)自己解決しました
976 名前:デフォルトの名無しさん [2007/07/27(金) 06:26:15 ] Java(Struts)で、10分に一回、あるテーブルのデータをチェックするという プログラムを作るにはどうすればよいのでしょうか? ずっと、そのチェックをはしらせときたいのです。
977 名前:968 mailto:sage [2007/07/27(金) 07:48:59 ] レスどーも >>969 一般的にどんな感じでテストしてるか知りたい。 >>970 JUnitは単体テストなので実装依存(ソースにべったり)のテストコードを 作るのか、あるいは外部から見える範囲内(内部での細かい動作まではテストしない) なのかを知りたいところ。 リスク駆動と言うのであれば、やはりprivateな変数・オブジェクトレベルでも チェックしたいかなーと思ったんだけど、普通はそこまではしないもんなのかな。 クラスや関数はパッケージローカルでいいとは思うけど。 >>973 とりあえずjcoverage見てみたけどよくわからんw IDEと連動しにくいツールは手を出しにくいかも。
978 名前:968 mailto:sage [2007/07/27(金) 07:51:55 ] ちなみに今はnetbeans使用
979 名前:968 mailto:sage [2007/07/27(金) 08:00:03 ] なんかこんなのあるな journal.mycom.co.jp/news/2007/07/20/006/index.html
980 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:47:09 ] 次スレ立てました。 【初心者】Java質問・相談スレッド104【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1185493592/
981 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 09:55:44 ] >>976 cron
982 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:33:24 ] Eclipseならプラグインがあったんだが。 >>979 ちょっと試してみたが、なかなか面白そうなツール。 要するに、テスト対象のコードをいじって、テストがそれを検出できるかを調べるツール。 カバレッジとはまた別の視点で単体テスト品質を計測するようだ。
983 名前:デフォルトの名無しさん [2007/07/27(金) 10:51:34 ] 文字コード変換について質問です。 開発環境の文字コードはEUCなのですが、 String sample= "さんぷる"; String sjSample = new String( sample.getBytes( "SJIS" ), "SJIS" ); 上の処理でSJISに変換されるんでしょうか? 変換された事を確認することってできないんでしょうか?
984 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:55:46 ] >>983 > 上の処理でSJISに変換されるんでしょうか? 一瞬だけ。 > 変換された事を確認することってできないんでしょうか? sample.getBytes("SJIS") の戻り値を確認。
985 名前:デフォルトの名無しさん [2007/07/27(金) 11:36:56 ] >>984 >一瞬だけ。 プログラム実行中は変換されたままですよね? >sample.getBytes("SJIS") の戻り値を確認。 戻り値を確認してみたら [B@ed0338 でした。 変換されたのはなんとなくわかりますけど、こういうもんですか?
986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 11:43:53 ] >>985 > プログラム実行中は変換されたままですよね? no。すぐにGC可能状態になる。 > 戻り値を確認してみたら [B@ed0338 でした。 toString()が確認に使えるか、もチェックしてから使え。 sample.getBytes("SJIS") で戻ってきた配列の中身を確認しろ。
987 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 11:44:28 ] >>983 ,985 ソースコードを EUC で書いても、String は Unicode です getBytes("SJIS") で SJIS に変換されるけど、String に戻したらまた Unicode です
988 名前:デフォルトの名無しさん [2007/07/27(金) 12:33:10 ] >>986 配列の中身まではみていませんでした。 確認したら数値が入っていたので調べてみます。 >987 内部コードってやつですか・・・SJISで扱えるのはgetByte("SJIS")の戻り値だけってことですね。 すいません、質問を変えさせてください。 URLConnectionを使って相手先に複数のパラメータを送ろうとしているのですが、 日本語を扱うパラメータはSJISに変換することになっています。 この変換が上手くいかず、今はEUCで送ってしまっている状態です。 日本語パラメータをSJISで送るにはどうすればいいんでしょうか? SJISに変換した文字列を送ろうと思って最初の質問をしていました。
989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 12:49:59 ] >>988 java.net.URLEncoder.encode("文字列", "SJIS");
990 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 15:02:02 ] 無料ホームページスペースを使って、JAVAアプリケットをおいてJAVAアプリケットから誰でもそのホーム ページのFTPに入ってパスワードを入れて ファイルを書き換えることはしてもいいんですか?
991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 16:12:31 ] 規約嫁としか
992 名前:968 mailto:sage [2007/07/27(金) 16:35:58 ] JAVAアプリケット関係ない つーかJAVAアプリケットて何?w
993 名前:968 mailto:sage [2007/07/27(金) 16:37:02 ] あ、名前消すの忘れてたw
994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 17:45:49 ] >>992 インストロールみたいなものじゃないの?
995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 17:59:24 ] >SJISに変換することになっています。 分かりづらい地味な嫌がらせだな。せめてUTF-8にしてやればいいのにw >>990 鯖の規則読んで出来るか確認してjavaアプレットから どうやってFTP叩くかまで出来てからのご来場をお待ちしております。 じゃなきゃエスパー待ちになるぞ。
996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 19:37:43 ] synchronized 指定されたメソッド呼び出しをしたら、 オブジェクトにたいしてロックが入るの? それともメソッドだけ?? class Hoge { public synchronized int hoge(){...} ... } Hoge hoge.hoge(); ↑ こうやったときに 別のスレッドからはhoge()だけ呼び出しできないのか、 それともhogeに対するアクセスは全部ロック解除待ちになるの?
997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:40:28 ] >>996 hoge
998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:40:39 ] synchronizedメソッドはsynchronized(this){}と同じ意味だった気がする だからhogeの他のsychronizedメソッドもロックされるな
999 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:44:21 ] メソッドは呼び出しできないけどオブジェクトにはアクセスできたと思う オブジェクトをロックする方法は別にあったはずだし
1000 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:45:07 ] ガチでか 勘違いしてたぜ(´ー`;)
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。