1 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:36:21 ] プログラミング言語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質問・相談スレッド134★★ pc12.2ch.net/test/read.cgi/tech/1258793926/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
285 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 22:42:28 ] 通常は何らかのコンテナが、自身が管理する 配下のクラスを(動的)ロードする際に、 新規にクラスローダを作成してロードする。 例えば、ServletコンテナはデプロイされたWebアプリケーション毎に、 専用のクラスローダを割り当てて実行する。 参考 www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html
286 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:01:01 ] ありがとうございます、 Webアプリケーションのクラスローダを使用しています。 tomcatのWebアプリを停止、再ロード、再配備すると 破棄されますよな?
287 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:09:18 ] いずれのタイミングも破棄されます。
288 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:11:33 ] ありがとうございます。 Webアプリの停止、再ロード、再配備以外で 破棄されることはあるのでしょうか?
289 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:16:50 ] コンテナがロード済みクラスを破棄するのは、あくまでWebアプリケーションが停止、 またはそれに準じる指示が管理者によって行われた場合のみです。 Webアプリが利用するフレームワークの一部には、フレームワーク自身のクラスローダを一枚追加して、 開発者が任意のタイミングでクラス再ロードを行えるような仕組み (コンテナ再起動不要な即時修正内容の反映)を提供している場合もあります。
290 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:25:49 ] クラスローダを自作している場合以外は、 停止により破棄されるということですね。 ありがとうございます。 一度ロードされたクラスのstaticブロックは、 クラスローダが破棄された場合と、 そのクラスがGCによりアンロードされた場合に、 2度目の呼び出しで実行されますよね?
291 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:32:07 ] クラスローダーって何?
292 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:34:39 ] BigBang-Fuzionってどうなの?MSIってだけでなんか嫌なんだけど
293 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:35:19 ] ごめんなさい誤爆しましたごめんなさい
294 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:44:55 ] クラスがGCによりアンロードされるためには、 そのクラスをロードしたクラスローダがGCの対象(破棄済み)になっていなければなりません。 通常の使われ方(クラスローダのカスタマイズを行わない場合)であれば、 一度ロードされたクラスがアンロードされる可能性を考慮する必要はありません。 そのため、プログラムが再起動されない限り、 static initializerが複数回実行されることもありません。
295 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 23:54:22 ] わかりました、丁寧な解説本当にありがとうございました。
296 名前:デフォルトの名無しさん [2010/01/18(月) 10:55:36 ] すいません JTableでテーブルをつくったんですが 検索機能ってつけれますか?
297 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 10:58:58 ] 自分でやるしかないっす
298 名前:デフォルトの名無しさん [2010/01/18(月) 11:02:55 ] 検索語句を入力させるテキストフィールドが配置できないんですがどうやったらいいですか?
299 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 11:20:31 ] それも自分でやるしかないっす
300 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 11:32:29 ] FileChannelについての質問です。 mapメソッドを用いてメモリ上にマッピングを行ったファイルを削除する方法を教えてください。 FileInputStream fis = new FileInputStream(source); FileChannel channel = fis.getChannel(); MappedByteBuffer buf = channel.map(MapMode.READ_ONLY, 0, 0x10); fis.close(); System.out.println(source.delete()); このように、closeするだけでは削除に失敗するのです。 メモリの解放が行えたらいいと思うのですが・・・ お願いします。
301 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:18:49 ] >>300 buf = null; System.gc(); SystemrunFinalization() System.out.println(source.delete()); 現状、MappedByteBuffer のファイナライザしか メモリマップドファイル閉じられないんだよね。 Bug Database にもあるけど。 bugs.sun.com/view_bug.do?bug_id=4724038
302 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:23:47 ] >>301 ありがとうございます! 納得ですね。自分でもBug Databaseを調べてみようと思います。
303 名前:デフォルトの名無しさん [2010/01/18(月) 13:44:55 ] n行n列の表を作成したいのですが、どなたか教えて頂けないでしょうか?
304 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:05:31 ] 書き込む余裕がある時に教えますね。
305 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:06:24 ] new String[n][n];
306 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:15:35 ] >>168 委譲
307 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:16:35 ] >>305 説明付きで教えて頂けないでしょうか?
308 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:33:00 ] new String[n][n]; //n行n列の表を作成します
309 名前:デフォルトの名無しさん [2010/01/18(月) 15:24:35 ] Matcher型の変数matcherがあって、 matcher.matches();//true matcher.groupCount();//2 とでるのに、 matcher;group();//No match found matcher;group(1);//No match found matcher;group(2);//No match found となるという現象に遭遇しているのですが、どういう原因が考えられますか?
310 名前:309 mailto:sage [2010/01/18(月) 15:34:27 ] ごめんなさい自己解決しました。 デバッグ時のミスでコードを一部取り除いてしまっていて 単にmatcher.matches()が実行されてませんでした。 デバッグ時に確認するためにmatches()を書いていたからgroupCount()も正しく出ていたという。
311 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:29:02 ] 元々馬鹿が使う言語ってイメージでしたが最近では人気も地に落ちてしまったJava… Javaエンジニアって名乗るのがとても恥ずかしいです。 先輩方は恥ずかしくないですか?
312 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:38:36 ] マゾなので問題ありません
313 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:41:37 ] 名乗る以前にJavaしか使えない人なんていないだろ
314 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:00:12 ] <言語>エンジニア と名乗るのがとても恥ずかしいです
315 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:46:58 ] >>314 確かに。というかそんな名乗り方考えたことも無かったわ。
316 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 20:09:55 ] 自称「Cプログラマ」はかっこいいけど hagi.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/saredo
317 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 20:51:43 ] netbeansでデバッグしている時に、あるクラスがどこから呼び出されているかを調べたいのですが どこで表示できるのでしょうか?
318 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:10:16 ] >>316 最初おもしろかったけど、長すぎて飛ばした。 JUNET? 何年前の文章だ?
319 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:13:54 ] >>317 すれ違いのような気もするが Alt+Shift+9
320 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:43:19 ] >>319 おぉ〜、ありがとうございました
321 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:18:52 ] >>319 恥ずかしいから御礼を言わないでく・れ・・・
322 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:20:53 ] JavaのチュートリアルではNetbeansが使われてるけど、 SunはEclipseよりNetbeansを押してるの? Eclipseを使った解説本が多いけど、これからはNetbeansのほうがいいのかな? どっちを覚えたらいいのか困っちゃう。。
323 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:25:08 ] ネットビーンはサン純正だから
324 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:25:34 ] 両方覚えれば?
325 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:29:24 ] GUIビルダは圧倒的にNetBeansが優秀 コード書きまくりたい場合はEclipseがいい 用途にあわせてどちらも使えるほうが良い
326 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:43:22 ] 贅沢な奴だなw
327 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:43:37 ] >>324-325 両方かぁ・・・。 IDEの他に文法とかいろいろ覚えることがありすぎて 両方覚えるとすれば先が長いなぁー・・・。
328 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:45:12 ] ゲームエンジンつくるときFWのコード書くときはeclipse、それに被せるGUIツール書くときはnetbeansだな。 両方使えるのはいい。
329 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:45:15 ] GUIビルダに頼ってたら自分で書けなくならない?
330 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:49:04 ] 自分でかけなくてもいいと思う。 そこまだJavaに入れ込む必要もないかと
331 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:49:05 ] まあ目指すところによるだろうか。 GUIビルダに任せられることをあえて自分でやることに価値を見出せるかどうか。
332 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:52:56 ] そんな価値はない
333 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:54:55 ] 仕事でJava使う人は自分でかけないと困るんじゃ?
334 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:56:56 ] 例えば仕事で使うツール(のGUI)を新人に作らせたとして、 「自分で書けなくなるから」とかいう理由でコードベタ書きしてたら殴るかもしんない。
335 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:58:41 ] GUIの使い方がわからない。
336 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:59:27 ] 面倒なGUIのデザインを補助してくれるんであって、 GUIの基本もわからん人がいきなりGUIプログラムを作れるもんではない。 面倒な部分を楽したからといって、それがなくなれば面倒臭いってだけで、 能力的にできなくなるってほどのもんでもない。
337 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:36:49 ] 男は黙って GridBagLayout
338 名前:デフォルトの名無しさん [2010/01/19(火) 00:56:34 ] >>336 cの流儀はcでどうぞ
339 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 07:30:22 ] どこらへんがCの流儀なんだ?
340 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 09:56:24 ] htmlをごりごり手書きした事があるもんで javaのGUI手書きもあんまり違和感を感じなかったwww
341 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:25:56 ] というか手書きできない奴がツールのバグ等でレイアウト関係でトラブったらどうすんの? 1から作りなおすの?
342 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:56:36 ] 手書きもビルダも両方使えるでFAだろ。 ビルだがないと書けんやつらはVBだけで十分。
343 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:46:48 ] >>342 サボるな!
344 名前:デフォルトの名無しさん [2010/01/19(火) 15:04:14 ] Javaで任意のクラスを扱える(ジェネリックな)ツリーってなにかありますか? JTreeだとStringの要素しかもてませんよね? ArrayListとかだとジェネリックなものがあるのでツリーもあるのかと思ったのですが 見つかりません。
345 名前:344 mailto:sage [2010/01/19(火) 15:29:52 ] 自己解決しました。 ジェネリックなものはないけどノードにインターフェースが用意されてるんですね
346 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 15:51:11 ] 元々馬鹿が使う言語ってイメージでしたが最近では人気も地に落ちてしまったJava… 自分の使っているメイン言語がJavaだなんて恥ずかしくて言えないです。 先輩方は恥ずかしくないですか?
347 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 15:57:10 ] >>346 煽りに来る貴方が恥ずかしい。
348 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 16:04:12 ] これって今流行りのボットネットのトリガーか何か? 人間が意思を持って書き込む内容とは思えないし。
349 名前:デフォルトの名無しさん [2010/01/19(火) 16:10:43 ] 昔から住み着いてるニートのコピペだろw スルーwスルーw
350 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 16:13:58 ] ニートのマは時間だけはあるから言語仕様とかもじっくり把握できる が、業務知識が無いから社会的にはゴミ
351 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:46:25 ] >>347 何がどうなるわけでも無くこの荒らしに無関係に時代は進歩していきます
352 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:16:04 ] 初歩的な質問ですまないが、paintメソッドの外でGraphicsクラスの機能使って描画ってできないのかな? とあるホームページには Graphics g; g=getGraphics(); でオブジェクトを作れば描画できると書いてあるけど、実際にやってみたら識別子がないと言われてコンパイルエラーになる。 paintメソッドを使うと意図しないタイミングで動作しまくって計算が繰り返したり、 paintメソッドの中に延々記述が続いて見難くなるから、できれば避けたいんだが・・・ あまりに計算を繰り返されるんでboolean型変数で封鎖したら、どこにもtrueにする文がないのに勝手にtrueになって処理が続く有様だし。
353 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:23:31 ] 荒らすなよ低脳ゴミ
354 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:23:36 ] >>352 ダブルバッファリングオフにして、自分でオフスクリーンイメージ準備して、paintメソッドではそれを書くだけにすれば?
355 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 22:17:41 ] いろいろ勉強したほうがいいんだろうな。 最近は言語初級者がGUIから始めるのがはやりなの?
356 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 22:24:12 ] Javaから始める時点で終わってるから。
357 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 23:11:55 ] 時代はphpだよな!
358 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 23:41:36 ] >>352 できるけど、そんな理由なら止めた方がいいよ 基本的な話として、処理と描画は分けるべき 通常、paint()は必要になった時に何度でも呼ばれるものだし(別のウィンドウで隠れていた領域が手前にきた場合など) >paintメソッドの中に延々記述が続いて見難くなる 別のメソッドに分割することすら思いつかないようなプログラミング自体の初心者なら、 GUIの前にコンソールアプリケーションで勉強した方がいい気はする
359 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 16:22:29 ] yasshiemd.web.fc2.com/sub/appli/simpleplayer/simpleplayer.html このサイトにあるsimpleplayerをいじって、音量が再生中に勝手に変動するプレイヤーを作りたいんですけど、 (たとえばサイン関数なんかを使用するには)どうすればいいでしょうか? すごい漠然とした質問ですみません。
360 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 16:52:05 ] 自分の作成した辞書(単語セットのようなもの)を優先した予測変換ができるようにしたいのですが どうやれば実現できるのか色々検索してもわかりません。はじめの一歩すら出ない状態です。 使えるクラス、メソッドなどあれば教えていただきたいです。よろしくお願いします。
361 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:20:15 ] こういうやつ? terai.xrea.jp/Swing/ComboBoxSuggestion.html
362 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:22:53 ] 重み付けのアルゴリズムのことだろう。
363 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:29:55 ] 重み付けのアルゴリズムってケースに応じて自分で考えるもんじゃないの?
364 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:43:49 ] アルゴリズムの問題なら、使えるクラス、メソッドなどあれば教えて、っていう質問は変だろう 文字列操作と数値計算だけじゃないか
365 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:57:35 ] 質問が変かどうかなんて質問してる方に判断付くわけないだろ。 付かないから質問してんだから。
366 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 18:06:18 ] ならjava関係なく勉強不足なだけだ。
367 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 18:08:56 ] そうだそうだ。
368 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 20:14:48 ] 次の質問どうぞ。
369 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 20:20:19 ] ファイルにバイナリのダンプが 30 31 32 0D 0A のようにあり、これを読み取って、byte配列として byte b = new byte[]{(byte)0x30, (byte)0x31, (byte)0x32, (byte)0x0D, (byte)0x0A}; のように持たせることはできるでしょうか?
370 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 20:26:28 ] FileInputStream
371 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 20:57:09 ] 単純にそれで読んだら、バイナリ値は 33 30 20 33 31 20... とかってなるだろ。
372 名前:369 mailto:sage [2010/01/20(水) 21:05:22 ] すみません、書き漏れてました。 バイナリの16進の値がテキストファイルに吐かれており、 それをbyte値として復元したかったのです。 なお、自己解決しました、失礼しました。
373 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:23:22 ] まあそんなテキスト作るほうがどうかしてるけどね。
374 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 22:13:17 ] >>373 働いたことあるか?
375 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 23:11:48 ] さすがJavaスレ 日本中の頭の悪い連中を集めたかのようなスレだ
376 名前:デフォルトの名無しさん [2010/01/20(水) 23:54:54 ] >>375 まさか全レス読んだのか?
377 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 00:22:06 ] 読んだよ
378 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:27:59 ] >>374 働いているけど、そんな仕様のデータを受け渡すシステムは いまだかつて見たことがない。 バイナリデータをASCIIに開く必要性はどこにあるわけ?
379 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:43:51 ] モトローラSレコード とかインテルHex とか、 今の若いもんは知らんのだろうな・・・。
380 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 03:21:40 ] 今の若いもんもなにも、ROM焼きは今だって必要でしょ。
381 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 03:52:26 ] 自分が見たことないからって、おまえの見てる世界なんて業界の極小範囲だけだろ。 なんでこの業界ってこういう知見の狭いアフォが多いんだろ。
382 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 04:03:06 ] まあ378の言いたいことも分かるけどね。 俺もバイナリをテキストで表現するのは(容量的にも処理工数的にも)効率悪いと思うし。
383 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 07:42:46 ] >バイナリデータをASCIIに開く必要性 デバッグ用途でも監視系でも何だろうと、 HEX文字列でバイナリを参照するなんてよくあることだと思うんだが。 電文通信系だと、過去の通信内容なんてダンプログでしか残ってないなんてことはざらにあるし。
384 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 08:21:35 ] javaはシリアルのライブラリもあるしその貧弱OSでvmが動くならプログラミングしやすいのは確かだ。
385 名前:360 mailto:sage [2010/01/21(木) 08:56:20 ] 誰もわからないみたいですので諦めます。 初心者質問スレだけあって、自分と同レベルのしかいないみたいですしW