[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/06 12:55 / Filesize : 277 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド115【歓迎】



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/

369 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:36:00 ]
数字に規則性があるならできるけど、それ以外はしらね

370 名前:デフォルトの名無しさん [2008/05/23(金) 16:36:42 ]
>>365-366
ありがとうございます。
勉強したが、やはり、>>367が理解できん。
リテラル値をそのまんま突っ込んでいるから実体に反映されてるんかなぁ。

371 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:37:07 ]
>>367
javac様はコンパイル中に「"aaa" + 1」を見て「両方とも定数だからい
ま1つの文字列にしちゃおう」と考える。「"aaa" + String.valueOf(1)」
は「なんか関数呼び出しがあるからコンパイル時にはどうしようもない
よね」と考える。


372 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:38:34 ]
>>370
定数式とかString#intern()でぐぐれ。

373 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:43:06 ]
>367
定数としてコンパイル可能な String のうち、同値になるものが同じインスタンスとされてるだけ。
>363 の例なら、int i=2 を final int i=2 とすれば、k==l は true となる。

374 名前:デフォルトの名無しさん [2008/05/23(金) 16:48:42 ]
>>369
隣接行列を2次配列にしたいんですけど
ノード数が100個以上あって、
エッジが繋がっている部分に重みがあって
エッジが繋がっていない部分を無限大の重みを付けたいんです。

規則性はあんまりないです。

ちなみに駅間の最短距離を求めるプログラムで利用したいんです。
データは隣駅までの距離です。

375 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:50:02 ]
>>368
何をもって綺麗とか力技とかと評価するのか知らないが、
ほとんどを占めている数を配列全体に(Arrays.fillとかで)入れておいて、
配列内の位置とその値のペアで(配列やコレクションで)持っておいたものを代入するとか。

376 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:51:44 ]
>368
java.util.Arrays.fill
>374
規則性が無いものを "計算機" で処理しよう、とな。
そこに妙な説明が書けるんだから、その通り実装すれば良いでしょう。

377 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:55:35 ]
>>374
隣接行列はそういうスパースなグラフでは表現時にメモリの無駄が多いので、
他の表現方法で接続データを持っておいて(隣接リストとか)、
それをプログラム内で隣接行列に展開するようにするとか。



378 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:08:26 ]
メモリの無駄が多い→同じ情報が繰り返し出てきてもたつき感がある

379 名前:デフォルトの名無しさん [2008/05/23(金) 17:22:18 ]
>>371-373
ok danke.
少しだけavacの気持ちが分かりました。

380 名前:デフォルトの名無しさん [2008/05/24(土) 00:00:25 ]
enum ってなんて読むのですか?

381 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:53:27 ]
>>380
コミュニケーションする相手とのコンセンサスが取れているのならどんな読み方でもどうぞ。
enumはenumeration(またはその派生形)の略なので元の言葉の発音を基にするか、
enumそのものの綴りを連想できるような読み方にするかすればいいと思うよ。

382 名前:デフォルトの名無しさん [2008/05/24(土) 01:11:12 ]
ファイルに入力されてるなら
そこから読み取るっていうこともありえるけど・・・

383 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:44:02 ]
AWTのTextFieldで右詰めにするのってできないんでしょうか??
どうやったらいいのか調べてもさっぱわかりません。。。
SwingならsetHorizontalAlignment使えばいいんですが、AWTでのやりかたをどなたかご教授願えませんかm(_ _)m

384 名前:デフォルトの名無しさん [2008/05/24(土) 02:05:43 ]
>>381
ありがとね

385 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:23:38 ]
LayoutManagerを無効にしたらTextField(5)とかいう風に列の幅を指定しても
結局そのサイズが0になっちゃうんですが、、、
座標指定できるLayoutManagerとかないですよね??
列の数を指定して(Dimensionではなくcolum数で)、
座標を指定してコンポーネントを配置することってできないんですかね??

386 名前:デフォルトの名無しさん [2008/05/24(土) 03:05:52 ]
class C2 extends C1 {...
C1 c1 = new C1();
C2 c2 = (C2)c1;
これは可能ですか?

387 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:12:53 ]
>>i386
C1を型に変換できません



388 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 05:40:02 ]
>>385
TextFieldを子孫コンポーネントとしたFrameを一旦表示してやると、
そのコンポーネントの推奨サイズが有効な値として取得できるようになるから、
推奨サイズをコンポーネントのサイズとして設定してやり、
その後、Frameを再描画すればいい。
一旦表示して設定後、再描画とかの流れが面倒なら、行儀の悪いものになるが、
コンポーネントを加えた後でFrameをネイティブスクリーンリソースに接続すれば、
Frameを表示することなくコンポーネントの推奨サイズを得ることができるようになる。

389 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 08:48:29 ]
>>385
なるほど。。。
ありがとうございます!!

390 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 12:19:54 ]
arraylistで値を追加する際genericsで型を指定していると処理の時間が多少短いような気がするのですが
これは偶然の誤差なのでしょうか?それとも速くなるものなのでしょうか?

391 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:05:33 ]
ならねぇ

392 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:11:20 ]
>>391
ありがとうございます

393 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:32:08 ]
オートボクシング/アンボクシングが働いて若干のパフォーマンス低下ってのならある。
けどもしそこがネックになってるならJITで最適化されるから気にしない。

394 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:32:36 ]
arraylistとlinkedlistの要素の追加に5倍ほどの時間差があるのですがこれはどういう理由なのでしょうか?
先頭の削除はarraylistが遅い
ランダムアクセスはLinkedListが遅いっていうのはわかるんですけど

intを1〜8000000
ArrayList追加 : 2385
LinkedList 追加 : 11095


395 名前:デフォルトの名無しさん [2008/05/24(土) 13:36:11 ]
>>394
そりゃあ、最後の要素までたどりつくまで時間がかかるからじゃないの?

396 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:58:00 ]
>>395
末尾に追加すると ってやつね

397 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:11:20 ]
>>394
追加し続けるだけ? それなら、
ArrayList→1回のaddにおける代入回数は1回。配列の末尾に要素を代入する(これで1回)だけ。配列のサイズが足りなくなると、元の1.5倍のサイズの配列を確保して元の要素を全部コピー。(このときだけ遅い)
LinkedList→1回のaddにおける代入回数は5回。要素を入れるEntryをnewして要素を代入(これで1回)し、前後のリンクを繋ぎ直す。(前、後、前の後、後の前で計4回)
あとは、どちらにもサイズのインクリメントとConcurrentModificationException判定用カウンタのインクリメントがあるけど、数字を見ると大きな要因ではなさげ。(最近のCPUだと並列処理されるのかな)
また、ArrayListは配列の拡張にペナルティがあるけど、LinkedListも1要素毎にnewするからか、ある程度相殺されてるっぽい。



398 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:20:00 ]
>>395
すいません説明が足りませんでした
>>396さんの通り末尾に追加です

>>397
リンクを繋ぎなおす処理で問題が出ていたわけですね
詳しい説明ありがとうございました

399 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:25:41 ]
>>395
LinkedListは頭と尻尾を知ってるから、わざわざそんなことしないぞ。
(間にsentinelを挟んだリング状になってる)

つか、適当なこと言う前にソース嫁。

400 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:03:41 ]
プ ロ フ ァ イ リ ン グ

401 名前:デフォルトの名無しさん [2008/05/24(土) 18:18:39 ]
keytoolの-validityで指定可能な最大値は何日ですか?

402 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:43:07 ]
javaでチャットを作ってます
swingのテキストエリアにメッセージを表示しているのですが、一行ずつフォントや色を変える方法はあるのでしょうか?
テキストフィールドを複数使ってテキストエリアのようにするぐらいしか思いつきません

403 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:43:27 ]
0か-1で無期限じゃなかった?

404 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:57:47 ]
>402
検索用ワード「JTextComponent スタイル」

405 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:02:46 ]
>>404
ありがとうございます!

406 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:01:03 ]
createImageに関しての質問なのですが
extends ComponentしたクラスでcreateImageをすると
nullが返りgetGraphicsすることができません

ググってみたところextends FrameしたクラスでaddNotifyをオーバーライドすればいいと
ありましたがcreateImageを利用する上で何をextendsするのがセオリーなのでしょうか
どうでもいいようなことかも知れませんがお願いします

407 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:19:14 ]
>>406
まだ表示されてないコンポーネントはcreateImageできない
BufferedImageをnewして使うといい



408 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:35:45 ]
>>406
Toolkit#createImageを使う手もある

409 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:28:52 ]
class GenericsTest<T> {
private T data;
public void copy(T newData) {
data = new T(newData); // error
}
}

このnew T(newData)のところ、
C++のテンプレートなんかだと
コンパイルできるんですが、javaではできませんでした
Tのメンバが全くわからない場合
どのようにmemberwise copy (deep copy)すべきでしょうか?

410 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 06:26:14 ]
>>409
interface CopyFactory<T> { T copy(T object); }
みたいのを定義&実装してやって、
コンストラクタ使わずにそっちで生成。

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 ]
申し送れましたが
皆さん有難う






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef