トップページ⇒tech
1001コメント273KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/10/20(日) 19:30:39.35
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド164★★
http://toro.2ch.net/test/read.cgi/tech/1378219684/
0202デフォルトの名無しさん2013/11/01(金) 01:33:28.49
>>199
project sumatraでGPUと共有するメモリをGPUが使い終わるまでGCしないようにVMに変更入った。
RAII自体はとっくの昔に方向性が変わって成果物はtry with resourcesとその他諸々になってる。
0203デフォルトの名無しさん2013/11/01(金) 01:56:35.26
>>201
野良ライブラリ作った奴がMapやListの実装にequalsやhashCode使ってるかは分からないだろJK
0204デフォルトの名無しさん2013/11/01(金) 02:02:07.60
>>201
細かいやつだな。キーを定義しなおすほど潔癖症なのかそれともHashMapをHashSetと勘違いしてないかい?
0205デフォルトの名無しさん2013/11/01(金) 02:36:52.95
hash codeは完全一意に作れるわけじゃないのでIDの定義には当てはまりません
hash codeに求められるのは一様に分布することです
0206デフォルトの名無しさん2013/11/01(金) 02:51:38.69
>>201
そーゆーのはブログでやって
0207デフォルトの名無しさん2013/11/01(金) 07:59:02.46
>>201
http://d.hatena.ne.jp/chiheisen/20120318/1332071962 によると、
デフォルトではメモリアドレスじゃなくて乱数使ってるっぽいが。
0208デフォルトの名無しさん2013/11/01(金) 09:24:13.31
>>201のどこが間違ってるのかわからん
お前らは自分のチンケな自尊心を守るために難癖つけてるだけだろう
0209デフォルトの名無しさん2013/11/01(金) 11:00:19.43
チンケな自尊心を持つのは>>201本人w
0210デフォルトの名無しさん2013/11/01(金) 12:42:06.83
>>201はきっと職場でも浮いた存在なんだろうな
0211デフォルトの名無しさん2013/11/01(金) 15:45:43.26
>>207

Object - hashCode() (Java Platform SE 7)
http://docs.oracle.com/javase/jp/7/api/java/lang/Object.html#hashCode()
> これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されます

