- 1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ]
- プログラミング言語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質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980あたりで。
- 800 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 06:16:29 ]
- >>739
遅レスだが、ソケットを閉じる
- 801 名前:755 mailto:sage [2007/07/20(金) 10:32:14 ]
- レスくれた方どうも有難う御座います。
ググっても適当なメソッドや関数が見つからないと思ったら本当に無いんですか・・・ 凄く冗長な気がしますが大人しくファイル二つの間でコピーし合う事にします
- 802 名前:デフォルトの名無しさん [2007/07/20(金) 10:41:05 ]
- for( int i = 0; i < 10; i++ ) {
int j = i; } こんな風にループ内で変数の宣言していると、回るたびに変数分のメモリを消費していく? int型の4バイト(?)づつ浪費することになる?
- 803 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:42:22 ]
- >>802
intはオブジェクトじゃないからならない。
- 804 名前:デフォルトの名無しさん [2007/07/20(金) 10:54:28 ]
- >>803
オブジェクトだとどんどん消費するってことですか? class Hoge { public static void main( String[] args ) { while( 1 ) { xxx(); } } public void xxx() { // ここでオブジェクトの宣言 } 上のようにやればxxx()が終了した時点でオブジェクトのメモリは解放?されると思ってるんですが合ってますか?
- 805 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:38 ]
- オブジェクトは xxx が終了した時点で
ガベージコレクタによってメモリを開放される条件を満たすようになるが、 実際にメモリが開放されるのはそれ以降でガベージコレクタが実際に走った時。
- 806 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:56 ]
- xxx() が終わった時点で参照が外れてGCの対象にはなるが、
その後いつメモリが開放されるかどうかはGCまかせ。
- 807 名前:デフォルトの名無しさん [2007/07/20(金) 11:20:42 ]
- レスありがとうございます。
ループ内でオブジェクトを宣言する場合は>>804のやり方で大丈夫でしょうか? メモリ周りを気にしています。 一番いいのはループ内でオブジェクトは宣言しないことですよね・・・ 軽くGCを調べたら「GCはマルチスレッドで動く」ってあったので期待したい。
- 808 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:14:44 ]
- >>807
変数宣言は、できるだけスコープを小さくした方がいい。 この場合なら、ループ内で変数宣言した方がいい。 変数のスコープが小さいときは、 最適化されて変数がレジスタのみ使用し、スタックメモリを消費しなくなる。 オブジェクトの生成はそういうわけにはいかず、 newの度にヒープを消費することになる。
- 809 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:47:38 ]
- いまどきはエスケープ解析されて、スタックに詰まれる。
- 810 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:46:12 ]
- メモり周りをシビアに使いたいなら Java じゃない方がいいんじゃないかなあ
- 811 名前:デフォルトの名無しさん [2007/07/20(金) 14:10:46 ]
- でも管理は楽
- 812 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:19:29 ]
- レジスタにのっけるかどうかのアルゴリズムって5.0のままだっけ?6で変わらなかった?
- 813 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:20:37 ]
- >>812
レジスタにのっけるかどうかのアルゴリズム自体が 6.0 で追加されたんじゃなかったか?
- 814 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:08:12 ]
- JDBCリクエストをラップして、
DB の多重化を簡易的に行えるライブラリはありませんでしょうか。 例えば、アプリケーション層のノードが二つ(A,Bとします) DBノードも二つ(X,Y とします)あるとすれば、 A,B ともラッパー経由で更新していれば X,Y に格納されており、 もし JDBC リクエストで X が落ちたら、Y のみに要求する、と言う形です。 この例であれば X への更新をプールして、X が復活したのを検出したら 流していってくれると最高ですが、この部分は X を復帰させる手続きと して手動でやれということでも構いません。
- 815 名前:814 mailto:sage [2007/07/20(金) 16:15:52 ]
- C-JDBC, Sequoia あたりはそうなんですかね…
いまいち、一般的に使われているかどうかが分かりません。
- 816 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:43:41 ]
-
フォントの実際の大きさを求めるにはどうすればいいのでしょうか。 JFrameにJTextAreaを乗せてデータを表示していましたが、一部の文字の色を 変える為に、JTextAreaからJTextPaneへ変更しました。しかし、JTextPaneでは JTextAreaのように行数と列数を指定できません。それはJTextPaneのフォント サイズが可変な為だと思います。けれでも私のプログラムのフォントは等幅で 大きさは全て等しく、色が一意でないだけなので、一文字の実際の高さと幅が分 かれば列数、行数ともに算出可能なはずです。そうすれば setPreferredSize(Dimension d)を使って出来上がりです。 そこで調べてみたところ、FontMetricsクラスを使えば期待する動作が行えそう です。FontMetricsは抽象クラスなので、Graphics.getFontMetrics(Font f)を使 ってインスタンスを生成しなければいけませんが、そのGraphicsクラスを使う方 法が分かりません。Canvs.paint(Graphics g)を使えばできますが、それだけの為 にCanvasクラスを使うのは違う気がしました。
- 817 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:12:03 ]
- >>816
使用するフォントを実際に指定できているわけだから そのフォントを表すFontクラスのインスタンスは得ることができるよね? そしたらあとはJComponent#getFontMetrics(Font)でFontMetricsのインスタンスを得ればいいじゃない
- 818 名前:デフォルトの名無しさん [2007/07/20(金) 20:51:39 ]
- 質問です。
OutputStream out = new OutputStream(); DataOutputStream dout = new DataOutputStream(out); という風にDataOutputStreamを作って、 dout.close(); を行うと、 out.close()も勝手にやってくれるのでしょうか?
- 819 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:57:47 ]
- JavaDocを見なさいって。基本中の基本。
見るのはFilterOutputStreamの方だというヒントは教えとく。
- 820 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:40 ]
- >>818
> dout.close(); を行うと、 > out.close()も勝手にやってくれるのでしょうか? 一応やってくれるけど、 例外食らった場合は out.close() してない可能性もある。
- 821 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:10:51 ]
- javaってどんなところに使われてるの?
- 822 名前:818 mailto:sage [2007/07/20(金) 21:10:58 ]
- >>819
>>820 ありがとうございます。
- 823 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:13:54 ]
- >>821
国防
- 824 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:42:06 ]
- >>821
火星
- 825 名前:デフォルトの名無しさん [2007/07/21(土) 01:01:23 ]
- 参考書とりあえずやったんですけど、どうすればいいですか?
後はAPIっていうのを見ながらやるんですか?
- 826 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:04:09 ]
- >>126は具体的にどのように実装するのか教えていただけませんか。
- 827 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:43:16 ]
- >>825
何か作りたいから Java 勉強したんじゃないの?
- 828 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:09:46 ]
- >>825
やったのは単なる入門書で文法を学んだだけじゃないの? 参考書ってのは何かを作るときに参照するものだよ 特に作りたいものがないならばゲームでも作ってみるのがいいんじゃね GUI関連は業務じゃ使う機会少ないけど、デザインパターンとか設計力を鍛えるには一番だとばっちゃんが言ってたよ
- 829 名前:デフォルトの名無しさん [2007/07/21(土) 03:53:11 ]
- >>825
この辺りで宿題解いてみるのもいいと思うよ。 ★★ Java の宿題ここで答えます Part 62 ★★ pc11.2ch.net/test/read.cgi/tech/1184509890/1-100
- 830 名前:825 [2007/07/21(土) 12:52:27 ]
- >>828
>>829 ありがとうございます。参考になりました。
- 831 名前:788 mailto:sage [2007/07/21(土) 14:44:46 ]
- >>795-796
レス遅くなりましたが、 これ使わせてもらいます。 ありがとう。
- 832 名前:デフォルトの名無しさん [2007/07/21(土) 15:22:58 ]
- サーブレットを覚えたてです、家でも勉強しようと思って、tomcatをインストールしたのですが
どうしてもindexに繋がりません、過去に習ってた時の学校では自分でインストールできたのに スタートさせてもアイコンはミドリの▲になるのに、右クリックをするとストップStopではなくStartが押せる状態になっています Tomcatは5.5、Javaは1.5 OSは2000XPでも2000Proでもどちらも同じ現象でダメでした XPのファイアーウォールを無効にしても無理でした 環境設定のPathは教室でインストールした時に、テキストファイルで貰っていたのをコピペしなおしても無理でした これ以上どう足掻いていいのか分かりません
- 833 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:29:56 ]
- //A
class Hoge{ static void piyo(){} public static void main(String[] arg){ piyo(); } //B class Hoge{ Hoge(){ piyo(); } void piyo(){} public static void main(String[] arg){ new Hoge(); } Aのように書かずBのように書けば、piyoメソッドにstatic修飾子をつけなくてもよくなりますよね こう書くことになにか問題はありますか?
- 834 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:57:32 ]
- >>833
修飾子についての理解が不十分 staticをつけたメソッドはインスタンス化しないでも使えるが、 Bのpiyoメソッドはインスタンス化しないと使えない。
- 835 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:36:23 ]
- >>832
Eclipse上? 今のTomcatなんてインストーラーに従ってインストールするだけだろ?
- 836 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:37:18 ]
- ちなみに環境変数のPathだのCLASS_PATHは下手にいじるなよ
- 837 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:05:10 ]
- >>834
うまく言えんけど、おそらく833は 「mainメソッドで呼ぶ」という理由だけでstatic修飾子をつけるのはおかしいのでは? と考えた結果思いついたんじゃないか? 833への答えは持ってないけど、834の答えが的外れな気がしたんで口出し 834のであってたらすまん
- 838 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:20:47 ]
- >>833
たしかにAもBもpiyo()が実行されるという一点では同じなんだけど、 piyo()は本当にコンストラクタ内で処理すべき機能なのか考えるべき。 AとBではpiyo()やHogeクラスの意味合いが異なってくる。 piyo()が単にstaticメソッドから呼ばれるだけの下請け的存在ならAで十分だし、 Hogeをインスタンス化する必要がありかつpiyo()がインスタンス生成段階で必要な処理ならB。 class Hoge{ void piyo(){} public static void main(String[] arg){ Hoge h = new Hoge(); h.piyo(); } } こう書くのが適切な場合だってある。 何を実現するためにどうクラス設計をするかを考えてpiyo()の立ち位置を決めておくれ。
- 839 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:24:31 ]
- 優等生的回答
class Hoge{ public static void main(String[] arg){ Hoge hoge = new Hoge(); hoge.piyo(); } void piyo(){} }
- 840 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:42:46 ]
- newってのが何者かを勉強するといいと思う
単純にfor文とif文を駆使したプログラム入門ならば、全部staticでnewは配列作るときくらいしか使わないでOK クラスとか勉強する段階でnewを覚えるべきだが
- 841 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:07:22 ]
- >>832
localhost:8080/index.jsp でだめだったのかい? localhost:8080/manager/html ではどうだい?
- 842 名前:デフォルトの名無しさん [2007/07/21(土) 19:13:53 ]
- >>835
私もそう思ってたのでびっくりです >>836 CLASSPATHを作ってservlet-api.jar;.の位置を入れました ↑は自分で打ったけど、パソコンに入れたのは成功した教室のPCからのコピペなんで間違いはないと思います >>841 そこ自体がダメです タスクのアイコンがスタート状態になってても、ストップできずスタートがあるということは、スタートできてないんだと思う
- 843 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:21:23 ]
- >>842
CLASS_PATHを消せ 次にコマンドプロンプトからjava -version を打ってversionを確認せよ その上で再インストールして来い スタートできないならばログも嫁
- 844 名前:デフォルトの名無しさん [2007/07/21(土) 19:29:52 ]
- >>843
おかげで使えるようになりました ありがとうございました 前に入れたバージョンが残っててそっちを設定してたっぽい ゴメンナサイ 私は、恥かしい間抜けです
- 845 名前:デフォルトの名無しさん [2007/07/21(土) 21:23:30 ]
- ,===,====、
_.||___|_____||_ .. / /||___|^ l .. 答えろ ぶち殺すぞ!> (・ω・`)//|| |口| ||ω・` ) . ./(^(^ .//||...|| |口| |⊂ ) . / // ||...|| |口| ||し 新スレです . あ?てめぇどこ中だよ>( )//.... ||...|| |口| || 楽しく使ってね /(^(^ // .... .||...|| |口| || 仲良く使ってね "" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" ` :: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,,
- 846 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:10:34 ]
- サーブレット書いてるんだけど、
doGetとdoPostあるじゃん。 どちらか一方に処理全部書いて、もう一方にはdoPost()かdoGet書けば いいだけなんだろうけど。 これでいいのか? てゆうか、分けて書くことってあるの?
- 847 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:18:16 ]
- >これでいいのか?
いい。 >てゆうか、分けて書くことってあるの? 使い方による。
- 848 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:41:17 ]
- 例えばリクエストにGetを許可しないケース
- 849 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:00:41 ]
- 初心者です。javaのGUIアプリケーションってデザイン的によくないイメージがあるのですが、
見た目にこった実装ってできるのでしょうか? 例えば、ウィンドウを3D間隔で操作できるとか、swingコンポーネント等でも デザインが柔軟に変更できるとか。OS依存でも構わないです。(できればWindows) その他なんでもよいのですが、おもしろいデザインにするための技術情報など教えていただきたいです。
- 850 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:04:51 ]
- LookAndFeel(ようはスキン)を自作することはできる。
Swing synthでぐぐってみたら?
- 851 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:06:04 ]
- >>849
やろうと思えば3Dだろうとなんだろうと可能だが、簡単に出来るわけじゃない 単純に派手なUIが欲しいってのならば方向性は違うだろうね Eclipseで使われているSWTなんかを使えば簡単にWindows風のUIも可能 Swingだって6.0で大幅にパフォーマンスも向上しているから捨てたもんじゃない ただし、作るにはそれなりのセンスと時間が必要
- 852 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:26:17 ]
- >>850
htmlとcssみたいな関係なのでしょうか?調べてみますm(__)m >>851 javaを勉強し始めてから早一年経ちましたが、人の作ったライブラリを呼び出すだけの人になってますorz ちなみに最近netbeansを使ってGUIの作成ってやってみたのですが、VBチックで楽だなぁと思ったのですが 同じようなものなのかな? SWTなるもの調べてみますm(__)m
- 853 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:31 ]
- >>852
SwingなりSWTはツールを使わずに習得した方がいい 自然とOOPでの設計力が付くぞ
- 854 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:58 ]
- programming base .javaとか言うのを学校で使って
家でもちょっとやりたいと思ってるのですが、 家では開けず、あぁーなんかダウソしないといかんのかぁー。となっとります。 ほんとに初歩の初歩の質問で申し訳ないのですがどなたか教えて頂けるとありがたいです。 えー、ちなみに void on Idle とか使ってた奴です。(何だこの説明。。。
- 855 名前:デフォルトの名無しさん [2007/07/21(土) 23:57:39 ]
- JRE Version 6 Update 2 のインストーラーで質問。
ttp://www.java.com/ja/download/index.jsp ↑ここから辿ってダウンロードできる jre-6u2-windows-i586-p-s.exe と ttp://java.sun.com/javase/ja/6/download.html ↑ここの「Java Runtime Environment (JRE) 6u2」のダウンロードから辿って ダウンロードできる jre-6u2-windows-i586-p.exe の違いが分かる人いますか? 両方ダウンロードするとどちらも 14,566,808 バイトだけど、バイナリ比較すると一致しない…
- 856 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:15:19 ]
- >>853
ですね。。正直今の段階だと自動生成されたソースが何をやっているのか分からない状態です。 GUI開発が熟練してからツール使うことにします^^;
- 857 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:12:13 ]
- >>854が釣りかエスパーか判断できないので誰か支援頼むw
>>856 まあ、netbeansの吐くコードは汚いね。 いまさらSWT使う利点なんてないよ。 5.0/6のVMは早いし、SwingのSystemLnFもネイティブコードの呼び出し増えて見栄えもかなり近いし。 普通に使う分にはVMのメモリを多めに取ればSwingもSWTもたいして速度変わらん。 それに今時Swingで十分な速度でない環境だとjavaそのものが遅いし。 ここら辺のおかげでnetbeansがかなり使えるようになった。 SWTはjava風じゃないところがあるからまずはjavaを覚えた方が良い。
- 858 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:49:52 ]
- これを応えられるほどの凄腕エスパーは世界に3人といないだろう
- 859 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:55:56 ]
- SWTって自分でメッセージループ回してるところがWindouzuっぽくて嫌だ
- 860 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 09:19:55 ]
- ちゃんと授業を聞いている学校のクラスメートだったら分かるんだろうな
- 861 名前:816 mailto:sage [2007/07/22(日) 14:51:24 ]
- >>817
おお、うまくいきました。 Graphicsクラスからしか取得できないと思っていました。 ありがとうございました。
- 862 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:01:53 ]
-
JFlexとJacでちょっとしたもの作ろうとおもってるんだけど、 ビルドをeclipse上で自動化したい場合ってどうすればいいの?
- 863 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:03:05 ]
- ×jac
○jay
- 864 名前:862 mailto:sage [2007/07/22(日) 17:47:46 ]
- 申し訳ございません。
eclipseのスレがありましたのであちらで質問します。 ありがとうございました。
- 865 名前:デフォルトの名無しさん [2007/07/22(日) 20:10:02 ]
- 英語と日本語が混ざった長文をテキストエリアなどに表示される場合、
正確に一画面文の文字数をカウントすることをご教授願います。 フォントサイズから一画面の文字数を数える場合、 英文が入るを正確にカウントできません
- 866 名前:デフォルトの名無しさん [2007/07/22(日) 20:14:06 ]
- できるよ。
文字数を読むメソッドがある
- 867 名前:デフォルトの名無しさん [2007/07/23(月) 02:05:51 ]
- >>846
通常、POSTとGETは使い分けるよ。使う目的も違うし、HTTPにおけるパラメータの 送信方法も異なってくる。また、Tomcatの場合はHttpServletRequestのsetCharacterEncodingは GETパラメータには利かない。(※いくつかの設定は存在する) Servletを学習するなら、同時にHTTPについて学習するのはすごく有意義だし、Web上に色々参考に なる記事が沢山落ちてるから、まずはPOSTとGETは具体的に何が違うのかを学習すると良いと思うよ。
- 868 名前:デフォルトの名無しさん [2007/07/23(月) 09:13:08 ]
- ちょっとでも、お役に立てれば。
↓ www.yukinko-net.jp/
- 869 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:23:50 ]
- Rhinoの質問いいですか。
Rhinoでコマンドライン用のスクリプトを書こうとしているのですが、 コマンドライン引数の取り方が分かりません。 RubyでいうところのARGVです。 Rhino argv で検索しても C のソースしか引っかからないし。 どなたかお願いします。
- 870 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:32:59 ]
- args
- 871 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:16 ]
- >>869
RhinoはJavaによるJavascriptの実装だから、実装内容に関わるような話ならこのスレかもしれないが、 単なるスクリプトプログラミングについてここで聞くのはスレ違い。 ある言語について質問する時に、その言語の処理系が何で実装されているかに関わらず、 普通はその言語のスレで質問するだろ?
- 872 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:53 ]
- >>870
argsは定義されていないようです。 print(args); //=> ReferenceError: "args" is not defined. Rhinoは1.6R5です。
- 873 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:01:36 ]
- >>871
JavaScript一般の話ではなく、あくまでRhino固有の話なので、JavaScript関連のスレではなくここで質問しました。 Rhino専用のスレはないし、RhinoはJava6から標準装備ですし、ここが一番適切ではないでしょうか。
- 874 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:39:30 ]
- >>871
JavaScriptのスレでこんなもんわかるやついるわけないだろ。Javaスレ行けっていわれるのがオチ。
- 875 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:53:57 ]
- >>874
じゃあお前が答えてやれよ 俺はRhinoは嫌いだ >>869 arguments
- 876 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:07:55 ]
- >>869
jrunscript で実行してるなら arguments で取れるはず。 そうでない場合は、自前でScriptEngineにセットしないとダメなんじゃね? scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).put("arguments", args);
- 877 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:26:41 ]
- >>875,876
argumentsでとってこれました。ありがとうございました。 ちなみにこういった情報はどこで見つけるものなんでしょうか。
- 878 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:30:03 ]
- >>877
java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jrunscript.html
- 879 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:59:42 ]
- >>874
呼んだ? おまえら少しはEcma Scriptスレに顔出して上げてください。 ネタがないんで普段は実装と仕様の差異の話で盛り上がっとりますよ。 SpiderMonkyが人気ないからRhinoで持ちきりなんだが・・・。 java6のRhino劣化品。いらない子。 >>878 それmozillaのdocの劣化コピペだからmozillaの開発者向けサイトかRhinoのdocに全部書いてある。
- 880 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:28:58 ]
- >>879
一応別のツールだから劣化コピペとは言い切れないんじゃね? Rhino のツールでは -l でスクリプト言語指定したりできないっしょ。
- 881 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:51:12 ]
- いやjdk6に入ってるjs.jarはスループット優先でRhinoの機能かなりとっぱらってサイズ減らしてるんだよ。
さらにコンパイラ省かれてるから一切最適化されてない純粋なインタープリタで動いてる。 Rhinoのドキュメントに組み込みガイドがあって そこにスループット優先でビルドする手順が書かれてるんだけどそれと同じ事してる。+JavaAdaptorが劣化。 jrunscriptはそのRhinoのScripting APIに従った純粋なラッパー。 Rhinoの殆どの実装クラスがjavax.script.*じゃなくてcom.sun.*にあるから自分でJSオブジェクト実装とかクラスシャッターでセキュリティ制限とかできない問題もある。 ecmaスレで詳しい話題が出てるよ。
- 882 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:26:28 ]
- >>881
javax.script は Rhino とは別物だよ。 で、jrunscript と org.mozilla.javascript.tools.shell も別物。 だから jrunscript の、より詳しいドキュメントとして mozilla のドキュメント読めというのはダメ。
- 883 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:29:23 ]
- >>869はjrunscriptとはいってないだろ。
Rhino1.6R5と言っただけ。Rhinoがjavaの実装で6から標準装備だからこっち来たと。 >>876が勝手にjrunscriptと言い出しただけだろ。だからecmaスレ行けって。
- 884 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:37:36 ]
- >>883
俺は >>879 にレスつけただけなんだが。なんで >>869 の話が出てくるんだ?
- 885 名前:デフォルトの名無しさん [2007/07/24(火) 01:27:16 ]
- Rhinoってなに?
- 886 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:39:57 ]
- どっかの誰かさんが作ったjavaのライブラリ
- 887 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:51:47 ]
- >>884おまえ上の流れくらい読めよ。馬鹿だろ?
- 888 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:53:20 ]
- jdbcのドライバのロードを static { } 内に記述して一度だけ実行するようにしたいんだけど、
これって可能なんでしょうか。コードは以下のような感じ。 class Hoge { static { try { Class.forName("org.postgresql.Driver");
- 889 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:00:58 ]
- 誤爆
class Hoge { static { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } public static Connection open() { Connection conn = DriverManager.getConnection("foo", "bar", "baz); return conn; } // 以下略 } コンパイルエラーは以下。 [javac] シンボル: 変数 DriverManager [javac] 場所 : Hoge の クラス [javac] Connection conn = DriverManager.getConnection("foo", "bar", "baz"); [javac] ^ [javac] エラー 1 個
- 890 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:06:50 ]
- 静的初期化子の中のcatch節の終了の}が無い
- 891 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:07:07 ]
- >>889のソースコード、改めてみるとなかなかひどい抜けがあるけど勘弁してくれ。
クラスパスが通ってないのかなと思って servlet-api.jar にも classpath を通してみて HttpServlet を継承しただけのコードを書いてみたけど、こちらは問題なかった。 ビルドに用いている ant の build.xml のクラスパスの部分は以下。lib/ 内には postgresql.jar が配置されている。 <target name="compile"> <mkdir dir="${bin.dir}" /> <javac srcdir="${src.dir}" destdir="${bin.dir}"> <classpath> <!-- <fileset dir="lib"> <include name="*.jar" /> </fileset>--> <pathelement location="lib/postgresql.jar" /> <pathelement location="/usr/share/tomcat5.5/common/lib/servlet-api.jar" /> </classpath> </javac> </target>
- 892 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:13:33 ]
- >>890
取り急ぎ書いたんで抜けた。すまん。他にも "baz" の終わりの " が抜けたりしてる。 手元のコードはちゃんとしてるから大丈夫。
- 893 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:17:47 ]
- そして>>889にはったエラーメッセージに肝心のエラーメッセージがはってないな。
DriverManagerに対して 「シンボルを見つけられません。」 というメッセージです。
- 894 名前:888 mailto:sage [2007/07/24(火) 03:20:11 ]
- 解決しますた。
DriverManagerってずっと postgresql.jar の中にあるクラスと思ってたら java.sql.DriverManager だったのな。。。
- 895 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:21:33 ]
- >>892
import java.sql.DriverManager;してる?
- 896 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:38 ]
- 遅かったorz 解決して何より
まあシンボルが見つからないエラーは完全名を指定できていないミスが多いからね
- 897 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:59 ]
- まさに今同じミスをやらかして修正に追われていた。
Eclipseの補完機能に頼りすぎておんなじ名前のメソッド入った パッケージがこんがらがるとこういうことになる。
- 898 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 04:14:49 ]
- 設計時に使うパッケージは大方分かってるからワイルドカードでインポートして
クラス名が被るのは限定名でアクセスしてあとから「インポートの編集」すると混乱が減るよ。
- 899 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 06:42:38 ]
- インポートのワイルドカード嫌う人おおいみたいだけどなんで?
コンパイル遅くなるから? 実行時にも遅くなる? import *; ができないからどっちもどっち?
- 900 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:30:15 ]
- importの意味を知っていれば実行時に遅くなるなんて台詞は出てこないはずだぞ。
|

|