1 名前:Javaが初心者 mailto:sage [2008/05/12(月) 03:05:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド114【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1207385614/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
411 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 08:23:19 ] >>410 了解です ありがとうございました
412 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 12:51:59 ] >>>409 ・リフレクションでcloneを呼び出す ・リフレクションでコンストラクタを呼び出す ・serializeしてdeserializeする
413 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:05:50 ] それが出来上がったら、俺だったら迷わずシングルトンなインスタンスを入れてみる
414 名前:FF [2008/05/25(日) 20:20:00 ] キャラクター画像の背景の透過処理の仕方を教えてください。
415 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:39:42 ] ・もともと背景が透明画像用意する。 ・IndexColorModelだったら透明色指定しとく。そうじゃなければ色置換。
416 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:47:28 ] ArrayListをさらにList化することは出来るのですか?
417 名前:デフォルトの名無しさん [2008/05/25(日) 23:09:17 ] 何をしたいのかもう少し詳細に説明してください
418 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 23:32:17 ] こうか? ArrayList<ArrayList<Object>>
419 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:12:45 ] >>417-418 レスありがとうございます。java宿題スレとマルチになってしまうんですが、とりあえず分からないなりに 解決してみようと思ってるんですが結局思いつかなくて、ここで聞いてるしだいです。 if (bean.getSql().startsWith("select")) { // iはループ用のカウンター;実行結果を取得する for (int i = 1; i <= fileColumns; i++) { columnNames.add(rsmd.getColumnLabel(i)); } // フィールドの変数NameListに取得した文字列を入れます。 bean.setNameList(columnNames); // 獲得したデータの格納 while (rs.next()) { ArrayList date = new ArrayList(); for (int i = 1; i <= 3; i++) { date.add(rs.getObject(i)); } bean.setResultList(date); ←このResultListを、さらにList化したいです session.setAttribute("access", bean); } } SQLを実行してデータベースから結果をとりだして格納するんですが、上のプログラムだけだと 上書きしている状態で、最後に取得した情報しか表示されないのです。 すべて表示させるにはResultListをリスト化して、リスト化したところに個々の情報を入れていけば 全て表示できると言われたのですが、どうやってResultListをリストすればいいのか検討がつかないのですよ。
420 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:53:46 ] マルチは首つって市ね
421 名前:デフォルトの名無しさん [2008/05/26(月) 01:07:29 ] >>419 commons-collectionsのMultihashMapとかどう?
422 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:56:59 ] >>420 ごめんなさい。 >>421 HashMapちょっと調べてきます!! ご助言ありがとうございます。
423 名前:デフォルトの名無しさん [2008/05/26(月) 12:39:28 ] お世話になっております。 今2つの内部クラスを作っています。ゆくゆくは内部クラスを別ファイルにでも切り離したいのですが、まだ先の話です。 現在は2つの内部クラス内のメンバー変数を内部クラス同士で参照させています。 下記のコードだと、eclipseはエラーを吐きませんが、 実行するとjava.lang.NullPointerExceptionエラーになります。 インスタンスもできていると思うし特に問題はなさそうです。 質問なのですが、なにか根本的に間違っていますか? class M{ Initialize initialize; Disp disp; class Initialize{ private void once(){disp.isVal = true; } } class Disp{ boolean isVal; } private Initialize mkInit(){ return initialize; } private Disp mkDisp(){ return disp; } public static void main(String[] args){ M m = new Majang(); Initialize initialize = m.mkInit(); Disp disp = m.mkDisp(); initialize.once(); } }
424 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:55:15 ] m.initializeに誰も何も代入していない (初期値nullのまま)
425 名前:423 [2008/05/26(月) 13:08:14 ] 早速の返答ありがとうございます。 ってことは Initializeのコンストラクタでなにかの値を指定すればOKなのでしょうか。 //getClass()を使ったほうが可読性が高いですね。すみません。
426 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:24:37 ] >>425 Initializeオブジェクトを生成してinitializeに代入しないといけないだろうということ 要するに × Initialize initialize; ○ Initialize initialize = new Initialize();
427 名前:423 [2008/05/26(月) 13:38:20 ] >>426 なるほど。 ありがとうございました。
428 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:44:13 ] >>423 ねぇアレやっていい?アレ ガッ!やっていい?
429 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:39:26 ] >>423 内部クラスにするのはそれなりの設計理由があってすることで、 分離することが決まっているのなら、最初からきちんと分けて設計すべき。 クラス間の依存度が高いまま単に分けるだけなら分ける意味はあまりないし、 依存度が低くなるように最初の設計でインタフェースをきちんと決めて別々にした方がいい。 あとから制約を増やすのは面倒事になることが多い。
430 名前:デフォルトの名無しさん [2008/05/26(月) 19:20:09 ] 失礼します. クラスからインスタンスを配列で作った際,Ins[0],Ins[1]… Ins[n]内のメソッドから,Ins[n-1]内の変数をいじりたいのですが,どのようにすればよいでしょうか?
431 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:25:25 ] JavaのGuiツールの中でボタンを押したらシェルを起動するという処理を行いたくて Runtime rt=Runtime.getRuntime(); try{ rt.exec("cmd.exe"); }catch(Exception e){ e.printStackTrace(); } こういうのをactionPerformedメソッドの中に入れた所何故か起動しません。 プログラムをnotepadとかにすると起動するのにこれだと起動しないのは何故なのでしょうか? またcmdまでのパスも通っているし、念のためフルパスでやったけれどダメでした。
432 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:36:05 ] 俺以外誰も423の5行目に反応すらしない・・・とは思わなかった今ではガッしたことに反省している
433 名前:423 [2008/05/26(月) 21:04:41 ] >>429 ただ単純に、一緒にしてしまうとコードが複雑になるので、 表示系と処理系を分離したいと。 できれば、最終的には表示系は処理系から隠蔽してメソッドで呼び出すだけにしたいかな、と。 ただ、いっしょにしている方がコードを書くのには明らかに簡単でとりあえず動くことから目標にしているんですよ。 プログラムはズブの素人で経験はCP/M86上のFBASIC位・・・ >>432 本来のぬるぽですからねぇ。ふふふ
434 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:12:24 ] 文字が半角カタカナであるか判断する方法はありますか?
435 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:46:44 ] 文字コードで調べる。
436 名前:デフォルトの名無しさん [2008/05/26(月) 21:53:11 ] 使用メモリーの増加に伴ってスレッド処理速度が落ちてしまうのはどうすれば回避できるでしょうか
437 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:02:01 ] 使用していないメモリを開放する
438 名前:デフォルトの名無しさん [2008/05/26(月) 22:05:02 ] おおっ 少し感動 どうやればいいですか
439 名前:デフォルトの名無しさん [2008/05/26(月) 22:07:17 ] GC弄るの?
440 名前:デフォルトの名無しさん [2008/05/26(月) 22:09:00 ] nio のBufferとかどうかなと思ったんだけど
441 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:11:32 ] newをできるだけ減らす(できるだけオブジェクトを使いまわす)とか、 アルゴリズムを工夫するとか
442 名前:デフォルトの名無しさん [2008/05/26(月) 22:15:23 ] それは 既にやってあるなあ
443 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:33:14 ] 使用メモリの増加に伴う速度低下がオブジェクトの生成にあるのなら 使用するオブジェクトをスタートアップの段階で全て準備してしまい 擬似的に静的に使用メモリを準備する もちろんすべてひもつきのままにして破棄させない 一時的なオブジェクトの破棄に伴うGCの頻発による速度低下なら メモリを積み込めるだけ積み込んでGCを停止する
444 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:33:27 ] 設計がうんこなんだろ
445 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:33:42 ] メモリを積み増せば解決
446 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:34:51 ] てst
447 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:39:41 ] Oracle の JDBC ドライバ (V9.2.0 ) で Oracle DBMS に接続してるんだが。 クエリ投げて、SQLException 投げてきたときに、クエリのどの部分が違うのか、 あるいは、どの列が制約条件に違反してんのか、どうしたらわかるの? 教えてエロい人。
448 名前:デフォルトの名無しさん [2008/05/26(月) 22:46:04 ] >>443 サンキュ ただ原因はスレッドがやってる作業そのものがデータの吸出しにあることだと思う 6000個のスレッドをpool使って逐次で動かしてるんだが作業が進むに従って重くなるんで このデータを一時的に何とかしないといかんかも
449 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:55:34 ] 6000個のスレッドwww どんなマシンでまともに動くのか教えて欲しいwww >>447 SQLのエラーコードを取得して、Oracleのマニュアルを参照汁 getErrorCodeとかそんなメソッドある
450 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:57:07 ] 6000個もスレッドを使ってる時点で 何かがおかしいと思わざるを得ないのだが コンテキストスイッチのコストだけでもバカにならないんじゃ
451 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:57:59 ] 6,000・・・Thredのコストだけでも500Mくらいつかってそうだな、おい。 どうせpoolの管理も自分でやっているんだろ ExecutorServiceとか使えばサクサク動く予感
452 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:59:12 ] 6000台のPCに分散処理させれば解決(・∀・)イイ!!
453 名前:デフォルトの名無しさん [2008/05/26(月) 22:59:29 ] つかってる
454 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:59:53 ] 6000! スレッドダンプが終わらん!
455 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:03:20 ] public class Test { public static void main(String[] args) { char[] a = { 'ア', 'ア', 'あ', 'A', 'A' }; for (char c: a) { System.out.println(Character.UnicodeBlock.of(c)); } } } そりゃ、アもAも HALFWIDTH_AND_FULLWIDTH_FORMS に分類されちゃうよなー。
456 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:03:54 ] 本当に6000もスレッドを使わなければいけないのか、 よく考えるべきである
457 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:07:45 ] >>453 減らすべし。大抵は多くても数十で十分のはず 他の言語なら大量に作って大量に捨てるような設計でも問題ないこともあるけど Javaのスレッドは、基本的にそんな使い方はしない
458 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:10:02 ] タスクが6万あったとしても、スレッドは数十で充分だろうな、たぶん。
459 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:25:23 ] 必要だから作っているんです それにpool使って逐次動かしていますから問題はありません データの吸出しを修正してみます
460 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:25:43 ] >>449 サンクス。 getParameters() とかいうのがあるので、ちょいと試してみる。
461 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:33:00 ] 煽りとかじゃなしにプログラマとして6000個のスレッドがどういう状況で必要になるのか興味がある
462 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:41:28 ] 意味も解らず調べもせずに実装しているという状況なんだろう
463 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:03:19 ] スレッド6000個ってnewするだけでもコスト高そうだな。
464 名前:デフォルトの名無しさん [2008/05/27(火) 00:08:16 ] ごめんタスクが6000で稼動してるのは10ほど そっか言い方間違えたな しかしボロカスだなあw
465 名前:デフォルトの名無しさん [2008/05/27(火) 00:11:35 ] もう少し詳しく言うとHTMLパースをMozillaJavaHTMLParserつかってさせるためのもの
466 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:17:39 ] 全部並列でって話ならば、そりゃ負荷かけすぎ IOのように比較的長く待たされる処理がほとんどならば、6000タスクを並列にやって硬貨出るけど、HTMLのParseじゃ逐次処理の方が早いかもよ
467 名前:デフォルトの名無しさん [2008/05/27(火) 00:19:36 ] かもしれんねPoolサイズ3に絞ってやったら少し改善した
468 名前:デフォルトの名無しさん [2008/05/27(火) 00:21:56 ] このサイズをメモリーの状況に応じて自動変更できるとさらにいいなあ
469 名前:デフォルトの名無しさん [2008/05/27(火) 00:27:49 ] 申し送れましたが 皆さん有難う
470 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:34:12 ] HTMLのパースに10スレッドも使うか? パースに1、JS実行に1、画像読み込みに1で3くらいじゃね?
471 名前:デフォルトの名無しさん [2008/05/27(火) 00:37:35 ] ページ数が多くて
472 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:43:51 ] sageを覚えようね
473 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:46:16 ] ああ 下げたほうが良いのか 了解
474 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:59:23 ] javaの実行時間で質問です。 ある処理をSystem.currentTimeMillis()の差で調べたのですが forで100回ぐらいまわした平均をとったほうが正確になるかと考えました。 すると1回のときとだいぶ違う時間になったのですがなぜかわかりますか?
475 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:02:40 ] 具体的にどう違ったのさ?
476 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:09:10 ] >>474 JITが潰してくれたんでは
477 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:09:17 ] 何度も実行されるコードは高速化の価値があると判断&最適化されたりする。
478 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:11:54 ] ほんまかいな
479 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:08:19 ] 最近の香具師はHotSpot知らんのか?
480 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 12:05:53 ] >>478 だけだろう
481 名前:デフォルトの名無しさん [2008/05/27(火) 15:02:12 ] 昨日のスレッドの件有難う 大分よくなった でも6600ページダウンロードしてパースする作業だけで15分はかかりすぎだよねえ 何とかならんものか
482 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:44:39 ] ごめん下げだったよね ついでにいいかな Matplotlibって視覚化ツールがあるんだけど これをjavaからコントロールした人居る?
483 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:17:27 ] >>481 鯖に負荷掛かるから止めろ。
484 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:37:28 ] そうそう そのためにスレッド数は絞るようにはしてるんだけどね ダウンローダーと基本的には接続の部分は一緒だから 嫌われるプログラムではあるよね
485 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:48:54 ] XMLの読み込みなんですけど、xmlnsを読み込むのってどんなメソッド使ったらいいんですか?
486 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:54:29 ] xmlns属性は普通報告されない
487 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:56:31 ] xmlns属性の値を引っ張ってきて別のメソッドで使いたいんですけど・・・
488 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:00:42 ] じゃあパーサーから出るDocumentのelementひっぱってきてatributeを見れば良いんじゃね
489 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:06:07 ] 若しくはHTMLの文字列をindexof(xmlns)で位置拾って""でくくられてるところをStringで拾うとか てかあそこ値変わるのか
490 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:12:50 ] ごめんなさい普通に>>488 でできました。 ありがとうございました
491 名前:デフォルトの名無しさん [2008/05/27(火) 17:34:52 ] やっぱ 半値押しで粘りそうな感じもしないではないな 買い方逃げるとしたら次のリバだろうね
492 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:36:06 ] 誤爆ごめん
493 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:37:32 ] 誰かグラフ描写のJGraphというソフトを使ったことある人いませんか? ダウンロードはできたんですが、そのあとのjarファイル等の操作がよくわかりません。 わかる方いれば、よろしくお願いします。
494 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:46:50 ] JFreeChartのほうが機能多くていいぞ
495 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:58:01 ] JFreeChartですか・・・ 僕がやりたい(やらなければいけない)のは、「グラフ理論」なんです。 有向グラフとかノード、アークといったやつです。
496 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:01:50 ] だったらJSCIのほうがいいかも
497 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:44:58 ] JGraphを使えっていう指示があったんです(泣)
498 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:50:01 ] そっかあ わかんないなあ 誰か助けてあげてえ
499 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:00:20 ] ディスクイメージなどのisoの中身を確認したり、抜き出したりするライブラリはありませんか?
500 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:05:33 ] >>499 あまり知識がないもんで・・・ よくわからないです。
501 名前:デフォルトの名無しさん [2008/05/27(火) 19:08:09 ] WINRARをDllフックしてJINIでつなぐ
502 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:10:29 ] >>501 そういうライブラリは存在しないのですかね? ネイティブにしたくないので仕様書探します。
503 名前:デフォルトの名無しさん [2008/05/27(火) 19:12:43 ] あい
504 名前:デフォルトの名無しさん [2008/05/27(火) 19:22:34 ] webアプリ構築してます。 strats+hibernateです。マスターテーブルの存在チェックを複数件(1〜300)行いたいのですが一件づつselectしチェックを行うのと全件selectしてmapに格納して存在チェックするのではどちらがよいでしょうか マスタの件数は150件ほどです
505 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:40:05 ] >>481 あんまり馬鹿やってるとIPではじかれる
506 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:44:53 ] >>505 そうなんか? 別にクラッキングじゃねえけど
507 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:00:32 ] >>506 迷惑
508 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:00:38 ] ご質問させて頂きます。 余りを出す演算子で%があると思うのですが %以外で余り値を出す演算子とかはあるのでしょうか? 何か方法があれば教えて頂ければと思います。 宜しくお願い致します。
509 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:02:56 ] まあいいやはじきたきゃはじきやがれ 脆弱サーバー入れて客の責任にしたきゃすればいい
510 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:04:36 ] >>508 宿題を出された→%禁止→でも、あまりを使うアルゴリズムしか思いつかない→%以外に何かあるはずだ→質問しよう と、エスパーしてみる あまりを出す演算子って言われたら%しか思いつかない
511 名前:デフォルトの名無しさん [2008/05/27(火) 21:06:20 ] むかしBasicであったなMIDだっけ覚えてねえや あれのこと?