Object - hashCode() (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます

Object - hashCode() (Java 2 Platform SE 5.0)
http://docs.oracle.com/javase/jp/1.5.0/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます
0212デフォルトの名無しさん2013/11/01(金) 15:46:39.29
※通常
0213デフォルトの名無しさん2013/11/01(金) 15:49:18.39
16bitマシンや64bitマシンではメモリアドレスを返すという仕様は満たせない
0214デフォルトの名無しさん2013/11/01(金) 16:01:54.36
Object - hashCode() (Java 2 プラットフォーム SE v1.4.0)
http://docs.oracle.com/javase/jp/1.4/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます
0215デフォルトの名無しさん2013/11/01(金) 16:07:47.10
>>211
へんなところで文章切るなよ。

> (これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、
> この実装テクニックは JavaTM プログラミング言語では必要ありません。)
0216デフォルトの名無しさん2013/11/01(金) 16:07:59.73
Java 2 Platform SE 1.3: クラス Object - hashCode()
http://docs.oracle.com/javase/jp/1.3/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます
0217デフォルトの名無しさん2013/11/01(金) 16:09:48.44
> この実装テクニックは JavaTM プログラミング言語では必要ありません

これはオーバーライドするときに内部アドレスのこと気にせずにオーバーライドできるよって意味だろJK
0218デフォルトの名無しさん2013/11/01(金) 16:14:56.95
Java言語では必要ありません、に対しての通常なわけだから
「他の言語では内部アドレスを整数に変換することによって実装されますが」と同等の意味だろう。

普通に読めば。
0219デフォルトの名無しさん2013/11/01(金) 16:16:11.57
ObjectのhashCode()の実装はJavaで書かれてません
0220デフォルトの名無しさん2013/11/01(金) 16:18:22.78
しかも1.2の頃から確認できる文だからなぁ。10数年前は一般的だったテクニックだったっつー事だね。
0221デフォルトの名無しさん2013/11/01(金) 16:19:16.50
>>218
どうしてこんな頭の悪い奴ほど主張が強いのだろう。
0222デフォルトの名無しさん2013/11/01(金) 16:20:19.00
Javaで書かれてないけどデフォルトでは os::random() 呼んでるからなぁ。
02232212013/11/01(金) 16:22:31.29
アンカーミス>>218ではなく>>216
0224デフォルトの名無しさん2013/11/01(金) 16:22:39.22
っつかVMのソースコードからデフォルトで乱数使ってるの判明してんのに、さすがに見苦しいわ。
0225デフォルトの名無しさん2013/11/01(金) 16:23:18.01
偶数しか返さないhashCode()、とか、やだなあ。おい
0226デフォルトの名無しさん2013/11/01(金) 16:23:50.84
そりゃ内部アドレスを返してたらセキュリティ的に危ないだろJK
0227デフォルトの名無しさん2013/11/01(金) 16:27:31.81
JDKのインスト―ルフォルダ内にあるsrc.zip
0228デフォルトの名無しさん2013/11/01(金) 16:39:40.93
>>227
今回の Object#hashCode() の場合はネイティブだからそれ見ても無駄。
0229デフォルトの名無しさん2013/11/01(金) 16:43:33.77
これやれば分かる

Object[] obj = new Object[200];
for (int i = 0; i < obj.length; i++) {
  obj[i] = new Object();
  System.out.printf("%d %d\n", obj[i].hashCode(), obj[i].hashCode());
}
0230デフォルトの名無しさん2013/11/01(金) 16:56:13.81
はい、この話はこれでオシマイ、次の質問どうぞー
0231デフォルトの名無しさん2013/11/01(金) 16:59:34.57
おーばーらいどってなんですかー?
0232デフォルトの名無しさん2013/11/01(金) 17:09:36.54
おーらいおーらい
0233デフォルトの名無しさん2013/11/01(金) 17:11:01.03
>>229
やったお
http://ideone.com/vYNDS4
0234デフォルトの名無しさん2013/11/01(金) 17:25:23.65
>>207
おもしろい実験だな
0235デフォルトの名無しさん2013/11/01(金) 17:34:31.67
勉強になったので記録させていただいた

http://www54.atwiki.jp/projecthikky/pages/40.html
0236デフォルトの名無しさん2013/11/01(金) 17:54:32.32
本来の争点からズレてないか?hashCodeのオーバーライドについて話してたんじゃなかったのか?
0237デフォルトの名無しさん2013/11/01(金) 18:54:18.47
オブジェクトはIDだよおっかさん
0238デフォルトの名無しさん2013/11/01(金) 18:56:50.44
乱数はID
0239デフォルトの名無しさん2013/11/01(金) 21:48:01.12
論破完了
0240デフォルトの名無しさん2013/11/01(金) 21:54:21.91
>>151-
この辺りからの流れか、えらく続いてるな
もうループしてるだけだろ
0241デフォルトの名無しさん2013/11/01(金) 21:55:43.29
iPad air ほぢい
0242デフォルトの名無しさん2013/11/02(土) 01:25:29.23
>>201
そーゆーのはブログでやれよ雑魚
0243デフォルトの名無しさん2013/11/02(土) 01:27:33.65
馬鹿には無理
0244デフォルトの名無しさん2013/11/02(土) 01:37:04.66
eclipseでメソッドのヘルプをeclipseについてるブラウザで閲覧しようとしたところ、
eclipseごと固まってしまいました。

1時間ほどの作業を保存していないので、
消えるとショックなんですが、
復元機能はついてますか?
0245デフォルトの名無しさん2013/11/02(土) 01:39:15.54
こちらへどうぞ。
eclipse総合
http://toro.2ch.net/test/read.cgi/tech/1361510049/l50
0246デフォルトの名無しさん2013/11/02(土) 03:00:39.61
>>172
0247デフォルトの名無しさん2013/11/02(土) 07:39:35.86
次の方
0248デフォルトの名無しさん2013/11/02(土) 12:19:39.67
javaの中級レベルのテキストでお勧めのものはありませんか?
0249デフォルトの名無しさん2013/11/02(土) 12:26:52.72
effective java
0250デフォルトの名無しさん2013/11/02(土) 12:34:38.02
有難うございます
0251デフォルトの名無しさん2013/11/02(土) 12:38:46.61
でも第二版が品切れだな。
他のんない?
0252デフォルトの名無しさん2013/11/02(土) 15:02:28.40
>>249
改版するわけでもなさそうなのに、ピアソンて商売気ないのね
0253デフォルトの名無しさん2013/11/02(土) 16:00:47.98
ピアソン日本として活動してた会社がグループ離れて、全部絶版になった
0254デフォルトの名無しさん2013/11/02(土) 16:05:34.16
以前も業務提携解消で同じようなことがあったような気がするけど、
その時は、一部の本が別の会社が出て、
しばらくして、ピアソン日本で出るようになった記憶。
0255デフォルトの名無しさん2013/11/02(土) 17:14:11.82
使用しているサーバはTomcat5.5なんだけど、JDBCRealmのdigestをMD5に設定した途端に認証に失敗します。もちろんテーブルにMD5のパスワードを入れてるのですがうまくいきません。どうすればいいか教えてください。
0256デフォルトの名無しさん2013/11/02(土) 17:18:01.22
7.0にする
0257デフォルトの名無しさん2013/11/02(土) 18:01:43.61
spring <--> mybatisの連携をやろうと思っているんですが、
どうやってmybatisに依存性を注入すればいいんですか?

これじゃだと、依存性が注入されないんですが、やり方おかしいですか

@Service
public class Sample extends HttpServlet {
@Autowired
SqlSession sqlSession;
0258デフォルトの名無しさん2013/11/02(土) 18:50:10.95
Javaでわからないことを質問するスレ
http://kohada.2ch.net/test/read.cgi/prog/1363851093/
0259デフォルトの名無しさん2013/11/02(土) 19:03:05.10
>>258
このスレと何が違うの
0260デフォルトの名無しさん2013/11/02(土) 19:07:47.82
そこはこのスレより過疎、意味ない
0261デフォルトの名無しさん2013/11/02(土) 20:35:38.29
>>257
spring
http://toro.2ch.net/test/read.cgi/tech/1322414231/
0262デフォルトの名無しさん2013/11/02(土) 21:10:15.59
5 名前: 1 投稿日: 2013/03/21(木) 16:53:49.51
でもリンク書いてくれたスレ、レベル高いなぁ
もっとこう、初心者が気軽に書けるスレがあればいいんだが・・・

warota
02632572013/11/02(土) 22:28:32.53
>>261
誘導先に書き込んだら、自己解決してしまったorz

アスペクト指向って役に立つの?
ロギング、トランザクション、認証以外に用途が全く思いつかないんだけど
0264デフォルトの名無しさん2013/11/02(土) 22:36:42.97
>>263
コメント:書き方に気をつけましょう
0265デフォルトの名無しさん2013/11/03(日) 00:54:09.19
methodA()が呼び出される前・後に、ロギングするようにしたいのですが
どのようにすればいいでしょうか?
0266デフォルトの名無しさん2013/11/03(日) 01:43:29.34
リスペクトされてないアスペクト
02672642013/11/03(日) 08:16:43.37
>>263
「後だし」ていうんだよ
0268デフォルトの名無しさん2013/11/03(日) 08:21:09.13
>>265
「java メソッド呼び出し フック」ggrbしあわせ
0269デフォルトの名無しさん2013/11/03(日) 08:42:21.45
アスペは役に立たない
0270デフォルトの名無しさん2013/11/03(日) 13:51:29.11
ggrasaws
0271デフォルトの名無しさん2013/11/03(日) 15:54:33.89
gdgdurusai
0272デフォルトの名無しさん2013/11/03(日) 17:07:40.76
javaってas演算子無いんだね
キャストに失敗した時、nullがセットされるからめちゃ便利なのに
0273デフォルトの名無しさん2013/11/03(日) 17:12:33.14
>>272
castに失敗したらnullが返るけど

Class#cast (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/lang/Class.html#cast(java.lang.Object)
0274デフォルトの名無しさん2013/11/03(日) 17:13:16.49
嘘はよくない
0275デフォルトの名無しさん2013/11/03(日) 17:18:52.73
SocketChannelクラスにbindが実装されてたんだな
0276デフォルトの名無しさん2013/11/03(日) 17:50:40.17
>>273
おもいっきり、DOCに例外が発生するって書いてないか
0277デフォルトの名無しさん2013/11/03(日) 17:51:36.30
>>273
おまえ一度もjavaに触ったことないんじゃね?
0278デフォルトの名無しさん2013/11/03(日) 20:49:32.47
きっとVMがSunやOracleやGoogleじゃないんだよ
MSとかさ
0279デフォルトの名無しさん2013/11/03(日) 22:44:53.52
それをいうならSunやOracleやIBMだろ
GoogleのああいうのこそまさにえせJava
0280デフォルトの名無しさん2013/11/03(日) 22:48:03.45
プログラミング言語としてのJava言語は特許とってないのか
0281デフォルトの名無しさん2013/11/03(日) 22:51:30.59
JVMやライブラリの中は特許だらけだよ
Oracle神以外が作った処理系をJavaとして世に出すには
Oracle神に大金を支払ってライセンスを受ける必要がある
0282デフォルトの名無しさん2013/11/03(日) 22:53:00.48
JVMを借用する言語を作ったらなんらかのライセンス問題にひっかかりますか?
0283デフォルトの名無しさん2013/11/03(日) 22:57:39.58
馬鹿には無理
0284デフォルトの名無しさん2013/11/03(日) 22:58:29.04
JVM上で動くJava言語ライクな言語を作ったらライセンス違反ですか?
0285デフォルトの名無しさん2013/11/03(日) 23:10:07.47
このご時世、何かしら特許で言いがかりを付けることは可能だろうね
ただ現実としてScalaみたいなのが問題になっていない以上、
あなたの言語がそれを超えることはあり得ないのでまず問題ないといえる
0286デフォルトの名無しさん2013/11/03(日) 23:20:32.59
じゃあ逆にJDKでのコンパイル物が実行できる俺俺JVMを作るのは
0287デフォルトの名無しさん2013/11/04(月) 00:45:08.93
>>286
それはアウト
GoogleとOracleは実際それで絶賛喧嘩中
0288デフォルトの名無しさん2013/11/04(月) 00:49:00.54
x86のエミュレータはOKだのにJVMのエミュレータはアウトなのか
0289デフォルトの名無しさん2013/11/04(月) 01:09:06.18
OpenJDKからフォークしたことにすればおk
GPLになっちゃうからドブに捨てるようなもんだけどな
0290デフォルトの名無しさん2013/11/04(月) 01:23:09.57
Integer Java Virtual Machine のエミュレータ試作 - 日本大学
www.tani.cs.chs.nihon-u.ac.jp/g-2004/karaika/ijvm.pdf

教育用JVMエミュレータの設計と試作
www.gsim.aoyama.ac.jp/~ida/jvm-emu

4L-3 教育用 JVM エミュレータの設計と試作
ci.nii.ac.jp/naid/110002894678

教育用なら大丈夫なんじゃね
0291デフォルトの名無しさん2013/11/04(月) 01:27:24.81
IKVM.NETとかKaffeもOracleに特許料を払ってたりするのか?
0292デフォルトの名無しさん2013/11/04(月) 01:43:52.99
取るに足らないからだよ
商業的に邪魔になるようなら攻撃される可能性はある
0293デフォルトの名無しさん2013/11/04(月) 02:01:40.94
IKVMなんて広く使われるようになったら訴訟確実だろうな
Javaの主戦時で衝突するわけで、Androidよりヤバイよあれ
0294デフォルトの名無しさん2013/11/04(月) 02:19:16.20
日本語版が欲しいところ

Oracle v. Google - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Oracle_v._Google
0295デフォルトの名無しさん2013/11/04(月) 02:23:08.66
Oracle対GoogleのAndroid/Java訴訟で「Java APIは著作権保護対象ではない」との判断 | SourceForge.JP Magazine
http://sourceforge.jp/magazine/12/06/03/2329238
0296デフォルトの名無しさん2013/11/04(月) 03:28:46.88
ところでオラクルvsグーグルのジャバ裁判はどっちが勝ったんですか?
0297デフォルトの名無しさん2013/11/04(月) 06:55:44.11
決着ついてたら>>294のwikiにも書かれてるはず
0298デフォルトの名無しさん2013/11/04(月) 08:28:55.08
Google vs Oracle裁判は裁判の経過というより「そもそも何が争点になってるのか」がわかりにくい
・VMがパクリ
・APIの名前がパクリ
・APIの中身がパクリ

こういう争点だと認識してる
0299デフォルトの名無しさん2013/11/04(月) 09:06:02.06
よかったねつれて
0300デフォルトの名無しさん2013/11/04(月) 14:31:43.07
テンプレ見たんですが
なんで文字列の比較に==を使っちゃいけないのですか?
理由が書いてないのですが教えてください
0301デフォルトの名無しさん2013/11/04(月) 14:37:18.44
http://docs.oracle.com/javase/jp/7/

ifとかswitchとか言語構造がのってるページを見て勉強したいのですが
このページにあるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています