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


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

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



1 名前:デフォルトの名無しさん [2008/01/13(日) 00:25:22 ]
プログラミング言語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質問・相談スレッド110【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1197710566/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。

次スレは>>980あたりで。

545 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:40:35 ]
×伝わりにくいと思うのですが
○伝わらないと思うのですが

546 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:42:38 ]
入力:いくつかの文字列
出力:入力をランダムに並べ替えたもの

もしくは

入力:いくつかの文字列
出力:入力のいくつかをランダムに並べ替えたもの

他にもいろいろ考えられるけど?

547 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:44:48 ]
入力:文字列
出力:入力の部分文字列をいくつか作り、それを並び替える
とかか。

548 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:53:58 ]
方法ってできますかね???
なんだかできないきがするんですががが

549 名前:507 mailto:sage [2008/01/30(水) 00:55:31 ]
>>532
なるほど、その手が・・・勉強になりました。

550 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:58:19 ]
時期的に学校の課題なんだろうけど、少しは自分の頭で考えないと勉強にならない、
とか言うのは野暮なのかねやっぱり。

551 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:13:34 ]
ここは将来の脅威の摘むためにバカを増やすスレですが。

552 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:24:19 ]
>>540
SE 7でもバイトコードのフォーマット変わるんだよね。
本の内容がどんどん古くなるから買おうか悩むんだよ。

553 名前:デフォルトの名無しさん [2008/01/30(水) 02:49:09 ]
(当方、本職プログラマーでなく初心者です)
すみません、アプリケーションスコープの使い方で迷ってます。

具体的に書くと、
ショップサイトにて商品ジャンルごとにアクセス数の集積を取りたい
と考えたのですが、データベースへのアクセス頻度を減らすためにも、
商品ジャンルのデータベースをそのままアプリケーションスコープに
入れてしまおうかと思っています。ただその場合には10000個数近くの
インスタンスを入れることになってしまうのですが、初心者なために
これが大丈夫なことなのかよくわかりません。

オブジェクトにはintとStringとが半々ずつ、合わせて10個のメンバ
変数があり、Stringには全部でだいたい64文字程度入ります。中身だけ
で計算するとサイズは160kbyte程度かと思うのですが、この程度ならば
全然気にしなくても大丈夫な感じでしょうか? その何万倍いっとけ、
とかそういったレベルならいいのですが、よくわからなくて……。

指針となるドキュメントを見つけられなかったのでこちらで質問させて
もらいましたが、皆さん、アプリケーションスコープに入れるデータ
サイズはどれくらいまでにしてますか?

サーバーのスペック如何なところではあると思うのですが、アドバイス
あればどうぞお願い致します。




554 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 03:00:24 ]
それは実際に商品ジャンルのアクセスがネックになってることが明らかで、これを
メモリ上にキャッシュすればどれくらいの改善が見込めるという見積もりができている
上で言ってるのか?

普通に考えればその程度のアクセスがネックになるようなら他の処理もウンコチンチンで
マシン選定間違えてるだろ。商品ジャンルにメンテ入っても反映されないし、整合性が
保障できないなら下手に SQL で結合もできやしない。

555 名前:デフォルトの名無しさん [2008/01/30(水) 03:14:09 ]
なるほど、それもそうですね。
ありがとうございました。

556 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 06:20:12 ]
Logging API の設定ファイルって、出力先のファイル分けるためにわざわざ
Handler クラス作らなきゃいかんのか? 何で出力先の指定が「クラス名」に
紐づいてるんだ? インスタンスだろjk

557 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 09:00:31 ]
慣例としてクラス名を使っているだけで、名前には何でも使用できたと思うが?

558 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 12:20:13 ]
>>535
>プロセスサイズ=ヒープサイズ+JVM自身が利用するメモリサイズ
>ってことであってますか?

ヒープもJVMが利用するメモリなわけだが・・・

ヒープは、Javaから見えるメモリ空間だけど
JVMは、実行用のスタックメモリを持っていてこれは
ヒープメモリに入ってこない。(ヒープじゃないし)
あと、Hotspot用とかあるし。
ヒープサイズを越えてどれくらいメモリを使うかは決まっていない。
(スタックとかはある程度判るが・・・)

559 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 12:58:03 ]
unicodeのソースでreplaceAllで"\\t"(TAB)が置換できない。どうやってやるの?

560 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:37:52 ]
>>559
ふつーにできるよ?
System.out.println("aaa\tbbb\tccc".replaceAll("\t", "[TAB]"));
結果: aaa[TAB]bbb[TAB]ccc


561 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:41:04 ]
>>559
分からないので、ひとつえsp
replace を始め、String系の変換で良くある間違い。(てか、今やって見て久々に…
Stringは不変オブジェクトです…
要は、インスタンスメソッドで値が変わってるかのように見えても、
単に新たなStringを生成して返してるだけ、という…

562 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:03:26 ]
>>557
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.

Log4j のおっさんがアジ文章で 「JSR47の設定ファイルはハンドラクラスに
1 インスタンスしか指定できねーじゃんよ ファイル分けらんねーよ!!」 と
ブチ切れてるのも見つけた。
www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/critique.html

実際 JSR47 の仕様書読んでもクラス名だったアルヨ。Formatter にしても Log4j に
慣れてると 「この程度のもん用意しとけYO!」 と言いたくなるなぁ。

563 名前:559 mailto:sage [2008/01/30(水) 14:10:08 ]
わかりました。
正 s = s.replaceAll("\t", "");
誤 s.replaceAll("\t", "");
ありがとうございました。



564 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:32:00 ]
>>563
ここのクイズと同じところで引っかかってるね。
blogs.sun.com/javaev/date/20080120

565 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:49:40 ]
オブジェクトを直列化して受け渡しする際のImageIconの仕組みについて質問です。

java.awt.ImageクラスはSerializableインターフェースを実装していないため、swingのImageIconでラップして直列化しているのですが、なぜImageIconが画像を正しく直列化出来るのかが理解出来ません。

ソースをざっと見たのですが、画像を保持しているフィールドには、transient修飾子がついている上、他の部分でも特にこれという箇所は見つけられませんでした。

ImageIconがどのように画像を直列化しているのか、解説かヒントをいただけるとありがたいのです。
よろしくお願いします。

566 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 19:26:14 ]
>>565
private void writeObject(ObjectOutputStream) メソッドがあるだろう
そのメソッドがあると、直列化するときに呼ばれる

567 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 20:44:36 ]
beanshell classpathを使いたいのですが、一昨日からサイトが落ちたまま(ドメイン更新忘れ??)です。
beanshell classpathを持っている方、アップしていただけませんか。

www.beanshell.org/

568 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 21:13:31 ]
bugparade にバグ投稿すると確認メールか何か返ってくるもんかえ?
何日たってもまったく検索にヒットせんのう。

569 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 22:02:53 ]
>>568
俺のときは投稿直後(数分後とか)に自動確認メールが来たけど。

BugDatabaseに登録されたら、その時にもメールが来るはず。
登録されない時は自動確認メールの後、音沙汰がなくなったような。

570 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 22:27:25 ]
>>569
そーなのか、じゃどっかでロストしたな。
センキューベイベー

571 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:52:28 ]
ExecutorServiceって、一度shutdownすると再利用はできない?

572 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 02:26:07 ]
>>558

プロセスサイズ=ヒープサイズ+スタック+Hotspotってことすね。
thx

ってか今、遊びで作ってるプログラムなんだけど、
プロセスサイズが右肩上がりで肥えていく・・・
ヒープは正常(増減を繰り返す)っぽく見えるのよね・
もうよく分からん。javaは難しいな・・・


573 名前:デフォルトの名無しさん [2008/01/31(木) 02:36:01 ]
rt.jar変えずにString.toString()の挙動を
return this;

return "hoge" + this;
に変更したいんだけど、これって可能?
Javassistとかバイトコードいじる以外で。



574 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 02:43:48 ]
>>573
私は出来る方法を知らない。
が、何に使うのか。そこには興味がある。

575 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 07:46:16 ]
実行時のAOPで出来ないの?

576 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 07:59:22 ]
>>575
AOP…
私の知ってるAOPはバイトコードをいじるのですが、何か別の方法があるのでしょうか

577 名前:デフォルトの名無しさん [2008/01/31(木) 09:36:44 ]
ちょいと質問です。
TBNって個人のニュースサイトなんですが、
ttp://tbn2.blog50.fc2.com/

タブブラウザのJavaScript実行を切ってても
ページが表示されると勝手に実行に切り替わってしまいます。
というかoffにすることが出来ません。
これってどいゆう仕掛けなんでしょう?



578 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:40:44 ]
ここはJavaの質問・相談スレッドだと思う。

579 名前:デフォルトの名無しさん [2008/01/31(木) 09:55:17 ]
>>578
スマソ
どこの板に質問していいか分かんなかったんでココに書き込ませてもらった。
どーしてそうなっちゃうのが知りたいんだが、分かりますか?

580 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:58:06 ]
web板へ池

