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


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

★★Java質問・相談スレッド132★★



1 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 20:02:41 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド131【歓迎】
ttp://pc12.2ch.net/test/read.cgi/tech/1250369910/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/

705 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:24:39 ]
そんな、ひどい…

706 名前:701 [2009/09/14(月) 21:26:11 ]
すいません、あせって>>1をよく見てませんでした。もう一回出直します


707 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:28:13 ]
>>705
2ちゃんねるで質問すると答えが厳しいから、気にすんな
linuxだと環境変数を設定しなくてもよかったりする
よくわかんなかったら、Eclipseでもインストールしろ
インストールを説明するサイトとかで、環境変数の事について調べられる

708 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:29:31 ]
EJBのCMPってどうやってDBとつながってるの?

709 名前:701 [2009/09/14(月) 21:29:42 ]
>>703さん、有難うございますm(__)m

710 名前:701 [2009/09/14(月) 21:30:36 ]
>>705さんも有難うございます。頑張ります

711 名前:デフォルトの名無しさん [2009/09/14(月) 21:36:06 ]
Pathの設定してないじゃん。。


それはそうと、何でJavaのパスやクラスパスくらい自動設定する
ソフトがないんだろうな。。

ただ単に環境変数にPathとクラスパスつけてやればいいだけじゃん。
俺が造ってもいいけど、XPしかもってないし、Vistaがどのフォルダにインスコされて
なんか権限とかぜんぜんしらねから、Visco対応のは作れない。

XPだけでもいいなら、作ってやってもいいが、7もでるしなあ。

なんで、ほかのプログラマはそんくらいの物作って、うpしてやらないんだろうな・・

712 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:37:20 ]
>>707
linuxでもpathを通す必要があるのは変わらない。

713 名前:デフォルトの名無しさん [2009/09/14(月) 21:39:20 ]
>>701
ふんと、2chは不親切だからいやだよな。君が書いた↓
path   →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\ 
にJavaをインスコしたディレクトリ\binフォルダが追加記述されてないとだめだよ。

Javaをインスコしたディレクトリの中のbinディレクトリを覗いてごらん。
javac.exeがあるはずだよ。コマンドプロンプトも
>javac' は、内部コマンドまたは外部コマンド〜
といってるよね。javac.exeが見つからないっていってるんだよ。
pathをちゃんと設定すれば直るよ。まあ、がんばりいな。



714 名前:701 [2009/09/14(月) 21:44:23 ]
>>713さん

path   →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_16\bin
CLASSPATH 現状のまま
QT JAVA 現状のまま
で宜しいのでしょうか?何度もすいません

715 名前:690 mailto:sage [2009/09/14(月) 21:51:25 ]
>>700
>単純な計算の積み重ねのような気がするが
そんなのも、わからないなんて...

ttp://codezine.jp/article/detail/2598?p=2
ttp://blog.4sure.jp/yokoshima/2009/07/02/graphics2d%E3%81%AB%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%8F%8F%E7%94%BB/
この2つのページを参考にした
public void paintComponent()をオーバライドしてすべての文字を表示するので
オブジェクトの生成と無駄なループに時間を取られる事はわかっている。
だが、やっぱりstr.length()とかで文字数を数えて地道に計算したほうがいいのか

716 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:58:42 ]
すげぇ
さすが>>1すら見ないだけのことはある
Javaの環境変数設定ができない・・Orz
pc11.2ch.net/test/read.cgi/prog/1252928150/

717 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:02:56 ]
そりゃ、エディタの描画部分なんて自作しようというのは余程の暇人かドMだからな。
java.awt.font.* とかはちゃんと見た?

718 名前:デフォルトの名無しさん [2009/09/14(月) 22:03:40 ]
もうやめちまえ。
おまえじゃ時間の無駄

719 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:06:07 ]
問題のコードとテストドライバがあれば誰かチューニングしてくれんじゃねーの

720 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:12:14 ]
>>708
CMPの名前のとおり、コンテナに管理させたデータソースをコンテナ経由で使ってる

721 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:24:42 ]
>>717
>余程の暇人かドMだからな
コンピュータをやる時はなるべくいろいろな事を、勉強出きるようにしている
それに、思う存分出きるのは今年までだから最後くらいはと思ってね

java.awt.font.*は必要に応じて読んでる

722 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:26:21 ]
とりあえずSwingスレに帰れ

723 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:40:46 ]
>>630
わざわざありがとうございます。
VelocityEngineはスレッドセーフだけど
contextはスレッドセーフじゃないから都度インスタンス作るように
って書かれてるみたいですね、
安心できました、助かりました。



724 名前:デフォルトの名無しさん [2009/09/15(火) 00:28:01 ]
>>701
QTが入っていると、Pathの設定とかうまくいかないみたいだよ↓。
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1416359149
対処方法は自分でぐぐって・・俺はもう寝るから。。QT Javaで検索すればひっかるとおも。

QT使わないとだめなの?Swingとかじゃだめ?
基本的にPathの設定とクラスパスの設定は>>714でいいよ。


725 名前:デフォルトの名無しさん [2009/09/15(火) 00:31:10 ]
>PATHの一番先頭に、
>C:\Program Files\Java\jdk1.4.2_17\bin;
>を追加しましたか?(最後でも良いですが、QTなどが入っていると不具合があったりします


726 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:04:45 ]
hibernateって重いな

727 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:10:58 ]
iBatisのがお勧めだぞ。
新規でhibernate採用してるとこまだある?

728 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:46:08 ]
関連の強いデータ,ってかPOJOとRDBテーブルって
分離して書きたいけど,分離して読み解きたくないジレンマ

729 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:23:27 ]
HQL便利だな

730 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:06:41 ]
ここ2年くらいJavaから離れていたんですが、最近のO/Rマッパーの主流はiBatisですか?
S2Daoとかhibernateは何回か使ったことありますが、最近のオススメを教えてください

731 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:14:49 ]
一番いいのはO/Rマッピングしないことだよね

732 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:23:45 ]
しないって全部生で書くのか?

733 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:34:17 ]
生はある意味気持ちいいけど生まれたものは責任取らなくっちゃね



734 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:40:20 ]
はしたない

735 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:46:17 ]
なんでO/Rマッピングする派が多いの?


736 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:25:56 ]
詰め直す手間を省きたいから?
UML図からのコード生成から、そういったフレームワークに乗せられるから?

737 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:41:06 ]
ドメインモデル礼賛派が多数を占めてるからじゃね?ケッ

738 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:43:50 ]
マジレスするとS2JDBCが最強
ドメインモデルがけなされるのは業務ファットなプロジェクトで使ってないからだと思う。
そーなってくるとドメインモデルの問題というより設計の問題といえる。

739 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:20:27 ]
public static void main(String[] args) {
new Main().t1();
}

static String str = "str";

public Main() {
str = "hoge";
}
public void t1() {
System.out.println(str);

staticなフィールドに代入すると、どこまで値を保持してくれているんですか?

740 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:28:44 ]
無論死ぬまで

741 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:37:15 ]
>>740
ありがとうございます

742 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:41:15 ]
ワロタ

743 名前:デフォルトの名無しさん [2009/09/15(火) 20:58:11 ]
なんでantなのか?
makefile,batではだめだったのか?
xmlの文字量ならJavaをantのように使えたほうがよかったのに



744 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:11:25 ]
俺もそう思う

745 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:30:07 ]
>>743
ExcelVBAとかからゴリゴリ
Ant生成するときはXMLの方が楽です…。

746 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:36:26 ]
戻り値がStringのメソッドについて質問
処理内容はパラーメータで渡されたStringを、正規表現で5つ取り出して結合するだけです

return str.group(1) + str.group(2) + str.group(3) + str.group(4);

StringBuilder sb = new StringBuilder();
sb.append(str.group(1)); x5
return sb.toString();

ではどちらが早いですか?

747 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:42:30 ]
>>746
変わんないんじゃない?
Stringの+演算って、内部では結局StringBuilderのappendがやってる
内部char変数の足し算で実装されるときいたことがある
ただ、
>return str.group(1) + str.group(2) + str.group(3) + str.group(4);
の部分が
return sb.toString();
と同等のコードにコンパイルされるかは知らないっす

748 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:45:53 ]
>>746
このスレか前のスレに同じような質問があった気がする

