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 あたりで。
369 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 17:22:22 ] Exception in thread "Thread-6" java.lang.ArrayIndexOutOfBoundsException: 8 at ipmsg.HelloWorldJNI.btoS(HelloWorldJNI.java:35) at ipmsg.IDManager.getPID(IDManager.java:71) at MainWindow.makeSortKey(MainWindow.java:270) at MainWindow$RefreshList.run(MainWindow.java:304) このエラーの意味がわからなくて困っています。 もしよろしければ教えていただけないでしょうか。
370 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 17:28:55 ] java.lang.ArrayIndexOutOfBoundsException
371 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 17:53:08 ] >>369 意味:バーカ、添字が8になってんぞ(藁
372 名前:デフォルトの名無しさん [2008/01/24(木) 19:27:31 ] Javaでデータベース(MySQL)を操作して予定などを管理するプログラムをEclipseで作っています。 Eclipse上では動くのですが、jarファイル化してjarファイルから実行しようとするとソフト自体は動くのですが、 データベースに接続できません。 どうしたらよいのでしょうか?
373 名前:デフォルトの名無しさん [2008/01/24(木) 19:42:04 ] エスパー募集中
374 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 19:51:27 ] >>372 エスパーします。 mysqlのjdbcドライバがjarを実行するときのパスに入っていません。 -cp オプションで指定しましょう。
375 名前:デフォルトの名無しさん [2008/01/24(木) 19:54:41 ] ありがとうございます。 今からやってみます。
376 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 22:19:08 ] >>371 無事解決しました。 ありがとうございました。
377 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 09:49:45 ] Ant の質問ここで良いかな? <property> って一度設定したら再設定できないんだけど <antcall> にパラメータのような 可変値を渡したい場合ってどうするの?
378 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:53:37 ] >>377 param ttp://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTasks/antcall.html
379 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 12:39:01 ] あらかじめ複数のタブがあり、あるタブが選択された瞬間に そのタブのウィンドウサイズを変更したいのですが、どのようにすればできるのでしょうか?
380 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 14:07:16 ] JTabbedPaneにaddChangeListenerしといて、stateChangedが来たらサイズを変えればいいんじゃないかな
381 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 15:34:42 ] >>380 ちょっと調べてみますね。 ありがとうございました。
382 名前:デフォルトの名無しさん [2008/01/25(金) 16:29:04 ] クラスにどんなメソッドがあるのかを見て勉強しているのですが docs/ja/api/index.html java.util.Scannerを見るとテキストスキャナということが分かるのですが 例えばファイルの中に特定の文字列を見つけ出すメソッドはあるのかな? と思ったときどのように探していいのか分からないでいます 探し方をお教えていただけないでしょうか
383 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:30:46 ] ググレカス
384 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:46:01 ] ググレというかjavadocよく嫁の方じゃないか?
385 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:51:32 ] >>382 基本は「ググれ」だけど、javadocから探せないこともない。 パッケージの一覧を見ると、ある程度は絞れるよ。 例えば、ファイル入出力ならjava.ioパッケージ。 文字列の検索なら、文字列のクラスjava.lang.String自身を調べるか、 またはjava.util.regexパッケージ。 両方見ると、「ファイルの中に特定の文字列を見つけ出す」処理をいっぺんに行う メソッドが見つからないことが分かるので、 ファイルを読みとるクラスと文字列を検索するクラスを 組み合わせて自分で実装する必要があると理解できる。 とまあ、こんな感じで。
386 名前:デフォルトの名無しさん [2008/01/25(金) 17:12:38 ] >>383 >>384 >>385 ありがとうございます 勉強になりました
387 名前:デフォルトの名無しさん [2008/01/25(金) 18:15:58 ] >>385 さすがにそれは無理がある。現実的じゃ無い。 書いてあることを探し出すのは容易だが 書いてないことを探し出すのは相当根性がいるぞ。 ググったほうが早いと思うな。
388 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:27:15 ] いくらパッケージからある程度想像付くとはいえ、API リファレンスってのは 目的から引くためのリファレンスではない。API リファレンスなんてのは所詮 部品の説明であって、やりたいことを実現するためにどの部品をどう組み 合わせれば良いかの説明は薄いと言わざるを得ない。
389 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:36:56 ] >ファイルの中に特定の文字列を見つけ出すメソッドはあるのかな の場合はストリームから文字列取り出せば良いだけだからjavadoc読んでたら分かると思うんだが。 ググってもjavadoc読んでもそれそのものは無いしさ。 APIリファレンス読んでみるしかないんじゃないか?
390 名前:デフォルトの名無しさん [2008/01/25(金) 18:43:55 ] まずはリファレンスで検索しようよw
391 名前:デフォルトの名無しさん [2008/01/25(金) 21:11:41 ] 無いものをどうやって検索しろと?あんた脳に蛆が沸いてない?
392 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:16:55 ] 無いということがわかるだろw
393 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:18:54 ] まあ落ち着け
394 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:52:50 ] 最初はindexOfでいじゃないか
395 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:58:46 ] >>382 startsWith("String")とendsWith("String")使えば簡単な文字列解析できるよ。 java歴1年になるけど今日偶々javadoc見てたらみっけたw くは〜 節穴俺orz
396 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 22:05:32 ] javadocの見方がわからないポスケテ
397 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:21:41 ] 正八面体は何とか作製することが出来たのですが、どうしても正六面体が出来ません。 正六面体の座標値はどういう風に求めれば良いのでしょうか?
398 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:28:24 ] 数学板かと思ったw
399 名前:デフォルトの名無しさん [2008/01/26(土) 08:38:01 ] グーグル先生に聞けよ
400 名前:デフォルトの名無しさん [2008/01/26(土) 08:39:21 ] ちょっとまて、正六面体って立法体じゃねーかw
401 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 08:48:17 ] >>397 正八面体と正六面体は双対の関係にありますので、 正八面体が書ければ正六面体も書けると思います。
402 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 09:30:30 ] >>378 すまん、ぜんぜん気づかなかった
403 名前:デフォルトの名無しさん [2008/01/26(土) 11:31:49 ] JDK6.0日本語ドキュメントの始めのページをIEで開いても ましっろな空白のホームページになってしまって見ることが出来ません。 ワードで開くとちゃんと表示されます。 環境はwindows vista です。 本当に困っています。 よろしくお願いいたします。
404 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 11:35:24 ] いえいえ、こちらこそよろしくお願いいたします。
405 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 11:41:33 ] お構いもしませんで。
406 名前:デフォルトの名無しさん [2008/01/26(土) 12:03:22 ] ありがとうございます。 親切にしていただいたおかげで背が3cmも伸びました! 本当にオススメです。
407 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:28:37 ] ではお言葉に甘えさせていただきます
408 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:37:52 ] >>403 WindowsUpdateする
409 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:21:39 ] 座標値を指定してもならないのです… もうちょっとグーグル先生に相談してきます
410 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:02:14 ] 指定したURLのソースコードを読み込みたいのですが、HttpURLConnection.getInputStream()が重たいようであまり速度がでません 以下のプログラムより高速にソースコードを取得できる方法があったら教えてください よろしくお願いします HttpURLConnection huc = (HttpURLConnection)new URL("www.google.com/ ").openConnection(); InputStream is = huc.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String s; while((s = br.readLine()) != null){ source += s; }
411 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:52:48 ] ネット回線が遅いんじゃないのか
412 名前:デフォルトの名無しさん [2008/01/26(土) 18:56:25 ] javacにパスが通っていれば、コンソールでjavacを実行するとヘルプみたいなのが 表示されるんですか?
413 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:57:44 ] そう
414 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:20:10 ] ありがとうございます。 それでしたら、僕はパスが通っていません。 XPでPathを更新したら、XPの再起動が必要なんでしょうか?
415 名前:デフォルトの名無しさん [2008/01/26(土) 19:35:25 ] コマンドプロンプトの再起動は必要
416 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:53:23 ] >>18 書籍Java Puzzlerにそんなクイズがあった気がするぞ
417 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:31:03 ] >>415 そのとおりでした。ありがとうございました。
418 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:46:09 ] appletviewerでアプレットを実行する時、実行するアプレットを引数で指定しますが その拡張子がjavaであるのはなぜですか?
419 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:52:01 ] >>410 getInputStream だと確定してるなら、何も言うことは無い。 ・Stringの接合はメモリと時間が余分にかかる。Stringは可変バッファではない。 ・データ取得を高速にするだけならStreamのまま。Readerにしない。 >>418 別にそんな決まりはない。 ttp://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/solaris/appletviewer.html
420 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:17:07 ] Java Media APIsのスレ立てたんでこのスレの範疇を超える以下のAPIは 【JMF】Java Media APIs【JOGL】 ttp://pc11.2ch.net/test/read.cgi/tech/1201346803/l50 に誘導してください。 ・Java Media Framework (JMF) ・Java Sound API ・Java 3D ・Java Binding for OpenGL(JOGL) ・Java Advanced Imaging(JAI) ・Java Image I/O ・Java 2D ・Java Speech API ・Java Telephony API(JTAPI)
421 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:21:58 ] なんでわざわざ糞スレ立てんの?
422 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:37:39 ] おまいみたいな奴のため
423 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:50:47 ] おまいみたいな奴のため と書こうとしたがすでにry
424 名前:デフォルトの名無しさん [2008/01/27(日) 00:50:40 ] コンソールへの文字列出力について教えてください。 7-zipでファイルを圧縮、展開すると下記のようなメッセージが表示されます。 7-Zip 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Scanning Updating archive test.zip Compressing fveupdate.exe Compressing HelpPane.exe Compressing hh.exe Compressing iis7.log Compressing MEMORY.DMP 4% このCompressing <ファイル名>ってのがゾロゾロ表示されて進捗を示すのですが 一番下ってか最新の行にだけ進捗のパーセンテージが表示されるんです。 これをパクりたいのですが、どうすれば良いのか分かりません System.outを調べたのですが、一度表示した行を修正するなんて方法は書いてないですし javaで同じ事をするにはどうすれば良いでしょうか。
425 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:06:43 ] \r
426 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:11:34 ] \b
427 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:16:26 ] linux系だとエスケープでできるけどwinは無理
428 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:35:34 ] >>427 ANSI.SYSだっけ、組み込んだらできないかな? やってもないけど、昔コマンドラインでエスケープシーケンス動かそうと思ったら そういう解決方法があったとおもうなぁ。
429 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:53:30 ] 以上、まぬけな二人組でした
430 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 04:00:20 ] Windows95,98は標準で組み込まれてるけど2000,XPでは外されたってやつ? それMS-DOSの方じゃなかったかな。
431 名前:デフォルトの名無しさん [2008/01/27(日) 06:34:40 ] \r だろ、フツー。
432 名前:デフォルトの名無しさん [2008/01/27(日) 09:26:23 ] Collection.sortでStringの並びをDBからORDER BYしたものと一致するようにしたいのですが Comparatorでどう実装するでしょうか?
433 名前:デフォルトの名無しさん [2008/01/27(日) 10:47:08 ] DBからORDER BYするときに使うカラムで比較すればいい
434 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 10:59:46 ] 各カラムを別々のコレクションに入れてるならちんぽ
435 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:00:47 ] >>432 Stringは java.lang.Comparable を実装してるから Collections.sort(List) が使える。 また、TreeSet 等の実装でもそのまま使うことが出来る。 但し、StringではUnicodeで比較するので、他の文字セットの並び順にする場合は、 そのバイト配列を取得し、比較すること。 Stringを保持するRow を並び替えるときは、ComparatorでString.compareTo等を流用。
436 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:05:14 ] 取ってきたときの順序を何らかの方法で覚えておく(Listや順序付きMapに入れるなど)のが一番カタい。(と言うか、俺ならそうする) そもそも order by してないとかだと、DBの比較アルゴリズムを調べてそれと同等なComparatorを自力で実装するしかない。
437 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 16:11:28 ] クラスのprivateに関して質問があるのですが教えていただけないでしょうか? 内容は変数を外部からいじられたくないときにprivateをつけると書いているのですが概要がよくわからないでいます 例えば car.javaに class Car { private int weight; } // コンストラクタ// Car(int weight) { this.weight = weight; } void setWeight(int weight) this.weight = weight; } setcar.javaに Car vitz = new Car(100); vitz.setWeight(200); 外部ファイルからのvitz.setWeightを実行しているのに値が変更できてしまう理由が分からないでいます vitz.setWeight();はvitz内のメソッドとなっているので内部になっているのでしょうか?
438 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 16:15:38 ] private メンバは外部クラスから vitz.weight = 100; とか直接やられないようにするもの。 setWeight() で間接的に変更するのは問題ない。メソッドにしておくことで後で内部構造や 動作に変更があっても Car クラス内で対処できる (ことが多い) から。 public void setWeight(int weight){ this.weight = weight; recalculateWeightBarance(); }
439 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 16:18:15 ] あれ、書き込みショートカット押してしまった orz recalculateWeightBalance(); // 最適なウェイトバランスを再計算 private void recalculateWeightBalance(){ // ... }
440 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 16:32:32 ] Carクラス生成後にweight変数をいじられたくない場合は、セッターメソッドをCarクラスに作らなければよい。 それはクラスを作る人間の自由。
441 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:49:39 ] j2sdk1_3_1_21で動作するプログラムを j2sdk1_4_2_16でプログラムを動作させるにはどうすれば良いですか?
442 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:51:56 ] コンパイル
443 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:09:25 ] コンパイルするとエラーがいっぱい出るんですけど…
444 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:13:25 ] 先生:エラーが出たらどうしますか? ゆとり:2ちゃんにエラーがいっぱい出たとカキコします
445 名前:デフォルトの名無しさん [2008/01/27(日) 18:22:17 ] 2ちゃんに書いても解決しない
446 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:21:43 ] せめてどんなエラーが出たとか書けよ。学生なんだろうけど。
447 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:32:27 ] java使ってるプロジェクトって開発環境がぐちゃぐちゃなの多くてヤダな、なんでだろう。 開発環境さえキチンと整っていれば結構良い言語なのに いままで何回もJAVA案件の仕事したことあるけど、たいていどこのチームもデバッグはSystem.outPrintで変数の中身みてたりする。 時代を逆行してどうすんだと毎回思う。 ぶっちゃけ.netの方が楽だわ。
448 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:33:30 ] >>824 あ,この場合「棒」を弄っても「おいなりさん」を弄っても1としてカウントしてね^^
449 名前:448 mailto:sage [2008/01/27(日) 19:33:58 ] すみません誤爆です><
450 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:42:46 ] これは良い誤爆
451 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:48:02 ] >>447 junit使わないの?
452 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:54:11 ] >451 使わないよ
453 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:01:37 ] 個人的には.NET、というかMSが出すものの方が 時代に逆行しているように思えることが多いな なんか、かれらは自動化とか全く考慮してくれないし
454 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:12:26 ] ビルドの自動化とかやってるじゃないか ExpressEditionばっかり使ってるからそんなこと言うんだよ Team Systemを使いなさい Javaはオープンだけど、その分、いろんなものが出てきて分かりづらくなる .NETならMSのやり方に従うだけでいい 基本的なものは全部スイートに用意されている 逆に言えばMSのやり方に拘束される まぁどっちがいいかは対象とするシステムと要員で決まってくるから、個人がどうこういってもね
455 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:25:42 ] >>438 >>440 ありがとうございます 外部内部で考えるのではなく 直接的か間接的かで考えると分かりました
456 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:25:46 ] Reporting Servicesとか、どうやってテストの自動化すりゃいいんだよ 教えてくれ
457 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:58:06 ] いまどきタダでIDEとデバッガが使えるのに何言ってんだこいつは?
458 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:14:40 ] Reporting Services知らない?
459 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:20:22 ] まぁJavaスレだしね
460 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:34:11 ] Team System使えばReSharper、NUnit、NUnitAspあたりは不必要になるんか? なら検討したいけど、そうじゃないだろ? 結局MSオンリーじゃまともなIDEじゃないんだよ。 そこらへん含めて考えたら、Javaも.NETも大して変わらん。 >456が言うように、Reporting Serviceとかノンコーディングを謳ってるものは 確かにテストの自動化のやりようがないけどな。
461 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:45:22 ] Team SystemはテストツールがIDEに組み込まれてるだろ ここで意見が出るか出ないかで判断するより、製品を調査したほうが確実
462 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:47:53 ] いや、テストツールが含まれてることは知ってるけど、 ReSharperとかの代わりになるようなものじゃないだろ。 ReSharperはテストだけじゃないし。 そういうのもひっくるめて考えると、 Team Systemだけあっても実際の開発には使えない、って話。
463 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:56:42 ] あぁ、そういうことね ReSharperが何者かしらないけど
464 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:08:05 ] ReSharperは知っといたほうがいいよ。 ttp://blog.inomata.lolipop.jp/?eid=622557 とりあえず、Day 1とDay 5あたりが導入のきっかけになった。
465 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:08:52 ] って、Javaスレでなにやってんだオレ・・・
466 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:30:30 ] すいません、質問です。 JRE1.6ってJISX213:2004に対応している?ような事があったと思うんですが WindowsJavaアプリ環境で環境依存文字をUnicodeで取得して それをgetBytes()でSJIS?MS932?どちらかはわかりませんが 環境によって自動取得するときちんと文字が取れずに「?」という風になってしまいます。 JISX213の規格内にSJIS2004ってのもあるんですが、JRE1.6では、こちらには対応していないのでしょうか?
467 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:31:57 ] 誰か通訳を
468 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:50:31 ] >>466 まずは冷静になってもう一度説明してごらん
469 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 03:19:29 ] というかフォントのエンコードと文字セットのサポートは実装依存だろ。
470 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 03:19:55 ] >>466 疑問自体は非常に興味深いのだが、内容を理解できないところが残念です。 とりあえず、疑問その1に参考資料を用意。 ttp://java.sun.com/javase/ja/6/docs/ja/index.html 機能リファレンスガイド > 基本ライブラリ > その他のパッケージ > 国際化 より。 サポートされているエンコーディング ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/encoding.doc.html
471 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 04:36:09 ] スレ違いな感じがするのですが…誘導でもどんなヒントでもいいのでお願いします HPのプルダウンが変更されたらJAVASCRIPTを動かしたいのですが、可能でしょうか?
472 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 04:41:10 ] <select onchange="alert('氏ね');"> <option value="1">1回</option> <option value="2">2回</option> <option value="3">3回</option> </select>
473 名前:471 mailto:sage [2008/01/28(月) 04:46:08 ] >>472 即レスありがとうございます、本当に助かりました! お手数をおかけして済みませんでした 1回、2回、3回は笑ってしまった…w スレ汚し、失礼しました
474 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 08:00:45 ] Javaが提供してる基本クラス数って合計するとどんくらいあるんですか?
475 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 08:53:21 ] 基本クラス?何それ?
476 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 12:20:43 ] >>474 たぶんこれのことか?自分で数えてくれ java.sun.com/javase/ja/6/docs/ja/api/allclasses-frame.html
477 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 12:51:29 ] 失礼します。初心者です。 ユーザーの入力する数値を年月日で区切って取得したいのですが、どのようにすればよろしいでしょうか? 宜しくお願いします。 public static int readBirdate(Scanner kb) { System.out.print("誕生日を入力してください(年 月 日: "); int ubir = kb.nextInt(); return ubir; }
478 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 12:53:40 ] DateFormat df = new SimpleDateFormat("yy'年'MM'月'dd'日'"); Date date = df.parse(ubir);
479 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 13:07:08 ] >>478 ありがとう、ございます!
480 名前:477 mailto:sage [2008/01/28(月) 13:32:15 ] すみません。良いヒントもらったので頑張ってみたけど、やっぱり無理でしたorz 実は宿題でして、ユーザーに今日の日付と誕生日を入力してもらって、年齢を割り出すというプログラムです。 >>477 の式で、 今年: 2008(←入力) 誕生年: 1980(←入力) (計算) 年齢: 28 といった感じで年だけの計算はできるのですが 今日(mmddyyyy): 1 28 2008 誕生日(mmddyyyy): 2 17 1980 といった一度に年月日全ての値を得るやりかたが、どうしても分かりません。 すみません、ご教授お願い致します。
481 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 13:38:12 ] >>480 指示された入力形式は mmddyyyy、入力例が 1 28 2008、 一貫してないのでなんとも。全角半角もごっちゃだし。 スペース区切りならば mmddyyyy は [m]m [d]d yyyy とかすべきじゃね? もしスペース区切りでないのなら、入力例は 01282008 みたいに 最初は0つけないとダメだし、スペースが間に入っちゃメでしょ。
482 名前:477 mailto:sage [2008/01/28(月) 13:54:09 ] >>481 すみません。スペース区切りです。 //出力例 今日の日付を入力してください(mm dd yyyy): 1 28 2008 (←入力) あなたの誕生日を入力してください(mm dd yyyy): 2 17 1980 (←入力) 貴方の年齢は 28才です。 // 支持されている出力例はこんな感じです。
483 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:09:50 ] 1980年生まれって誕生日くるまでは 27歳じゃね? 28表示していいのか?
484 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:11:20 ] 数え年なんじゃね?
485 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:12:55 ] ちなみに、数え年だと29才のはず。
486 名前:477 mailto:sage [2008/01/28(月) 14:13:15 ] 無視してくださいorz
487 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:32:24 ] >>477 文字列の取得自体はできるみたいなので、続きだけやるとこんな感じか? //文字列をCalendarに変換 String now, birth; //"1 28 2008" と "2 17 1980" を入力させる。 DateFormat df = new SimpleDateFormat("M d yyyy"); Calendar today = Calendar.getInstance(); today.setTime(df.parse(now)); Calendar birthday = Calendar.getInstance(); birthday.setTime(df.parse(birth)); //Calendarから年齢計算 int age = today.get(Calendar.YEAR) - birthday.get(Calendar.YEAR); birthday.set(Calendar.YEAR, today.get(Calendar.YEAR)); if (today.before(birthday)) age--;
488 名前:477 mailto:sage [2008/01/28(月) 14:35:29 ] >>487 ありがとうございます!やってみますw
489 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 16:13:22 ] JSPを読んでswing系の画面に出すような事は出来るのでしょうか? とりあえずHTMLならJTextPane.setContentType()で表示できるようになるのですが、JSPのスクリプトレットは対応しておらず見る事が出来ません。 何か方法があったら教えてください。 よろしくお願いします。
490 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 16:19:09 ] SWT 使え
491 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 16:44:36 ] JSPってサーバ側で処理するもんでは? それをクライアントで処理したいってこと? 自分で実装するのは大変そうだから、なんか適当なwebサーバ内蔵してループバックでhttpするのが楽かも
492 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 17:06:53 ] そういう意味か。 Tomcat でもビルトインしないとできねぇから、JSP の代わりに 動的な XML + XSL で HTML 作って JTextPane にでも食わせろ。
493 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 00:49:44 ] public static<T, A> void a(String s) { T data = A.suru(s); } ということをやりたいのですが、エラーが出て実行できません こういうことは出来ないのでしょうか?
494 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 00:50:50 ] できません
495 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 00:52:36 ] >>494 出来ませんか… ありがとうございました
496 名前:デフォルトの名無しさん [2008/01/29(火) 01:10:43 ] なにをやりたいんだ? public static T <T> a(String s) { return A.suru(s); } ならまだ意味が解るが・・・
497 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:04:02 ] >>496 昨日ファンクタというものを知りまして… それをやってみたかったのです
498 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:13:32 ] それならジェネリクスじゃなくて手抜かずにインターフェース使ってヤレ。 ちなみに次のバージョンからクロージャーが入る。
499 名前:489 mailto:sage [2008/01/29(火) 09:04:22 ] >>490-492 そちらの方向で色々試してみます。 ありがとうございました。
500 名前:デフォルトの名無しさん [2008/01/29(火) 09:47:26 ] java言語の書き方(例:if やfor文の書き方)が全部書いてある 日本語のダウンロードできるドキュメントを教えてください
501 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 10:47:50 ] java 言語仕様 でググレカス
502 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 11:04:04 ] 任意のTaskを前回のTaskが終了した時点から一定時間経過後に実行してくれる、 SingleThreadなExecutorServiceって存在しますか?
503 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 11:47:20 ] >>502 Executors#newSingleThreadScheduledExecutor
504 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 12:56:54 ] JTreeとJTextAreaを2カラム形式で配置し、 JTreeで異なるノードを選択した時に、JTextAreaの内容を切り替える プログラムを作ろうとしているのですが、上手くいきません。 JTextAreaやJFrameを設定しているクラスと、JTreeを設定しているクラスを 別々に分けているせいか、mouseListenerが上手く動かなかったり、 変数のやり取りが上手くいかなかったりしています。 どういった手順で切り替えるよう組めばいいでしょうか。
505 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 13:03:25 ] 本にうっかりヨダレたらしてしまって 後日そのページがごわごわになってて萎えんfg9あぷ9j;:
506 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 13:17:28 ] Excelを出力するのにjakarta poiを使おうと思うんですが サーブレットから使っても大丈夫でしょうか? スレッドセーフというかなんというか、同時に複数動いても 大丈夫なものでしょうか?
507 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 13:26:26 ] >>503 それだとscheduleWithFixedDelayとかで、決まったTaskしか定期実行しかできませんが、 まとめてexecuteしたTaskを必ず一定間隔を空けて実行するような奴とかないでしょうか。 とりあえず自分で実装してしまったのですが、既存実装があったら悲しいなぁと思いまして。
508 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 13:55:49 ] >>504 まず問題点を分けてみないと。 >mouseListenerが巧く動かない 実装が悪いんだろう。 classを分けてるってソース(なんとか.java)を分けてるって意味だよね? >変数のやりとりが巧くいかない >クラスを別々に分けているせいか ひとつのソースで動くプログラムならソースを分けても動く道理。 classから違うソースのclassの呼び出し方が判らないとか変数が読めないとかなのか。 単純化したひとつのソースで試してみる。
509 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 14:24:09 ] 質問です。 「演算子+は引数の型double,Graphicsで未定義です。」 というエラーがでます。これを解決するにはどうすればよいでしょうか?
510 名前:デフォルトの名無しさん [2008/01/29(火) 14:30:54 ] Date currentTime = calendar.getTime(); ↑コンパイルエラーでした。シンボルを解釈処理できません。 何をimportしたらよいですか? sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/Date.html を見てimport java.util.Date.*;を書きましたがだめでした。 どうやって必要なimportを調べたらよいのですか?
511 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 14:32:56 ] >509 double a = ???; Graphics b = ???; a + b; こんなことは出来ないってことを言ってるんだよ。 とりあえず、プログラム見直せ。 >510 import java.util.Date; でOK
512 名前:509 mailto:sage [2008/01/29(火) 14:39:11 ] >>511 ありがとうございます。見直してみます
513 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 14:47:09 ] >>511 コンパイルしたいです。 import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; public class a { public static void main (String args[]) { Date d = calendar.getTime(); SimpleDateFormat f = new SimpleDateFormat("EEE", Locale.JAPANESE); String s = f.format(d); System.out.println(s); } }
514 名前:デフォルトの名無しさん [2008/01/29(火) 14:53:52 ] >513 calendarってのが定義されてないからコンパイル出来ない。
515 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 16:47:28 ] CSVを解析するプログラムを作っていて「java CSV」で検索したのですがあまりよいものがなく 「CSV 正規表現」で検索したらPerlのサイトが出てきて自分なりに作ってみたんですけど疑問がいくつかあるので質問させてください。 ========================================== import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.FileInputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.regex.Pattern; import java.util.regex.Matcher; public class CsvSplit { private static final String CSV_SPLIT_REGEX = "(\"(?:[^\"]|\"\")*\"|[^,]*)"; private Pattern _pattern; /** * 実行用のメイン */ public static void main(String[] args) { CsvSplit aaa = new CsvSplit(); ArrayList csvArray = aaa.readCsvFile("C:\\zzzzzzzzzz.csv", "JISAutoDetect"); Iterator ite = csvArray.iterator(); while(ite.hasNext()) { String[] csvData = (String[])ite.next(); for (int i = 0; i < csvData.length; i++) { System.out.println("-------------"); System.out.println(csvData[i]); System.out.println("-------------"); } } }
516 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 16:49:47 ] /** * コンストラクタ */ public CsvSplit() { this._pattern = Pattern.compile(CSV_SPLIT_REGEX); } private ArrayList readCsvFile(String fileName, String charsetName) { try { // ファイルの取得 BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream(fileName), charsetName)); ArrayList csvArray = new ArrayList(); String columnValue = ""; try { // ファイルから1行ずつ読み込む while (br.ready()) { String lineData = br.readLine(); // ダブルコーテーション以外の文字をすべて削除しダブルコーテーションの数を数える。 // ダブルコーテーションの数が奇数の場合は次の行も読み、再び奇数になるまで読み込む if (lineData.replaceAll("[^\"]", "").length() % 2 == 0 && columnValue.equals("") || lineData.replaceAll("[^\"]", "").length() % 2 == 1 && !columnValue.equals("")) { columnValue += lineData; String[] splitData = splitCsvData(columnValue); columnValue = ""; csvArray.add(splitData);
517 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 16:51:05 ] } else { columnValue += lineData + "\r\n"; } } return csvArray; } finally { br.close(); } } catch (Exception ex) { ex.printStackTrace(); return null; } } /** * CSVデータの1行を分割して配列にして返却する。 * 改行が含まれるデータの場合は必ず奇数となるので、奇数である限り取得処理を繰り返す。 * ただし、CSVデータは以下の条件で保存されている場合に限る。 * 1.基本的にコンマで区切った部分がスペースを含めて値である。 * 2.値にコンマ、ダブルクウォート、改行が含まれる場合は、値全体をダブルクウォートで囲む * (コンマやダブルクウォートがない場合に値全体がダブルクウォートで囲まれていても問題ない) * 3.値に含まれるダブルクウォートは "" となる。 * @param csvLine * @return */ private String[] splitCsvData(String csvLine) { ArrayList csvDataArray = new ArrayList(30); Matcher matcher = this._pattern.matcher(csvLine); boolean isDataSkip = false; String columnValue = "";
518 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 16:51:11 ] このまま俺らにデバッグしろと言う気か
519 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 16:51:37 ] // 正規表現に従い取得する。 while(matcher.find()) { // なぜか値が取得できた場合の次の値が空文字として取得できるのでスキップする if( isDataSkip ) { isDataSkip = false; continue; } String result = matcher.group(); // 値が取得できたかどうか if( !result.equals("") ) { isDataSkip = true; } // データの前後がダブルクウォートで囲まれている場合は省く if(result.startsWith("\"") && result.endsWith("\"") ) { result = result.substring(1, result.length() - 1); // データにダブルクウォートがあれば1つに置換する result = result.replaceAll("\"\"", "\""); } // セット csvDataArray.add(result); } String[] splitData = new String[csvDataArray.size()]; csvDataArray.toArray(splitData); return splitData; } } ==========================================
520 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:01:23 ] >>518 長くてすいません。。。 質問なんですけど、 1.readLineで1行ずつ取得していると改行データを含む行が分割されてしまうので本当はCRLFが 正しいデータかわからずreadLine以外に効率よく確実に読み取る方法ってありますでしょうか? 2.perlのサイトだと正規表現でダブルコーテーションの数を直接数えてるんですけどjavaの正規表現だと どうやるのでしょうか? 3.正規表現で値を取得した場合次の値が空文字として取得できてしまうのですが 正規表現がいまいちよくわからず・・・。パターンの悪いところや正しいパターンを教えていただけないでしょうか。 4.@ITでC#で「^(?:(?<1>"[^"]*"),?|(?<1>[^,]+),?|,)*」というの見つけたのですが動かず。。。C#とjavaってそこまで違うのですか? 長文駄文ですいません。お手数おかけしますが宜しくお願い致します。
521 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:10:20 ] よくググレCSVライブラリあるぞ。 ところでThe Java Virtual Machine Specificationの和訳って本しかないかな? 本買おうか悩んでるんだけど。
522 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:15:29 ] ネットにあってもどうせ広告すらクリックしないだろ乞食
523 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:34:01 ] >>520 これをコピペしてコンパイルして自分で色々実験してみるがよろし。 あと、JavaのとPerlの正規表現はほぼ別物と考えた方がいい。 public class RegExp { public static void main(String args[]){ String patStr = null; String text = null; if(args.length <= 0) { try { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Pattern: "); patStr = br.readLine(); System.out.print("Text : "); text = br.readLine(); } catch(IOException e) { e.printStackTrace(); } } else { patStr = args[0]; text = args[1]; } Pattern pattern = Pattern.compile( patStr ); Matcher matcher = pattern.matcher( text ); if(matcher.matches()==true) System.out.println("match"); else System.out.println("not match"); } }
524 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:51:24 ] ある文章から指定した正規表現に一致するもののみを抽出したいのですが、そのものずばりな方法ってありませんかね? 一致するものをひとつずつ探して、それらを結合する、といった方法しか思いつかないのですが、もっとスマートな方法があったら教えてください。
525 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:58:20 ] >>522 広告クリックしてもらえなかったのか。よしよし。
526 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:17:49 ] >>524 それぐらいならスマートな方じゃないかなと。(というかスマートって何さ 貴方の理想が魔法のステッキなら話は別ですが… 便利な魔法のステッキも最終的にはどこかで地道な作業をやってるわけで。
527 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:00:31 ] ありがとうございます、ひとつずつで実装することにします。 Lispから入った捻くれなので、リストは一括操作でないとどうにも落ち着かないのです。
528 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:22:21 ] 「Lispから入った捻くれなので、リストは一括操作でないとどうにも落ち着かないのです。」 今年に入って一番説得力のある発言を見た
529 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:28:15 ] やっぱりLisp使いはJava厨とはわけが違うな
530 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:39:49 ] 以上、自作自演でした
531 名前:515 mailto:sage [2008/01/29(火) 22:35:42 ] >>521 CSVTokenizerだと正規表現を使っておらず参考になりませんでした。 ほかにもそういったもので参考になるものがあれば教えていただけないでしょうか。 >>523 だいたい同じようなものを作ってようやく形になったのが上記のソースです。。。orz
532 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 22:43:18 ] >>507 まとめてexecuteするときに間にsleepタスクを挟めばいいんじゃない
533 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:49:04 ] 16進数の文字列表現をintまたはIntegerに変換したいのですけど、 まさにこういった機能をもったAPIがあったら教えてください。 結構探し回ったんですけど見つかりませんでした。
534 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:53:35 ] >>533 つ Integer.parseInt(String, int) ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/Integer.html
535 名前:デフォルトの名無しさん [2008/01/29(火) 23:55:52 ] すいません、メモリ(ヒープ)サイズについて質問です。 java実行時に-XX:+PrintGCDetailsオプションを指定してgcのログを出しています。 そのログに記録される結果のヒープサイズと psコマンド(ps alxなど)の結果(RSS)が一致しないんですが、 プロセスサイズ=ヒープサイズ+JVM自身が利用するメモリサイズ ってことであってますか?
536 名前:533 mailto:sage [2008/01/29(火) 23:57:21 ] >>534 parseIntは散々試してみましたけどだめでした。 なむふぉでまくりです。 decodeがまだだったので試してみます。
537 名前:533 mailto:sage [2008/01/30(水) 00:04:07 ] うまくいきまんた
538 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:04:41 ] >>524 あらかじめずばり抽出できる構造で文章を保持しておけばスマートじゃね?
539 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:10:28 ] >>531 なんでそこまで正規表現を使いたがるのかな? 正規表現って便利だけど実行速度はすごく遅いよ。
540 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:16:53 ] >>521 和訳は本しかない VMの対応バージョンは1.3か1.4あたりだったかな 5.0でバイトコードのフォーマットが変わったから、買おうか悩む
541 名前:デフォルトの名無しさん [2008/01/30(水) 00:33:30 ] 伝わりにくいと思うんですが、文字列を相手に入力してもらう方法と、その入力してもらったいくつかの文字列をランダムに組み合わせるってできますかね?
542 名前:デフォルトの名無しさん [2008/01/30(水) 00:35:36 ] >>541 文字列というのは日本語です。
543 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:39:59 ] 伝わりにくいね。 〜してもらう方法と、〜をランダムに組み合わせるってできますかね? ・・・日本語がおかしいから伝わりにくいんだろうね。
544 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:40:32 ] List に突っ込んで Collection#suffle() して連結。
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 現実行環境の破棄->再読み込み->再実行 とかを 一発でできる便利メソッドがあるか、って話? ないはず。
646 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:56:35 ] >>645 ありがとうございました。 手抜きは諦めます。
647 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:08:13 ] >>639 ありがとうございます。-Dcom.sun.management.jmxremote 設定 + jconsole で 取得できる情報でまさに構わないのですが、起動引数が自由に弄らせて貰えない 状態でして…再起動は許されるかもしれません。 あるいは、上記のようなシステムプロパティを設定しなくてもできるもの なのでしょうか?
648 名前:デフォルトの名無しさん [2008/02/01(金) 15:27:18 ] って作ればいいじゃんメソッド
649 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:42:48 ] >>634 this に関係なくそんなレース問題みたいなのは発生しうる、と言ってるのが 理解できんのかこのバカ。ゆとり読解力だと社会生活も支障あるだろ、マジ同情。
650 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:48:02 ] >>646 LiveConnect で JavaScript 呼び出してページリロードでもさせれば?
651 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:07:05 ] LiveConnect使うとIEじゃ動かないだろ。 ページリロードくらいjavascriptの範囲で出来ると思うが。
652 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:13:19 ] IE だと何が動かないと?
653 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:14:05 ] IEってLiveConnect使えなかったっけか?
654 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:21:40 ] >>645 AppletContext#showDoculent(URL, String) で、 ターゲットに "_self" 使えば再読み込みできんじゃね?
655 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:25:06 ] ≫ doculent
656 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:17:51 ] IEはActiveXScripting。NNはLiveConnect。
657 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:48:06 ] ActiveXScripting て単なるスクリプティング環境で接続仕様じゃないんだけど。 Sun の Java Plug-in ドキュメントでも使い分けてないし、ベースが Netscape の LiveConnectにあわせたインターフェースなんだから LiveConnect で良いじゃん。
658 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:55:51 ] AWT で言うところの Canvas って Swing で JPanel 使えば良いんですかね? コンポーネント配置するんじゃなくて自分で描画する奴。
659 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:28:02 ] JPanelでもいいがJComponentでもいい paintじゃなくてpaintComponentをオーバーライドすること
660 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:39:07 ] >>657 一人でそう思っとけばいいだろ、いちいち騒ぐことでもない
661 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:40:09 ] (´,_ゝ`)プッ
662 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:54:28 ] 言語仕様3版から導入されたコンストラクタ終了時のfinalフィールドの可視性の保証は、 this が漏洩されると保証されなくなるって聞いたけど、 コンストラクタがオーバライド可能なメソッドを呼び出すことについては、どう扱われているん? おしえてエロイ人
663 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:01:06 ] 普通に未初期化の null とか 0 とかの値で参照してしまうだけじゃね。
664 名前:デフォルトの名無しさん [2008/02/02(土) 02:12:51 ] JNDIについてわかりやすいサイトがあればおしえてくれませんか。 EJBの勉強で別サーバで動くEJBを動かしたいんですが、JNDIの設定 がわからなくてエラーがでます。
665 名前:デフォルトの名無しさん [2008/02/02(土) 02:47:54 ] >>664 もうちょっとエラーの内容を細かく書いてみるべし。
666 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 04:10:02 ] 昔の Java からどう変わってきたかざっくり書いてある HP ないですか?
667 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 04:24:20 ] >>666 こんなん? まぁキーワードから先は自分で調べれ lab.moyo.biz/references/java/version.xsp lab.moyo.biz/references/java/history.xsp
668 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:21:11 ] 質問なんですけど・・・アメーバビジョンとかの GOOD やら BAD を選ぶフォームあるじゃないですか? あれで押しても動画の視聴が遮られないで反映するのって何で実装してるのですか?
669 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:23:59 ] web板池
670 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:16:17 ] そうします。失礼スマスタm (_ _) m
671 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:52:45 ] iアプリスレから誘導されました iアプリでTextBoxに入力する時には一度決定キーで文字入力状態にしますが、 KeyPressedでキーの数字を順次読み込ませてTextBoxに入力させたいのですが、 方法がいまいち分かりません。 public void KeyPressed(int key) { text.setText(text.getText() + (key)); } で良いのでしょうか?ご教示願います。
672 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:28:49 ] 固有のAPIはここに誘導してもどうしようもないと思うんだが。
673 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:40:39 ] >>671 int key が数字ボタンに表示されてる数字(1とか2とか)ならそれで大丈夫。 iアプリのAPIについては良くわからないので別の問題なら私は無理。 というか、〇〇で大丈夫ですか? と聞くぐらいなら、試せばいいじゃないか、と。 「△△になるはずだったんだけど、□□と表示されてしまう」というなら、 解決法なり誘導なり、色々手伝えることがあるとは思うのだが…
674 名前:671 mailto:sage [2008/02/02(土) 16:16:25 ] >>673 質問の仕方が悪く、大変申し訳ありませんでした。 上記のソースを使って編集不可に設定したTextBoxに 入力できるようにしているつもりなのですが、 TextBoxには数字が入力されません。 どうすればよいのでしょうか。
675 名前:デフォルトの名無しさん [2008/02/02(土) 16:34:08 ] Javaアプリケーションを実行形式で配布する方法ってありますか? どこかのスレで話し合われていたら、誘導お願いします。 なんか、過去ログにはあったんですが、 現行スレなさそうで・・・。
676 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:50:47 ] >>675 ダブルクリッカブルでいいのかそれともネイティブな実行可能ファイルを吐きたいのかによる。 ダブルクリッカブルでいいならjar生成するときにマニフェストでMain-Class指定。 ネイティブならjava, exeなどで検索。
677 名前:デフォルトの名無しさん [2008/02/02(土) 17:22:24 ] 最近、ここ一年くらいJava使ってないんだが、 最近のJavaの近況ってどうよ? SpringとかAjax周りとかO/Rマッピングとか、StrutsとかRoRのJava版とか 昔聞いた記憶があるんだが そのほか新しいトピックがあるとしたら今は何よ?
678 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:29:28 ] WicketいいよWicket
679 名前:デフォルトの名無しさん [2008/02/02(土) 17:31:28 ] 劇団四季のあの芝居か?
680 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:28:36 ] ちょいとパッケージについて質問したいのだがコンパイラ時に classファイルが1つしか出てこないのだが(5つのファイルで構成されている) これは何故なのだろうか・・・。ちなみにコンパイルは通った。 packageの名前が違うというジョークは無い。 ちなみに参考書についていたパッケージのプログラム(4つのファイルで構成) は普通に通って4つ分のclassファイルが出来たのだが。
681 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:41:53 ] >>680 javac だと、コンパイルしたクラスが直接使用してない 無関係なクラスは自動的にはコンパイルされないけど、 そーゆー話じゃなくて?
682 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:59:55 ] >>681 あ、もしかしたらそれかもしれない。回答thx。
683 名前:デフォルトの名無しさん [2008/02/02(土) 21:08:36 ] 例えば計算アルゴリズムを作ってランチャー形式で計算させるようなアプリケーションを作る場合 追加のアルゴリズムをモジュールのように取り込んで別々の計算をさせるようにするには全体をどんな構造にすれば いいのか 何かコツみたいなものあります?
684 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:12:27 ] ttp://www.raw-paradise.com/
685 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:41:23 ] どうでもいいことで恐縮なんですが、java.util.CalendarのMonthって、なぜ0からなんでしょう? 年はおろか、日すら1から始まるのに、月だけ0-11にしたのかわかりません。 一通り調べたのですが、なかなか出てこなかったので、知っている方いらっしゃれば教えてください。
686 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:48:12 ] >>685 月は数字じゃなくて、名前がついてるからじゃね? 曜日も0からだし。
687 名前:685 mailto:sage [2008/02/02(土) 23:49:24 ] と、書いた矢先にそのものズバリの答えを見つけました。 スレ汚し失礼しました。 # 以下チラ裏 # 後続のために念のため見つけたURL書いときます # JavaFAQ: Date / Calendar # ttp://javafaq.jp/S100.html
688 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:50:29 ] >>686 すいません、回答ありがとうございます。 その通りでした。
689 名前:デフォルトの名無しさん [2008/02/03(日) 01:40:07 ] >>679 それはウィキッド
690 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:20:11 ] わかりにくいボケにわざわざ突っ込んであげる>>689 に全俺が感動。
691 名前:デフォルトの名無しさん [2008/02/03(日) 16:03:37 ] 664です。質問内容がが不明瞭でした。 EJBを使用する際に、 ObjHome objHome = (ObjHome)context.lookup("java:comp/env/ejb/test.ObjHome"); でhomeを取得してくるのですが、 これってリモートでEJBをCALLするときにEJBが存在するサーバIPや ポートの指定などしていないのですが、何故callできるんでしょうか。
692 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:30:23 ] >>691 ・InitialContext.lookup()の引数に環境情報を渡す ・jndi.propertiesにホスト情報を記述する ・APサーバのJNDIサービスにエイリアスを設定する 上記のどれか。 何もなければ同一ホストから検索される。
693 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:26:01 ] 質問させて下さい。 Object obj = new Object() { ... } こういう文法が理解できません。 中括弧の中では、何をしているのでしょうか。 コンストラクタを定義するのと同時に、 インスタンスを作成している感じでしょうか? メソッドに与えられるのは引数だけだと思っていたので、 それ以外の何かを同時にしているというのがよくわかりません。 この書き方の概念を教えてください。 出来れば言語仕様上で、こういう記法がどこに書いてあるかの ポインタも合わせて教えていただけると嬉しいです。 (さらに言えば、日本語で) こういう書き方をなんと呼ぶのかも知らないので、検索もできず……。 この書き方は、例えば ThreadLocal クラスの API の 1.4 以降で、使い方の説明に出てきます。 sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/ThreadLocal.html
694 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:28:20 ] >>693 匿名クラスでググれ
695 名前:693 mailto:sage [2008/02/03(日) 17:33:48 ] >>694 ありがとうございます! ぐぐって無事に正体がわかりました!
696 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:34:30 ] >>676 ありがとうございます。 ダブルクリックで起動できればいいかなと思っていますので、 ちょっと試してみます。 .batファイルを作ったり、 ショートカットで作ったりしていましたが、 それって、環境変わったらだめくさいきがしまして・・・。
697 名前:868 mailto:sage [2008/02/03(日) 19:50:23 ] >>869 回答ありがとうございます。 ProjectはBuild automatically clean にチェックが入っています。 しかし新しく作成したディレクトリがTomcatで表示されません。 webapp直下にjsp-xxxというフォルダを作ったのですが。
698 名前:868 mailto:sage [2008/02/03(日) 20:00:04 ] 誤爆しましたorz
699 名前:697 mailto:sage [2008/02/03(日) 20:16:20 ] 697の質問ってどこですればいいのでしょうか?orz 質問先でスレ違いといわれてしまいました。
700 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:32:45 ] それだけで状況が解るエスパーを探しているのかい?
701 名前:697 mailto:sage [2008/02/03(日) 20:52:24 ] >>700 回答ありがとうございます。 あと何を書いたらよいでしょうか?
702 名前:697 mailto:sage [2008/02/03(日) 21:38:08 ] くだスレで聞いてみます。
703 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:56:30 ] エスパー頼りならどこで聞いても同じだろ
704 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:25:39 ] >>703 あとは何を書いたらいいのかわかりません。 何を書いたらよろしいでしょうか?
705 名前:デフォルトの名無しさん [2008/02/03(日) 23:52:19 ] java.lang.Process#waitFor()で永久ブロックになってしまうことがあるので タイムアウトを設定して回避したいのですが、 タイムアウト付のwaitFor代替の方法ってあるのでしょうか? いちいちTimer設定して破棄するしかないのだろうか・・・
706 名前:デフォルトの名無しさん [2008/02/04(月) 00:22:23 ] >>687 Java FAQも古いな。 Java5以降になってから解決した問題が未だに載っている。 Java5以降の開発では有用性が弱冠下がっている。 Java6以降の対応版Java FAQを作るべき時期に来ているのだろうか? それとも、すでにそれに相当するサイトによって置き換えられてしまったか?
707 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:22:26 ] final Process proc = Runtime.getRuntime().exec("/bin/shine"); Thread t = new Thread(){ public void run(){ try{ proc.waitFor(); } catch(InterruptedException ex){/* */}} }; t.start(); t.join(5 * 1000); if(t.isAlive()){ proc.destroy();}
708 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:24:31 ] >>690 www.shiki.gr.jp/applause/wicked/ こいつよ >>678 はWicket 劇団四季でやってるのはWicked スペルが一つ違い。 これは面白いミュージカルなんだろーか >>678 のおかげで見たくなってきた
709 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:27:08 ] >>702 誤爆してるっていうから、レス番が>>898 と未来へ飛んでるわけな? 今のところ、>>898 のレスが無いから、 元の質問も今の君の質問からも、君が何をしたいのか わからないんだ。情報を出してもらわないことには、質問には 答えられない。エスパーする以外では
710 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:29:17 ] >>707 ありがとうございます。 結局waitForのタイムアウト指定版っていうのはないみたいですね…
711 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:36:30 ] >>706 こういうまとめ系って Wiki とかじゃないと管理人がヘタったら終わりなんだよね。 他人が勝手にコピペして引き継ぐわけに行かないし。Wiki 立てるのって簡単なのかな? サーバリソース余ってるからやっても良いんだけど。
712 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:52:55 ] すみません。 >>709 アドバイスありがとうございます。そのとおりですね。 apache-tomcatとEclipseを使っています。 EclipseにSeaser2プラグインを入れました。 Churaプロジェクトを新規作成、 デフォルトのindex.jspがtomcatで表示されることを確認(localhost) で、webapp直下にディレクトリを作成してファイルを置きました。 でコンテクスト定義の更新をかけたのですが、 作成したディレクトリが見えません。 ProjectはBuild automatically clean にチェックが入っています。 おそらくweb.xmlを直さないといけないのでしょうが どこを直したらいいか見当がつきません。 ネットも探してみましたが分かりませんでした。 よろしくお願いいたします。
713 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:57:20 ] Eclipseの外でディレクトリ作って、Eclipse側で更新かけてないというオチは俺は良くやる。
714 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 01:03:09 ] このスレのWikiの更新具合も微妙
715 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 01:20:40 ] >>713 回答ありがとうございます。 Eclipseの中でディレクトリを作っています。
716 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 03:36:48 ] 質問ですノ リファレンスの本ってあったほうがいいでしょうか? ワザあり!逆引き速引きリファレンスJavaってのがいいって聞いたのですが どうなんでしょうか?
717 名前:デフォルトの名無しさん [2008/02/04(月) 10:11:33 ] それくらい自分で考えろ。人に聞くことじゃない
718 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 14:30:47 ] >>711 Wikihouseに立てるのは簡単だよ。 これ使う手もあり ja.wikibooks.org/wiki/
719 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 17:32:20 ] >>716 まず本屋でパラパラその本を捲ってみろ。
720 名前:デフォルトの名無しさん [2008/02/04(月) 19:44:11 ] パラパラの本か 見た事無いなあ
721 名前:デフォルトの名無しさん [2008/02/04(月) 19:50:11 ] >>692 サンクスです。 リモート呼び出しでも何の設定もしていなければ同一サーバ上のEJBを探しにいく ということですね。 同一サーバ上で動かしていますが、 Context initial = new InitialContext(); Object objref = initial.lookup("NewSessionRemote"); で、lookupのところで javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial が出ます。何か設定しろということらしいのですが・・・
722 名前:デフォルトの名無しさん [2008/02/04(月) 21:05:25 ] 初めまして。Javaを最近になって勉強し始めた者です。 サンプルプログラムを探していて、このようなサイトにたどり着きました。 www.catch.jp/program/java/ ページ上部の「021: 10個の点が3-Dで移動する」のソースコードをコンパイルすると classファイルが3つ出現しました。 使い方がわからなかったので、検索してみると「jar」コマンドで複数のclassファイルを結合できると知り、 試してみたのですがなかなかうまくいかないので、皆様のお力をお借りしたいです。 jarファイル作成についてはこのサイトを参考にさせていただきました。 www.tohoho-web.com/java/other.htm このような場合にブラウザでアプレットとして動かすにはどうすればよいのでしょうか。 よろしくお願い致します。
723 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:05:25 ] 失礼します。 for(int i=0;i<numChips;i++){ mapChipImages[i]=createImage(chipSize,chipSize); int x=i%numChipsInRow; int y=i/numChipsInRow; Graphics g=mapChipImages[i].getGraphics(); g.drawImage(mapChipImage,0,0,chipSize,chipSize,x*chipSize,y*chipSize,x*chipSize+chipSize,y*chipSize+chipSize,null); } numChips=64,chipSize=32,numChipsInRow=8です。 と、このようなものがあるのですがこちらの5行目(Graphics g=...)にて Exception in thread "main" java.lang.NullPointerException というエラーが発生してしまい困っております。 ttp://javagame.main.jp/index.php?FrontPage#rd9af24b こちらのマップエディタの描画処理をrepaint();ではなく基礎-アクティブレンダリングで紹介されているものに 置き換えようとしたのですが上手く行かず困っています。 よろしくお願いします。
724 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:18:51 ] マップエディタをアクティブレンダリングにして何の意味があるんだ?
725 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:25:43 ] >>724 ごめんなさい。しっかりと書くべきでした。 ttp://javagame.main.jp/index.php?FrontPage#rd9af24b で紹介されているマリオ風アクションゲームにてマップエディタを使い記録したものを 読み込ませるために使いたいのです。なので本来はマップエディタのマップを読み込み 描画するというところだけを抜き出せばよいハズなのですがどうも上手く動かなかったので 質問した次第です。ご迷惑をお掛け申し訳ありません。
726 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:27:21 ] ついでに答えるか。 javaはパッシブレンダリングだからアクティブレンダリングするときは自分でバッファ管理しないとNPE出るけどそれじゃない? ttp://homepage1.nifty.com/algafield/JavaGUIFaq19j.html#three4
727 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:30:29 ] >>725 表示させるだけならアクティブレンダリングの意味ない
728 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:43:42 ] >>726 まだ、私は日が浅いため理解するのに時間はかかりそうですが 頑張って理解してみようと思います。 >>727 そうなのですか。しかし、そうだとしても一枚のグラフィックを複数に分けて 使用するというのは今後も使いそうなのでできれば習得しておきたいと考えたのです。 実際、使う画像を一枚一枚分けて保存していては管理も大変だと思ったので。
729 名前:デフォルトの名無しさん [2008/02/05(火) 00:31:24 ] 解放したら自動的にnullになりますか? これまでずっとCだったので、JAVAはよく分かりません。 www.asahi-net.or.jp/~ns9k-mr/csproject/jdbc_source/mvc.html の }finally{ try{ if(rs != null) rs.close(); の部分です。 rsにnullを代入している記述は見つかりませんでした。 JAVAでは一般的に、*.close()すると、*はnullになるように クラスが設計されているのでしょうか?
730 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:43:22 ] >>729 > JAVAでは一般的に、*.close()すると、*はnullになるように ならないよ。
731 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:47:27 ] >>729 * がnullになる、という状態が上手く理解できていないので、Javaの方だけ説明します。 closeの内部で何をしているかについては実装しだいですが、 API の説明を見る限りでは、「JDBCリソース」を直ちに解放するようです。 try文の外、宣言部分で null 代入してます。 nullチェックをしているのは、値が入る前に例外が発生した時を想定しています。 ヒープからの解放は、GCにお任せなので、制御できません。
732 名前:デフォルトの名無しさん [2008/02/05(火) 01:13:45 ] >>730 >>731 それならfinallyで if(rs != null) rs.close(); こんなことが書いてあるということは、処理がうまくいった場合は rs.close();が実行されて、その後にtryを抜けるところで finallyによってもう一度rs.close();が実行されようとする悪いソースなのでしょうか?
733 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:26:31 ] close() は 2 回以上呼んでも問題ないという Connection の仕様だから問題ない。 ただそのサイトのソースの書き方 }finally{ try{ if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(con != null) con.close(); }catch(SQLException se){ se.printStackTrace(); } } とか文字列連結で SQL パラメータ追加したりとかウンコすぎ。
734 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:29:19 ] >>733 >}finally{ >try{ >if(rs != null) rs.close(); >if(stmt != null) stmt.close(); >if(con != null) con.close(); >}catch(SQLException se){ >se.printStackTrace(); >} >} なにがいけないの? 一個目で例外が出ると全部コケる所?
735 名前:デフォルトの名無しさん [2008/02/05(火) 02:04:48 ] >>733 Cでよくあるclose()のように、そのclose()も2回呼んでもエラーにならないと 想像してはいましたが、Cやってる人なら普通はclose()したらその直後にNULL入れるから そういうソース見るとウンコかと。 でもJAVA知らないのでclose()の内部でnullする処理があるのか気になりました。
736 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:15:09 ] > Cやってる人なら普通はclose()したらその直後にNULL入れる そんなことしたことない。
737 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:22:06 ] 文字列を返すというクラスbを作りました。 bは引数が1つあって、引数に与えられた文字の手前に"f"を挿入した文字を返します。 結果は"fh"となることを期待しました。 期待通りになるように修正していただけませんか? public class a { public static void main (String args[]) { String g = b("h"); System.out.println("Hello World!!"); } } public class b { b(String c){ d(c); } private String d(String c) { String e = new String("f" + c); return e; } }
738 名前:デフォルトの名無しさん [2008/02/05(火) 02:25:07 ] >>735 それぞれの変数に値入れる前に例外発生してfinallyブロックに行く可能性があるからそういうコードになる。
739 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:25:30 ] Javaの人でも close 直後に null を入れて大丈夫です。 但し、最終的な解放は GC 任せですので、あしからず。 Javaの場合は、裏でOSネイティブなリソースを使ってる場合があって、 明示的に解放してあげないと、何時までも占有する可能性がある。 特に、close はそういうことに関係してるかと。
740 名前:デフォルトの名無しさん [2008/02/05(火) 02:27:28 ] >>737 まずコンパイル通せよ。 まぁそのままだと実行しても"Hello World!"としか表示されないだろうが。
741 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:30:15 ] ローカル変数なら、nullを入れてもあまり意味がない。 フィールドや、外部に晒した変数なら、nullを入れるのもいいかもしれない。
742 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:32:36 ] >>734 その通り。トランザクションの不整合などで rs.close() が例外になるとステートメントや コネクションがクローズされない。 >>735 大きな try-finally 節の中で何度もオープン/クローズを繰り返すような時はクローズ後に null を代入して、finally 節の close() は例外発生時の大域的な保障と位置づけることも あるが、そのソースのように最後に 1 度だけやれば良いようなときは最後の finally に 任せてわざわざ try 節内ではクローズしない。一回目の close() で失敗したときの予備 としてもう一度試行する意図かもしれないが、DB の問題はもう一度やってうまく行くという ものでもないし。つーかそのページの趣旨は JDBC コーディングどうあるべきかじゃない んだからそんなお作法的なところは適当に読め。
743 名前:デフォルトの名無しさん [2008/02/05(火) 02:36:15 ] >>738 それはエラーが発生した場合ですよね。 正常な場合にclose()を2回実行しようとするのはウンコだと思います。 >>739 JAVAは解放をGCがやってくれるらしいですが、Cと違って やってくれるのはnewに対する解放のみなんでしょうか?
744 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:39:57 ] >>743 スタックには参照しか置けねーよ アホ
745 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:42:28 ] >>740 コンパイルしましたがまだ分かりません。 ↓a.java public class a { public static void main (String args[]) { String g = new String(""); // g = b("h"); コメントアウトしたらコンパイルできました。 System.out.println(g); } } ↓b.java public class b { b(String c){ d(c); } private String d(String c) { String e = new String("f" + c); return e; } }
746 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:43:43 ] そのソース、シャットダウンシーケンス入ると最悪だなw
747 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:45:03 ] >>734
748 名前:デフォルトの名無しさん [2008/02/05(火) 02:45:47 ] >>744 文章が簡素で短い。頭に思い浮かべている内容に自信がないみたいだね。 とりあえず744はアホのままでいいから744がスタックについて理解を 深めるのを阻止するためにスタックの話題はスルー。
749 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:50:58 ] >>748 ハァ? ヒント: C はクラスのインスタンスをスタックに置ける
750 名前:デフォルトの名無しさん [2008/02/05(火) 02:59:14 ] >>743 java からJNIなどを使ってネイティブなコードから確保したメモリはGCの対象にはならない。 ネイティブじゃなくても、オブジェクト作成時にJavaやアプリケーションサーバなどで内部的に管理されるようなリソースもGCの対象にならない (トランザクションとか。アプリ側から参照を外してもJavaVMやAPServerが参照を持っちゃってるからGCの対象にならない)。 こういうのは明示的にcloseを実行することによって管理側から参照が外されてようやくGCの対象になる。 それ以外はアプリ側から参照を無くすだけでGCの対象になる。
751 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:07:05 ] close() が必要なのは大抵ファイナライザで呼び出すよう実装されてるけどな (しなくて良いという意味ではなくて)。
752 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:16:11 ] ↓a.java public class a { public static void main (String args[]) { if(true){//できる。 b b_ = new b("h"); String g = b_.d("h"); }else{//本当はこっっちでやりたい。 String g = new b("h"); } System.out.println(g); } } ↓b.java public class b { b(String c){ d(c); } public String d(String c) { String e = new String("f" + c); return e; } }
753 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:19:34 ] public class a{ public static void main(String[] args){ System.out.println(b.d("h"); } } public class b{ public static String d(String c){ return "f" + c; } }
754 名前:デフォルトの名無しさん [2008/02/05(火) 03:26:40 ] >>752 > //本当はこっっちでやりたい。 > String g = new b("h"); これはbをどう変更してもできない。仕様的に。
755 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:27:55 ] >>752 String型を返すコンストラクタはString以外には存在しない。 文字列の結合が目的ではないと思うが、 あまりにも簡単なことをこなす為に、拘る内容があまりにも初歩的。 ・クラスの継承、型と代入について ・コンストラクタの仕組み、メソッドとの違いについて
756 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:32:32 ] >>754 コンストラクタは自分のクラス型しか返せないということですね。 >>753 できました。ありがとうございます。メソッドをstaticにしないとうまくいきませんね。 public String d(String c){ static String s = new String("f" + c); return s; } これだとコンパイルエラーでした。
757 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:43:05 ] コンストラクタは何も返さない newオペレータが指定されたクラスのインスタンスを構築してその参照を返す その構築の際にコンストラクタが使用される
758 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:54:53 ] >>757 Javaではnewは演算子扱いではなくてクラスインスタンス生成式や配列生成式を示すだけのキーワード扱いじゃなかったかな。
759 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 04:01:42 ] あ、いや、すまん。演算子扱いだったのかもしれない。気にしたことないのであやふやだ。 JLS見てみる。
760 名前:デフォルトの名無しさん [2008/02/05(火) 04:53:50 ] Stringの質問です。前者は後者の記述の略として解釈され、 前者と後者の振る舞いは等しいものでしょうか? String s = "1"; String s = new String("1");
761 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 04:55:06 ] ちがいます
762 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:12:42 ] カノニカライゼーション www.nextindex.net/java/class/String.html
763 名前:デフォルトの名無しさん [2008/02/05(火) 05:26:33 ] >>762 ありがとうございます。 普通は String s = new String("1"); s = "6"; だと思いますが、 String s = new String("1"); s = new String("6"); こうしてもよいのでしょうか?
764 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:28:52 ] すみません jarファイルをダブルクリックするとラプラスが起動して解凍してしまいます 拡張子を何に関連づけすれば解決するでしょうか
765 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:53:29 ] javaw
766 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:12:02 ] 通常は new String("")は使用しない。
767 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:04:47 ] new String(".....") は使わないように。 Stringは不変オブジェクトだから、無駄なインスタンスができるだけ。 "...." だけでよい。
768 名前:デフォルトの名無しさん [2008/02/05(火) 12:08:00 ] SimpleDateFormat のスレッドセーフ化されたものとして FastDateFormat(format() のみ) がありますが、 parse() に関しては jakarta の DateUtils.parseDate() を 使用すればスレッドセーフになるんでしょうか?
769 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:39:48 ] Stringは参照先で弄っても元が破壊されないけど、StringBufferは壊れるからちょっとややこしい。
770 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:43:51 ] >768 メソッド内でSimpleDateFormatのインスタンスを生成してparseすれば済む話だろ
771 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:54:08 ] >>769 それは設計の問題で StringBuffer の問題ではないと思う。 一応、StringBuffer は同期化されてるので、「壊れる」ことはない。 意図しない結果をもたらす事はあるとしても。
772 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:58:37 ] >>770 SimpleDateFormatって複数インスタンス作っても 内部で同一オブジェクトを使いまわすのでスレッドセーフじゃないって話だったような。
773 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:59:09 ] new String()は文字コード変換ぐらいしか利用価値が無いと思え
774 名前:デフォルトの名無しさん [2008/02/05(火) 13:02:10 ] >> 770 www.geocities.co.jp/Playtown/1245/java/unsafe_simple_date_format.html この辺みてるんですけど、それで解決する問題なのかどうかが イマイチよくわからないんですよ、、、
775 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:07:49 ] SimpleDateFormatってスレッドセーフじゃないの? Servletで使いまくってるけどやばい?
776 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:31:40 ] >>775 参照を他のスレッドに晒さなければ大丈夫。 staticで持ってたりしたら危ない。
777 名前:デフォルトの名無しさん [2008/02/05(火) 13:40:50 ] >> 776 つまり、 >> 774 にある >SunのBug Paradeを、"+SimpleDateFormat +thread"で検索してもらうと >すぐわかるように、SimpleDateFormatクラスは、 >複数のインスタンスで同じオブジェクトを共有して持っており、 >スレッドセーフではありません。 という記述が間違いなんでしょうか? 複数インスタンスと言ってる時点で static では無いと思うんですが。
778 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:45:10 ] SimpleDateFormatが内部でstaticなデータを保持してんだろ? それくらいわかれカス
779 名前:775 mailto:sage [2008/02/05(火) 13:52:22 ] ということはやばいということですね。 どうしよう
780 名前:775 mailto:sage [2008/02/05(火) 13:55:30 ] どなたかスレッドセーフな SimpleDateFormat を作ってくれませんか?
781 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:57:01 ] synchronized使えカス
782 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:59:43 ] synchronized (SimpleDateFormat.class) { // SimpleDateFormatを使うコード } こうすれば中でstaticなデータ持ってようと、 同時に読み書きされることはない・・・はず。 マルチスレッドよぅわからん。
783 名前:775 mailto:sage [2008/02/05(火) 14:09:24 ] FastDateFormatに置き換えようかと思いますが FastDateFormat hms = FastDateFormat.getInstance("HH:mm:ss"); FastDateFormat ymd = FastDateFormat.getInstance("yyyy/MM/dd"); hms.format(.... ymd.format(.... こういうコードだとどっちみちダメなのでしょうか
784 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:14:16 ] なにがどうダメなんだ?
785 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:16:05 ] つうかローカル変数で使うのに何か具体的な不具合でも出てるわけ? マルチスレッドで使わなきゃ良いだけじゃん。
786 名前:775 mailto:sage [2008/02/05(火) 14:16:35 ] getInstanceでもnewのようにまったく別のインスタンスを作って くれるのでしょうか?
787 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:18:03 ] とりあえず、マルチスレッドの勉強を一からやり直せ。 ttp://www.amazon.co.jp/dp/4797337206
788 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:21:42 ] >>785 ローカル変数かどうかは問題じゃない。 インスタンスへのアクセスが閉じているかどうかだ。 >>783 おまえはスレッドセーフの意味が分かってなさそうだから。 まずはシングルスレッドで頑張れ。
789 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:23:38 ] つうかちょっとまて。ソース見たが SimpleDateFormat に関してはスレッドセーフでないことと 内部で static なオブジェクト使ってることとは関係ない。複数インスタンスで共有してるのは ロケールごとの静的なリソースだ。だから >>777 で引用部分の表現は明らかにおかしい。
790 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:25:11 ] >>788 ローカル変数ってのは表現間違えたがマルチスレッドで意味ぐらい汲めよ。
791 名前:775 mailto:sage [2008/02/05(火) 14:26:55 ] ではサーブレットでSimpleDateFormatをローカル変数で 都度newしているなら問題ないってことですね?
792 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:29:51 ] >>791 そのローカル変数が他スレッドに漏れてなければ、ね
793 名前:775 mailto:sage [2008/02/05(火) 14:31:44 ] >>792 それは大丈夫です。漏れていません。
794 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:32:53 ] >>791 そういうこと。スレッドごとに別インスタンスで使っていれば問題ない。 でなければ JSTL の日付フォーマットも使えない。 「処理中で不整合」 の内部状態を持つのは DocumentBuilder、Transformer、XPath、Matcher なんかも同じ。
795 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:44:42 ] >>794 そこで ThreadLocal の出番だな
796 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:57:04 ] また来ますた。お世話になっておりますw 数字を入力してください: 120←入力 と入力された数字を "1" "2" "0" と分けて取り出す方法を教えてください。 宜しくお願いしますm(_ _)m
797 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:05:38 ] toCharArrayでもcharAtでも好きなほうをどうぞ。
798 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:08:17 ] メソッド呼び出しについて勉強しているのですが 行き詰ってしまってしましました。 メソッド名:getProfile 引数: String name , int age 処理:「○○さんは△歳です」という文字列を返す 戻り値:String このソースの書き方を教えてください。 よろしくお願い致します。
799 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:08:55 ] 宿題スレに池
800 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:10:24 ] return String.format("%sさんは%d歳です", name, age);
801 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:10:29 ] >>797 ありがとうございますw もう一つすみません。 入力された数字intで取り出したいのですが、charAtでもintを取り出せるのでしょうか?
802 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:12:18 ] 変換くらい自分でやれ。 Characterクラスのjavadocをみるよろし。
803 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:19:10 ] そういえば String#format() のフォーマットに対する、解析済みで再利用可能な クラスがないようなのが気になってたんだけど、これって毎度 String.format() しなきゃいけないのかな?
804 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:27:31 ] >>802 あ、そうか変換すれば良いんですね。 ありがとうございます。
805 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:27:56 ] >>803 ちょっと何言ってるかわからない。 解析済みで再利用可能って・・・戻り値のStringを保持しとけばいいじゃん、 とかそういうことじゃなくて?
806 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:32:03 ] >>803 String.format の内部は、return new Formatter().format(String, Object...).toString() Formatter 内部でキャッシュできそうな部分もあるが、private クラスの配列になってるし。 まぁ強いてキャッシュにするなら、Formatter のインスタンス辺りかな
807 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:34:25 ] >>803 java.util.regex.Pattern みたいなものを期待してるなら、ないね。 java.util.Formatter は出力先を持ってるだけで、 書式文字列を固定で持ってるわけじゃないし。
808 名前:806 mailto:sage [2008/02/05(火) 15:41:29 ] 自己レス。自分で書いておいてなんだが、 Formatterの生成時には出力先を用意するだけなので、キャッシュの意味なし。 しかも、toString時に出力先をクリアするわけでもないので、再利用自体も不可に近い。
809 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:51:38 ] やっぱりそうか、俺の勘違いとかでないならまぁいいや。 Logging API の Formatter とか膨大な呼び出しされそうなところで使われそうなものだから なんかもったいないなぁと思っただけで。
810 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:54:55 ] Jakarta Lucene って Perl が必要っぽいけど、これって Pure Java じゃないの? それとも日本語用分かち書きの sen とか言うのが使ってるの?
811 名前:デフォルトの名無しさん [2008/02/05(火) 15:57:19 ] 3日前から初めてプログラミング、JAVAの勉強を始めた者です。 今読んでいる「やさしいJava 第3版」って本の練習問題なのですが 16進数を使って、6、20、13を画面に出力しろという問題があります。 答えを見ると public static void main (String args[]) { System.out.println(0x6); System.out.println(0x14); ← System.out.println(0xD); } と書いてありました。 ←をつけた行の、(0x14)を(0xE)として間違ったのですが、 なぜ16進数でA〜Fで表される数の14がEでは 間違い・エラーになってしまうのかわからないです。 試しにFなどを入れて出力などしましたが、Eだけエラーになってしまいます。 わかる方教えてください。。
812 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:59:35 ] セミコロンがないとか、そういうオチ? とりあえず、どんなエラーが出るんだ?
813 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:01:30 ] >>811 0x14は0xが頭についてるので、10進数じゃなくて16進数として解釈される。 16進数の0x14を10進数になおすと20になる。 10進数の14が必要なら0xを頭につけちゃだめ。
814 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:05:20 ] >>811 0x14 を 0xE と間違えた後、14 にして、さらに E としたところでエラーが出たに1票。
815 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:10:40 ] 14は16進数でE、20は16進数で14・・・ なるほど、814が正解かもしれない。 なんか16進数自体わかってなさそうだ。
816 名前:811 mailto:sage [2008/02/05(火) 16:12:27 ] ありがとうございます。 (0xE)ではじめに書いたら Exception in thread "main" java lang.NoClassDefFoundError といった表示が出てしまいました >>811 に書いたようなテキストの答えを見て 0x14にしたらちゃんと表示されます。 まだ頭がごっちゃでわかってません。。すみません。
817 名前:811 mailto:sage [2008/02/05(火) 16:14:24 ] あ、わかりましたorz ありがとうございますorz
818 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:18:20 ] で、理由はなんだったんだ? エラーを見るに、何か他のクラスを実行しようとしたみたいだけど。
819 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:26:26 ] NoClassDefFoundErrorなら typoかなんかでしょ。たぶん。
820 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:40:13 ] また、やさしいjavaか
821 名前:デフォルトの名無しさん [2008/02/05(火) 19:04:58 ] 最初に読む本でずいぶん変ってくるよね 実践的な本で勉強した方が後々いいと思うんだけど
822 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:32:02 ] 仕事で使うのか趣味なのかでも違ってくるしね 趣味なら 自分だけのメーラー作成を通して学ぶ EclipseによるJava とかを打ち込みながら実行してWebで分からない所を調べる とかだと面白く学べる。 仕事だとフレームワークが絡んでくるから個々のフレームワーク・言語の入門本がいいかと思う。
823 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:41:03 ] 1.4.2のjavaにJDK6のAPIを追加してみた。 動かないんだけどそれだけじゃ意味ない?
824 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:58:34 ] 初級本ならHeadFirstがおすすめ。 超初心者ならわかりずらいかもしれんがまともなこと書いてある。 SJC-Pとかうけるのにもこの本読んどくとかなり試験勉強の助けになる。
825 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:12:06 ] でも本の厚さと値段で尻込みしちゃうのが初心者
826 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:30:42 ] あの厚さは普通だと思うが、分厚いのはオライリーのSwing本あたりだろ。
827 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:37:11 ] 分厚いのは割れてかなわん
828 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:46:30 ] また宣伝厨かよ
829 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:48:40 ] >>823 何がしたいんだ? target が 1.6 のクラスファイルは、どう頑張っても1.4のJVMじゃ動かんよ。
830 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:26:01 ] up2.viploader.net/upphp/src/vlphp134279.jpg
831 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:28:57 ] かわいいこ多いな
832 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:32:12 ] >>829 じゃあ無理みたいだorz 無視でよろしこ
833 名前:デフォルトの名無しさん [2008/02/06(水) 01:52:01 ] デスクトップにあるフォルダaをカレンとにしてMS-DOSプロンプトを起動しました。 aの中に*.classがあります。 jarを作りたいです。 >jar cv エラーでした。 jar.exeの使い方を教えてください。 普通のアーカイバでzip圧縮して拡張子変更したものではだめですか?
834 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:04:32 ] >>833 JDKのドキュメントに「ツールとユーティリティ」の項目があり、 そこにjarのマニュアルもある。 というか、jar cvでヘルプが出て使用例も表示されるだろ?
835 名前:デフォルトの名無しさん [2008/02/06(水) 02:16:08 ] >>834 jar でヘルプが出るけどヘルプが糞だ。 例文が2つほど出るけど例文は少なとも30ぐらいは出してくれないと理解不能。 たぶん834もjar使えないんじゃねーの?ヘルプが糞だから。
836 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:20:50 ] くそくそうるさいなw ドキュメントの場所を教えてるんだから分からなければそっちを読め ってか普通はオプションの意味さえとれれば使用例は要らない
837 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:38:15 ] >>836 無理しないでえらい人の回答を待てよ。 少なくとも漏れよりえらい人以外にはレスしてほしくない。 あえて書くなら漏れも知らないのでえらい人教えてください、だろ。
838 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:39:06 ] アニョハセヨ
839 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:44:05 ] スーゴハセヨ
840 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:54:43 ] グッテンターク
841 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 03:21:13 ] 漏れとか…何時振りだろう、見たの
842 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 08:58:49 ] journal.mycom.co.jp/series/webtool/007/index.html >かつての電化製品がそうだったように、日本人の作るサービスはデザインやユーザビリティの面で優れていると感じている。 Nationalのオーブンレンジを触ったことがないんだろうか。 最低3つの操作手順を踏まないと、食パン1枚焼けない。余計な機能詰め込みすぎ。 「(多くの)日本人(のみ)にとって使いやすい」だけであり、それを「優れている」とは言わない。 Vista使いにくいだろ? 要は日本の家電メーカーはアレをやってる。 ご当地の人には使いやすいんだろうけどな。 それをJEITAの連中は「日本の消費者は先進的」といまだに勘違いしてる。だから国際競争で負ける。 異なるだけであって感性に「先進」とか「後進」はない。家が小さい日本は「後進的」か? 違うだろ。 日本の家電(PC含む)は既に世界からそっぽを向かれている。 車やカメラは熱いけどな(ただし、カメラも同じようにそっぽを向かれるのは時間の問題)。 日本発のWebアプリが普及しないのは二番煎じばかりだからだろ。 むしろそういうデザインとか下らないところに注力しているから、いつまでたっても独創性が開けない。 ふぅーなんか朝から熱くなっちまったぜ。
843 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:47:47 ] 日本人にとっての使いやすさと アメリカはじめ他国の人間にとっての使いやすさが違うだけ。 国内で高い評価を得ても世界ではそれほどでもない。 逆に使いやすさの面で国際競争力を付けようと思ったら 日本ではあまり高く評価されないかもね。
844 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:18:54 ] 今のオーブンレンジって一発で閉まらないんだよな でもあれ日本製なのかよくわからん
845 名前:たらちゃん [2008/02/06(水) 12:52:02 ] System.err.println("エラー")を変数に代入する事って出来ますか?もし出来るのであればやり方教えてください。 宜しくお願いします。
846 名前:デフォルトの名無しさん [2008/02/06(水) 12:53:16 ] javacのコンパイルが遅いと思うんですが 常駐するタイプありませんかね? メモリ食うけど何回もコンパイルするなら速いよ!みたいな
847 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:55:03 ] >>845 意味がよくわからんが、代入してどうしたいんだ? 何をしたいのか書くといいかもしんない >>846 eclipseみたいなIDEは嫌かね?
848 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:01:59 ] >847 使ってみましたけど、ちょい重かったです。 コンパイルするたびにjavac.exeを読み込むのが 無駄だよなぁって思ってたんですが。 新しいマシン買えよ、ってことなんでしょうけど キャッシュが沢山載ってるやつ買えばいいのかな。
849 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:09:34 ] phpからjavaへの乗り換えを検討しているのですが javaでphpのsymfonyに一番近めなフレームワークってどれでしょう?
850 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:31:46 ] Method println = System.err.getClass().getMethod(...);
851 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:12:16 ] >>848 …javac.exe を読み込むのが遅いならRAMディスクは如何でしょう。 可能性のある要因は幾つも挙げられますが、何れにしろ、 ハードウェアかOSの問題で、Javaだから、という問題では無いように思えます。
852 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:51:33 ] 10万も出せばDualCoreでメモリ2Gのマシン、ディスプレイ付で買えるだろうよ Eclipseが重いってのは何時の話だ
853 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:29:37 ] ちょっと自作PC板に来てもらおうか・・・
854 名前:846 mailto:sage [2008/02/06(水) 21:21:44 ] 自己解決しました。 空きメモリを仮想ドライブにするソフトなんかあるのね、今は。 いや、ほんとに 「RAMディスクなんて言葉聞いたの98note以来だぜ、 確かに滅茶っ速だったけどなァァァァ」 とか思いましたけど、皆さんありがとうございました。
855 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:04:34 ] それ、自己解決か・・・?
856 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:24:16 ] JDKの環境変数設定などの後はOSの再起動をすると本で読んだのですが、 どうも環境変数の設定をした時は そのままで反映されている時とOS再起動しないと反映されない時があるみたいです。 OSの再起動以外に何か関係するものがあるんでしょうか
857 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:36:18 ] >>856 そんな糞本捨ててしまえ。環境変数は基本的に親プロセスから引き継がれるので、環境変数を設定したプロセスから起動すれば即座に反映されるが、読み直しはしないので既に動いている他のプロセスには影響しない。 Windowsの場合なら、 ・コマンドプロンプト/バッチファイルで環境変数を設定してそこからプログラムを起動した場合→即時反映 ・システムのプロパティから環境変数を設定→設定後に起動したプロセスにのみ変更が反映。例えば設定前から動いているコマンドプロンプトからJavaプログラムを起動しても変更は反映されない。
858 名前:856 mailto:sage [2008/02/06(水) 23:50:23 ] >>857 なるほど〜すごく分かりやすい説明ありがとうございます! こういうズバリな説明聞くとwindowsに浸ってないでUNIXの勉強するべきなのかなぁって思いますね…
859 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:01:42 ] PC のピの字も分からん人間相手の本なら再起動は基本。 本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
860 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:04:13 ] Windows9x時代のautoexec.bat編集して再起動 みたいな記述がそのまま残ってるだけじゃないかと。
861 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:13:27 ] PCに"ピ"の字はどこにも無いと思うんだが
862 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:17:43 ] サイトに snoop アプレット仕込んでクライアントの JVM バージョン統計取ってみたんだが見る?
863 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:29:25 ] ピーシーのピの字も分からん人間相手の本なら再起動は基本。 本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
864 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:35:14 ] やるおかよ
865 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:41:13 ] java.util.regex.Pattern の lookingAt() って find(0) と同じという理解で良いのかな?
866 名前:デフォルトの名無しさん [2008/02/07(木) 03:51:41 ] PCのパの字も分からん人間相手の本なら再起動は基本。 本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
867 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:57:20 ] PCに"パ"の字はどこにも無いと思うんだが
868 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:01:54 ] パトカーのパの字も分からん人間相手の本なら再起動は基本。 本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
869 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:04:43 ] パトカーに"パ"の字はあると思うんだが