581 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 10:11:16 ]
ここにいる人は知ってるかもしてないけど、文字列解析の良いロジック思いついたから
晒しとくわ。
String word //解析したい文字列
for(int i=0; i<word.length(); i++){
if(word.startsWith("NGワード",i){
//処理したいロジック
}
else{
}
}
//else ifでNGワード追加していけばいくらでも設定できる
こんなんどうでしょ?
もしかしたら文字列の長さ1からカウントするかもしれないけど例外は出ないし
NGワードが最後にあるってことは少ないと思うのでモウマンタイで。

582 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 10:13:27 ]
!目から鱗w天才なんじゃね

583 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 10:17:31 ]
NGワードにJavaScriptを追加しろということですか?



584 名前:581 mailto:sage [2008/01/31(木) 10:19:07 ]
すまそjavadoc見たらlength()の長さは文字列内の16ビットUnicode文字の数に等しくなります。 だと
for(i=1; i<=word.length(); i++){
}
に修正

585 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 11:08:51 ]
>else ifでNGワード追加していけば

この時点ですごく残念な感じが漂っているような気が。

586 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 11:37:53 ]
・・・。
ヘボすぎてため息出ちゃうね。

587 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 11:42:10 ]
>NGワードが最後にあるってことは少ないと思うのでモウマンタイで。
大問題w

588 名前:森園くるみ [2008/01/31(木) 11:55:10 ]
森園くるみと申します。

★実装方法についてご教授いただきたくぞんじます。

内容:s2Maiでhtml形式のメールを送信したい
(Content-Typeにtext/htmlを設定したい)


589 名前:581 mailto:sage [2008/01/31(木) 12:01:05 ]
失礼、私もまだまだでしたね。
ロジックを思いついた勢いでへボソース晒してスマソ

590 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:19:39 ]
>>588
Seasarのスレに行った方が早いんじゃない。
あと、本物か知らないけど名前は書かないほうがいいよ。

591 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:31:14 ]
オープンアプリで、レコードストアとかデータフォルダの容量を
0にするまで一時ファイルを作るようなアプリって
作成可能ですか?

文字をレコードストアに保存するまでは分かったんですが、
でかい容量のファイルの作り方が見つからないので。
初心者なので、参考になりそうなサイトがあったら教えてください

592 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:32:52 ]
まず、自分のやりたいことと課題点を整理しなさい。話はそれからだ。

593 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 14:43:06 ]
コンストラクタでのthis漏洩ってどれぐらい気をつける/気にするもんでしょうか?
内部クラス経由の暗黙漏洩、thisキーワードでの明示的漏洩を問わず。
class Foo {
 Bar bar;
 public Foo() {
  bar = new Bar(this);
 }
}
みたいな時、new Bar(this)はthis参照を保存するだけで、それを使うことは無い、とわかってれば
安全なんでしょうが、Barのコンストラクタの実装が変わるとFooも危険になる。
Fooの安全性が、Barの実装に依存することになるのが、なんとなく気持ち悪いけど、割り切ればいいものなのかもしれない。
ってのがモヤモヤするところです。
潔癖にするなら、
class Foo {
 Bar bar null;
 public Foo() {
 }
 public void initialize() }
  bar = new Bar(this);
 }
}
みたいな2段階初期化なんでしょうけど。
Swingのソースとか見ると、this漏洩しまくりなんですけどね。



594 名前:591 mailto:sage [2008/01/31(木) 14:56:18 ]
>>592
簡単に言うと、データフォルダの容量を0byteに出来るようなアプリを作りたいんです。
ただ探してもなかなか見つからないので、
似たようなアプリ、または参考になりそうなサイトがあったら
教えて頂きたいのです

595 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:00:44 ]
今Jasminでバイトコードのアセンブルやろうと思ってるんだけど、
これって既存のclassファイルをJasminのコードに逆汗(?)してくれたりする?
いかんせん情報が少ないような

596 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:17:12 ]
>>593
何心配してるかさっぱり分かんねーんですけど、相手への依存性高めたくないなら
(相手が信頼置けないなら) アクセス修飾子きちんと付けたりインターフェース化したり
さらにアダプタや Wrapper で包んで渡せば良いじゃん。

597 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:22:59 ]
>>593
this漏洩が問題になるのは、主にマルチスレッド下だと思う
swingはEDTにバインドされているので、まあ、いいか、みたいな感じなのかも?

598 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:34:22 ]
検索したら IBM 様のサイトが見つかったけど、this 漏洩なんて御大層な名前
付けるほどでもない単なる非同期設計ミスじゃん。漏洩の使い方間違ってる。

599 名前:581 mailto:sage [2008/01/31(木) 15:51:10 ]
文字列の長さも0からカウントするのね・・・
嘘ブッコいてサーセン

600 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:06:55 ]
文字のマッチングは古典なのでアルゴリズムは腐るほどあるよ。

というか、未だに、>>581 のループの意味が分からない・・・・・
何かの謎かけか・・・・
何がしたいか全く不明だ・・・・・

601 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:09:59 ]
マジレスする生真面目バカがどんだけ居るか調査してんじゃね。

602 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:40:24 ]
>>581
まぁ、アルゴリズムを考えるのは悪くないが…
この程度なら、String.indexOf(String) 使おう
1.5 からは、String.contains(CharSequence) もあるし、
状況に応じて使い分ければなんとかなるもの。

もちろんソースでそのアルゴリズムを確認するのも勉強になることでしょう。

603 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:49:01 ]
>>594
なんかのウィルス作成以外の用途があるとは思えないんだが。
そうでないとしても、何したいのか知らないが、そんな力技で
しか実現できない時点で何か間違ってる気がする。



604 名前:591 mailto:sage [2008/01/31(木) 17:54:51 ]
わからないなら黙ってろよ

605 名前:デフォルトの名無しさん [2008/01/31(木) 17:58:57 ]
たいした事いえないなら黙ってろよ

606 名前:デフォルトの名無しさん [2008/01/31(木) 17:59:20 ]
とにかくだまってろよ

607 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:01:36 ]
RandomAccessFile#setLength()

608 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:04:47 ]
CLDCってRandomAccessFile使えたっけか?

609 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:10:31 ]
J2ME の話か。道理で聞きなれない用語使ってると思った。

610 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:10:49 ]
クラスあたりから理解できねぇ・・
本が悪いんだろうな本が悪いんだきっと

611 名前:581 mailto:sage [2008/01/31(木) 18:25:32 ]
>602 便利なメソッドがありますね。見落としてました。ありがとうございます。

612 名前:591 mailto:sage [2008/01/31(木) 18:42:45 ]
なんか僕の偽物が出てますがスルーで。
まぁここの方でも分からないようなので諦めます。失礼しました

613 名前:デフォルトの名無しさん [2008/01/31(木) 18:46:18 ]
マルチスレッドでアニメーションを作成しています。
ある図形を平行移動させて(四角形を描く感じで)最終的に元の位置に戻すにはどうすればいいですか?
毎回ランダムな場所を通したいんです。

switch文とRandomクラスでできそうですが、美しくない…

図形の座標計算は別クラスです。

説明下手ですみません。よろしくおねがいします



614 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:47:58 ]
>>612
いまさらだけど誘導
…てかテンプレに何もないのがアレなのか

CLDC+MIDP+携帯電話用Javaスレッド part 7
ttp://pc11.2ch.net/test/read.cgi/tech/1180010672/

615 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:52:12 ]
次スレからDoJaやCLDCはスレ違いと書いておいた方がいいんでないか

616 名前:581 mailto:sage [2008/01/31(木) 18:53:49 ]
てか俺質問しに来たわけでは無いんですが・・・
俺のレス読んで;;;;

617 名前:デフォルトの名無しさん [2008/01/31(木) 19:02:02 ]
質問よろしくお願いします。

親子関係にあるAとBのクラスを作っています。
Aにはhoge()というメソッドがあります。
Bには複数のメソッドがあります。

Bのメソッドが呼び出される時、
必ず最初にAのhoge()を呼び出してから各処理をさせたいのですが
メソッドそれぞれでhoge()を呼ぶように記述する以外の方法で
hoge()を呼び出すことはできますか?

618 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:16:09 ]
1. B をインターフェース B1 とコンクリートクラス B2 に分ける。
2. ファクトリを作成しダイナミックプロキシをかました B1 インターフェースで返す。
3. ダイナミックプロキシのハンドラで B2 の任意のメソッドを呼ぶ前に必ず hoge() を呼び出す。

619 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:16:53 ]
Proxy

620 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:19:42 ]
AspectJとか、Javassistもあるね。

621 名前:とりあえず探してみた mailto:sage [2008/01/31(木) 19:20:19 ]
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java標準低速GUI 6 AWT/Swing
ttp://pc11.2ch.net/test/read.cgi/tech/1190807478/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part16
ttp://pc11.2ch.net/test/read.cgi/tech/1198816379/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 7
ttp://pc11.2ch.net/test/read.cgi/tech/1180010672/l50

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 64 ★★
ttp://pc11.2ch.net/test/read.cgi/tech/1196543694/l50