749 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:46:04 ]
>>746
d.hatena.ne.jp/suer/20090427/1240758191
なんだが・・・あるぇー、文字列連結ってコンパイル時にStringBufferだか
StringBuilderに置き換えられてなかったっけ?

750 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:48:36 ]
>>749
そうだよな
でも、このhatena記事みると、あれー?って感じだなw

751 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:51:14 ]
コンパイラの最適化オプション-Oとかで結構変わったりするかもな
最新のは最適化オプションがデフォルトで入るときいたこともあるが

752 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:53:55 ]
そりゃループの中で毎回 str += s; してるからだろ
str += s; は str = new StringBuilder(str).append(s).toString(); みたいなことになるから無駄だらけ

753 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:58:13 ]
>>752
つまりはnewしてるのがオーバーヘッドの要因ってこと?
じゃあ、>>746のような+をつなげたような書き方なら
str.append(str.group(1)).append(str.group(2)).....
な感じになって、あんまり変わらない?



754 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:15:56 ]
>>753
途中で定数文字列の足し算が複数回続くとか無い限り、
変わらないと思っていい。

ただ、言語仕様上は別に+演算子は二つのStringオブジェクトの
内容をくっつけたStringオブジェクトを新規作成する、
とだけで別にStringBuilderを絶対に使う、とは書いてないんだよねえ。
java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.18.1.2

755 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:20:32 ]
何回「+」でつなげるかってーのは(あまり)重要じゃない。
Stringのインスタンスが何回生まれるかってことが大事。

756 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:26:07 ]
jadで確認してみた。
String tmp = "";
for (int i=0; i<100; i++) { tmp = tmp + i; }
すると、ループ内で毎回StringBuilderをtmpで作って、i入れて、toStringした
結果を、tmpに入れてる。
0 ldc <String ""> [16]
2 astore_1 [tmp]
3 iconst_0
4 istore_2 [i]
5 goto 30
8 new java.lang.StringBuilder [18]
11 dup
12 aload_1 [tmp]
13 invokestatic java.lang.String.valueOf(java.lang.Object) : java.lang.String [20]
16 invokespecial java.lang.StringBuilder(java.lang.String) [26]
19 iload_2 [i]
20 invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [29]
23 invokevirtual java.lang.StringBuilder.toString() : java.lang.String [33]
26 astore_1 [tmp]
27 iinc 2 1 [i]
30 iload_2 [i]
31 bipush 100
33 if_icmplt 8
最適化しないのね。

757 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:30:39 ]
>>756
すばらしい
逆コンパイルすることで、わかりやすく解析できるな
やっぱnewの連発(インスタンス生成)が問題なんだな

758 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:34:25 ]
このへんはコンパイラ依存

759 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:35:38 ]
C++で作ったコンパイラはやっぱり安心できる

760 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:52:08 ]
8 new java.lang.StringBuilder [18]

これ自体は10ナノ秒/一回程度のコストだから
文字列連結処理全体から見た場合の影響度はきわめて小さい


23 invokevirtual java.lang.StringBuilder.toString() : java.lang.String [33]

問題なのはこれが繰り返されること

761 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:57:30 ]
>>760
なるほど、いっかいいっかい、Stringオブジェクトへ変換
(新規Stringオブジェクトを生成してる)がまずいのか

762 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 23:44:21 ]
まずかどうかは状況次第
10回程度連結しようが普通のアプリじゃオーバヘッドにはならんよ

763 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 23:48:01 ]
StringとStringBuilderの間で文字データを何度もやりとりしてるのが大きいんじゃないかなぁ
StringからStringBuilderへ文字データをコピー、StringBuilderからStringへ文字データをコピー・・・
文字列が長くなるほどつらい



764 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:03:56 ]
java.nio.*が利用出来ない環境で、その実行環境でサポートされている
エンコーディング(ISO-2022-JPやEUC-JPなど)の一覧を取得する方法は
ありませんか?
具体的にはjava.nio.charset.Charset#availableCharsets()相当の情報を
取得する方法が知りたいです。


765 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 01:33:02 ]
sunのjavacはコンパイル時の最適化はあんまりしない。
JITとかにまかせる方。

766 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:15:59 ]
jadの入手先が見つかりません。

767 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:32:48 ]
googleの一番上に出てくるけど?

768 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:37:52 ]
ありがとう、見つかりました。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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