622 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:26:05 ]
■ それ以外
life9.2ch.net/mental/

623 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:32:08 ]
>>618-620
レスありがとうございます。
教えていただいた用語を基に調べて行くことにします。

ありがとうございました!



624 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:56:29 ]
>911-912 が本物と偽物思ってしまった・・・

625 名前:デフォルトの名無しさん [2008/01/31(木) 20:16:31 ]
axisをtomcat以外で使用するにはどうすればいいですか??

626 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:17:59 ]
>>597
マルチスレッドじゃなくても、コンストラクタ内でthisが漏れると、
コンストラクタが完了する前に、private finalなのに初期化前のフィールド値を
参照することになったり、
それを継承すると、super()の中から自分のメソッドを呼ばれて、
そのクラスのコードを1行も実行する前にフィールド参照が起こったりと、
しっちゃかめっちゃかになると思うんですが。

627 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:30:04 ]
単にそれ設計が糞なだけだろ。呼び出しと依存関係がスパゲティになってるような。
this とか関係ねーし。

628 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:53:23 ]
今実験しててjavaのバイトコード中に
12 : goto 42
:
42 : iadd
みたいなジャンプ後にいきなりスタックのオペランド使うようなコードが
入ってるともしかしてローダに怒られるようになってんの?なんかベリファイエラーでて
"Unable to pop operand off an empty stack"
とかって言われんだけど・・・

629 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:02:19 ]
スタックが空じゃん
取り出すオペランドが無いじゃん

630 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:35:38 ]
>>629実質スタックには実行時必ず何かしら乗るようにしたんだけど(動かせば問題ないはず)
VMがロードする時点で(実行しなくても)エラー吐いちゃうからさ・・・インタプリタ作ってんだけど

631 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:36:45 ]
>"Unable to pop operand off an empty stack"
javaにしては意味が分かりやすいエラーメッセージだな。

632 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:07:48 ]
Java VM Specificationのベリファイアの項を読めばいいんでないか

633 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:15:23 ]
今はソースコードもあるしな



634 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 10:49:51 ]
>>627
そのスパゲッティ化を起こさないための設計指針の一つがコンストラクタでthisを
外部に晒さない、なんだが理解できんのか。javaプログラマの質が知れるな。
糞コードが量産されるわけだ。

635 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 10:51:56 ]
>>632英語よくわかんないんだけど
For example, it checks that every instruction has a valid operation code;
が今の状況に当てはまってる・・・?

636 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 10:53:11 ]
いや、ごめん違うか・・・でも多分ダメなコードなんだろうな

637 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:15:07 ]
外部から最大ヒープサイズを知るような方法はあるでしょうか?

638 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:17:42 ]
>>635
そこはInstruction Setにのってないopcode使うなって話だと思うから、
スタックが空ってのとは違うと思うぞ。

639 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:25:53 ]
>>637
JMXで取れない?

640 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:30:59 ]
>>635
スタック云々だと、データフローアナライザ絡みじゃね?
4.9.2 The Bytecode Verifierの
Next, a data-flow analyzer is initialized. 〜 4.9.2の終わりまで全部。

641 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 11:47:08 ]
>>640でしょうな。まさかJVMがそこまでチェックしてるなんて知らなかった・・・
勉強になりますた。バイバイ

642 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:26:57 ]
ブラウザのリロードボタンや、アプレットビュアーの再読込クリックしなくても
エラーなどのイベントで全く最初からやり直す方法はありませんか?

643 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:38:09 ]
エラーって例外かね?

アプレット相手だと、未だにJDK1.1互換で考えなきゃいかんのか?
だとすると、Thread.UncaughtExceptionHandler とか使えないし、
EDT相手だとuncahughtExceptionをオーバーライドしたThreadGroup使って、
ってわけにもいかんだろうし。



644 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:58:28 ]
>>643
すみまません。書き方が悪かったですね。
具体的にはアプレットのウインドウのリサイズを感知したときに再読込から始めたいのです。
アプレットのウインドウサイズは変わらない前提で作ってあったので、
外部から動的に変更されてそのまま実行するとエラーになるのです。

もちろん全てのスレッドを止めてメモリも解放して、最初からやり直すように書けばいいだけなのですが
もっと簡単に再開できる方法が有ればと…(昔のBASICのRUNみたいに(^^;)

645 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:27:09 ]
>>644
現実行環境の破棄->再読み込み->再実行 とかを
一発でできる便利メソッドがあるか、って話?

ないはず。






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

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

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