2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

☆★Java質問・相談スレッド178★★

1 :デフォルトの名無しさん:2016/06/17(金) 08:16:55.52 ID:442rGUo0.net
プログラミング言語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() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド177★★©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1458033246/

2 :デフォルトの名無しさん:2016/06/17(金) 08:17:52.67 ID:442rGUo0.net
「質問用テンプレ」
下記の各項目のうち不要・不明な項目や選択肢は消してください。
自分にとって適切な項目や選択肢がない場合は、項目や選択肢を追加して構いません。

【言語のバージョン】
【フレームワーク】
【OS】
【開発環境】
【使用しているIDE】
【Java歴】
【javadocは見たか】
【質問事項】
【エラー内容】
【エラーの経緯】
【回答期限】
【その他自由記入】

3 :デフォルトの名無しさん:2016/06/17(金) 19:29:17.32 ID:22VBy3os.net
age

4 :デフォルトの名無しさん:2016/06/18(土) 10:22:12.25 ID:af2C6Gfp.net
>>1


5 :デフォルトの名無しさん:2016/06/18(土) 17:24:13.78 ID:7yDXVLRa.net
前スレ>>998
unkoの丸括弧なくね?

6 :デフォルトの名無しさん:2016/06/18(土) 17:35:35.50 ID:pG9pCEms.net
>>5
ミスった…
割とよくあるけど

7 :デフォルトの名無しさん:2016/06/18(土) 20:26:48.86 ID:eMmy59f1.net
int[] arr1 = new int[] {3, 4, 5};
int[] arr2;
arr2 = arr1;
arr2[0] = 999;
System.out.println(arr1[0]);
これで999が表示されることを発見しました。
Java歴4日目です。
arr1, arr2は配列の先頭アドレスを保持する「ポインタ」なんですね。
C言語のポインタよりは不自由っぽいですけど。

8 :デフォルトの名無しさん:2016/06/18(土) 20:34:16.19 ID:R/A4TY9p.net
C言語の知識をベースにするなら
参照型(Objectの子クラス,配列含む)は概ねポインタだと思っていいよ
ポインタ演算は出来ないしC++の参照の方が近いけど

9 :デフォルトの名無しさん:2016/06/18(土) 20:44:52.90 ID:eMmy59f1.net
「参照型」っていうんですね。覚えておきます。

10 :デフォルトの名無しさん:2016/06/18(土) 20:49:15.20 ID:eMmy59f1.net
今日で文法の勉強を終わらして明日から本題のオブジェクト指向に
入ります。C++で挫折してるのでJavaで再挑戦です。
分からなくなったらまたお世話になります。

11 :デフォルトの名無しさん:2016/06/18(土) 22:04:32.56 ID:pG9pCEms.net
参照型と値型を教えるには、エクセルを使って説明するのが一番よさそう
実践したことないけど

12 :デフォルトの名無しさん:2016/06/18(土) 22:05:46.86 ID:w9zLlF5g.net
特に切り分けはないけど初心者なら初心者用のスレがあるからそっちのがいいかも
Java入門・初心者質問スレ [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462997913/

13 :デフォルトの名無しさん:2016/06/19(日) 11:24:42.18 ID:gzsVn/8O.net
>>7
そうそう。考え方はポインタでも良い。
実際には配列は「配列クラス」というクラスだ。配列変数はそのクラスのインスタンスを参照している(そこへのポインタを持っている)。
どこも参照していない状態では null になる。

配列そのものがクラスになっていて内部が隠蔽されているため C みたいに *(a + 1) のようなアクセスができない。
char[] x = new char[] {'a', 'b'}; とやった後で x[1] はアクセスできても *(x + 1) のような表現でのアクセスは不可能。
x + 1 の計算そのものができないし、できたとしてもそれが 'b' を指していない。

14 :デフォルトの名無しさん:2016/06/19(日) 11:32:37.02 ID:pXg+pklT.net
見方を変えれば
Hoge[] h=new Hoge[foo];

Array<Hoge> h=new Array<>(foo);
とも見れるよね

15 :デフォルトの名無しさん:2016/06/19(日) 15:17:31.53 ID:kW3tl/5G.net
>>13
間違い。配列は配列型であってクラスではない。
Javaの言語仕様でも区別されている。
Javaでインデックス構文が使えるのは配列だけだろ?
その時点で完全に特別扱いされてるんだから、*(x + 1)と書けたってそんなにおかしくはない。
単にそういう構文が用意されてないだけ。

16 :デフォルトの名無しさん:2016/06/19(日) 15:25:39.49 ID:qvkTbkKV.net
Javaの配列って int x[]; みたいな明らかに意味的におかしい書き方できたりするし
Javaはもう古い言語だから必ずしも全てが論理的に説明できるとは限らない

17 :デフォルトの名無しさん:2016/06/19(日) 15:42:58.19 ID:pXg+pklT.net
そんなキモイ書き方出来たのかよ

18 :デフォルトの名無しさん:2016/06/19(日) 16:07:21.98 ID:HHDGaKE5.net
int[] x, y[], z[][];
もっときもす

19 :デフォルトの名無しさん:2016/06/19(日) 16:41:29.03 ID:ao4WLgfX.net
>>16
それは C/C++ 流の書き方,というだけの話だ

20 :デフォルトの名無しさん:2016/06/19(日) 23:09:21.93 ID:KT7oMTh2.net
JSPサーブレット→JSFページにpostで値を渡したいのですが出来ません。
こういうのは無理ですか?

21 :デフォルトの名無しさん:2016/06/20(月) 00:18:58.04 ID:dS/90SDy.net
コントローラー間で受け渡したいという質問?
てかJSFってコントローラー有るのか?一応MVCっぽいが

HttpServletRequest使って受け側もPOSTにすりゃ取れるんじゃ無い?
そもそもHttpServletRequest使えるのか?

もしくは使ってるフレームワークのフラッシュスコープで渡せる奴があるかも

あとはセッション使うか

22 :デフォルトの名無しさん:2016/06/20(月) 03:27:40.09 ID:mc52EJgE.net
Javaのローカル変数の命名規則はキャメルケース?スネークケース?

23 :デフォルトの名無しさん:2016/06/20(月) 07:01:27.24 ID:txdPwvGv.net
ローカル変数は小文字で1wordが基本でしょ
長い名前を付けないといけないようなわかりにくい記述や長いメソッドを避ける方が大事
どうしても長い名前を付ける場合はlower camel case

24 :デフォルトの名無しさん:2016/06/20(月) 08:48:06.74 ID:ywirnqR1.net
>>16
それはC言語からの移行者を意識したせいだが、いまとなっては弊害。

25 :デフォルトの名無しさん:2016/06/20(月) 14:35:38.36 ID:qR6j9JAZ.net
どうしてもこいつのメモリを今開放したい
という場合でもGCに頼らないといけないの?
deleteとかfree()みたいのは無いの?

26 :デフォルトの名無しさん:2016/06/20(月) 16:00:48.85 ID:qdxyzVyO.net
ないです
どうしても必要ならJNI経由のネイティブコードで
NewObject/DeleteLocalRef

27 :デフォルトの名無しさん:2016/06/20(月) 16:58:55.93 ID:3qaGWFpe.net
>>26
名前からして、Javaコード同様参照切れるだけじゃないの?

28 :デフォルトの名無しさん:2016/06/20(月) 18:07:23.85 ID:ZgRMnTrT.net
>>27
そう。たしかJNIのネイティブ側で確保したJavaオブジェクトの参照管理用メソッドだったはず。

29 :デフォルトの名無しさん:2016/06/20(月) 18:31:46.99 ID:qdxyzVyO.net
ごめんその通りです

30 :デフォルトの名無しさん:2016/06/21(火) 00:57:24.06 ID:JXRv7e5L.net
JNAが便利。

31 :デフォルトの名無しさん:2016/06/22(水) 19:58:49.09 ID:GQMck/3J.net
jerseyクライアントの、oauthで
リクエストトークン取得できんのだが。
アクセストークンまで一気に取ってきてしまう。
プロバイダークラスでgetrequest tokenなるものは
あるんだが使い方わからん

32 :デフォルトの名無しさん:2016/06/22(水) 20:15:24.50 ID:rOCK/JeF.net
はぁそうですか
次の方どうぞ

33 :デフォルトの名無しさん:2016/06/22(水) 21:23:19.57 ID:3HXVs3rC.net
>>32
よぉ無脳

34 :デフォルトの名無しさん:2016/06/22(水) 21:27:56.70 ID:29pCwcIn.net
ID変えてまで必死だな
お前のチラ裏じゃねぇんだよ
聞き方があるだろ

35 :デフォルトの名無しさん:2016/06/22(水) 21:27:58.51 ID:br2p71t+.net
>>32は意味のないチラ裏の呟きレスに対して適切なレスだな

36 :デフォルトの名無しさん:2016/06/22(水) 21:31:36.78 ID:br2p71t+.net
内容が被ったけどまさに「チラ裏」なんだから
同じこと書き込む人が居て当然か。
「聞き方があるだろ」は俺も思った。

37 :デフォルトの名無しさん:2016/06/22(水) 21:51:22.95 ID:29pCwcIn.net
それな
雑談板のノリで書き込むなと思うわ

38 :デフォルトの名無しさん:2016/06/23(木) 00:13:20.42 ID:q9zWphtB.net
行き詰ってしまったので、教えてください。
JSTLを使って以下のようにAccessのAAAテーブルからの
データを抽出をするよう、JSPファイルに記述しました。

<sql:setDataSource
var=

39 :デフォルトの名無しさん:2016/06/23(木) 00:15:26.57 ID:q9zWphtB.net
すみません、途中できれてしまいました。

<sql:setDataSource
var="db"
dataSource="jdbc:ucanaccess://C:\AAA.accdb" />

<sql:query var="result" dataSource="${db}">
SELECT * FROM AAA
</sql:query>
とやったところ、「DataSource が無効であるため、Connection を取得できません」と
いうエラーが発生します。

DataSourceにAccessファイルの内容がうまく設定されていない
為であると思われるのですが、解決方法がわかりません。
ucanaccessを使用したdataSourceへの登録はどのようにすればよいのでしょうか。

40 :デフォルトの名無しさん:2016/06/23(木) 12:47:51.88 ID:MZldXDvm.net
使ったことないから回答というわけじゃないけど
C:\ → C:/ にしてみたら?

41 :デフォルトの名無しさん:2016/06/23(木) 21:38:34.83 ID:q9zWphtB.net
>>40
ありがとうございます。
やってみましたが、同じエラーが発生します。
dataSourceの設定がうまくいかないことが原因なのはわかるんですが、
どこを直せばいいのかさっぱりで、困ってます。

42 :デフォルトの名無しさん:2016/06/23(木) 22:59:50.85 ID:SegCYmE0.net
JDBCのドライバーが入っていなけりゃ
接続は出来ん罠。

43 :デフォルトの名無しさん:2016/06/23(木) 23:22:26.75 ID:ZoKu0/Rn.net
Windowsはめんどいな

44 :デフォルトの名無しさん:2016/06/24(金) 22:27:03.49 ID:4tbWH7fs.net
>>42
出来ました。ありがとうございました。

45 :デフォルトの名無しさん:2016/06/25(土) 08:18:56.97 ID:hDVXP+SP.net
御後がよろしいようで、テケテンテン

46 :デフォルトの名無しさん:2016/06/25(土) 19:53:53.71 ID:z1jcthXl.net
>>44
ワロタ

47 :デフォルトの名無しさん:2016/06/26(日) 09:54:52.90 ID:a1bjCMMP.net
JDBCを知らんやつがいるとは

48 :デフォルトの名無しさん:2016/06/26(日) 21:42:40.30 ID:X6yBK2rP.net
JDBCで長いクエリ書くときってどうしてますか?
ヒアドキュメントがないので、+連結で複数行で書くか、1行で書くか迷っています

49 :デフォルトの名無しさん:2016/06/26(日) 21:55:54.84 ID:X6yBK2rP.net
あともう一つ
PreparedStatementは事前コンパイルが行われるので高速みたいですが、複数スレッド参照するのは危険ですよね?
スレッドセーフな事前コンパイルオブジェクトはありますか?

50 :デフォルトの名無しさん:2016/06/26(日) 22:15:14.70 ID:G4opLbcb.net
PreparedStatementのインスタンスがスレッドセーフだったところで
パラメータを設定し始めてからexecuteを呼ぶまでは単一のスレッドが占有していなければならないのだから
あまり意味がないと思いますが

51 :デフォルトの名無しさん:2016/06/26(日) 22:18:24.91 ID:X6yBK2rP.net
>>50
例えば不変なコンパイル済みSQL文を保存するクラスHogeがあって、それを様々なスレッドから使いまわすとか
new PreparedStatement(Hoge)みたいな感じでそれをもとにPreparedStatementをスレッドごとに作ればコンパイルが一回で済むんじゃないかと思って

52 :デフォルトの名無しさん:2016/06/26(日) 23:15:55.55 ID:vB/OzXR1.net
>>49
そもそもコネクション

53 :デフォルトの名無しさん:2016/06/26(日) 23:28:50.73 ID:X6yBK2rP.net
>>52
あっコネクションから作るんでしたか・・・
なら無理ですね

54 :デフォルトの名無しさん:2016/06/27(月) 01:32:08.01 ID:NCV21ZBQ.net
C/C++なら
"select "
"*"
" from "
"table1;"
とか書いたら全部そのまま連結されて1つの文字列定数になるけど
Javaではどうなんだっけ

55 :デフォルトの名無しさん:2016/06/27(月) 01:38:19.89 ID:+vyCfN5E.net
>>48
動的SQLなの?

56 :デフォルトの名無しさん:2016/06/27(月) 01:52:45.13 ID:DAKyHZFK.net
>>54
間に + が必要。

57 :デフォルトの名無しさん:2016/06/27(月) 06:16:01.82 ID:pen+Jb1T.net
>>55
JDBCは全部そうだろ
もしくはSQLJ使うかじゃね?

58 :デフォルトの名無しさん:2016/06/27(月) 08:42:27.72 ID:+vyCfN5E.net
>>57
動的をそういう意味では言ってない。

59 :デフォルトの名無しさん:2016/06/27(月) 10:03:35.37 ID:AA3DZInc.net
webスクレイピングをやってるのですが、
<div class="main">~</div>
みたいなタグの開始から終了まで取得するプラグインとかって何かありますか?

60 :デフォルトの名無しさん:2016/06/27(月) 10:44:01.98 ID:9t0yJm0+.net
プラグインって何かのフレームワーク使ってるの?
それともライブラリのことをプラグインって呼ぶ文化圏から来た人ってだけ?
後者ならjsoupとか使えばいいよ
前者ならフレームワーク名が分からんとなんとも言えん

61 :デフォルトの名無しさん:2016/06/27(月) 11:33:23.90 ID:zblib9mt.net
WPとかから来た人ならそれこそスクリプトてやればいいのに
Javaでスクレイピングとか悪夢だろ

62 :デフォルトの名無しさん:2016/06/27(月) 11:48:42.50 ID:AZYkKPQ8.net
>>48
そんなの + 連結でいいじゃん。定数ならコンパイラーが繋げてコードに埋め込んでくれるよ。実行時には連結しない。

63 :デフォルトの名無しさん:2016/06/27(月) 14:27:50.20 ID:c98wCF/1.net
どうしてもJavaでやるならJSoupとか使えば良いかと

64 :デフォルトの名無しさん:2016/06/27(月) 15:48:06.29 ID:EYEfo5FX.net
>>62
定数はコンパイル時に計算するのは知っていますが、読みにくくないですか?
@"hoge
foo
fuga
bar"
みたいな事出来れば読みやすいのに

65 :デフォルトの名無しさん:2016/06/27(月) 16:45:03.82 ID:+vyCfN5E.net
>>64
SQLを外部のファイルにするとかの発想がないのかよ。

66 :デフォルトの名無しさん:2016/06/27(月) 17:48:39.32 ID:egR4I6js.net
>>64
コンパイル時なんだっけ?
クラルロード時のclinitとかで分割された文字列と+で結合された文字列がそれぞれコンスタントプールに登録されるんじゃないかな?

67 :デフォルトの名無しさん:2016/06/27(月) 17:54:28.50 ID:mBcQvuRd.net
>>64
それが嫌なら他言語でやれって話になる

68 :デフォルトの名無しさん:2016/06/27(月) 18:15:29.43 ID:5ULDP5gO.net
嫌だけど下っ端だから文句言えないんですよ察しろハゲチャビン

69 :デフォルトの名無しさん:2016/06/27(月) 18:19:56.20 ID:T1BupnBB.net
まだそこまでハゲてねえし!

70 :デフォルトの名無しさん:2016/06/27(月) 18:32:26.45 ID:gnOE71DV.net
O/Rマッパーを使わないのか?

それか、Groovyで作って、Javaのクラスファイルに変換するとか

71 :デフォルトの名無しさん:2016/06/27(月) 19:00:25.38 ID:kyOx4TVT.net
>>70
ORMはすでに時代遅れ

72 :デフォルトの名無しさん:2016/06/27(月) 19:13:50.32 ID:LU7JBGHJ.net
>>71
じゃあ何使うの?

73 :デフォルトの名無しさん:2016/06/27(月) 19:52:49.14 ID:+vyCfN5E.net
>>72
RDBの知識がなさすぎる、

74 :デフォルトの名無しさん:2016/06/27(月) 20:39:28.53 ID:seVcIY3l.net
Javaスレでハゲの話すんなハゲ

75 :デフォルトの名無しさん:2016/06/27(月) 20:47:54.34 ID:rJHi4b7y.net
最近のQiitaといい、相変わらずDB周りは基地外が湧きやすいな

76 :デフォルトの名無しさん:2016/06/27(月) 21:31:43.04 ID:c4D/QExD.net
>>73
いいから何使うか答えろよ。答えられないんだろ?w

77 :デフォルトの名無しさん:2016/06/27(月) 21:34:17.63 ID:sopyMtUN.net
あれ見てると確かにSQLは人間を狂わせて有害としか言いようがない

78 :デフォルトの名無しさん:2016/06/27(月) 21:36:02.98 ID:sopyMtUN.net
でもlispほどではないかな…
毛の壁ほどではない…

79 :デフォルトの名無しさん:2016/06/27(月) 21:39:59.12 ID:T1BupnBB.net
lispは何かいけないのか?

80 :デフォルトの名無しさん:2016/06/27(月) 21:40:45.68 ID:3+B+zDkV.net
>>78
           |
            |  彡⌒ミ
           \ (´・ω・`) また髪の話してる・・・
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

81 :デフォルトの名無しさん:2016/06/27(月) 22:25:32.49 ID:EYEfo5FX.net
NetBeansの自動補充がウザいです
String hoge;
と打とうとすると、"hoge"まで打ったところで、"hogeString"という予測補充が出てきて、";"を入力したら"String hogeString;"と勝手になってしまいます
何とか出来ませんか?

82 :デフォルトの名無しさん:2016/06/27(月) 22:26:26.57 ID:idYH0U3Q.net
NetBeans Part7
http://echo.2ch.net/test/read.cgi/tech/1380184607/

83 :デフォルトの名無しさん:2016/06/27(月) 22:28:27.06 ID:EYEfo5FX.net
NBスレで質問するので>>81は取り消します

84 :デフォルトの名無しさん:2016/06/27(月) 22:57:38.98 ID:LA+slQdh.net
SQLはStringBufferでappendする

85 :デフォルトの名無しさん:2016/06/27(月) 23:01:11.27 ID:NjjHozMJ.net
そしてSQLインジェクション脆弱性を作り込むところまでがドカタのテンプレ

86 :デフォルトの名無しさん:2016/06/27(月) 23:02:28.76 ID:NCV21ZBQ.net
SQLはPowerBuilderで

87 :デフォルトの名無しさん:2016/06/28(火) 03:37:43.10 ID:21w86nCr.net
String str = "abcdefg";

a~dまでの文字を消す方法ってありますか?
理想: str = "defg";
になればいいんですが

88 :デフォルトの名無しさん:2016/06/28(火) 03:56:34.70 ID:c2QodO+5.net
質問が意味不明だが
str.replaceAll("[a-d]", "");
str.replaceAll("^abcd", "");

89 :デフォルトの名無しさん:2016/06/28(火) 06:20:28.96 ID:v7+BHrPG.net
str = str.substring(3);

90 :デフォルトの名無しさん:2016/06/28(火) 07:39:22.55 ID:wXcaWvkq.net
>>79
かっこだらけで目がチカチカするところ

91 :デフォルトの名無しさん:2016/06/28(火) 07:41:35.47 ID:c2QodO+5.net
それはおかしい
むしろ括弧がある方が自然なのだ
髪の無いハゲが異常なように

92 :デフォルトの名無しさん:2016/06/28(火) 08:34:02.72 ID:eESar3RA.net
>>91
           |
            |  彡⌒ミ
           \((  ;)) もう髪の話はよすんだ・・・
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

93 :デフォルトの名無しさん:2016/06/28(火) 10:25:24.02 ID:QOGTlP/c.net
ハゲも括弧だらけもカッコ悪いよ。

94 :デフォルトの名無しさん:2016/06/28(火) 11:45:24.49 ID:oSSei7yC.net
>>93
【審議拒否】
   ♪
♪     ∧ ∧ ♪
  ♪ ∧ ∧ ・ω・)
`∧ ∧ ・ω・)  )っ
( ・ω・)  )っ_フ
(っ )っ_フ(/彡 ♪
(__フ(/彡  ∧∧
 (/彡  ∧∧(  )
   ∧∧(  )  )
  (  )  ) Οノ
♪ (  ) Οノ ヽ)
  ⊂_Οノ ヽ)
 ミ ヽ)   ♪

95 :デフォルトの名無しさん:2016/06/28(火) 18:01:33.73 ID:90410Hmw.net
        ♪      .彡⌒ミ            ♪
♪          .彡⌒ミ ・ω・)
         .彡⌒ミ ・ω・)   )
    ♪.彡⌒ミ ・ω・)   )っ__フ   ♪    .彡⌒ミ
  彡⌒ミ. ・ω・)   )っ__フ(_/ 彡    .彡⌒ミ.    )
 ( ・ω・)   )っ__フ(_/彡    .彡⌒ミ    )   )
 (っ  )っ__フ(_/彡    彡⌒ミ..    )   ) Οノ
  ( __フ(_/彡   彡⌒ミ    )   ) Οノ ヽ_)
   (_/彡      (    )   ) Οノ 'ヽ_)
            (    )  Οノ 'ヽ_)
           (ゝ. Οノ 'ヽ_)      ♪
     ♪    ミ  ヽ_

96 :デフォルトの名無しさん:2016/06/28(火) 20:43:46.32 ID:203MKP8O.net
int i=1_1__1________________________________________1+2_______________14_____2124_5_32;

97 :デフォルトの名無しさん:2016/06/28(火) 20:45:27.18 ID:gih/phK7.net
あのハゲほしい
あのハゲじゃわからん

98 :デフォルトの名無しさん:2016/06/28(火) 20:54:08.98 ID:vVE9Ckmd.net
減毛しましょ
そうしましょ

99 :デフォルトの名無しさん:2016/06/28(火) 20:55:16.61 ID:842o8d8c.net
>>87
eの位置までカーソルを移動してBSキーを4回押す

100 :デフォルトの名無しさん:2016/06/28(火) 21:06:54.00 ID:vVE9Ckmd.net
JDBCのConnectionって1リクエストで一つにするべきですかね?

101 :デフォルトの名無しさん:2016/06/28(火) 21:18:12.82 ID:842o8d8c.net
なぜ?

102 :デフォルトの名無しさん:2016/06/28(火) 21:19:48.07 ID:vVE9Ckmd.net
Thread staticみたいなのがあればいいのですが
どうコネクションを共有したらいいか分からなくて
PHPならstaticでよかったのですが

103 :デフォルトの名無しさん:2016/06/28(火) 21:23:23.89 ID:BMmKwpPY.net
>>102
コネクションプール

104 :デフォルトの名無しさん:2016/06/30(木) 19:09:20.28 ID:+KIY1MLw.net
javaサーブレットでWEBアプリを作っているんですが、ソケット通信ってどうやるんですか?
MainメソッドでServerSocketインスタンスを作って待ち受けるみたいなのしかないんですが、サーブレットみたいな書き方では出来ないんでしょうか?

105 :デフォルトの名無しさん:2016/06/30(木) 19:28:00.72 ID:21ramR5Z.net
>>104
サーブレットを普通に書けばHTTPのリクエストとレスポンスがソケット通信できます

106 :デフォルトの名無しさん:2016/06/30(木) 19:43:33.41 ID:7Qj6Kvn/.net
WebSocketと勘違いしてんじゃねーの

107 :デフォルトの名無しさん:2016/06/30(木) 22:45:16.40 ID:WKLq6yfE.net
馬鹿なんだろ

108 :デフォルトの名無しさん:2016/07/01(金) 02:41:57.24 ID:fBj5CWQI.net
>>104
もうちょっと具体的に何やりたいか書け

109 :デフォルトの名無しさん:2016/07/01(金) 03:20:37.36 ID:XU5YMvRC.net
HTTPクライアントとは別の場所に別途コネクション持ちたいって事?

110 :デフォルトの名無しさん:2016/07/01(金) 03:40:04.52 ID:KHjDKgBG.net
JSPはHTMLタグ中にJavaのソースが書き込まれていますが、HTMLを表示する度にコンパイルされているんですか?

111 :デフォルトの名無しさん:2016/07/01(金) 03:57:14.51 ID:XU5YMvRC.net
JSPの事は全然知らんけど、サーバースクリプトって大体初回起動時にコンパイルして
その結果をどこぞかに保存しとくもんじゃないの?

112 :デフォルトの名無しさん:2016/07/01(金) 08:35:15.56 ID:fBj5CWQI.net
毎回やってたら遅くてしょうがないと思うが

113 :デフォルトの名無しさん:2016/07/01(金) 10:55:35.36 ID:UVPGYY36.net
今からJSP勉強するの?
Java Dayで、JSPは将来廃止されるって講演者が言ってたが。

114 :デフォルトの名無しさん:2016/07/01(金) 11:08:09.23 ID:CKWFVnx8.net
>>113
将来的にはいまのJava EEの仕様を変えたいからでしょ?

Spring等の有名なフレームワークだってJSPを使ってるんだから、そうとう先のことだな。

115 :デフォルトの名無しさん:2016/07/01(金) 11:12:11.82 ID:SVWZVKVF.net
Spring自体が時代遅れな気がする…

だが、それを言ってしまうと
そもそもJavaが時代遅れ過ぎるって話になってしまうのだが…

116 :デフォルトの名無しさん:2016/07/01(金) 11:15:35.90 ID:CKWFVnx8.net
>>115
そうだよ、Java自体が無駄に冗長で古い。

とにかくJavaで無理やりやろうとしてJava EEがめちゃくちゃになってる。

117 :デフォルトの名無しさん:2016/07/01(金) 11:18:13.89 ID:0AfJO5OC.net
日本では50年経っても動いてるから安心しろ

118 :デフォルトの名無しさん:2016/07/01(金) 12:00:23.22 ID:U95fC87K.net
>>114
SpringでJSPは実質使われないだろ
thymeleafがデファクトじゃない

119 :デフォルトの名無しさん:2016/07/01(金) 12:20:41.93 ID:9rohvPAn.net
>>111-112
なるほど、初回の結果が保存されてるんですね
JavaでJavaScriptみたいに一々処理してたら変だなと思いました

>>113
webアプリ作りたいのでサーブレットから順に勉強してます

120 :デフォルトの名無しさん:2016/07/01(金) 12:22:21.37 ID:CKWFVnx8.net
>>118
どっちにしろあまり問題の解決になってない。

121 :デフォルトの名無しさん:2016/07/01(金) 12:23:51.30 ID:0AfJO5OC.net
謙虚な原元監督と違って知らなかったとは言わない
口が裂けても言えない

122 :デフォルトの名無しさん:2016/07/01(金) 12:38:41.48 ID:CKWFVnx8.net
>>118
自分の職場ではそうだろうけど、基本はJSPだよ。

123 :デフォルトの名無しさん:2016/07/01(金) 12:41:41.73 ID:CKWFVnx8.net
Java EEの悪いところはいろんなものを作っては捨て、作っては捨て標準がなく、構成が自由すぎること。

124 :デフォルトの名無しさん:2016/07/01(金) 12:59:44.86 ID:IeMidVZS.net
「平日なのに元気ですねえ。その元気の秘訣は?」
「掲示板で調子こいた発言をして、突っ込みを食らうことですね
頭に血が上って、元気になれますよ」

125 :デフォルトの名無しさん:2016/07/01(金) 13:04:40.50 ID:CKWFVnx8.net
>>124
元気ではないが無職のため

126 :デフォルトの名無しさん:2016/07/01(金) 13:08:20.20 ID:SE0g3mIr.net
2chやってると病状が悪化するぞ

127 :デフォルトの名無しさん:2016/07/01(金) 13:12:57.10 ID:CKWFVnx8.net
>>126
病気ではないが。

これからオナニーして寝る。

128 :デフォルトの名無しさん:2016/07/01(金) 20:10:06.48 ID:KfAFY3uH.net
String regex = "(^|\\r\\n)(\\d+)($|\\r\\n)";
この正規表現で行頭(数字だけの行)がマッチしないのですがなぜでしょうか?

129 :デフォルトの名無しさん:2016/07/01(金) 20:24:03.27 ID:6RfZi5Y6.net
"^\\d+$"じゃだめなの?

130 :デフォルトの名無しさん:2016/07/01(金) 21:24:17.30 ID:l06M3c9j.net
java全くわかんないのにjavaビルドしなきゃいけなくなって困ってるんだけど
ここで相談してもおけ?氏ね?

131 :デフォルトの名無しさん:2016/07/01(金) 21:30:03.44 ID:6RfZi5Y6.net
内容によってはこっちの方が良いかも
http://echo.2ch.net/test/read.cgi/tech/1462997913/

132 :デフォルトの名無しさん:2016/07/01(金) 21:31:56.69 ID:l06M3c9j.net
>>131
サンクス

そっちぽい。
初心者スレ見逃してました。
行ってみま

133 :デフォルトの名無しさん:2016/07/01(金) 23:17:45.36 ID:6RfZi5Y6.net
>>132
酒飲んでんじゃねえよw

134 :デフォルトの名無しさん:2016/07/02(土) 22:29:08.09 ID:tSaRPD1l.net
IDEスレに行けと言われたのでIDEスレに行ったのですが誰も来てくれないので助けて下さい

194 :デフォルトの名無しさん :2016/06/27(月) 23:06:42.31 ID:EYEfo5FX
NetBeansの自動補充がウザいです
String hoge;
と打とうとすると、"hoge"まで打ったところで、"hogeString"という予測補充が出てきて、";"を入力したら"String hogeString;"と勝手になってしまいます
何とか出来ませんか?

135 :デフォルトの名無しさん:2016/07/03(日) 18:17:26.84 ID:sJkODTKV.net
IDEらっきょ

136 :デフォルトの名無しさん:2016/07/03(日) 20:30:41.40 ID:Lq5DuTjn.net
>>134
コード補完使いたくない時はescapeキーで補完ウィンドウ閉じればいいんじゃないの?

137 :デフォルトの名無しさん:2016/07/03(日) 22:07:22.32 ID:S5DfoGdP.net
>>136
毎回ですか?
hogeTypeのTypeのみ無効にしたいのですが

138 :デフォルトの名無しさん:2016/07/03(日) 23:02:49.43 ID:S5DfoGdP.net
あとjavaってエイリアスないんですか?
名前被りの完全修飾名指定がとても面倒です
public com.example.hoge.Foo Hoge(){
 return new com.example.hoge.Foo();
}
みたいな事になると\入りの正規表現"\\\\"以上にキモイです

139 :デフォルトの名無しさん:2016/07/03(日) 23:05:51.15 ID:tt33zjuk.net
>>138
そもそもなんでディレクトリ名までかぶるのか?

140 :デフォルトの名無しさん:2016/07/03(日) 23:06:20.78 ID:S5DfoGdP.net
あとjavaってreplaceAllみたいな正規表現メソッド多すぎませんか?
このようなメソッドの非正規バージョンないんでしょうか?Stringクラスの文字列操作関連正規が多すぎると思います
正規は遅いので非正規バージョンが欲しいです

141 :デフォルトの名無しさん:2016/07/03(日) 23:07:26.57 ID:tt33zjuk.net
importを知らないとかそんなレベル?

142 :デフォルトの名無しさん:2016/07/03(日) 23:08:13.62 ID:tt33zjuk.net
>>140
ただのキチガイ?

143 :デフォルトの名無しさん:2016/07/03(日) 23:10:15.42 ID:S5DfoGdP.net
>>141
いやいやいやいや
importしてもクラス名被ったら色々面倒やん
例えばjava.sql.Dateとjava.util.Dateを1ファイルで同時に使おうとすると全部完全修飾名を使わないといけなくなる
だから例えば
java.sql.Date as SQLDate;
みたいな事が出来れば、完全修飾名で書かないでいいから楽になる

144 :デフォルトの名無しさん:2016/07/03(日) 23:13:51.76 ID:S5DfoGdP.net
C#はエイリアスもあるし、@リテアルあるから\入り正規表現・ファイル名指定etc...も楽だし、非正規メソッドもある

145 :デフォルトの名無しさん:2016/07/03(日) 23:28:15.44 ID:Zxwt96wB.net
disりたかっただけ

146 :デフォルトの名無しさん:2016/07/03(日) 23:34:38.41 ID:S5DfoGdP.net
>>145
そうじゃなくて、結局エイリアスみたいなのはないの?
javaerはこういう時全部真面目に完全修飾名で書いてる?

147 :デフォルトの名無しさん:2016/07/03(日) 23:52:05.71 ID:BbdX03Na.net
Groovyでは、import as で、クラスに別名を付けられる

148 :デフォルトの名無しさん:2016/07/03(日) 23:56:24.46 ID:tt33zjuk.net
>>143
むしろ完全修飾の方が分かりやすいけどな。

大量のimport文が書かれていると、どのクラスなのか分かりにくい。

149 :デフォルトの名無しさん:2016/07/03(日) 23:57:41.50 ID:qk7lGSjH.net
>>148
できるかできないかを聞かれてるんじゃないの?

150 :デフォルトの名無しさん:2016/07/04(月) 00:02:08.66 ID:iklULqqD.net
>>148
まだjava標準APIは短いほうだからマシだけど、ドメイン名からのパッケージは長すぎる
せめて、com.example.hoge.Fooって言うクラスなら
hoge.Fooって言う別名つけたい
これなら分かりにくくなることも少ないだろうし

151 :デフォルトの名無しさん:2016/07/04(月) 00:04:46.80 ID:k2oVIHK0.net
>>150
自分でラッピングしてしまえば?

152 :デフォルトの名無しさん:2016/07/04(月) 00:06:12.33 ID:iklULqqD.net
>>151
空の継承でか
つまりasみたいな簡単エイリアスはないって事でOK?
この感じだとなさそうだけど

153 :デフォルトの名無しさん:2016/07/04(月) 00:07:40.48 ID:ZgWk5uF3.net
>>151
できるかできないかを聞かれてるんじゃないの?

154 :デフォルトの名無しさん:2016/07/04(月) 00:15:12.04 ID:nGbZrq1o.net
eclipseだと名前被ってたら勝手に完全修飾名にしてくれるからどうでもいいわ

155 :デフォルトの名無しさん:2016/07/04(月) 00:16:10.16 ID:iklULqqD.net
>>154
NetBeansよりエクリプスおすすめ?
皆どっち使ってるの?

156 :デフォルトの名無しさん:2016/07/04(月) 00:17:06.30 ID:iklULqqD.net
追記:GUIエディタ使う予定なし

157 :デフォルトの名無しさん:2016/07/04(月) 02:04:57.17 ID:oVEQVDtG.net
俺Eclipseしか知らない

158 :デフォルトの名無しさん:2016/07/04(月) 03:15:06.68 ID:Tw9ula4I.net
できるかできないかを聞かれてるんだろ?

できないよ
絶望したか?
さあ死ね
すぐ死ね
骨も残さず朽ちて死ね

159 :デフォルトの名無しさん:2016/07/04(月) 09:02:34.40 ID:fBTRdjFn.net
完全修飾名使うのなんて業務で毎日書いててもここ数年で1回あったかないかだからこまけーことは気にすんな。

160 :デフォルトの名無しさん:2016/07/04(月) 09:53:45.15 ID:FRFi5+0z.net
apache含む3rdパーティのクラスがjava標準クラスと同じ時って悪意や傲慢さを感じるけどしょうがない
でもIDEの補完機能使えば不便さもある程度軽減されるし実害は無いかな
>>155
NetBeans使った事ないけどeclipseよりIntelliJ IDEAがオススメ

161 :デフォルトの名無しさん:2016/07/04(月) 10:32:53.49 ID:L56lshZw.net
java.sql.Dateについては完全に名前の設計ミスだけど
他はそうそう被らないから大丈夫よ

162 :デフォルトの名無しさん:2016/07/04(月) 11:57:55.20 ID:c9KoTnVs.net
自動で追加してくれるからimportを書くことがないし
勝手に補完するので極論importなくても困らない
いまどきテガッキーとか自分でjavacしてるやつが居るわけない

163 :デフォルトの名無しさん:2016/07/04(月) 13:20:47.03 ID:sBDRpGAx.net
>>162
いまどきっていつ?

昔から統合開発環境はあるけど。

164 :デフォルトの名無しさん:2016/07/04(月) 15:08:30.33 ID:LCA6tFum.net
AWTのListは許さない

165 :デフォルトの名無しさん:2016/07/04(月) 15:53:24.83 ID:iklULqqD.net
>>158
絶望したよ

>>159
滅多にないのか

>>160
初めて聞くIDEだな
ちょっとggってみる

>>161
たまたまだったのね
今回は黙って全部書く

>>162
でもあまり長いと読みにくいから気になってた
今回は諦めるけど

>>163
昔のPCは重かったからIDEまともに使えなかったとかじゃない?
よく知らないけど

>>164
Dateより酷いよな
DateよりListの方が多用するのに

166 :デフォルトの名無しさん:2016/07/04(月) 17:19:44.60 ID:ihcXzko5.net
もうjava.awt.Listを使う事はめったにないから
import java.awt.*; みたいにオンデマンドインポートしたとかでなけりゃ特に害はないけどね。

167 :デフォルトの名無しさん:2016/07/04(月) 17:22:05.41 ID:sBDRpGAx.net
Javaは古いからいまの感覚だといろいろ欠点があるのよ。

168 :デフォルトの名無しさん:2016/07/04(月) 17:22:53.84 ID:iklULqqD.net
*インポートしか使わない
java.awt.List.*がどんなクラスかは知らんが面倒だった

169 :デフォルトの名無しさん:2016/07/04(月) 17:41:47.55 ID:ihcXzko5.net
10年前からインポートの管理はIDE任せだから
手書きでオンデマンドインポートしてるんでもなければ
まず引っかからないと思うがなぁ……

170 :デフォルトの名無しさん:2016/07/04(月) 18:16:37.84 ID:ztdIczDd.net
IDEだからこそ邪魔なんだよ
補完の候補に出てきやがる

171 :デフォルトの名無しさん:2016/07/04(月) 19:14:04.25 ID:+REy2Mkj.net
アホ

172 :デフォルトの名無しさん:2016/07/04(月) 19:19:29.98 ID:ihcXzko5.net
>>170
いまどきのIDEなら設定で補完対象から外せるようになってると思うが
少なくともEclipseではできるから他でもできるもんだとばかり。

173 :デフォルトの名無しさん:2016/07/04(月) 21:02:41.65 ID:/A9poSsO.net
>>164
何で?

174 :デフォルトの名無しさん:2016/07/04(月) 23:34:20.26 ID:xn2Up26Y.net
たとえば java.util.Listなんか数え切れないほど使うんだから今更java.awt.Listと間違えることなんかないと思うんだけど

175 :デフォルトの名無しさん:2016/07/05(火) 00:13:50.27 ID:mgy34Km5.net
>>174
AWTを使っていると紛らわしいんじゃないの?

176 :デフォルトの名無しさん:2016/07/05(火) 02:15:25.77 ID:Ou0Fw1LZ.net
awt使わなきゃいいんじゃないの?

177 :デフォルトの名無しさん:2016/07/05(火) 02:39:54.31 ID:SsnSZfTb.net
JLabelを用いて画像上(image 320×240)に
文字1を左上に
文字2を右下に表示するにはどうすればいいですか?

178 :デフォルトの名無しさん:2016/07/05(火) 23:45:44.81 ID:HWF7v1+f.net
Oracle、Java EEから手を引く可能性も
http://news.mynavi.jp/news/2016/07/04/261/

これマジなんか?

179 :デフォルトの名無しさん:2016/07/06(水) 08:35:05.72 ID:gBn7auOK.net
>>178
だってJava EEは迷走してるでしょうが。

180 :デフォルトの名無しさん:2016/07/06(水) 08:45:12.55 ID:YqQEkOqo.net
JavaEEが必要とされたことは過去に一度も無いと思うよ。現在は言わずもがな。

181 :デフォルトの名無しさん:2016/07/06(水) 08:59:01.75 ID:GjihuLkP.net
Java から手を引いてほしいな

182 :デフォルトの名無しさん:2016/07/06(水) 09:09:27.92 ID:gBn7auOK.net
>>181
誰が?

もしかしてオラクル社のこと?

筋違いのこと言ってる?

183 :デフォルトの名無しさん:2016/07/06(水) 09:22:18.25 ID:dLNMjsXn.net
ただの可能性だろ

184 :デフォルトの名無しさん:2016/07/06(水) 09:52:57.55 ID:aYInvTWe.net
>Oracle、Java EEから手を引く可能性も
>Java から手を引いてほしいな

185 :デフォルトの名無しさん:2016/07/06(水) 09:54:13.44 ID:gBn7auOK.net
可能性というかオラクル社のJava EEを作る可能性は高い。

ただしそのJava EEもあまりやる気がないので、移行者のために残すんだろうな。

Java EEみたいにまわりくどいものは誰だって捨てたいよ。

186 :デフォルトの名無しさん:2016/07/06(水) 13:39:41.01 ID:I/vkiXj+.net
JavaEEがフォローされなくなったら
Java系のwebフレームワークも使われなくなっていく可能性があるって事です?

187 :デフォルトの名無しさん:2016/07/06(水) 15:12:05.86 ID:RXjbxQL6.net
ee捨てるってことはweblogicも捨てるんですよね…

寺田くん!glassfishどころじゃないじゃん!
weblogicも駄目そうじゃん!

188 :デフォルトの名無しさん:2016/07/06(水) 15:29:56.19 ID:b9OWXtI8.net
寺田くんはMSに転職しましたw

189 :デフォルトの名無しさん:2016/07/06(水) 16:13:37.27 ID:aYInvTWe.net
だからそういう動きを見て憶測が流れたってことじゃん

190 :デフォルトの名無しさん:2016/07/06(水) 18:40:16.77 ID:gBn7auOK.net
オラクル社はOracle Application Server 10gもあっさり捨てたからな。

191 :デフォルトの名無しさん:2016/07/06(水) 19:42:09.82 ID:F/jjpGqC.net
売れてなかったからだろ

192 :デフォルトの名無しさん:2016/07/06(水) 23:40:03.52 ID:HyKnKjqBY
夜遅くにごめんなさい。
下記のプログラムにString型の引数 MOJIに"a"を入れて、10倍に返すメソッドを作りたいんだけど、MOJIの実引数をどこに書けばいいかわからんのです。

public static voidの下に実引数入れていいの?

http://ideone.com/nVQ3WO

193 :デフォルトの名無しさん:2016/07/07(木) 05:25:50.42 ID:SP2SOw1H.net
寺田君はpayara押し
https://yoshio3.com/2016/05/30/from-glassfish-2-payara/

194 :デフォルトの名無しさん:2016/07/07(木) 13:35:27.90 ID:nqkyMiPI.net
>>193
単語が並んでいるだけで、どこまでわかっているのか不明な人だな。

195 :デフォルトの名無しさん:2016/07/07(木) 14:23:27.77 ID:8n3EIzQ6.net
エバンジェリストの言葉に耳を傾けるべきではない
単語が違うだけでその実はただのセールスマンやねん

196 :デフォルトの名無しさん:2016/07/07(木) 14:26:09.20 ID:n4+80lrw.net
広報だからいいじゃん

197 :デフォルトの名無しさん:2016/07/07(木) 14:26:41.93 ID:Vwf/dNMw.net
spring-boot最強伝説の始まりや

198 :デフォルトの名無しさん:2016/07/07(木) 14:31:21.94 ID:n4+80lrw.net
JavaEE8はまだかなー、チンチン

199 :デフォルトの名無しさん:2016/07/08(金) 23:14:27.25 ID:oeqNGrjL.net
Oracle、Java EEから手を引く可能性も

http://s.news.mynavi.jp/news/2016/07/04/261/

200 :デフォルトの名無しさん:2016/07/08(金) 23:47:36.63 ID:oeqNGrjL.net
97 仕様書無しさん 2016/07/08(金) 23:45:00.35
Java EEの開発が停滞?--オラクルの不透明な態度にコミュニティーが不信感

http://japan.zdnet.com/article/35085410/

201 :デフォルトの名無しさん:2016/07/09(土) 05:41:51.84 ID:XnP9l2c2.net
以上、スレチでした

202 :デフォルトの名無しさん:2016/07/09(土) 16:35:23.42 ID:raD5+YUO.net
javaのバーチャルマシンを独自に作ったら
オラクルから著作権違反で訴えられますか?
java標準に準拠して独自に拡張するつもりはありませんけど。
ちゃんとライセンスを受けないと作れないんですかね?

203 :デフォルトの名無しさん:2016/07/09(土) 16:38:56.83 ID:I/ga01ar.net
>>202
はあ?

204 :デフォルトの名無しさん:2016/07/09(土) 16:51:15.96 ID:raD5+YUO.net
>>203
はあ?

205 :デフォルトの名無しさん:2016/07/09(土) 16:54:32.55 ID:zLjepEFC.net
その程度の知能で作れるわけがないのだから
天が落ちてくるような心配をする必要はなかろう

206 :デフォルトの名無しさん:2016/07/09(土) 17:02:44.79 ID:I/ga01ar.net
仕様どおりのJVMを作って使用するのがあたりまえのJavaの世界で何を言ってるの?

207 :デフォルトの名無しさん:2016/07/09(土) 19:45:25.19 ID:rl7Tc7kH.net
基板からPC作るの趣味の人もいるんだから個人が趣味で何やっても大丈夫だろう

むしろ個人でVMなんて作って有名になったら会社の方からスカウトが来そうw

208 :デフォルトの名無しさん:2016/07/09(土) 20:14:35.22 ID:raD5+YUO.net
馬鹿ばっか

209 :デフォルトの名無しさん:2016/07/09(土) 20:23:34.31 ID:dPEI8/bi.net
自己紹介乙

210 :デフォルトの名無しさん:2016/07/09(土) 20:43:42.78 ID:rl7Tc7kH.net
むしろなんでJVMを独自実装する必要性を感じるのかが知りたいな

趣味・学習以外の目的で

211 :デフォルトの名無しさん:2016/07/09(土) 20:57:01.45 ID:CG0sDuR4.net
AndroidのJavaVMは独自実装だよな

212 :デフォルトの名無しさん:2016/07/09(土) 22:02:52.72 ID:I/ga01ar.net
>>211
それが仕様にのっとっていないなからオラクル社からクレームがついている。

213 :デフォルトの名無しさん:2016/07/09(土) 22:56:02.65 ID:+eXrGRup.net
>>212
仕様に則ってないからじゃなくて、
Oracle神にお布施してJavaとして認めていただく正式なプロセスを踏んでないから

214 :デフォルトの名無しさん:2016/07/09(土) 22:58:16.13 ID:zLjepEFC.net
建て前は建て前だよな

215 :デフォルトの名無しさん:2016/07/09(土) 23:01:19.88 ID:I/ga01ar.net
>>213
それはGoogleがJavaもどきを作って使っているのが悪いのであって、オラクル社を悪く言うのは筋違い。

216 :デフォルトの名無しさん:2016/07/09(土) 23:38:45.19 ID:My2a4Ewi.net
Monoを認めるMSは有能

217 :デフォルトの名無しさん:2016/07/09(土) 23:55:09.74 ID:fotlBSyc.net
MIDPとかDoJaとかに比べたら遥かにまともなJavaなんだよなあ

218 :デフォルトの名無しさん:2016/07/11(月) 02:33:12.40 ID:QmGEIZzQ.net
JavaをGoogleに任せてしまったほうがよくね?
オラクルが握っていても誰も嬉しくないでしょ

219 :デフォルトの名無しさん:2016/07/11(月) 02:52:26.96 ID:ci5xiTk9.net
100%そんな未来は訪れないと理解している上で、
理想的にはApacheFoundationの所有物になって欲しい。
同意しない奴いないだろ。
Oracle側のステークホルダー以外。

220 :デフォルトの名無しさん:2016/07/11(月) 15:45:52.33 ID:j8SCljwM.net
>>218
馬鹿っぽい発言

221 :デフォルトの名無しさん:2016/07/11(月) 16:18:04.90 ID:PwCoVh/2.net
C#がもう少しマルチプラットフォームに積極的だったらjavaはとっくに消えてたと思う

222 :デフォルトの名無しさん:2016/07/11(月) 20:15:44.88 ID:BOCVQw3X.net
PL/I が COBOL を駆逐できなかったからそれはないと思う
世の中には新しい言語を覚えるのを異様に嫌う人がいっぱいいる

223 :デフォルトの名無しさん:2016/07/11(月) 21:43:21.41 ID:K+QqD/bm.net
>>220
すまんなw

224 :デフォルトの名無しさん:2016/07/11(月) 22:12:09.00 ID:ljyA2tXt.net
Googleは言語のセンス無いし、土方ワールドを全く理解してないから、
Googleが握ったりしたら無茶苦茶になるだろうな
まあ順当にいけばIBMだろ

225 :デフォルトの名無しさん:2016/07/11(月) 22:19:02.80 ID:RFLETvWG.net
ウルトラCでAmazonなんか面白いかもね
Java大好きな会社だしAWSでビジネス分野のノウハウも実績も申し分ない

226 :デフォルトの名無しさん:2016/07/11(月) 22:26:21.80 ID:K+QqD/bm.net
やっぱSunに戻るべきだな
Sunしかないよ

>>224
James Arthur Goslingはgooglenに移ったんだなぁ
などといいつつあっという間に退社してるもようw

227 :デフォルトの名無しさん:2016/07/11(月) 23:22:50.27 ID:xFg/06y6.net
この話題夢があって好き。
俺はIBMに一票。

228 :デフォルトの名無しさん:2016/07/11(月) 23:34:16.10 ID:nLBMaq1/.net
ソフト、WEB開発
Google>MS

言語、OSなど低レベル開発
Google<MS

ってイメージ
altJSもMSのTypeScriptの方が普及しているし
ただWEBは絶対Googleの方が強い。MS社員も検索エンジンGoogle使っているみたいだし

229 :デフォルトの名無しさん:2016/07/12(火) 00:39:40.17 ID:5+z5yBEJ.net
>>226
サン・マイクロシステムズという会社は存在しません。

230 :デフォルトの名無しさん:2016/07/12(火) 00:40:56.98 ID:5+z5yBEJ.net
GoogleはOSを作るつもりがもともとないからな。

理由は儲からないから。

231 :デフォルトの名無しさん:2016/07/12(火) 00:47:00.30 ID:UmLu+P69.net
>>202
Javaを名乗るにはコンパチビリティを保証する必要があって、Oracleから提供されTCKっていうテストツールキットを全件パスした上で、Javaのロゴ申請して受諾してもらえると初めてJVMと名乗っていい
JVMの仕様は公開されてるので作るのは問題ない、Javaと名乗らなければ公開するのも問題ない

232 :デフォルトの名無しさん:2016/07/12(火) 00:48:44.42 ID:UmLu+P69.net
>>217
それ、APIのセンスの話でしょ?
Androidの問題はコンパチビリティを損なったこと

233 :デフォルトの名無しさん:2016/07/12(火) 08:16:02.57 ID:5gnI1m0l.net
ウルトラCならMSだろ

234 :デフォルトの名無しさん:2016/07/12(火) 10:28:21.44 ID:FUzhHF3G.net
>>229
Oracle Americaに社名変更した後、Oracle本体に吸収されたんだっけ?

235 :デフォルトの名無しさん:2016/07/12(火) 15:28:13.64 ID:rPUgkwxt.net
>>230
単体では儲からないがそれを通して商売して儲けることはできる(とAppleを見て思って)AndroidやChromeOS作ったんじゃないかな。

236 :デフォルトの名無しさん:2016/07/12(火) 15:39:47.69 ID:jtunC1bE.net
>>234
横だけど、そうだよ

237 :デフォルトの名無しさん:2016/07/12(火) 15:56:50.86 ID:yOAU1/j5.net
>>235
広告を表示するメディアが特定の企業に独占されると儲けが激減する可能性があるので
それを妨害するのが目的

238 :デフォルトの名無しさん:2016/07/12(火) 18:21:33.96 ID:Y+yvH8se.net
サンなくなってたのか…
なんか空しいわ(´・ω・`)

239 :デフォルトの名無しさん:2016/07/12(火) 19:19:54.12 ID:sxWdE/SU.net
話をぶったぎってすまんけど、画面のボタンを押したら、画面はそのままの状態でDB上のテーブルtruncateだけしたいんだけど、可能なのかな?

色々調べてみたいんだけど、DBのtruncateはサーバー処理だからサーバーにリクエストを送る都合上ボタンはsubmitでなければならないし、
submitにすると画面遷移が発生するから、結論として実現は不可であってる?

240 :デフォルトの名無しさん:2016/07/12(火) 20:51:04.22 ID:CgeREjPy.net
そんなわけねえだろ

241 :デフォルトの名無しさん:2016/07/12(火) 21:25:09.23 ID:Y3q+0h6K.net
AJAXでやれば

242 :デフォルトの名無しさん:2016/07/13(水) 11:56:05.46 ID:V+OTnk77.net
そもそもJavaスレなんだがここ...

243 :デフォルトの名無しさん:2016/07/13(水) 12:37:28.43 ID:mH7eFo+U.net
>>239
とりあえずJavaScriptをよーく調べてみろ。

244 :デフォルトの名無しさん:2016/07/13(水) 15:51:38.01 ID:NtD73vYA.net
>>242
Async JAva XMLって考え方も出来ないことはないからOK

245 :デフォルトの名無しさん:2016/07/13(水) 20:13:34.94 ID:YEueOne6.net
>>242
それはjavaに限らず質問スレあるあるだよ
その切り分けが出来る奴なら自力で解決してるだろう、という

246 :デフォルトの名無しさん:2016/07/14(木) 00:55:38.32 ID:iUuCyvzE.net
サーバーサイドがJavaなんじゃないの?

247 :デフォルトの名無しさん:2016/07/14(木) 07:34:35.01 ID:j58AZd5+.net
>>246
現在はクライアントのJavaの需要が少ないのと、初めはクライアントアプリケーションの本が多かったせいでわざわざ「サーバーサイド」と文言が入っているんだよ。

248 :デフォルトの名無しさん:2016/07/14(木) 21:24:22.15 ID:xSl/YNjm.net
とりあえず唐揚げにレモンかけとくわ

249 :デフォルトの名無しさん:2016/07/14(木) 21:27:20.08 ID:2jLF3WlM.net
とりあえずハゲにカツラつけとくわ

250 :デフォルトの名無しさん:2016/07/14(木) 21:39:33.34 ID:Giu4+BW2.net
とりあえずカツラにハゲつけとくわ

251 :デフォルトの名無しさん:2016/07/14(木) 22:10:51.53 ID:6GtBM3Ju.net
DBで一回しか使わないから事前コンパイルの速度的メリットがない
入れるデータは数値のみ
の場合、ps使ってる?それともクエリに直接変数を連結してる?
文字列じゃないと挿入攻撃の心配もなさそうだけど

252 :デフォルトの名無しさん:2016/07/15(金) 02:48:33.14 ID:hAjk6tEM.net
自分の意見に自信が持てないために質問の体を取って同意を求めているだけという
知恵袋にありがちな女の腐ったような質問
本人としては同意されるだろうと思っているので、否定すると噛みついてくる
べた褒めするか無視が正解

253 :デフォルトの名無しさん:2016/07/15(金) 09:14:57.61 ID:px5v74fr.net
throw NullHairException("毛がありません");

254 :デフォルトの名無しさん:2016/07/15(金) 09:15:26.24 ID:px5v74fr.net
new 忘れた

255 :デフォルトの名無しさん:2016/07/15(金) 11:45:25.89 ID:mCkhiGi0.net
newなんて必要ない
もう生えることなんてないのだから....

256 :デフォルトの名無しさん:2016/07/15(金) 18:52:35.22 ID:x5jUIEPA.net
また髪の話してる(´・ω・`)

257 :デフォルトの名無しさん:2016/07/16(土) 01:46:15.06 ID:I55Ensmv.net
public class Hair {
 private final int n = 0;

 public int get() {
  return n;
 }
}

258 :デフォルトの名無しさん:2016/07/16(土) 11:32:29.37 ID:3A+r0QSz.net
これでいい
public class Hair {
 Hair() {
  throw new NullHairException("また(ry");
 }
}

259 :デフォルトの名無しさん:2016/07/16(土) 15:17:03.73 ID:OR/oafOw.net
if(iter.next().isHage()){ iter.remove(); } //ハゲはGC対象

260 :デフォルトの名無しさん:2016/07/16(土) 17:50:11.38 ID:UnF3RWZR.net
Stream.iterate("", f -> "ハゲたくない ").forEach(System.out::print);

261 :デフォルトの名無しさん:2016/07/16(土) 21:24:26.07 ID:4Ti8chrK.net
おまえらホントに毛がないな

262 :デフォルトの名無しさん:2016/07/16(土) 22:22:45.07 ID:qeOFdnbx.net
昔の中国の指導者で今も英雄視されている人の名前。




263 :デフォルトの名無しさん:2016/07/17(日) 00:24:12.52 ID:LkThn5o4.net
毛沢山でしょ?

ってかNullHairExceptionってぬるぬるしていて気持ち悪いハゲはすでに例外対象ってわけか...

264 :デフォルトの名無しさん:2016/07/17(日) 19:31:42.32 ID:uCsyhygF.net
Java SE 8 Update 101/102キター
と思ったら、まだダウンロードできなかった。7/19日からのようだ。

265 :デフォルトの名無しさん:2016/07/17(日) 19:43:12.88 ID:5jfUNNQz.net
キタ-って言うほどの新機能あった?

266 :デフォルトの名無しさん:2016/07/17(日) 19:57:44.37 ID:71dbOocY.net
すいません質問です。
static なメンバ変数をsetメソッドで取り出したい時どんな表記になるのでしょうか?
いつもはstaticではなくprivateなどだったので this.〜=〜;で済んだのですが・・・

267 :デフォルトの名無しさん:2016/07/17(日) 20:45:50.34 ID:LkThn5o4.net
メソッドをstaticにしてthis消してやれ

268 :デフォルトの名無しさん:2016/07/17(日) 23:40:50.59 ID:k/1DyXcU.net
>>265
数字部分は新機能ではなくバグを直したバージョン違いにすぎない。

269 :デフォルトの名無しさん:2016/07/18(月) 01:06:56.48 ID:YFf7sZav.net
>>266
クラス名.変数名 でできる。
http://ideone.com/3mmpl8

270 :デフォルトの名無しさん:2016/07/18(月) 03:33:49.77 ID:Apma7W1I.net
最近プログラミングを勉強し始めたのですが
String name = new java.util.Scanner(System.in).nextLine();
これをEclipseに打ち込んでみたところリソースリークが閉じられることはありませんと出ました
どこか間違ってるところがあるのでしょうか?

271 :デフォルトの名無しさん:2016/07/18(月) 03:35:32.79 ID:NSN6Nh8+.net
>>270
Eclipseのバグだよ
Scannerのcloseが呼ばれてないってことだろうけど
呼ぶべきじゃないし気になくていい

272 :デフォルトの名無しさん:2016/07/18(月) 04:00:50.85 ID:Apma7W1I.net
>>271
ありがとうございます!そうだったのか…では無視して勉強を続けよう

273 :デフォルトの名無しさん:2016/07/18(月) 21:21:22.36 ID:5Zz+1tfq.net
ajax,iqueryで開発を行おうとしています。
DBを更新させるJavaクラス(クラス名:time_up)を起動させるボタン(A_button)を
JSP上に設置する場合、どのようなコードになりますでしょうか。
色々サイトを見ているのですが、なかなか参考にできるサイトがなく
困っています。。。

274 :デフォルトの名無しさん:2016/07/18(月) 22:49:01.18 ID:RK9Gg1KK.net
>>273
JAX-RSでAPI作って$.ajaxで呼ぶ

275 :デフォルトの名無しさん:2016/07/19(火) 03:19:05.23 ID:QT0dUlSr.net
>>273
お前はまずJavaとWebページ周りをちゃんと最初から勉強し直せ

というか最近なんだこのWeb周りの質問...同じような質問ばっかりで頭おかしいんじゃねぇの

276 :デフォルトの名無しさん:2016/07/19(火) 11:10:57.93 ID:gUBpvS96.net
>>273
>なかなか参考にできるサイトがなく
その原因は物事を分割して考えることに慣れていないため

ボタン(A_button)をJSP上に設置 → htmlの知識
ajax → http, javascriptの知識
iquery → html, javascriptの知識
DBを更新させるJavaクラス → servlet, javaの知識

html上のボタン → イベントハンドラ(jquery)
→ ajax → (http) → servlet → DB操作クラス等

各段階が分かれば出来るようになる

277 :デフォルトの名無しさん:2016/07/19(火) 14:49:41.29 ID:LBsotrM5.net
iqueryはjqueryのこと?

278 :デフォルトの名無しさん:2016/07/19(火) 20:06:05.61 ID:nezbHtVD.net
var gbfToolFpsTarget= [];
var gbfToolFpsSetting= 0;

fpsの変更をしたいのですがどうしたらいいんですか?
0を24とかにして上書き保存したけど反映されません。

>それ宣言してるだけだからな
>実際の値はlocalstorageから読んでる
このようなヒントもらいましたがサッパリです

279 :デフォルトの名無しさん:2016/07/19(火) 20:14:24.58 ID:QT0dUlSr.net
.       ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (;´Д`)< すみませんすぐどかしますんで
  -=≡  /    ヽ  \______________
.      /| |   |. |
 -=≡ /. \ヽ/\\_
    /    ヽ⌒)==ヽ_)= ∧_∧
-=   / /⌒\.\ ||  ||  (´・ω・`) ←>>278
  / /    > ) ||   || ( つ旦O
 / /     / /_||_ || と_)_) _.
 し'     (_つ ̄(_)) ̄ (.)) ̄ (_)) ̄(.))




             oノ
             |  三   
 _,,..-―'"⌒"~⌒"~ ゙゙̄"'''ョ  ミ
゙~,,,....-=-‐√"゙゙T"~ ̄Y"゙=ミ    L____
T  |   l,_,,/\ ,,/l  |      ゚ ゚
,.-r '"l\,,j  /  |/  L,,,/
,,/|,/\,/ _,|\_,i_,,,/ /
_V\ ,,/\,|  ,,∧,,|_/
                                    ┼ヽ  -|r‐、. レ |
                                    d⌒) ./| _ノ  __ノ

280 :デフォルトの名無しさん:2016/07/19(火) 20:26:40.29 ID:prMQQOa8.net
やはりJavaではないよなあ・・・

281 :デフォルトの名無しさん:2016/07/20(水) 01:24:19.83 ID:w1Qip3wH.net
やはりJavaScriptであったか

282 :デフォルトの名無しさん:2016/07/20(水) 01:47:30.41 ID:ZXsdOgFr.net
ちょっと古めの本なんだけどJavaゲームプログラミングアルゴリズムとフレームワーク
っての知ってる?
第4章でInputEventTinyクラスのオブジェクトをキューに入れると思うんだけど
InputEventTinyクラスのコンストラクタの引数がクラス定義だと全部intなんだけど
生成するときはmouseeventのgetid()を入れてるんだ
これってgetid()の戻り値がint型ってこと?でもイベントハンドラのときgetIdは
フィールドで返されてるよな。。。

283 :デフォルトの名無しさん:2016/07/20(水) 02:45:15.40 ID:kIxuu+IM.net
getid()の戻り値が、intと異なる型でも、

必ず、intの範囲内にあることがわかっているから、intにキャストするのかも

284 :デフォルトの名無しさん:2016/07/20(水) 03:04:18.02 ID:kIxuu+IM.net
>>273
「スッキリわかる サーブレット&JSP入門」という本で、基礎から勉強する

285 :デフォルトの名無しさん:2016/07/20(水) 10:25:30.68 ID:ZXsdOgFr.net
>>283
どうやらそうらしい
フィールドがそれぞれ固有のint型のidを持ってるぽいから引数がintなときは
getidでもintが渡される

286 :デフォルトの名無しさん:2016/07/22(金) 11:58:40.74 ID:LRtdFfUy.net
入門書がだいたい終わった初心者です。
これからどのうような勉強をしていけばプログラムは上達するのでしょうか?

287 :デフォルトの名無しさん:2016/07/22(金) 12:44:09.39 ID:XNSGg/3h.net
>>286
んなもん自分の作りたいもん作ってりゃいいじゃん

288 :デフォルトの名無しさん:2016/07/22(金) 13:31:25.49 ID:j+h3vvXU.net
>>286
問題形式のアルゴリズムの教科書見ながら自分なりのプログラム書いてみるのがいいと思う

眠くなるならやらない方がいいけど

289 :デフォルトの名無しさん:2016/07/22(金) 13:53:42.27 ID:LRtdFfUy.net
ありがとうございます
画面に何か表示してみたいのでGUIのAWTをやってみようと思います。

290 :デフォルトの名無しさん:2016/07/23(土) 22:47:01.27 ID:/40JlN80.net
java8.0でucanaccessを使ってDBに接続しinsert文を実行したところ、
UCAExc:::3.0.6 Cannot write indexes of this type due to unsupported collating sort order SortOrder[1041(0)] for text index (Db=DB.accdb;Table=NAME;Index=0)
というエラーが発生し、SQLが実行できず困っています。
このエラーってそもそもどういう意味なのでしょうか。

DBへの接続については下の通り記述して、デバッグにて接続していることを確認済みです。

String url = "jdbc:ucanaccess://C:/Users/DB.accdb";
String user = "";
String pass = "";

//データベースに接続
Connection con = DriverManager.getConnection(url, user, pass);
Statement statement = con.createStatement();

insert文も単独でSQLを実行し、正しく挿入されることを確認しています。
insertは
statement.executeUpdate(insert);
にて実行し、ここで上のエラーが発生します。

291 :デフォルトの名無しさん:2016/07/24(日) 07:45:36.28 ID:ly5reTdt.net
>>290
> due to unsupported collating sort order SortOrder
ソートをサポートしてない照合順序だから
どのDB使ってるのか知らんけどそのDBのスレで聞いた方がいい

292 :デフォルトの名無しさん:2016/07/24(日) 15:23:04.94 ID:nZyQDXQ7.net
>>291
わかりました
ありがとうございました

293 :デフォルトの名無しさん:2016/07/25(月) 10:10:54.09 ID:o+qSOoTs.net
java8.0を使用して、指定したディレクトリにあるpdfをXMLに出力したいのですが
・焼肉.pdf
・美味しい焼肉.pdf
と、一致するpdfがあると、ソートするたびに
美味しい焼肉.pdfが増殖して、XMLに出力されてしまいます

List<MyBean> MyClassList;
MyClassList.stream()
.sorted((column1, column2) -> (column1.getFileName().compareTo(column2.getFileName())));

重複させずに出力するにはどうしたらいいでしょうか

294 :デフォルトの名無しさん:2016/07/25(月) 13:27:54.89 ID:e2t+KF3H.net
原因が別のところにあるはずだけど、ひとまずは
MyClassList.stream().sorted(Comparator.comparing(MyBean::getFileName));
と書き換えてからデバッグ

295 :デフォルトの名無しさん:2016/07/25(月) 14:11:37.16 ID:o+qSOoTs.net
>>294
ありがとうございます。
試したのですが、sortするとやはりMyClassListに重複した値が増えてしまいました

296 :デフォルトの名無しさん:2016/07/25(月) 15:29:34.30 ID:e2t+KF3H.net
遅延実行ってのは終端操作実行時にまとめて実行される
つまりここにある中間操作だけでは何も実行されてないんだ
省いてる箇所でnewやらaddやらをやらかしてて、そこが原因なので
そっちを直した方がいいと思うよ

297 :デフォルトの名無しさん:2016/07/25(月) 17:40:28.83 ID:dk9eIH21U
teoma.comとか本当、もう要らないわ・・・・・JAVAもろともアンインストール
してやる・・・・ASKツールバーの時も腹が立ったが

もう要らない どうせ入れといてもろくなことは無い  きれいに掃除する。

298 :デフォルトの名無しさん:2016/07/25(月) 17:56:45.73 ID:gQkcqFFS.net
protected で制限した変数はサブクラスからは何もせずに参照出来るのでしょうか

299 :デフォルトの名無しさん:2016/07/25(月) 20:30:17.90 ID:o+qSOoTs.net
>>296
了解です。addしているところの動作をもう一度確認してみます
ありがとうございました

300 :デフォルトの名無しさん:2016/07/25(月) 21:09:04.79 ID:P8KhuDqV.net
>>298
できる

301 :デフォルトの名無しさん:2016/07/25(月) 21:17:30.16 ID:reWN8vEs.net
お主、やるなー

302 :デフォルトの名無しさん:2016/07/25(月) 23:05:41.25 ID:mOPCG0KN.net
ドキュメントに記載する以外の方法で
メソッドの戻り値がRandomAccessなListであることを表す事ってできますか?

303 :デフォルトの名無しさん:2016/07/25(月) 23:13:12.32 ID:7wdUvKxG.net
booleanでtextValueChangedメソッドの処理内容を分岐したいのですが、
思った通りに動かずflag = FALSEが表示されます。何故でしょうか。
どこがおかしいのかご教示くださいませんか。

public void textValueChanged(TextEvent e) {
if (flag) {
System.out.println(

304 :デフォルトの名無しさん:2016/07/25(月) 23:16:54.17 ID:7wdUvKxG.net
public void textValueChanged(TextEvent e) {
if (flag) {
System.out.println("flag = TRUE");
} else {
System.out.println("flag = FALSE");
}
}

public void actionPerformed(ActionEvent e) {
flag = true;
textArea.setText("text");
flag = false;
}

305 :デフォルトの名無しさん:2016/07/26(火) 00:50:22.89 ID:myVF9Xr2.net
https://ideone.com/iN59hI
これがどうして正常に動くのか分かりません
class Bのコンストラクタで引数2なのに変数は1つですよね?

306 :デフォルトの名無しさん:2016/07/26(火) 01:10:54.20 ID:HXAddbiE.net
>>305
まず、クラスBのコンストラクタの第一引数は誰にも代入しないので捨てられる。第二引数はBクラスのインスタンス変数j(this.j)に代入される。
B::print()の中で参照してるiはクラスAのインスタンス変数で、protectedのアクセス修飾子が付いているのでAの子クラスであるBから参照できる。で、i自体は誰にも代入されないので、Javaの言語仕様上intの初期値0が入っている。

307 :デフォルトの名無しさん:2016/07/26(火) 01:47:46.23 ID:/M07KazB.net
>>306
ありがとうございます
代入先が無い引数はエラーは出ずに捨てられるのですね
疑問が解決しました!

308 :デフォルトの名無しさん:2016/07/26(火) 09:01:46.39 ID:wgrTzFAR.net
>>304
Swingか何かか?
やったことないけど、setText呼んだ段階ではキューイングされるだけで
actionPerformed抜けるまでtextValueChanged呼ばれないんじゃない?
flag落とすのをtextValueChangedの中でやれば望んでる結果になると思う

309 :デフォルトの名無しさん:2016/07/27(水) 22:28:26.38 ID:R8yHjxmn.net
>>308
AWTです
trueブロック内でfalseにしたらうまくいきました
ありがとうございました

310 :デフォルトの名無しさん:2016/07/28(木) 23:08:43.48 ID:MGXMrYhs.net
JSPについて質問させてください。
DBから抽出した値に100を差し引いて
画面上に出したいと思っています。

<sql:query var="result" dataSource="${db}">
〜略〜
</sql:query>
<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td>${column}</td> ←この項目から100を引きたい
</c:forEach>
</tr>
  </c:forEach>

上のコードで
<td>${column}-100</td>
とやったところ、${column}はちゃんと取得できているのですが、
-100は計算されずにそのまま文字列として表示されました。
考えてみれば当然なのですが、この「${column}-100」を
演算した結果を表示させるにはどうしたらいいのでしょうか。
JSP上でDBから得た値を演算して表示する方法はあるのでしょうか。

311 :デフォルトの名無しさん:2016/07/29(金) 00:48:22.39 ID:0shNz7ps.net
>>310
<td>${column-100}</td>

312 :デフォルトの名無しさん:2016/07/29(金) 00:51:06.50 ID:0shNz7ps.net
>>310
何も書かずに送信してしまった。
EL式でググれば分かる。

313 :デフォルトの名無しさん:2016/07/29(金) 07:44:21.66 ID:i9aAF/6X.net
ありがとうございました!
できました。
昨日もそれでやってみたときにできなかったんですが、改めてエラーを確認したところ、データベースから抽出された値に、文字列が入っていたためでした。
本当にありがとうございました

314 :デフォルトの名無しさん:2016/07/30(土) 13:00:35.33 ID:AJ58aET5.net
mydebug(“str“, 1, var);
みたいに何でも渡せるprintデバッグする関数はどう書けばよいですか?
String... args で受けとると1やvarの型が違うとエラーになりますが、いちいち型チェック、型変換するの面倒臭いです

315 :デフォルトの名無しさん:2016/07/30(土) 13:41:02.82 ID:cu0neLT9.net
String...がダメだったらObject...でもいいじゃない
void mydebug(Object... obj) {
Logger logger = LogManager.getLogger();
String result = Stream.of(obj).map(Object::toString).collect(Collectors.joining(", "));
logger.info(result);
}

316 :デフォルトの名無しさん:2016/07/30(土) 14:18:00.96 ID:AJ58aET5.net
>>315
うう、rubyなら p “str“, 1, var; で済むものがjavaではこんなに長く難しく…ありがとうございます

317 :デフォルトの名無しさん:2016/07/30(土) 21:16:54.30 ID:cu0neLT9.net
rubyでいうppのような用途ならデバッガ使えよ
ブレークポイント設定してからステップ実行した方が楽だし分かりやすかろう

318 :デフォルトの名無しさん:2016/07/30(土) 23:43:22.20 ID:yqk0CHQR.net
すみません、行き詰ってしまったので教えてもらえないでしょうか。
EL式の
<sql:query var="result" dataSource="${db}">
で、resultに抽出結果を格納しました。
この抽出結果にはgroupnoという列名があります。
<c:forEach>で各行に対して処理を行う際に、
groupno項目を使い判定をしたいのですが、
実行すると<c:out のところでエラーしてします。

<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:out value="${row.groupno}"/>

エラー原因「java.lang.NumberFormatException: For input string: "groupno"」


ほかのサイトでは、"${row.groupno}"で値を取得できると書いてあったのですが、
取得の方法が誤っているのでしょうか。

319 :デフォルトの名無しさん:2016/07/30(土) 23:58:51.48 ID:3EsQsPy/.net
クラスAを継承したクラスB・CがありクラスAはクラスX型のフィールドとそれに関連するメソッドを持ちます
クラスB・Cでは実際にはクラスXではなくそれを継承したクラスY・Zのインスタンスをそのフィールドに保持したいです
するとクラスX型としてフィールドを宣言しているのでクラスY・Zで追加した機能が使えません

1.クラスB・CでそれぞれクラスY・Z型のフィールドを宣言
2.クラスB・Cでダウンキャストして扱う
3.クラスAで<T extends X>としてT型のフィールドを宣言

この場合は1が正解ですか?
3の場合もゲッターで防御的コピーをするため結局クラスB・Cで実装する必要があり共通部分がクラスAで完結できません

320 :デフォルトの名無しさん:2016/07/31(日) 00:21:27.19 ID:VGHB1MRw.net
>>319
abstract class A { protected abstract X getX(); }
class B extends A { private X x; @Override public X getX() { return x; } }
これでいいよ
もしくは共通化のための継承なんて時代錯誤なことはやめて包含

321 :デフォルトの名無しさん:2016/07/31(日) 00:22:51.88 ID:9Z6DmbVF.net
馬鹿みたいだなw

322 :デフォルトの名無しさん:2016/07/31(日) 00:27:42.27 ID:VGHB1MRw.net
>>320
すまん間違えた
class B extends A { private Y y; @Override protected X getX() { return y; } }

323 :デフォルトの名無しさん:2016/07/31(日) 00:30:33.15 ID:9Z6DmbVF.net
ほら次w

324 :デフォルトの名無しさん:2016/07/31(日) 00:37:46.32 ID:ml+ojx40.net
ありがとう

325 :デフォルトの名無しさん:2016/07/31(日) 00:38:15.62 ID:9Z6DmbVF.net
糞だなw

326 :デフォルトの名無しさん:2016/07/31(日) 02:48:57.99 ID:tAwv2Thr.net
>>318
java.lang.NumberFormatExceptionでググれ

327 :デフォルトの名無しさん:2016/07/31(日) 09:37:37.39 ID:pgUfjJaM.net
「java.lang.NumberFormatException: For input string」
についても調べています。

数値形式でない文字列を変換しようとすると
このエラーが発生するみたいなんですが、
<c:out value="${row.groupno}"/>では
文字を出力しようとしているだけで、
型変換を行っていません。

実はこのc:outで型変換を行っていたりするのでしょうか。

328 :デフォルトの名無しさん:2016/07/31(日) 14:49:25.01 ID:zRCa/wW2.net
>>327
groupnoが数値型で定義されていてDBには文字列が入ってるということでは無い?

329 :デフォルトの名無しさん:2016/07/31(日) 23:10:07.40 ID:eOIO+/Cg.net
Cで作られたソースをJavaに移植しようとしてます

対象は、ファイルのヘッダ情報を読み込む処理なのですが、Cでは以下のような感じで
fread()により構造体に読み込んでます
struct HEADTAG {
 unsigned char a[4];
 unsigned int b;
};
のようにヘッダ情報に揃った構造体を作り、
struct HEAD_TAG head;
fread(head, sizeof(HEADTAG), 1, fp);
のようにしてヘッダ情報を読み込んでます

その処理をJavaに書き直しており、今はヘッダ情報を1バイトずつ読んでいくメソッドを
作ったのですが、処理したいファイルは複数種類あり、そのたびにメソッドを
バイト数とか数えながらいちいち対応させるのが大変なので、改善したいです

readObjectを使ってみたのですが、fwrite()されたものをJavaのクラスにはめこむのは
無理そうです

改善できる手法はありますか?
教えてください

330 :デフォルトの名無しさん:2016/07/31(日) 23:17:38.77 ID:IDpOSBbN.net
クラス間の変数の受け渡し方法はわかるんですがクラス内のメソッドの中の変数を別のクラスのメソッドへと渡す方法がわかりません...

331 :デフォルトの名無しさん:2016/07/31(日) 23:42:57.33 ID:dAJgLCTA.net
>>330
はあ?

カプセル化とデータ隠蔽したくなければ、メンバ変数にしろよw

332 :デフォルトの名無しさん:2016/08/01(月) 00:22:28.90 ID:HR3l0GRU.net
>>329
ない
DataInputStreamやByteBuffer使って地道に読め

333 :デフォルトの名無しさん:2016/08/01(月) 10:33:20.25 ID:3q+qs35i.net
ファイルが10種類超えるようならワザも必要だろうけど
そうでないなら単純に並べてオワリでいい

そんなのよりバイト境界のアラインメント・パディングのほうを心配すべき

334 :デフォルトの名無しさん:2016/08/01(月) 10:36:09.73 ID:BivcssXD.net
Webアプリ内でのアクセスカウントをしていたのですが、
メソッドの引数内でのインクリメントってダメなんですか?

カウントアップされる。
count++;
session.setAttribute("count", count);

カウントアップされない。
session.setAttribute("count", count++);

335 :デフォルトの名無しさん:2016/08/01(月) 10:51:40.34 ID:3q+qs35i.net
関数呼び出し後にカウントアップされるじゃろ
++ を前置するか後置するかで意味が変わる必須知識

336 :デフォルトの名無しさん:2016/08/01(月) 11:25:08.28 ID:BivcssXD.net
あーたしかに。
//この時点でcount=0
session.setAttribute("count", count++);
system.out.println(count);
//ここで1になる。

基礎的なことでした。ありがとうございました。

337 :デフォルトの名無しさん:2016/08/01(月) 15:22:24.68 ID:J06mS2KP.net
>>332
そういやそれ俺も10年以上前に思ったんだが、リフレクション使ったりして自動でやってくれるライブラリとかないのかね?
あると楽だよな。

338 :デフォルトの名無しさん:2016/08/01(月) 15:30:18.95 ID:wzv40BV/.net
>>337
リフレクションでメンバの宣言順を知る方法はないから、
全てのメンバにアノテーションでオフセットを明示的に付けとかなきゃいけない
結果、ストリームやチャネルから順番に読んだほうが楽

339 :デフォルトの名無しさん:2016/08/01(月) 15:48:35.03 ID:MZRkq7W6.net
>>332
>>337
俺もこれ思った
てか今でも思ってる
何かいい方法ないかなあ

実際、ヘッダは構造体をfwrite()したバイナリ、
みたいな形式のファイルってまだまだ多いよな

wavフォーマットとかだとAPIあるけど、そうでないものだと、
Cなら構造体にfread()すりゃ一発なのに…と思いつつ
バイト単位に読んじゃ処理、を繰り返してる

実際のとこ、そういう処理書くときってバグが出がちだし、
Cでfread()するプログラムもデバッグで併用してるわ

340 :デフォルトの名無しさん:2016/08/01(月) 16:01:28.61 ID:JXVULl1x.net
バイトオーダーが違っていたりunsignedをどうするかで揉めたりしたな
ただ読むだけでも罠があるんで注意

341 :デフォルトの名無しさん:2016/08/01(月) 16:13:03.10 ID:cKjLGiE2.net
Cでも複数OS対応やるとアーキテクチャやアラインメントの差で
fread()の方が面倒だけどね
処理系毎にディレクティブで調整しないといけないし

何だかんだでバイトストリーム処理に落ち着く

342 :デフォルトの名無しさん:2016/08/01(月) 17:08:33.60 ID:NiACz+iq.net
ワンリトルインディアン、ツービッグインディアン

343 :デフォルトの名無しさん:2016/08/01(月) 19:21:15.41 ID:r7TDkART.net
>>338
あ、そーか。順序ね。

やっぱ設定読んでその通りに読むようなの書かないと汎用性のあるやつは作れんか。

344 :デフォルトの名無しさん:2016/08/01(月) 19:25:38.84 ID:r7TDkART.net
Perlのunpackのようなやつがあれば少しは楽だなと思ったが、なんとなくその程度は誰かが作ってそうな気もするな。

345 :デフォルトの名無しさん:2016/08/01(月) 19:59:38.26 ID:+SXwg/r8.net
>>338
ソースを直接読み込んでシリアライズルーチンを生成するようなツールがあってもいいかも

346 :デフォルトの名無しさん:2016/08/01(月) 22:52:44.49 ID:kL4mnthq.net
ぐぐってもさっぱりだったので、どなたか知恵を貸して欲しいです。

このコードを実行した時に
Process process = Runtime.getRuntime().exec(

347 :デフォルトの名無しさん:2016/08/01(月) 22:55:55.34 ID:n+rqaJ1Q.net
ぐぐってもさっぱりだったので、どなたか知恵を貸して欲しいです。

このコードを実行した時に
Process process = Runtime.getRuntime().exec(command);
return process.waitFor();

このようなエラーが出たのですが、
java.lang.IllegalThreadStateException: process has not exited
at java.lang.ProcessImpl.exitValue(Unknown Source)
at java.lang.ProcessImpl.waitFor(Unknown Source)

waitForの中でIllegalThreadStateException: process has not exitedが出るのはどういう場合でしょうか。
commmandはあるEXEに引数を渡しています。

348 :デフォルトの名無しさん:2016/08/02(火) 06:22:55.16 ID:k09SlNii.net
「java.lang.illegalthreadstateexception process has not exited」

「java waitfor」で検索!

349 :デフォルトの名無しさん:2016/08/02(火) 09:22:55.07 ID:GqnDdCx0.net
>>337
あるけどライブラリ名忘れた。
オレオレフォーマットのバイナリファイル読むときに便利そうだと思った

350 :デフォルトの名無しさん:2016/08/02(火) 09:30:46.79 ID:W6DOqtYT.net
もうしわけありません、
javaを使っているサイトを教えてもらえませんですか。
自分のブラウザが機能しているか知りたいもので。

351 :デフォルトの名無しさん:2016/08/02(火) 09:42:56.72 ID:k09SlNii.net
paiza.IO, codepad, Ideone とか?

352 :デフォルトの名無しさん:2016/08/02(火) 09:45:04.58 ID:qgieWvrw.net
>>350
いたち

353 :デフォルトの名無しさん:2016/08/02(火) 09:47:30.99 ID:ZJ7USS9Y.net
>>350
ブラウザが機能しているのを確認するのに、そのサイトがJavaでできているかどうかは関係ないと思うが…

Javaアプレットが動作するかを見たいということ?

354 :348:2016/08/02(火) 10:14:47.55 ID:W6DOqtYT.net
>>353
Javaランタイムをインストールしたのですが、それがブラウザで機能しているかを知りたいのです。
アプレットのあるサイトならちょうどいいかと思っています。
通知領域にjavaのアイコンがでてくるのがありますよね。あれです。

355 :デフォルトの名無しさん:2016/08/02(火) 10:35:38.02 ID:3bNJYHPI.net
>>354
javaアプレット ゲーム とかでググれば往年のサイトが沢山出てくるだろ
っていうか今更Javaアプレットなんか使うの?
世間じゃ完全にセキュリティホール扱いで最近のブラウザでは起動すら困難なのに

356 :デフォルトの名無しさん:2016/08/02(火) 10:38:45.77 ID:1+WRG/xH.net
Java アプレットと Flash は死んだ技術と思っていい

357 :348:2016/08/02(火) 11:06:12.58 ID:W6DOqtYT.net
つまり、ブラウザに関する限りは、
javaはアンインストールしても生活できるということですね。

358 :デフォルトの名無しさん:2016/08/02(火) 11:16:31.38 ID:Xrtvt7f9.net
当然

359 :デフォルトの名無しさん:2016/08/02(火) 11:29:16.14 ID:vsJc3M85.net
✕ブラウザに関する限りは
○一般的なPCに関する限りは
Javaなんかサーバーと開発者端末にだけ入ってりゃいいよ
Javaアプレットは死んだが、一時期日の目を見ただけマシだ
その他のクライアントJavaは始まったことすらない

360 :デフォルトの名無しさん:2016/08/02(火) 12:29:33.60 ID:EgQKcOSy.net
androidの根幹ではあるけどな。w
ユーザーは意識する必要なし。

361 :デフォルトの名無しさん:2016/08/02(火) 19:31:08.61 ID:NfCSYQH6.net
Javaアプリはマルチプラットフォーム対応が必要なソフトにとっては
今でも有効な選択肢のひとつだけどな
現に俺その仕事今やってるし

362 :デフォルトの名無しさん:2016/08/02(火) 20:00:29.84 ID:vpqNpIG1.net
最近はjsが主流な気がする
デスクトップ版jsあるし

363 :デフォルトの名無しさん:2016/08/02(火) 20:01:43.14 ID:vpqNpIG1.net
VSCodeみたいなアプリ
あれ確かJSだったよな

364 :デフォルトの名無しさん:2016/08/02(火) 20:07:23.03 ID:NfCSYQH6.net
JSは言語としてヤバ過ぎるからなあw

365 :デフォルトの名無しさん:2016/08/02(火) 20:20:37.18 ID:vpqNpIG1.net
TypeScript使えばまあ…

366 :デフォルトの名無しさん:2016/08/02(火) 20:21:47.45 ID:vpqNpIG1.net
でも標準APIが弱すぎるんだよな
C#とかjavaから入った俺はかなり辛い

367 :デフォルトの名無しさん:2016/08/02(火) 23:14:28.54 ID:qyMvpHKg.net
すみません、教えてください
javaクラスでselect文を実行するコードを記述したのですが
変数に代入するときにエラーが発生してします。

ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
if (first_flg = true) {
taskname = rs.getString("TASKNAME");
grouping_id = rs.getString("GROUPING_ID");
first_flg = false;
}

「rs.getString("GROUPING_ID")」でウォッチすると
「iwhile (rs.next()) {」を通過時、値が正しく設定され、
その次の「tif (first_flg = true)」を
通過すると一瞬取得中となりその後
「Exception occurred in target VM: No data found 」と
なってしまいます。
1度正しく取得できているのに、なぜIF文を通過しただけで
No data foundとなってしまうのかわかりません。


ちなみに、実行したSqlです。
SQL自体は正しく動くことを確認済みです。
原因はなんでしょうか。

SELECT プロジェクトcd,LEFT(ID,10) AS GROUPING_ID,TASKNAME
FROM KINMUHYO
WHERE LEFT(ID,3) = '10.'
GROUP BY プロジェクトcd,LEFT(ID,10),TASKNAME

368 :デフォルトの名無しさん:2016/08/02(火) 23:21:23.95 ID:I7kj9PJB.net
first_flg == true

369 :デフォルトの名無しさん:2016/08/03(水) 01:08:42.82 ID:Ilb64ZBg.net
byteを連結してStringにする方法を知りたいです

あるファイルabc.txtですが、内容は16進表示で以下のように書かれています
41 42 43 20 44 45 46
※「cat abc.txt」とすると「ABC DEF」と表示されるファイル、ということです

これを以下の様にして、bufに内容を読み込むことはできました

FileInputStream fs = new FileInputStream("abc.txt");
BufferedInputStream bs = new BufferedInputStream(fs);
byte[] buf = new byte[5];
int len = bs.read(buf);

この後、buf[0]とbuf[1]とbuf[2]を繋げて作った文字列が「ABC」かどうかを
調べたいのですが、実際に比較する処理、if (○○.equals("ABC")){...}をするまでに
どうしたらよいか、教えてください

370 :デフォルトの名無しさん:2016/08/03(水) 02:45:14.84 ID:XimUxRSs.net
new String(buf, 0, 3, Charset.forName("UTF-8"));
かな

371 :デフォルトの名無しさん:2016/08/03(水) 07:49:57.31 ID:Bwec/Fiq.net
>>368
ありがとうございました。
while文の中で他にも比較を行っている個所があり、
「first_flg == true」と変更した後でも、
「if (grouping_id != rs.getString(

372 :デフォルトの名無しさん:2016/08/03(水) 07:50:40.27 ID:Bwec/Fiq.net
すみません、途中で切れてしまいました。

「first_flg == true」と変更した後でも、
「if (grouping_id != rs.getString("GROUPING_ID")) {」
に入ると「rs.getString("GROUPING_ID")」が
「Exception occurred in target VM: No data found 」
となります。
rs.getStringで一度値を取得するとなくなるということはないと
思うのですが、これも比較の仕方が誤っているのでしょうか。

while (rs.next()) {
if (first_flg == true) {
taskname = rs.getString("TASKNAME");
grouping_id = rs.getString("GROUPING_ID");
first_flg = false;

if (grouping_id != rs.getString("GROUPING_ID")) {

}
}

373 :デフォルトの名無しさん:2016/08/03(水) 08:08:21.64 ID:Ilb64ZBg.net
>>370
ありがとうございます
試してみます
その後また調べ、StringやCharset.forNameはキーワードっぽいものとしては
みつけたのですが、使い方がよくピンときておりませんでした
具体的な記述を示していただき、ありがとうございます

374 :デフォルトの名無しさん:2016/08/03(水) 14:30:01.95 ID:5TJZrkhI.net
糞コードを書いてみた。構造体をファイルに書き出すC++
https://ideone.com/CidZY4
そのファイルから構造体をfreadっぽく読み込んだJava
https://ideone.com/Xy1fef
構造体クラスにHEADTAGと同じサイズのバッファを設けてそこに
バイト配列として一気に読み込んで、内部でメンバごとに切り分ける。
unsignedとかバイトオーダーとかの変換がやっぱり面倒だな。

375 :デフォルトの名無しさん:2016/08/03(水) 17:46:09.91 ID:dW70LiFf.net
nio使うとバイトオーダーはやってくれる
https://ideone.com/UxSct1

あとnull終端調べないとjavaのStringは\0ごと取り込んでlength==4になるので注意

376 :デフォルトの名無しさん:2016/08/03(水) 18:28:53.55 ID:35QlWMIm.net
unkて何かと思ったら
最後の0でunkoって読ませているのかw

377 :デフォルトの名無しさん:2016/08/03(水) 20:21:53.92 ID:a4bdwQbs.net
>>372
問題ないように思えるけど
rs.getString("GROUPING_ID")
これの1回目の取得が問題ないようなら

String groupId = rs.getString("GROUPING_ID");

if (grouping_id.equals(groupId)) {
 ...
}

こんな感じで変数に入れて1回しか呼ばれないようしてみるとか
これで問題なければ行の値は1回しか読み出しちゃいけませんってことに
なるだろうけど、そんなことあるんかね

378 :デフォルトの名無しさん:2016/08/04(木) 01:54:28.73 ID:CYacPLX8.net
>>372
Exception occurred in target VM: No data found
この後にエラーの詳細は出てないだろうか…。

379 :デフォルトの名無しさん:2016/08/04(木) 19:28:30.48 ID:2hvSEb5P.net
http://i.imgur.com/rczj4.jpg

380 :デフォルトの名無しさん:2016/08/04(木) 20:52:43.87 ID:mg6fDm+D.net
>>377、376
お返事ありがとうございました
>>372です。
色々調べたところ、ACCESSをデータベースとしている場合、同一
ループ内でのgetStringはできないという情報がありました、、、
まさかそんな制約があるとは思いませんでした。
なんとか変数のやりくりで頑張ってみます
ありがとうございました。

381 :デフォルトの名無しさん:2016/08/04(木) 22:53:24.94 ID:8F+chxLR.net
Java1.5のloggingでpropertiesファイル読み込ませた後に、ファイルの出力先だけ変えたいんだけど、出来ます?
ググっても、後から変える方法が見付からなくて・・

382 :デフォルトの名無しさん:2016/08/04(木) 23:18:10.54 ID:KxCOPaH9.net
教えてほしいのですが
java8でOOMが発生したのでヒープダンプを解析したところメインスレッドから参照されているインスタンスが多数ありました
メインスレッドから直接参照されてGCで解消されないインスタンスはどのように生成された場合に発生しますか?

383 :デフォルトの名無しさん:2016/08/04(木) 23:30:39.80 ID:1Q45SAfi.net
スタック(生存中のローカル変数)から参照されてるんだろ

384 :デフォルトの名無しさん:2016/08/05(金) 00:52:56.77 ID:6LlEijpk.net
専門学校に行って習うのってメリットある?

385 :デフォルトの名無しさん:2016/08/05(金) 03:16:33.02 ID:9k3C6R28.net
お前じゃどこいっても無理だ
板名すらよめないんだもん

386 :デフォルトの名無しさん:2016/08/05(金) 06:49:38.70 ID:x8TUq60L.net
>>381
Javaの環境変数に、そういう項目は無いの?

入門から実践までJavaで学べる「ログ」の常識
http://www.atmarkit.co.jp/ait/articles/0801/08/news128_3.html

387 :デフォルトの名無しさん:2016/08/05(金) 07:52:48.65 ID:YTOm0VxE.net
>>384
独学でダメだったら諦めた方がいい
その程度の奴はIT行っても奴隷のような勤務形態で延々単純作業をやらされた挙句に身体か精神壊して捨てられるだけだ

388 :デフォルトの名無しさん:2016/08/05(金) 08:13:33.12 ID:m10n1TDx.net
確固たる目的があってそれに対して有効であれば行っていいんじゃない?
学びたいからとか言う謎の理由は無意味

389 :デフォルトの名無しさん:2016/08/05(金) 08:51:26.42 ID:ij72IWqm.net
Java勉強するだけならメリットはない

390 :デフォルトの名無しさん:2016/08/05(金) 08:59:54.49 ID:2ygfJ/wh.net
JavaのWebアプリケーションの生産性は低いからなあ。

391 :デフォルトの名無しさん:2016/08/05(金) 09:12:54.48 ID:YTOm0VxE.net
SIベンダーから見た生産性は非常に高いよ
Railsなんかで作るより数倍の工数取れて、
品質品質保守性保守性言ってれば客は納得するんだからこんなに美味い商売はない

392 :デフォルトの名無しさん:2016/08/05(金) 09:51:05.51 ID:2ygfJ/wh.net
>>391
生産性じゃなくてぼったくりだろw

393 :デフォルトの名無しさん:2016/08/05(金) 12:43:53.38 ID:7M4UoUhy.net
利益の生産

394 :デフォルトの名無しさん:2016/08/05(金) 13:14:22.96 ID:9cFHC08F.net
>>392
納得してるのならぼったくりではない

395 :デフォルトの名無しさん:2016/08/06(土) 01:25:18.48 ID:FfBiCVo4.net
csvファイルを読みこみ、PreparedStatementを使ってDBにどんどん
insertしていってるんですが、流すたびにinsertできている件数が
違います。
全5000件のうち、1度目は300件だったり、2回目は1000件だったり、あるいは
逆だったり、、、
とにかく流すたびにinsertできる件数が違っていて規則性がないんですが、
何が原因なんでしょうか。
プログラム誤りであれば、毎回同じ件数になると思うのですが、、、

396 :デフォルトの名無しさん:2016/08/06(土) 01:35:44.75 ID:NlPhIpsR.net
>>395
5000件処理して300件しかデータがないってどんぶり勘定にも程があるな
むかしむかしMySQLのドライバのバグで単純な挿入さえまともにできなかったことがある
ドライバのバグとか、コミットがちゃんとできてないとか
DBは何使ってるの?コードはどんな感じ?

397 :デフォルトの名無しさん:2016/08/06(土) 02:10:07.11 ID:FfBiCVo4.net
>>396
まさかこんな時間に返信もらえるとは思ってませんでした。
Statementで更新していた時は全件INSERTできたんですが、PreparedStatementに
変更したら、>>395の状態となってしまいました。DBはACCESSです。
コードはこんな感じです。

398 :デフォルトの名無しさん:2016/08/06(土) 02:13:17.61 ID:FfBiCVo4.net
private void insert_task(String table, BufferedReader br) {
Connection con = null;
PreparedStatement pstmt_ins = null;
PreparedStatement pstmt_del = null;
PreparedStatement pstmt_upd = null;
try {
//JDBCドライバのロード
//各設定
String url = "jdbc:odbc:kinmu";
String user = "";
String pass = "";
//データベースに接続
con = DriverManager.getConnection(url, user, pass);
String line = ""; //一行ずつ読み込む
int line_count = 1; //ヘッダーフラグ
boolean delete_flg = true; //ヘッダーフラグ
String sql_ins = "INSERT into KINMU values(?,?,?,?,?)";
pstmt_ins = con.prepareStatement(sql_ins);
while ((line = br.readLine()) != null) {
String[] strAry = line.split(",", 11);
pstmt_ins.setString(1, strAry[0]);
pstmt_ins.setString(2, strAry[1]);
pstmt_ins.setString(3, strAry[2]);
pstmt_ins.setString(4, strAry[3]);
pstmt_ins.setString(5, strAry[4]);
pstmt_ins.executeUpdate();
}
} catch (IOException exception) {

399 :デフォルトの名無しさん:2016/08/06(土) 02:15:37.25 ID:FfBiCVo4.net
PreparedStatement pstmt_upd = null;
PreparedStatement pstmt_del = null;
について、実際はpstmt_upd、pstmt_delを用いて
try{}の中でdelete,update処理を行っていますが、
正常に処理できているのでコードを割愛させていただきました。

400 :デフォルトの名無しさん:2016/08/06(土) 05:52:46.32 ID:e+VUV2JF.net
>>399
どのデータが登録されて、どのデータが登録されないのか調べて傾向を見た方がいいよ。

401 :デフォルトの名無しさん:2016/08/06(土) 06:21:01.04 ID:dbq4lnef.net
どういうテーブルか知らんけど1番目はIDかつプライマリキーにしていることが多いから
setIntやsetLongを使うんじゃなかろうか

402 :デフォルトの名無しさん:2016/08/06(土) 06:31:44.35 ID:mW190j2d.net
勤怠なら第一要素を日付としてpkにしてる可能性もある

とは言え全く同じcsvを元にしてて毎回結果が異なるのはよくわからんなぁ

403 :デフォルトの名無しさん:2016/08/06(土) 08:11:45.63 ID:FfBiCVo4.net
朝早くからこんなにお返事ありがとうございます。

>>400
Insertがされているデータは、すべての列が正確に登録されています。

>>401、400
諸事情があり、プライマリーキーは設定しておりません。
また、全4列において、すべてテキストタイプです。

朝、PCを立ち上げ直し、2回ほど処理を回してみましたが、
1回目は538件で、2回目は990件でした。

規則性がかけらもない_| ̄|○

404 :デフォルトの名無しさん:2016/08/06(土) 08:27:11.97 ID:y/TrjN6T.net
>>403
> Insertがされているデータは、すべての列が正確に登録されています。
そう言う話じゃなくて Insert できてる奴とできてない奴でデータの違いはないのか?
って話だろ

> 1回目は538件で、2回目は990件でした。
ソースは同じ CSV なの?

そもそもデータベース側のエラーログとかはないのか?

405 :デフォルトの名無しさん:2016/08/06(土) 08:57:34.01 ID:kzQiWQLN.net
>>403
件数ってどうやって確認してるの?
insertはうまくいってて、select側に問題があるんじゃないの?

406 :デフォルトの名無しさん:2016/08/06(土) 09:03:06.59 ID:kzQiWQLN.net
>>399
deleteの部分もコード貼れるかな。
そこがおかしいんじゃない

407 :デフォルトの名無しさん:2016/08/06(土) 09:33:59.56 ID:FfBiCVo4.net
>>397です。
お返事ありがとうございます。
なんかPCを再起動してやってみたら、コードは一つも直していないのに、全件入るようになりました_| ̄|○
しかも何回やっても全部入るみたいです。

>>404
確認したのですが1回目と2回目の差分は何の変哲もないデータで、Insertされているデータと比べ変なところはありませんでした。
また、1回目2回目共に同じデータです。
データベース側のログ、確認してみます!

>>405
件数はACCESSにて全体件数が自動表示されますので、それで確認しています。
スクロールしても、やはりその件数までしかレコードが表示されていないことも確認しています。

>>406
deleteとupdateはこんな感じです。
String sql_del = "delete from KINMU where プロジェクトcd = ?";
pstmt_del = con.prepareStatement(sql_del);

String sql_upd = "UPDATE LASTUPDATE SET 最終更新日時 = ? where プロジェクトcd = ?";
pstmt_upd = con.prepareStatement(sql_upd);

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
String last_update = sdf.format(date);
pstmt_del.setString(1, strAry[0]);
pstmt_del.executeUpdate();
pstmt_upd.setString(1, last_update);
pstmt_upd.setString(2, strAry[0]);
pstmt_upd.executeUpdate();

408 :デフォルトの名無しさん:2016/08/06(土) 09:54:39.20 ID:kzQiWQLN.net
>>407
どういうアプリかわからないけど、常駐非対話アプリなら、別のプロセスにdeleteされてるんじゃない。
再起動してうまくいったのは、別のプロセスが終了したから。
そもそも、現状オートコミットのままだから、アプリの種類によっては、オートコミットやめた方がいいよ。

409 :デフォルトの名無しさん:2016/08/07(日) 01:35:06.14 ID:iJHIeyzf.net
消費税引き上げ先送りも決まり,日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する
基調はリスクオンの株式暴騰、金暴落だね

今度の黒田砲は緩慢に効いてくる
海馬がくる,海馬がくる

410 :デフォルトの名無しさん:2016/08/07(日) 18:49:39.23 ID:412P3kmz.net
誤爆か・・・

411 :デフォルトの名無しさん:2016/08/07(日) 19:21:07.99 ID:L/2xgmOS.net
>>397です。
サーバーログを確認したところ
「[Microsoft][ODBC Driver Manager] 文字列またはバッファーの長さが無効です。」
といったエラーが出力されていました。
で、このエラーを確認したところ、ACCESSとSqlserverをDBに設定した時で、
且つx64版のJavaでVMjdbc:odbc接続を行うと発生するエラーとのことです。
ほかの方も不特定の箇所で発生しているみたいです。

ただ私の環境ではPreparedStatementの時だけこの現象が発生し
Statementの環境では正常に動作するところが謎です、、、

以上、報告でした。
返信くださった皆様、ありがとうございました。

412 :デフォルトの名無しさん:2016/08/07(日) 19:28:49.45 ID:iJHIeyzf.net
>>410
すまん

413 :デフォルトの名無しさん:2016/08/07(日) 20:54:02.06 ID:/wJe7S0/.net
>>347
ここがよくまとまってたよ
https://www.jpcert.or.jp/java-rules/fio07-j.html

414 :デフォルトの名無しさん:2016/08/08(月) 23:54:22.48 ID:50XAspjz.net
引数でenumを受けてswitchで分岐して戻り値を返すメソッドを作っているんだけど
defaultで何か値を返さないとコンパイルエラーなんだけどこういうものですか?

enumが取り得る値は全部caseに書いてるからdefaultに分岐することは無いと思うのだけど

415 :デフォルトの名無しさん:2016/08/09(火) 00:14:20.76 ID:QLW4GyaM.net
>>414
switch文の中でreturnしてるのでは?
その場合はdefaultで何かしらreternするかswitchの外でreternしないと全てのパスで値を返さないと判断されてビルドエラー
個人的にはswitch内では返却用変数に値を入れて、switchの外でretern。default節にはassertかな

416 :デフォルトの名無しさん:2016/08/09(火) 00:15:25.93 ID:s9poePNg.net
>>414
Castすればenumで定義してない値も渡せるから

417 :デフォルトの名無しさん:2016/08/09(火) 00:19:18.47 ID:h+7CEzP0.net
>>416
マジで?
enumは定義した値しか無理なのがメリットと聞いたんだが

418 :デフォルトの名無しさん:2016/08/09(火) 00:26:37.78 ID:s9poePNg.net
>>417
Enum.IsDefined()かType.IsEnumDefined()を使わないと、定義された値かどうかの保証はないよ

419 :デフォルトの名無しさん:2016/08/09(火) 00:51:04.06 ID:h+7CEzP0.net
>>418
そうだったのかよ

420 :デフォルトの名無しさん:2016/08/09(火) 01:12:43.40 ID:mCEAgHsh.net
え、ちょっとまって、ここC#スレじゃないよね
Enum.IsDefinedってC#(というか.NET)だよね

http://docs.oracle.com/javase/jp/7/api/java/lang/Enum.html

421 :デフォルトの名無しさん:2016/08/09(火) 06:45:58.32 ID:qoHYj2J7.net
まあenumに後で値が追加された場合を考えてdefaultは必ず書いといた方がいい
それが嫌なら他所でswitchは使わずにenum側にメソッドを定義する

422 :デフォルトの名無しさん:2016/08/09(火) 09:36:23.22 ID:h+7CEzP0.net
>>420
あっそっか
先頭大文字はC#か

423 :412:2016/08/10(水) 08:47:58.34 ID:oaJhkFWS.net
レスありがとう

逆コンパイル見て納得したわ
そうだよなぁ、コンパイル時に参照してるenumと実行時に参照してるenumが変わってる場合もあるもんなぁ
自分で作ってる範囲では関係ないけど

424 :デフォルトの名無しさん:2016/08/10(水) 09:04:51.85 ID:DKNr45Gr.net
CやC#のenumがタイプセーフでないと言われるのは
enumが単なる数値でどんな値も取りうるからというよりもswitchを使うという行為に由来するもので
結局Javaの「タイプセーフ」enumだろうがswitch使っちゃうとタイプセーフにはなり得ないんだよな

425 :デフォルトの名無しさん:2016/08/10(水) 10:01:54.36 ID:ZwTZqxeT.net
switchも拡張してなんとかすればいいのにね

426 :デフォルトの名無しさん:2016/08/10(水) 14:58:25.68 ID:fFAFyiAs.net
定義外enumのインスタンス化禁止+網羅チェックくらいの
程よい拡張ならいいけどやりすぎると結構アレなことになる

http://wpdev.hatenablog.com/entry/2015/06/24/233854
http://qiita.com/shimesaba/items/55bfe911c2f86055cbe1

427 :デフォルトの名無しさん:2016/08/10(水) 15:30:44.38 ID:qErblx1T.net
>>424
それはバージョン間の互換性の問題と
typesafe enum/int enumの問題とをごっちゃにしてるだけだよ。

互換性の問題をクリアできてないから万能ではない、あたりまでは言えるかもしれんが、
タイプセーフではないとか言っちゃうと……

428 :デフォルトの名無しさん:2016/08/10(水) 22:13:48.56 ID:UWZg55pn.net
株式会社TOUAが2016年7月に破産
http://www.tdb.co.jp/tosan/syosai/4191.html

429 :デフォルトの名無しさん:2016/08/14(日) 01:00:37.40 ID:S7WS2brb.net
JFrameでウインドウを作って、そこでボタンなどを作成して時間のかかる処理をさせると、処理が終わるまでボタンが凹みっぱなしになるんですが
処理を続けつつ、JFrameを最新の状態で上書きするにはどうしたら良いですか?

430 :デフォルトの名無しさん:2016/08/14(日) 06:51:40.07 ID:EcwVprBa.net
スレッドプール使って別スレッドでやる

431 :デフォルトの名無しさん:2016/08/14(日) 19:37:47.75 ID:WKXjJIoJ.net
rxJava

432 :デフォルトの名無しさん:2016/08/14(日) 20:26:41.84 ID:5USMjBJX.net
jqueryを使って表を作成していて、
2つのプラグインを使おうとしています。
プラグイン1・・・セルが同一であれば結合する
プラグイン2・・・ヘッダーでソートができる。

この時、それぞれのプラグインで
<table>タグにidを設定する必要があります。

この場合、<table id=

433 :デフォルトの名無しさん:2016/08/14(日) 20:27:29.48 ID:5USMjBJX.net
すみません、途中できれてしまいました。

この場合、<table id="sample1" id="sample2">
のようにidに複数の値を設定しても問題ないものでしょうか。

434 :デフォルトの名無しさん:2016/08/15(月) 09:10:49.22 ID:kM2bYzgf.net
jQueryとJavaの関係性について

435 :デフォルトの名無しさん:2016/08/15(月) 09:43:05.50 ID:mR9WwRQ6.net
最近のは勢いで書き込むからいけねぇよな
スレタイと内容を2回確かめて書き込めし

436 :デフォルトの名無しさん:2016/08/15(月) 12:54:36.47 ID:TUIKyN4z.net
>>434
それを見つけるのがお前らの仕事だろうが怠けるな!

437 :デフォルトの名無しさん:2016/08/15(月) 12:57:19.91 ID:TUIKyN4z.net
>>435
省略したら一緒だろうが中華人民共和国と中国は一緒だろじゃあJavaとjQueryも一緒だろ!!!

438 :デフォルトの名無しさん:2016/08/15(月) 12:57:44.69 ID:TUIKyN4z.net
たわけどもが

439 :デフォルトの名無しさん:2016/08/15(月) 12:58:21.42 ID:TUIKyN4z.net
ほらさっさと答えろ

440 :デフォルトの名無しさん:2016/08/15(月) 12:59:26.26 ID:TUIKyN4z.net
グズグズすんなカスどもがライチぶつけんぞ

441 :デフォルトの名無しさん:2016/08/15(月) 12:59:40.74 ID:hCHaq+GR.net
などと意味不明な供述をしており、警視庁は薬物の乱用等の 可能性も考えられるとして、捜査を続ける方針です。

442 :デフォルトの名無しさん:2016/08/15(月) 13:11:04.11 ID:H+GaxU0A.net
夏か

443 :デフォルトの名無しさん:2016/08/15(月) 13:32:46.04 ID:yoqsMfwQ.net
夏か釣りかただの頭のおかしい初心者か
とりあえずどれでもいいからJavaScript板池

444 :デフォルトの名無しさん:2016/08/15(月) 13:35:07.88 ID:JC0vxxja.net
そもそもhtmlの話なんじゃ……
いやよそう俺の予感だけでスレを混乱させたくない

445 :デフォルトの名無しさん:2016/08/15(月) 13:43:03.19 ID:z2kTYRxm.net
java<>javascript

446 :デフォルトの名無しさん:2016/08/15(月) 13:57:16.42 ID:hCHaq+GR.net
>>443
C#スレにワッチョイが入って追い出されてきた荒らしっす

447 :デフォルトの名無しさん:2016/08/15(月) 16:06:14.36 ID:Lesp94Jt.net
スレチと書きそうになったが、板違いだろ
WebProgへ逝けよ

448 :デフォルトの名無しさん:2016/08/15(月) 19:27:20.47 ID:gedRg2sB.net
>>440
ライチいいねえ

449 :デフォルトの名無しさん:2016/08/15(月) 19:28:46.60 ID:gedRg2sB.net
>>446
ここも次スレから入れよう

450 :デフォルトの名無しさん:2016/08/15(月) 19:42:22.23 ID:yoqsMfwQ.net
そうだな

451 :デフォルトの名無しさん:2016/08/15(月) 21:02:33.39 ID:fNf3Xcjw.net
いらない

452 :デフォルトの名無しさん:2016/08/15(月) 23:44:21.60 ID:SJQb9H27.net
荒らし本人乙
てめーの居場所なんか残してやらねえから
炎天下のアスファルトに引きずりだされたミミズみたいに
苦しみ抜いて干からびて死ね

453 :デフォルトの名無しさん:2016/08/15(月) 23:50:45.92 ID:fNf3Xcjw.net
頭を冷やせよ、馬鹿

454 :デフォルトの名無しさん:2016/08/15(月) 23:53:08.40 ID:hCHaq+GR.net
賛成に1票追加しといて

455 :デフォルトの名無しさん:2016/08/15(月) 23:59:20.03 ID:fNf3Xcjw.net
スレを分けよう

456 :デフォルトの名無しさん:2016/08/16(火) 00:16:54.08 ID:LvWZqoaM.net
さっそく釣れててワロタ

457 :デフォルトの名無しさん:2016/08/16(火) 01:02:40.41 ID:5k+FEGIK.net
>>455
ライチと俺のきんたまスレッドという名前にしよう
管理人は>>456頼む快く引き受けろきんたま野郎

458 :デフォルトの名無しさん:2016/08/16(火) 03:23:29.52 ID:h0WG7d7m.net
( ´д)ヒソ(´д`)ヒソ(д` )

459 :デフォルトの名無しさん:2016/08/16(火) 09:33:30.92 ID:CXXeizZn.net
審議中w

460 :デフォルトの名無しさん:2016/08/16(火) 09:56:47.37 ID:TsDBY7Mt.net
露骨なネタレスにはネタに乗るかスルーしようぜ
マジレスしても詮無い

461 :デフォルトの名無しさん:2016/08/16(火) 15:30:33.33 ID:Aa6B/BKP.net
初心者で悪いんだけど、以下のようなGoの連想配列をJavaに置き換えるにはどうすればいいの?

prof['me'] = map[string]interface{}{
'name': 'John Lennon',
'email': 'foobar@gmail.com',
'phone': '+81-90-0000-0000',
'occupation': []string{'Programmer', 'System Engineer'},
'language': []string{'Japanese', 'English', 'Spanish', 'Chinease'},
'hobby': []string{'Photography', 'Traveling', 'Fishing', 'Onsen'},
}

のようなかたちにしたいんだけど

Pythonなら
my_profile = {'name': 'John Lennon', 'nickname': 'monkey',
'occupation': ('programmer', 'system engineer'),
'phone_number': '+81-90-0000-0000', 'email': 'ahoaho@gmail.com',
'language': ('Japanese', 'English', 'Spanish'),
'hobby': ('photography', 'fishing', 'traveling'), }

Javaでは連想配列で調べると、HashMapが出てきて、
Map<String,String> profile = new HashMap<String,String>();
のようにするのかなと思ったけれど、
毎回profile.put('name', 'Tom');みたいにするのはめんどくさいので配列で行おうと思ったんだけど、
String[][] profile = new String[2][3];とかでは違う気がして

462 :デフォルトの名無しさん:2016/08/16(火) 16:20:15.90 ID:bpfxyFhm.net
Javaにそんな気の利いたものはない
JSONファイルに外出しにするか泥臭くputしろ

463 :デフォルトの名無しさん:2016/08/16(火) 16:47:25.47 ID:Aa6B/BKP.net
>>462
マジで?
こう言うと失礼かもしれないけれど、Javaだとこんな簡単な事を実装するのも苦労するんだね
実際こういう形が必要になった時ってJSON化とかしないといけないのか
良くある形だと思うんだけど...

教えてくれてありがと

464 :デフォルトの名無しさん:2016/08/16(火) 16:48:40.13 ID:4YjPvRoE.net
>>463
おっぱいそんでいいだろ、さようなら

465 :デフォルトの名無しさん:2016/08/16(火) 17:47:14.08 ID:LN6Jma9b.net
>>461
StringのキーでStringの配列が引き出せればいいんだろ?HashMap<String, String[]> でいいんじゃねえの?
初期化とか面倒ってのは表現の問題だよな。ま、なんだったら初期化の元になる配列を別に用意しておいて自分でループさせて一個づつ初期化するように書けばいいのでは?
それか設定ファイルから読むように書くとか。

466 :デフォルトの名無しさん:2016/08/16(火) 17:48:38.77 ID:LN6Jma9b.net
書き込んだらリロードされて既に話が終わってたorz

467 :デフォルトの名無しさん:2016/08/16(火) 17:57:57.62 ID:q8lrk+Br.net
>>463
ヘルパメソッド作ればええんやで
詳細は>>466が知ってますよろしくお願いします

468 :デフォルトの名無しさん:2016/08/16(火) 18:07:44.65 ID:Aa6B/BKP.net
>>465
>>467

ありがと
今出先だからまた試してみる

469 :デフォルトの名無しさん:2016/08/16(火) 19:30:12.56 ID:EHdIZNTT.net
まぁでもそういう表記簡略化してくれるアノテーションプロセッサみたいなのがあってもいいよな

470 :デフォルトの名無しさん:2016/08/16(火) 20:05:03.56 ID:eooJe/za.net
lombokもまだ大したことできねえしなあ

471 :デフォルトの名無しさん:2016/08/16(火) 20:52:52.11 ID:Aa6B/BKP.net
>>465

import java.util.Map;
import java.util.HashMap;

public class Hai {
public static void main(String[] args) {
Map<String, String[]> hai = new HashMap<String, String[]>();
hai.put('name', 'Tom');
System.out.println(hai.get('name'));
}
}

/*
Hai.java:7: エラー: 不適合な型: StringをString[]に変換できません:
hai.put('name', 'Tom');
^
注意:一部のメッセージは簡略化されています。-Xdiags:verboseで再コンパイルして完全
な出力を取得してください
エラー1個
*/

このエラーは理解できるんだけど、となると上で書いた俺のやりたいような事ってやっぱ難しいのかな?
連想配列で、あるキーの値はStringだけど、別のキーの値はString[]みたいな

472 :デフォルトの名無しさん:2016/08/16(火) 20:59:49.35 ID:4YjPvRoE.net
居座る初心者

473 :デフォルトの名無しさん:2016/08/16(火) 21:34:57.35 ID:hU1J3joE.net
>>471
難しくない、Javaなら5秒だ
https://paiza.io/projects/4rPiFWKm9zY0DyrMynLGmQ

474 :デフォルトの名無しさん:2016/08/16(火) 21:42:42.38 ID:eooJe/za.net
Objectにでもキャストしとけよ
タイプセーフ嫌いなんだろ

475 :デフォルトの名無しさん:2016/08/16(火) 21:47:46.33 ID:so1Gsq4y.net
ドヤ顔で相手してる人間初心者も死ね

476 :デフォルトの名無しさん:2016/08/16(火) 23:05:21.19 ID:CFM4NC3W.net
初心者は、初心者向けスレへ移動せよ

Java入門・初心者質問スレ
http://echo.2ch.net/test/read.cgi/tech/1462997913/l50

477 :デフォルトの名無しさん:2016/08/17(水) 12:22:51.42 ID:8LdosxhK.net
>>471
同じ所に違う型混ぜて入れると後で判別したり面倒だから1つでもString[]に入れとけ。
データが億単位あってそんな無駄なことは1バイトたりともできないっていうなら話は別だか、
数万とか数千なら今のPCなら気にならないぐらいの誤差みたいな大きさにしかならんよ。

478 :デフォルトの名無しさん:2016/08/17(水) 14:37:25.87 ID:a7znAueU.net
またズレたことを
(469が)冗長(に感じるよう)なコード書きたくないって言ってんだよ
ホント相手してる奴って頭悪いな
生きてる価値ないから死ねよ

479 :デフォルトの名無しさん:2016/08/17(水) 15:09:49.31 ID:5YMB8p2s.net
よーしパパも冗長なコード書いちゃうぞ
https://ideone.com/UaKR5E

480 :496:2016/08/17(水) 16:36:14.02 ID:oKUi9/GV.net
おまいらって結局は優しいんだよな
コードとかもありがと
どう考えても5秒ではないと思うけれどw
パパもありがとね

481 :デフォルトの名無しさん:2016/08/17(水) 16:36:41.39 ID:oKUi9/GV.net
469だった、ごめん

482 :デフォルトの名無しさん:2016/08/17(水) 17:19:41.01 ID:pMMsZ2bI.net
相手にしている奴ら無視すればいいのに書き込んじゃうとかホント書き込んだ奴頭悪いな

地獄に落ちればいいのに

483 :デフォルトの名無しさん:2016/08/17(水) 17:39:58.35 ID:XiTPQbLr.net
構文糖衣はともかくとしても
JavaSEに不定形データ扱うライブラリが入ってないのは欠点だとは思う
https://ideone.com/Z683HJ

484 :デフォルトの名無しさん:2016/08/17(水) 17:43:39.10 ID:+euenK++.net
jsonなんかいらね

485 :デフォルトの名無しさん:2016/08/17(水) 20:04:56.00 ID:2Z7xYVvO.net
>>478
お前も答えられないなら死ね。生きてる価値ないから。

486 :デフォルトの名無しさん:2016/08/17(水) 20:34:55.41 ID:HDxcYxzF.net
NGしてろカス

487 :デフォルトの名無しさん:2016/08/17(水) 20:50:10.27 ID:aK9XWlC8.net
わかった この話はやめよう ハイ!! やめやめ

488 :デフォルトの名無しさん:2016/08/17(水) 21:15:36.68 ID:+euenK++.net
せやなー

489 :デフォルトの名無しさん:2016/08/18(木) 01:07:37.15 ID:FFjclqUv.net
こんなのどう?
https://paiza.io/projects/8cyMIbIQX46hs2-KJSfVPA

490 :デフォルトの名無しさん:2016/08/19(金) 20:28:45.17 ID:CkYJIhBp.net
こんな感じで不定間隔で昇順の配列があります
int[] a = {1,3,7,10,12,20,24,33};
このとき指定した値に一番近い要素の番号を得たいと思ってます
たとえば、3なら1、6なら2、16なら4(中間値なら小さい方)、という具合です

今は配列を走査し
・一致した要素があればその番号
・要素間の範囲に入ってた場合は大きい値と小さい値の差分を計算して差分の小さい方の要素番号
としてるのですが、配列aの要素数が多く(実際には2000くらい)、指定される値も10万個ほどあるので
処理にかなり時間がかかってしまいます

指定される値をソートしてブロック単位で…等とも考えたのてすが、データの仕様上、無理なようです

効率のよいアルゴリズムとかAPI、ありますか?

491 :デフォルトの名無しさん:2016/08/19(金) 20:37:11.37 ID:tsEZzAHj.net
>指定した値に一番近い要素の番号を得たいと思ってます
これが一回だけなのか、複数回なのかがわからないのに効率の良いアルゴリズムなんて答えられるわけがない

492 :デフォルトの名無しさん:2016/08/19(金) 20:58:16.30 ID:59AD2ZKx.net
>>491
10万回だとした場合の効率よいアルゴリズム示してみたら?

493 :デフォルトの名無しさん:2016/08/19(金) 21:04:57.74 ID:CkYJIhBp.net
>>491
何らかの値が指定される都度、一番近い要素の番号を返す

その処理を、10万回繰り返すものとなります

494 :デフォルトの名無しさん:2016/08/19(金) 21:14:41.84 ID:WMQnppU0.net
とりあえず二分探索する
二分探索で我慢できなくて配列aの最大値が数万くらいなら配列を展開する

int[] a = {1, 6, 9};
int[] b = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2}

配列aの最大値が24万程度なら、展開した配列bに必要なメモリは2^(18+2)で1MB弱

495 :デフォルトの名無しさん:2016/08/19(金) 23:12:34.89 ID:ZqQW0r9G.net
>>494
二分探索と配列の展開、情報ありがとうございます

展開した配列を用意するためのプログラムが必要そうですが、こちらの方が性能は良さそうですね

ありがとうございました

496 :デフォルトの名無しさん:2016/08/20(土) 00:08:07.91 ID:BMoP1SdH.net
作り方がおかしいかご意見をお聞かせください。

通信関連モジュールを作成しているのですが
・通信前のデータチェックでのエラー
・通信結果の解析結果のエラー
これら2つの結果を返すコールバック用のメソッドを分けて作っていたのですが
「そんなイレギュラーな作りをするな!同じメソッドで引数を変えろ!」
と言われました。
エラーが発生するタイミングが違うので同一インターフェースの中で分けたのですが、
「イレギュラー」といわれるほど変な作りなのでしょうか?

497 :494:2016/08/20(土) 00:15:39.59 ID:BMoP1SdH.net
関連モジュールは他にないので、「他のモジュールと比較しておかしい」というわけではありません。
あくまでもJAVAの一般論として「イレギュラー」と言われてます。

498 :デフォルトの名無しさん:2016/08/20(土) 06:53:27.62 ID:B6Zc+FaI.net
その情報だけでは必ずしもおかしいとは思わない。
メソッドを分けることで、利用者はその二種類のエラーを区別することを強制される。
だから、その二種類の区別が利用者にとって重要だと想定されるのであれば一つで分岐するより分けた方がいい。
そうでもない(利用側の処理に違いがない)なら一つでいい。

499 :デフォルトの名無しさん:2016/08/20(土) 11:38:21.48 ID:hWaMH8VG.net
>>496
MyConnector con = new MyConnector();
con.setCallback1(callback1)
con.setCallback2(callback2)
con.connect()
みたいに必要なcallbackを追加していけるならいいけど、

con.connect(callback1, callbak2)
ならまとめてもいいかな

500 :デフォルトの名無しさん:2016/08/20(土) 15:20:42.65 ID:D7SVWed1.net
まぁ俺だったらひとつにするな
それで定数intとかでエラーIDを作ってそれを渡すとかするわ

>>496の考えだと今回は2件だけど3件、4件と行程が増えた数だけメソッドを作ることになる。
そもそもそれは実装する側も使用する側も手間になる。

例えばどのエラーでも同じことをしたかったとしても使用する側は、その分のコールバックメソッドを立てて、メソッド化して複数箇所で呼び出したりする必要がある。
それって手間にじゃん

>>496が作ったモジュールと実際にモジュールを使う側の関係が1:多の関係であるなら、なるべく使う側に汎用性をもたせてやるほうがいい。
今回の汎用性というのはエラーを分けるか分けないかってことね
1つまりモジュール側は必要になった時に判断できる手段を用意してあげることだとおもう

501 :デフォルトの名無しさん:2016/08/20(土) 17:44:13.96 ID:s0elS7/F.net
10万回を前半5万回と後半5万回に分けて
マルチスレッド化

502 :デフォルトの名無しさん:2016/08/20(土) 18:30:31.94 ID:06sBBxjU.net
10万スレッド作っ(ry

503 :デフォルトの名無しさん:2016/08/20(土) 19:52:31.00 ID:maedJSZM.net
parallel入れて最適化したとしても
10万件程度では速度向上は期待できない気もする
https://paiza.io/projects/N1anFUeXUTdILH0sJnwl5g

504 :デフォルトの名無しさん:2016/08/20(土) 21:26:00.33 ID:6io4DnXk.net
今や求人はJavaやC#だらけですが、どうしてもJavaやC#になじめず
悩んでいます。派遣PGです。
自分なりになじめない原因を考えてみるとどうもJavaやC#に限らず
ネイティブで動作していない言語に拒否感があります。
C/C++やアセンブラにはない「気持ち悪さ」とでもいうのでしょうか…
もうエンジニアとして終わりなのかなとか、必要とされていないので
は?という悲観的な気持ちです。
どうすれば乗り越えられるでしょうか?

505 :デフォルトの名無しさん:2016/08/20(土) 21:32:20.77 ID:DlK5hCub.net




506 :494:2016/08/20(土) 21:35:28.10 ID:BMoP1SdH.net
ご意見ありがとうございました。
>> 498さんのご意見が特に参考になりました。
確かに今後拡張していくと面倒なことになりますね。
良かれと思って分割したのが裏目になりそうです。

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

507 :デフォルトの名無しさん:2016/08/20(土) 21:39:00.90 ID:DlK5hCub.net
仕様がわかんねーからどうでもよさげ

508 :デフォルトの名無しさん:2016/08/20(土) 21:41:08.87 ID:DlK5hCub.net
つーか、設計が間違ってたということね

509 :デフォルトの名無しさん:2016/08/20(土) 22:04:50.30 ID:SbaSzAw8.net
>>504
JIT

510 :デフォルトの名無しさん:2016/08/20(土) 23:56:34.43 ID:UumqURVq.net
>>504
マジなのかコピペか釣りか知らないけど、まず板名や>>1すら読めてないから、多分馴染めない原因は他にもあると思うよ
ネイティヴじゃないとか意識する以前にね

もし本当にネイティヴ非ネイティヴを意識して馴染めないのであれば残念だけどこの先やっていくのはつらいからくぎりをつけたほうがいいよ

511 :デフォルトの名無しさん:2016/08/21(日) 08:57:32.48 ID:IUzncNpZ.net
縦書きフォント使いたいんだが、フォント読み込みから自力実装するしかない?

512 :デフォルトの名無しさん:2016/08/21(日) 10:12:08.48 ID:duM5Lppi.net
お前どこでフォントを使いたいのか
環境も書かずに答えられると思ってんの?

513 :デフォルトの名無しさん:2016/08/21(日) 10:49:45.26 ID:MeZyvK3R.net
ホント

514 :デフォルトの名無しさん:2016/08/21(日) 11:28:59.60 ID:IUzncNpZ.net
>>512
JNI等を使用しないWindowsのjava.awt.Graphics2Dで。
レイアウトとか自分でやるんで、truetype/opentypeフォントに含まれる縦書き用グリフや配置情報送り幅等を取得したい。

515 :デフォルトの名無しさん:2016/08/21(日) 12:08:10.04 ID:MeZyvK3R.net
JDKのフォント周りはホントにイミフ

516 :デフォルトの名無しさん:2016/08/21(日) 12:16:19.38 ID:xQ8AfaVf.net
@つきのフォント読み込んで90度回転で書けばいいんじゃなかったっけか?

等幅フォントなら横書き用フォント使って縦に一文字一文字書いてくのもありかもだが。
句読点や括弧をちゃんと処理せんといかんけど。

517 :デフォルトの名無しさん:2016/08/21(日) 12:46:54.85 ID:IUzncNpZ.net
@付きとかそんなものはないのです…
MS 明朝等に@をつけてFont作っても存在しないフォントはDialogが使われるだけなのです…

import java.awt.Font;
import java.awt.GraphicsEnvironment;
public class FontTest
{
public static void main(String[] args)
{
// @付きフォントなんて無い
for (Font font : GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts())
{
System.out.println(font);
}

// @付きで指定しても存在しないフォントはDialogになる
Font font = new Font("@MS 明朝", Font.PLAIN, 12)
System.out.println(font.getFontName());
}
}

518 :デフォルトの名無しさん:2016/08/21(日) 14:06:54.91 ID:xQ8AfaVf.net
>>517
あらごめん。 Windows7あたりからかフォントの扱い変わったらしいから、それが原因かも。

519 :デフォルトの名無しさん:2016/08/21(日) 15:02:21.58 ID:rOj1s/df.net
ろくにテストもしてないのだろう

520 :デフォルトの名無しさん:2016/08/21(日) 15:14:29.45 ID:rOj1s/df.net
oracleのやる気のなさ

521 :デフォルトの名無しさん:2016/08/21(日) 15:53:29.38 ID:hSejVSNi.net
>>490, >>501, >>503
ローカルでJITコンパイル切ってやってみたらコア数まではスケールするみたいよ

おっぱいざだとJITコンパイルがあってよくわからん
https://paiza.io/projects/wTqOKtC_yCz4-2Z5xCkPAw

シングルスレッドでも20ミリ秒だからマルチスレッドにする意味ないかも

522 :デフォルトの名無しさん:2016/08/21(日) 18:00:10.89 ID:hSejVSNi.net
>>490
配列よりは遅いけどTreeMapを使うやり方もあるよてことで
https://paiza.io/projects/rqnLcs9ZehOWZgOIo-WHOA

523 :デフォルトの名無しさん:2016/08/21(日) 18:12:19.70 ID:dUfPoSxX.net
javaって10万スレッドも同時に実行出来るの?
メモリー量とか、そういうのは別にして。
同時に実行出来るスレッド数に上限は無い?

524 :デフォルトの名無しさん:2016/08/21(日) 18:20:43.74 ID:hSejVSNi.net
>>523
CPUとメモリが潤沢にあれば行けるんじゃないかな
俺の環境ではi7のCPUがフル稼働でWindowsがフリーズしかけた
必死こいてプロセス殺した
>>502みなさん2chのデマに気を付けてください

525 :デフォルトの名無しさん:2016/08/21(日) 19:07:34.19 ID:i9hjM3oz.net
そういや Windows 以外のXやiOSではどうなってんだろうね。

526 :デフォルトの名無しさん:2016/08/21(日) 19:10:29.74 ID:i9hjM3oz.net
523はリロードしてなくて上の方のフォントの話へのレスだったが、もうどうでもよい。

527 :デフォルトの名無しさん:2016/08/21(日) 19:11:22.55 ID:i9hjM3oz.net
>>524
試す人がいるとは思わなかったw

528 :デフォルトの名無しさん:2016/08/21(日) 22:35:26.83 ID:M72PC28j.net
>>524
こちらで>>490のやつをaが2000件bが10万件で10万スレッド作ってやるのを作ってみたが特に問題なく数秒で終わったぞ?
スレッドなしのストレートなやつはもっと速く終わったけどな。w

そういや>>490のやつは数秒だったとしても時間掛かりすぎでまずいぐらいの高速性求めてたのかな?

529 :デフォルトの名無しさん:2016/08/21(日) 22:37:07.19 ID:M72PC28j.net
あ、bって指定される値の方ね。

530 :デフォルトの名無しさん:2016/08/21(日) 22:43:19.76 ID:M72PC28j.net
>>490のやつってこんなんでいいんだよなあ?(Thread使わないストレートなやつ)
https://paiza.io/projects/6k1S75kySYEpB-6n7ntBRw
とても速く終わるんだが。

531 :デフォルトの名無しさん:2016/08/21(日) 23:16:05.19 ID:hSejVSNi.net
>>528
コードがマズかったかな
そちらの10万スレッドのコード教えて
もっかいやってみる
俺のi7の力を見せてやる

532 :デフォルトの名無しさん:2016/08/21(日) 23:50:43.54 ID:M72PC28j.net
>>531
https://paiza.io/projects/xmOg-JbIQdMhaEt9mtNy-A

ただしこのサイトの実行環境ではメモリ上限を超えるようで OutOfMemoryError になる。

533 :デフォルトの名無しさん:2016/08/21(日) 23:55:48.92 ID:hSejVSNi.net
>>532
あざーす

534 :デフォルトの名無しさん:2016/08/22(月) 00:09:39.70 ID:4FCeXfXX.net
10万スレッドで5秒だった
生のスレッド使えばいいのか
マジかー

535 :デフォルトの名無しさん:2016/08/22(月) 10:01:26.36 ID:MdBT+DeE.net
ネタでやるのはいいけど
コア数(HT含む)を超える数のスレッド作っても意味無いからね

536 :デフォルトの名無しさん:2016/08/22(月) 10:55:58.54 ID:C6WXEgXb.net
酷いループを用意しても2,000×100,000で時間かかりすぎる場面が発生しない
前提条件そのものに問題がある(根本的に勘違いしている)が濃厚

537 :530:2016/08/22(月) 12:51:08.04 ID:mEg9CMpU.net
>>535
いやわかってる。
530のプログラムもループさせてスレッド作った直後にすぐスタートさせてるのですぐ終わるやつは多分ループ抜ける前に終わっちゃってて同時に10万スレッドが動いていない。
同時10万を本当にやるとしたらスタート直後に待たせてメインスレッドが全体を同時に動かさせるようにする必要があるが、今のところやる気はない。w

538 :デフォルトの名無しさん:2016/08/22(月) 20:36:07.09 ID:G2Ad46dy.net
https://ideone.com/7BUuq3
バーチャルマシンにオプション付けてスレッドのスタックを
調整すると沢山同時に起動実行出来ることが分かった。
-Xss128k
とか。数字は小さい方がいいみたい。ウィンドウズのタスクマネージャで
見ているとスレッド数が増えていくのが分かる。ある程度のところで
java.lang.OutOfMemoryError: unable to create new native thread
となった。

539 :デフォルトの名無しさん:2016/08/24(水) 19:46:51.49 ID:xJCgpC1z.net
Winで動かす場合はJavaのVM自体がいくつもスレッド使っているから
Windowsの制限よりは少なくなるだろ。
https://technet.microsoft.com/ja-jp/windows/mark_04.aspx

540 :デフォルトの名無しさん:2016/08/24(水) 23:43:57.21 ID:3vGB/zKb.net
synchronized使って10万スレッドやってみたらフリーズしたw
最初何回かは大丈夫だったんだけどな。eclipseで3回目は何分待ってもマウスカーソルが動かなくてしょうがないから電源切った。w

541 :デフォルトの名無しさん:2016/08/25(木) 02:23:50.28 ID:l83TC/zZ.net
build.gradleでライブラリをcompileに書くときにバージョン番号を省略すると最新版が入りますが、入ったライブラリのバージョンを確認するにはどうすればよいですか?またライブラリはどこにダウンロードされますか?

542 :デフォルトの名無しさん:2016/08/25(木) 03:12:32.19 ID:s1NjE0Yt.net
Javaの質問と言えるのか分からんが
gradle dependencisで依存関係表示
インストール先は大抵$HOME/.m2の下

543 :デフォルトの名無しさん:2016/08/25(木) 03:18:39.81 ID:l83TC/zZ.net
>>542
ありがとうございました。.gradle以下ばかり探してました。

544 :デフォルトの名無しさん:2016/08/28(日) 22:05:16.01 ID:Pr4GF7QY.net
画像を表示するときビット配列から生み出す方法とImageオブジェクトのクラスから生み出す方法があるみたいだけど
どう使い分ければいいの?ってかどう違うの?

545 :デフォルトの名無しさん:2016/08/28(日) 22:10:44.30 ID:ev9L5f83.net
表示することを聞いてるのか生み出すことを聞いてるのか曖昧だ

546 :デフォルトの名無しさん:2016/08/28(日) 22:19:04.46 ID:ev9L5f83.net
Javaで画像っていうとBufferdImageを直にインスタンス化するか
ImageIO#readメソッドを使うかだと思うけどどっちのことを言ってるん

547 :デフォルトの名無しさん:2016/08/28(日) 22:25:03.92 ID:Pr4GF7QY.net
ImageIconクラスのことです!!!!!
曖昧ですいません、始めたばっかで画像表示しようとしてるんだけどいまいちよく分かんなくて

548 :デフォルトの名無しさん:2016/08/28(日) 22:25:34.77 ID:wVJbbEHi.net
java.awt.Toolkit#createImage() ってのもあるな。

549 :デフォルトの名無しさん:2016/08/28(日) 22:29:31.96 ID:wVJbbEHi.net
>>547
んなもん使いやすい方使えばいいじゃないか。内容が同じなら最終的には違いはない。
途中の内部処理が違うだけ。

550 :デフォルトの名無しさん:2016/08/28(日) 22:35:09.24 ID:ev9L5f83.net
ソースコードによると
https://github.com/frohoff/jdk8u-dev-jdk/blob/master/src/share/classes/javax/swing/ImageIcon.java

Imageを受け取る方は直接loadImageというプライベートメソッドを呼んでる
byte[]を受け取る方はToolkit.getDefaultToolkit().createImageでImageにしてからloadImageを呼んでる

551 :デフォルトの名無しさん:2016/08/28(日) 22:36:34.64 ID:ozGx3CHe.net
出た後だし、泰山雷同して鼠一匹、でした

552 :デフォルトの名無しさん:2016/08/28(日) 22:40:40.16 ID:Pr4GF7QY.net
なるほどつまり内部構造的な違いができるだけで結果は同じなのね
すいません助かりましたありがとう!

553 :デフォルトの名無しさん:2016/08/29(月) 00:03:21.66 ID:Y/vqlQ//.net
>>551
http://d.hatena.ne.jp/mkusunok/about

554 :デフォルトの名無しさん:2016/08/29(月) 17:24:53.93 ID:AcWh2Iym.net
こんにちは。

趣味でJava用ゲームライブラリlibGDXを利用してゲームプログラミングをしている者なのですが、アプリケーションの配布について質問させてください。

Java製のアプリはjar形式にて配布されることが普通かと思いますが、私はWindows向けにはexe形式にて配布したく思っております。
そのためにはlanch4jやexewrapといったツールを用いることができるかと思いますが、その際、実行環境がインストールされていないPCでも実行できるようにJREを同梱し配布することにライセンス上問題はありますでしょうか?
因みにアプリケーションは有償での配布を予定しております。
論拠などもお示し頂けると嬉しいです。

よろしくお願いします。

555 :デフォルトの名無しさん:2016/08/29(月) 17:53:07.10 ID:IWCj2egw.net
>>554
ライセンスは知らんがJRE配布ってどれだけ巨大になると思ってるの?
実行環境のインストールとかインストーラー起動するだけで出来るのに

556 :デフォルトの名無しさん:2016/08/29(月) 18:03:18.33 ID:C9HSRABQ.net
>>554
特に問題ないよ
http://www.oracle.com/technetwork/java/javase/terms/license/index.html
http://www.oracle.com/technetwork/jp/licenses/javase-dev-license-2595998-ja.html

557 :デフォルトの名無しさん:2016/08/29(月) 18:03:51.24 ID:C9HSRABQ.net
あとこれ
https://www.java.com/ja/download/faq/distribution.xml

558 :デフォルトの名無しさん:2016/08/29(月) 18:07:41.39 ID:HSXk2xhn.net
有償なら絶対にJRE配布の方がいい
動かんやないか金返さんかいボケェ!!!(JREが入ってない)
動かんやないか金返さんかいアホォ!!!(JREが古い)
動かんやないか金返さんかいドァホ!!!(JREが新しい)
動かんやないか金返さんかいコラァ!!!(JREのインストール失敗)
確実にこうなるから

559 :デフォルトの名無しさん:2016/08/29(月) 18:12:22.12 ID:C9HSRABQ.net
経験談やめろ

560 :デフォルトの名無しさん:2016/08/29(月) 18:27:28.96 ID:IWCj2egw.net
>>558
そんな無能いるのか?

561 :デフォルトの名無しさん:2016/08/29(月) 18:28:17.44 ID:IWCj2egw.net
動かんから金返せは動作チェック含めた体験版をWEB配布すればいいし

562 :デフォルトの名無しさん:2016/08/29(月) 18:40:23.84 ID:HSXk2xhn.net
ユーザーのITリテラシーを舐めてはいけない
機械音痴なお前の母ちゃんにプレイしてもらうくらいのつもりで丁度いい
体験版なんて「ジャカアしいわそんなもん知らんがなエエから金返せやワレェ!!!」で終わり

563 :デフォルトの名無しさん:2016/08/29(月) 18:44:32.90 ID:IWCj2egw.net
購入ページに64pxくらいの赤文字で
「動作チェックの為に体験版で遊んでから購入して下さい。返金には一切応じません」って書いておけばいいやん
それか体験版で遊んだら認証コードGET出来て認証コードないと買えないとか

564 :デフォルトの名無しさん:2016/08/29(月) 20:08:55.85 ID:BlZeW1Wo.net
>>553
何これ?

565 :デフォルトの名無しさん:2016/08/29(月) 21:14:26.99 ID:jQ52lz2j.net
JRE付きとなしを両方配布して、金はライセンスキーを売る形式にして、それは起動後に入力する事になるので多分苦情は減る。
ライセンスキー買ってくれなくても制限付きで少しは動くようにしといてそれを体験版ということにすれば良い。

566 :デフォルトの名無しさん:2016/08/29(月) 21:54:17.38 ID:ACcJrIRQ.net
様々なご意見やご提案ありがとうございます!
大変参考になりました。

以前、同じくJavaで作ったゲームを公開した際に、フリーであるにも関わらず動作しない旨の苦情を多数頂いたもので、有償の場合どうなってしまうのかと考えたらJREを同梱してしまうのが良いのかなと思い相談させて頂きました。

これから公開方法については皆様から頂いたご意見を参考に決めたいと思います。

また、ライセンス絡みについて参考にするため、すでに公開されているJava製のゲームにJREが同梱されている例が無いか調べたところ、Windows環境下にも関わらずOracleのJREでは無くOpenJDK(?)が同梱されている例が見つかりました。
OpenJDKの理由や違いについては私の知識不足によりまだ分かっていませんが、皆様から頂いたアドバイスやURLによるとOracleのものでも全く問題はなさそうに思えるのでまた調べていきたいと思います。

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

567 :デフォルトの名無しさん:2016/08/29(月) 23:00:52.88 ID:WaGPxa3J.net
商品の管理するプログラムを考えてます
商品をオブジェクト、そのフィールドにpriceがあり、例えば日本円での価格をsetPrice()で設定したとして、
・ある商品A、B、C  は、ドルでの価格を知る必要がある
・ある商品A、  C、Dは、ユーロでの価格を知る必要がある
・それぞれのメソッドは、どの商品についても同じ処理

こういった場合のクラスの設計について、よい指針を教えてください
・商品クラスを継承したA、B、C、Dクラスに対し、A、B、CにgetDollarPrice()を、A、C、DにgetEuroPrice()をコピペで実装する
・商品クラスを継承したAC商品クラスにgetDollarPrice()、getEuroPrice()を実装。同じくB商品クラスにはgetDollarPrice()のみ、D商品クラスにはgetEuroPrice()のみを実装
・基底の商品クラスにgetDollarPrice()、getEuroPrice()を実装する。継承したクラス側では、使わないメソッド(例えばDのgetDollarPrice())は何もしない処理でオーバーライド
・Public static calcDollar()、同calcEuro()といったメソッドを作成し、必要時に計算する

上ではドル・ユーロとしましたが、他にも元とかウォン等色々種類があり、そして商品ごとに必要な機能が不規則に異なっているので、
どう設計したらよいか悩んでいます

ちなみの元のソースは、C++の多重継承を用いて実装されていました

568 :デフォルトの名無しさん:2016/08/30(火) 00:00:27.21 ID:vWqGzECl.net
>>567
デフォルトメソッドで多重継承できるよ
商品ごとにインタフェース実装しまくることになるから
どのインターフェースを実装するか商品を階層的に分類できないときついかも
すでに多重継承で実装できてるのならいけるかも!?

Java9の標準ライブラリではJoda Moneyをもとにしたものが使われるんだって
中身の実装はこれとか
https://java.net/projects/jjug/pages/Adopt-a-JSR-JavaSE9
http://www.joda.org/joda-money/

569 :デフォルトの名無しさん:2016/08/30(火) 00:00:29.88 ID:vcGs2dWd.net
>>567
getPriceがPriceクラスのオブジェクトを返す
PriceクラスはasDollerやasEuroなど一通りの表現を実装するイミュータブルなクラスにする

570 :デフォルトの名無しさん:2016/08/30(火) 01:47:09.82 ID:TaoYiOtt.net
RPGのモンスタークラスと同じだろ

数百種類のモンスター型の、switch文を書きたくない場合、
数百種類のクラスを作って、自動的に各クラスが適切な処理をする

つまり、仮想関数

571 :デフォルトの名無しさん:2016/08/30(火) 08:26:54.20 ID:agWpAPx4.net
getPrice(rate)
return price * rate

じゃだめ?

後はそれぞれの価格が欲しいところでレートを設定するだけでいいし商品クラスは常に同じ動きするし

572 :デフォルトの名無しさん:2016/08/30(火) 09:01:09.43 ID:vcGs2dWd.net
>>571
それはない
それ呼び出す側がメソッド内で何やってるかを明らかに意識してるだろ
全く抽象化になってない、掛け算だけメソッド内でやる意味がない
せめて変換メソッドを定義したCurrencyクラスのインスタンスを渡すとかするべき

573 :デフォルトの名無しさん:2016/08/30(火) 09:04:39.92 ID:qpyuPRUS.net
レスどうもありがとうございます

>>568
interfaceの嵐になるのだろうなぁ、それでいいのかなぁ、と
悩みました
リンク先など見て考えます

>>569
なるほど
Priceクラスもよいですね

>>570
RPGは作ったことないですが、そんな風に実装されてるのですね
ソースの大半がモンスタークラスの実装になりそうですね

>>571
レートを換算するだけなので、実はそれでもよいです
ただ、オブジェクトに換算後の値も持たせたいなぁ、と思ってます
換算すれば求まるデータならオブジェクトに持たせる必要ない、のかな?

574 :デフォルトの名無しさん:2016/08/30(火) 11:17:45.70 ID:vwHt2PHp.net
>>567
それ全通貨のレートを保持するクラス作っておいて、そのクラス経由で他の通貨への換算やれば良いだけでは?

575 :デフォルトの名無しさん:2016/08/30(火) 11:31:09.72 ID:xgpTgq7w.net
個々の商品が同じレートで計算って事は現実的に無いと思うので、
void setPrice(Currency currency, String price)
String getPrice(Currency currency)
みたいなIFにして、内部ではHashMapで管理すれば、通貨が増えたらCurrencyのenum増やせばいいんじゃね?

576 :デフォルトの名無しさん:2016/08/30(火) 11:56:26.35 ID:vwHt2PHp.net
それだ

577 :デフォルトの名無しさん:2016/08/30(火) 19:05:48.03 ID:vv6Q96L1.net
javaで動いているプログラムを監視する目的で、JVMTIのMethodEntryイベントやMethodExitイベントを使って遊んでます
JDIでも同じことが出来るみたいなのですが、こういったデバッガの拡張をeclipseなんかのIDEのプラグインで実装するにはどうすれば良いですか?

例えばIDEのエディタでブレークポイントをセットして、そのIDEでデバッグを実行したらBreakpointイベントで自分が実装した処理が行われる(ログが吐き出されるとか)
的なことがやってみたい

578 :デフォルトの名無しさん:2016/08/30(火) 19:31:07.82 ID:q9MYe/9f.net
まずは例えばで挙げられているソースコードを読んでみるのはどうですか

579 :デフォルトの名無しさん:2016/09/01(木) 18:07:14.17 ID:isvppOQZ.net
これを実行すると出力が1になるのですが、何故でしょうか。

@Integer inti = new Integer(0);
AInteger intj = new Integer(1);
Binti = intj;
Cintj = 2;
DSystem.out.println(inti);

自分の考えだと、
@intiが、値0のインスタンスを参照
Aintjが、値1のインスタンスを参照
Bintiが、intjが参照しているインスタンスを参照するように変更
Cintjが参照するインスタンスに値2を設定
Dintiもintjも同じインスタンスを参照してるはずなので出力は2
になるはずなんですが、1になります。

580 :デフォルトの名無しさん:2016/09/01(木) 18:17:12.59 ID:JZugZEHC.net
>>579
Integerは不変
もし不変じゃなかったとしても
Cの所で
intj.value=2;になる

@intiに、値0のインスタンスの参照を代入
Aintjに、値1のインスタンスの参照を代入
Bintiに、intjのインスタンスの参照を代入(intj==intiになる)
Cintjに、値2のインスタンスの参照を代入(自動ボックス化。コンパイラがnew Integer(2)に変換している)
Dintiとintjは違うインスタンスを参照しているので値は1

581 :デフォルトの名無しさん:2016/09/01(木) 20:27:01.67 ID:K7BE+EFW.net
>>579
4の所は intj = new Integer(2); って書いてるのと同じだから。

582 :デフォルトの名無しさん:2016/09/01(木) 20:28:01.03 ID:K7BE+EFW.net
ってよく見たら既に書いてあるじゃないか。とほほ。

583 :デフォルトの名無しさん:2016/09/01(木) 20:52:55.20 ID:qC9ojyjS.net
ドンマイ、ガンバ

584 :デフォルトの名無しさん:2016/09/01(木) 20:53:01.09 ID:wr8HVpEY.net
とほほsan?

585 :デフォルトの名無しさん:2016/09/01(木) 21:15:27.70 ID:52Zd8aZn.net
浦和レッズ、じゃじゃじゃじゃん

586 :デフォルトの名無しさん:2016/09/02(金) 10:23:18.49 ID:KWQoOgI3.net
Javaのゴミっぷりが酷い
Java作ってる奴らって日本で言うところの小卒相当じゃね?
開発者とは名ばかりのゴミ集団なんだろうなJava開発団
JavaでAES暗号化したものがOpenSSLで復号できないとかJavaマジで糞すぎ
まともに暗号化すらできないゴミ言語なら暗号化機能付けるな
暗号化関連のリファレンスとかあったら騙されて時間をドブに捨てる奴がいるだろうが
プログラマを平均の数倍給料もらってる程有能でスキルある人材をなのにその騙して時間を無駄にした罪は重い
本当にJava作ってる奴等は頭のが馬鹿しかいないんだろうな
低機能を隠すために嘘リファレンス用意するとか人間的にも腐ってる

587 :デフォルトの名無しさん:2016/09/02(金) 11:07:29.18 ID:OcjKSC/i.net
ならば使わなければいいだけの話
選択肢色々あるので

588 :デフォルトの名無しさん:2016/09/02(金) 12:15:47.07 ID:Do4GNfXI.net
小学生レベルだと勤め先に事欠くので選択肢はないよ

589 :デフォルトの名無しさん:2016/09/02(金) 12:37:29.73 ID:OcjKSC/i.net
そう感じるヤツがjavaを使わなければいいだけの話
利用するプログラミング言語の選択肢は色々あるので

590 :デフォルトの名無しさん:2016/09/02(金) 12:57:20.18 ID:7JZUO+bM.net
感じる感じないではなく、無能には選ぶ権利などないってことでしゃろ
それは無能なのが悪いのさハハハ

591 :デフォルトの名無しさん:2016/09/02(金) 13:58:50.62 ID:9E3FGjAM.net
コピペ?

592 :デフォルトの名無しさん:2016/09/02(金) 14:22:35.67 ID:K2h2z6zc.net
Integerクラスは内部で
private final int value;
となっている、変更できない
今回のケースでは
intj = new Integer(2);
ではなく
intj = Integer.valueOf(2);
だと思うよ。確認したければ以下を実行
Integer x_127 = 127;
Integer y_127 = 127;
System.out.println(x_127 == y_127);
Integer x_128 = 128;
Integer y_128 = 128;
System.out.println(x_128 == y_128);

593 :デフォルトの名無しさん:2016/09/02(金) 14:24:42.32 ID:XtqKq5oJ.net
実装依存な例を出してドヤ顔されましても

594 :デフォルトの名無しさん:2016/09/02(金) 14:35:56.34 ID:EpS7gvoK.net
auto boxingがどんな振る舞いなのかjavapして確認すればいいだけ

595 :デフォルトの名無しさん:2016/09/02(金) 14:46:29.69 ID:XtqKq5oJ.net
実装依存と言われてるのにjavapすりゃわかるって見当違いにも程があんだろう

https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.7
> Ideally, boxing a primitive value would always yield an identical reference.
> In practice, this may not be feasible using existing implementation techniques.
> The rule above is a pragmatic compromise, requiring that certain common values
> always be boxed into indistinguishable objects. The implementation may cache these, lazily or eagerly.
> For other values, the rule disallows any assumptions about the identity of the boxed values on the programmer's part.
> This allows (but does not require) sharing of some or all of these references.
> Notice that integer literals of type long are allowed, but not required, to be shared.

596 :デフォルトの名無しさん:2016/09/02(金) 16:08:02.77 ID:2aiJ4ZCT.net
                \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ

597 :デフォルトの名無しさん:2016/09/02(金) 16:24:13.81 ID:2aiJ4ZCT.net
IntegerのインスタンスはStringと同様にnewした時に与えられた値を一切変更できないってだけの話。
死ぬまで産まれた時のまま変化しない。理由はそういう風に作られてるから。

598 :デフォルトの名無しさん:2016/09/02(金) 16:47:33.13 ID:9E3FGjAM.net
そもそも変更出来ない以前に代入しているからな〜

599 :デフォルトの名無しさん:2016/09/02(金) 17:27:32.29 ID:2aiJ4ZCT.net
ま、そうだね。イコール記号によって何が起きてるか理解する必要がある。

600 :デフォルトの名無しさん:2016/09/02(金) 20:47:33.20 ID:KWQoOgI3.net
仕事だと好きな言語を使うわけにはいかないんだよ
多少まともなシステム組もうとするとJavaは本当に使えない
こんな言語が蔓延してるのは小規模なおもちゃみたいなシステムしか作らないゴミグラマが多いからだろうな
小規模なおもちゃみたいなシステムならJavaが潜在的に持って致命的な欠陥が表面化しにくい
その欠陥が表面化しないがために気付かずに使い続けてるんだろう
JavaもJavaを好きで使ってるゴミグラマも業界の癌だ
ゴミグラマがJava使わなければJavaはとっとと滅んで俺がJavaやることもなかっただろう
もうゴミグラマになってしまった奴等はもうどうしようもないが
これからピログラムを学ぼうとする初心者は絶対にJavaに手を出してはいけない
理由は明確でまともなシステムが作れないから
Javaは画面のコンソールににHello World出すだけの専用言語だと思ってほぼ間違いない

601 :デフォルトの名無しさん:2016/09/02(金) 20:54:13.23 ID:BGbCtBYN.net
>>600
お勧めの言語は?

602 :デフォルトの名無しさん:2016/09/02(金) 20:54:50.64 ID:9E3FGjAM.net
>>600
一生PHPでも使ってろ

603 :デフォルトの名無しさん:2016/09/02(金) 21:26:24.38 ID:rtJoGFw4.net
>>600
サーバに画面は要らない。

604 :デフォルトの名無しさん:2016/09/02(金) 21:27:28.40 ID:rtJoGFw4.net
しかしピログラムを作るピログラマーは大変だなあ

605 :デフォルトの名無しさん:2016/09/02(金) 21:28:10.37 ID:rtJoGFw4.net
毎日ピロピローってやってんのかなあ

606 :デフォルトの名無しさん:2016/09/02(金) 21:30:17.04 ID:Do4GNfXI.net
ピロピロ大人気で草

607 :デフォルトの名無しさん:2016/09/02(金) 21:32:33.55 ID:rtJoGFw4.net
俺はペロペロしたいからペログラマーになりたいなあ

608 :デフォルトの名無しさん:2016/09/02(金) 21:36:27.49 ID:eA4EiN3M.net
お下種

609 :デフォルトの名無しさん:2016/09/02(金) 21:50:02.50 ID:vd1d7l3W.net
>>598
これ
不変かどうかは関係ない

610 :デフォルトの名無しさん:2016/09/02(金) 21:54:02.20 ID:9E3FGjAM.net
>>609
俺もjava始めた時は同じような事で勘違いしてたことあるから仕方ないんだとは思うけど
参照渡しは同じ変数なら同じ参照と思っていた

611 :デフォルトの名無しさん:2016/09/02(金) 22:05:57.89 ID:OcjKSC/i.net
>>600
仕事ならその欠陥を理論立ててプレゼンしな
それで変わらないのであれば理屈が通ってない

612 :デフォルトの名無しさん:2016/09/02(金) 22:14:11.04 ID:9E3FGjAM.net
MSとOracleはもっと協力するべきだと思う
javaAPIのほとんどをjavaで実装しているのは凄いけど文法はC#に劣る
C#は逆
この二つ合わせたらもっと凄い言語出来そうだと思うけどな

613 :デフォルトの名無しさん:2016/09/02(金) 22:31:00.15 ID:LsVX2JMM.net
言語は優秀なリーダーの独断で作ったほうがうまくいくんだよ
JCPベースになって以来、JavaはIBMだのHPだのお偉いさん達が延々不毛な議論を続けるだけで完全に停滞
一方、ヘルスバーグの独裁により進化を続けるC#
ただでさえグタグタなのにこのうえMSがJavaに参加したところで余計に話が進まなくなるだけ

614 :デフォルトの名無しさん:2016/09/02(金) 22:33:51.39 ID:Do4GNfXI.net
同じ委員会による設計でも、C++は停滞期を乗り越えて前に進み始めたのに

615 :デフォルトの名無しさん:2016/09/02(金) 22:34:21.37 ID:9E3FGjAM.net
>>613
javaの進化が遅いのは分かる
最低限の機能追加しかしないし
ただOS非依存はC#に比べて凄いよね
そこはMSにも見習ってほしい

616 :デフォルトの名無しさん:2016/09/02(金) 22:36:53.73 ID:rtJoGFw4.net
MSはC#作る時にJavaも参考にしたからそうなっただけではないか?
今から更に何かをパクるってことはないと思うがなあ。

617 :デフォルトの名無しさん:2016/09/02(金) 22:37:45.17 ID:rtJoGFw4.net
>>616>>612

618 :デフォルトの名無しさん:2016/09/02(金) 22:40:05.90 ID:9E3FGjAM.net
最低限getterとsetterくらいはいい加減実装するべきだと思うけどな
何でしないんだ

619 :デフォルトの名無しさん:2016/09/02(金) 22:44:57.42 ID:rtJoGFw4.net
そうだな。Delphiみたいなのできると書くのは楽だ。

620 :デフォルトの名無しさん:2016/09/02(金) 22:57:15.00 ID:Do4GNfXI.net
Write Once, Debug Everywhere

621 :デフォルトの名無しさん:2016/09/02(金) 23:18:36.86 ID:XtqKq5oJ.net
>>618
言語仕様見てみりゃわかるけど、1.1の段階ですでに名前空間はギッチリ使ってて
非互換な変更せずにプロパティの入れ込む余地がないからね。

非互換な変更する(最大限の互換性を残そうとするとルールが複雑になってかなり非直感的になる)か、
既存の名前空間を汚さないために .(ドット)以外の新しいセパレータ(例えば ->)使うか
みたいな選択肢があったけど両方に批判意見が多数出て潰された。

この場合、C#は最初からプロパティ入ってるわけだから参考にならんし。

622 :デフォルトの名無しさん:2016/09/02(金) 23:33:45.29 ID:9E3FGjAM.net
>>621
そういう事だったのか
何かな…C#がOS非依存頑張っているみたいだしそっちに期待するしかない感じか

623 :デフォルトの名無しさん:2016/09/03(土) 20:59:43.99 ID:JL8qX3Tz.net
http://ritsuan.com/job/3992/
【東京都 千代田区】IT分野/Java・Oracleでの開発エンジニア

1名以上募集 若手募集

給与 800,000円
これって高いの?

624 :デフォルトの名無しさん:2016/09/03(土) 21:05:02.63 ID:+PRxNCnW.net
宣伝死ね
いろんなスレに貼りやがって

625 :デフォルトの名無しさん:2016/09/03(土) 22:09:37.49 ID:40xaQyRE.net
高い
よってそれは大変怪しく危険を伴うと思われる

626 :デフォルトの名無しさん:2016/09/03(土) 23:39:15.67 ID:EfpbXZif.net
安いだろ。たった80万って、アルバイトじゃあるまいし。
普通のJava開発エンジニアはそんな安月給じゃ
やらねーよ。

627 :デフォルトの名無しさん:2016/09/04(日) 06:51:33.77 ID:5SDmlLW2.net
https://www.embarcadero.com/jp/products/delphi/downloads
現在、RAD Studio(Delphi、C++Builderのセット)が無料でダウンロード可能。
右側のStarter Edition100% Offをクリックするとダウンロードページに飛べます
(無料ダウンロードは、2016年8月22日から9月9日までの期間限定)

628 :デフォルトの名無しさん:2016/09/04(日) 06:59:22.77 ID:5SDmlLW2.net
すいません、C++Builderはこっちです
https://www.embarcadero.com/jp/products/cbuilder/downloads
現在、C++Builderが無料でダウンロード可能。
右側のStarter Edition100% Offをクリックするとダウンロードページに飛べます
(無料ダウンロードは、2016年8月22日から9月9日までの期間限定)

DelphiとC++Buiderは別個にダウンロードが必要な模様

629 :デフォルトの名無しさん:2016/09/04(日) 07:06:43.36 ID:5SDmlLW2.net
>>627はDelphiのみでした

630 :デフォルトの名無しさん:2016/09/04(日) 09:46:15.11 ID:GZCXAM8t.net
ビルダー君!?
クビになったはずじゃあ

631 :デフォルトの名無しさん:2016/09/04(日) 09:51:23.33 ID:QUGfdMOG.net
Javaスレまで出張して大変だなぁ

632 :デフォルトの名無しさん:2016/09/04(日) 13:49:17.76 ID:tMg9LZRt.net
お仕事案件
http://ritsuan.com/job/

JAVAを使った高収入の仕事がたくさんあるよ。

633 :デフォルトの名無しさん:2016/09/04(日) 18:16:57.65 ID:GZCXAM8t.net
宣伝死ねって言ってんだろカス

634 :デフォルトの名無しさん:2016/09/04(日) 18:21:00.83 ID:sHUlk3QT.net
>>633
言ってないじゃん

635 :デフォルトの名無しさん:2016/09/04(日) 19:04:34.34 ID:QUGfdMOG.net
翻訳職人も大変なんだなぁ

636 :デフォルトの名無しさん:2016/09/07(水) 13:24:43.50 ID:mT23pegE.net
コールバックのインタフェース実装をラムダで書くのと無名クラスで書くのはバイトコードレベルでは同じと思っていいのですか?

637 :デフォルトの名無しさん:2016/09/07(水) 13:29:37.45 ID:AYeaTwnR.net
バイトコード比べてみればいいじゃねえか

638 :デフォルトの名無しさん:2016/09/07(水) 14:40:10.63 ID:If+GZyVf.net
>>636
全然違う
ラムダの実体は普通のインスタンスメソッド
それをオブジェクトとして扱うために、C#のデリゲートの丸パクリに近い仕組みを導入している
今のJavaには金があるから、Sun時代のファッキンジェネリクスみたいなゴミとは違ってちゃんと根っこから作られてるんだよ
その金の力をもってしても検査例外問題だけは解決できなかったみたいだけど

639 :デフォルトの名無しさん:2016/09/07(水) 16:07:32.88 ID:ADaEp/Ax.net
>>636
実装依存だからなんとも。

Java7のベータでラムダが追加されたばっかりの頃は、
将来的にはMethodHandleでやりたいけど
まだ内部クラスのが早いってんで内部クラスを生成してた。

現状では java.lang.invoke.LambdaMetafactory経由で、
内部クラスのが早いままだったらそっち使って
MethodHandleのが早くなってりゃそっち使うみたいな方式になってる。
これだと内部クラスとMethodHandle切り替えるときにクラスファイルを再コンパイルしなくていい。

640 :デフォルトの名無しさん:2016/09/07(水) 18:17:31.48 ID:j2Ek6+0O.net
timeAPIのクラスをJDBCで使うにはどうしたらいいですか

641 :デフォルトの名無しさん:2016/09/10(土) 01:46:14.32 ID:zqA5E91s.net
Windowsだと問題ないのですが、Linuxで実行するとメモリーリークが起こります。
だれか教えて

642 :デフォルトの名無しさん:2016/09/10(土) 01:57:06.97 ID:jg0zFfeW.net
Write once, run anywhere

643 :デフォルトの名無しさん:2016/09/10(土) 02:10:45.78 ID:b8k4DAtD.net
マルチポストは死んでしまえ

644 :デフォルトの名無しさん:2016/09/10(土) 03:50:00.05 ID:pSmBhaPA.net
Write once, bug anywhere

645 :デフォルトの名無しさん:2016/09/10(土) 05:45:34.31 ID:daVWdqqd.net
東京電力のデータ通知遅延は一進一退、使用量の不明が5000件以上に
http://www.itmedia.co.jp/smartjapan/articles/1609/09/news038.html

まだ2/3が未確定だそうです

646 :デフォルトの名無しさん:2016/09/10(土) 11:33:39.39 ID:Jm2YrF8N.net
>>641
JavaVM の設定が違うという罠

647 :デフォルトの名無しさん:2016/09/11(日) 11:39:02.25 ID:mD3VVTFL.net
あー。メモリの設定とかのデフォルトが違うとか。

648 :デフォルトの名無しさん:2016/09/11(日) 11:45:21.69 ID:p4/MqqQS.net
>>465
東京電力は旧民主党が壊したという解釈でいいですか

649 :デフォルトの名無しさん:2016/09/11(日) 19:32:28.42 ID:4oqBJP6f.net
お、おう

650 :デフォルトの名無しさん:2016/09/11(日) 20:10:42.80 ID:PKjGYOYu.net
jsp servletでデータベースの接続の学習をしています。

以下のように、データベース接続の例外処理を行っていますが、
e.printStackTraceの情報はどこに表示されているのでしょうか?
ログなど出力されるのでしょうか?


try{
接続〜SQL発行
result = prepared_statement.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
}
return result; //呼び出し元に処理を戻す

651 :デフォルトの名無しさん:2016/09/11(日) 20:25:04.14 ID:pVB2WkOU.net
>>650
ソースはこうなってるから出力先は標準エラー出力でござる
標準エラー出力はリダイレクトとかしてなければターミナルに出力されるはずよ
public void printStackTrace() {
 this.printStackTrace(System.err);
}

652 :デフォルトの名無しさん:2016/09/11(日) 20:44:13.01 ID:559tM3Xe.net
>>650
質問とはズレるけど、それ最低最悪の例外処理だからそのまま真似しちゃダメだよ
実際にはエラーページに飛ばすとかしないと

653 :デフォルトの名無しさん:2016/09/11(日) 20:59:20.72 ID:PKjGYOYu.net
>>651
ありがとうでござる。

tomcatのweb server立ち上げて試しているのですが、
tomcatサービス立ち上げてもログはコンソール(teraterm)に流れてこないです。
viで試しているので、目に見えていない情報がいっぱいありそうです。

ServletからjavaBeansのモデルの中で処理を行っていますが、
Servletから出力するのは、response.getPrintWriterできますが、
モデルの中で出力するにはどうすればいいのでしょう。。
エラーの文字列返すか。。

654 :デフォルトの名無しさん:2016/09/11(日) 21:01:38.84 ID:PKjGYOYu.net
>>652
ありがとうございます。

そういった定石についても学んでいきたいのですが、
参考書にそう書いてあるのでとりあえず従っています。

初心者なのに、WEBアプリの開発を上流工程からさせられて、やばいです。

655 :デフォルトの名無しさん:2016/09/11(日) 21:04:52.35 ID:2XEAwmhY.net
log4jでも使えや

656 :デフォルトの名無しさん:2016/09/11(日) 21:05:59.11 ID:2XEAwmhY.net
JDKでもできるようになったっけ

657 :デフォルトの名無しさん:2016/09/11(日) 21:41:28.82 ID:pVB2WkOU.net
>>653
Tomcatなら標準エラー出力はcatalina.outに吐かれるんじゃないかな

モデルでレスポンスを出力するならモデルにresponseを渡せばいいよ
モデルから戻り値を返すのもあり
なんでもあり、なんでもかんでもやってみたらいいよ

658 :デフォルトの名無しさん:2016/09/11(日) 22:05:33.11 ID:PKjGYOYu.net
>>657
ありがとうございます。
とりあえず、モデルにエラー変数追加して表示させました。
catalina.outにもエラーが表示されていました。

結局、テーブル名が間違っていたという単純なエラーでした。

659 :デフォルトの名無しさん:2016/09/11(日) 22:08:25.33 ID:PKjGYOYu.net
>>657
あと、戻り値をStringにしてエラーを返そうとしたら、
incompatible types: int cannot be converted to String
String result = info.insertInfo();

となりました。
insertInfoでStringを返しているはずなのに、、、

660 :すとーかーっておうむのざんがい?:2016/09/11(日) 22:21:52.89 ID:r+x1UEZu.net
ひアかレりフの輪

ざんねんきもきもがふつうぶっておめかししてすとーきんぐでちょづきまくり
こうがいのすぽーつじむのしょくいんばいとはちかんちじょしかいないとくにゆとり

痴遅れの卑しい自分の子供使って付きまとう座声の面へら痴女ママ
かっぷる ふうふで ぱんだでもみるように 垢の他人へのストーキングをイベントにするキショ残念愚民痴漢痴女っぷる

しょうがいしゃ や しょうがいしゃあらうんど の ようは いやしい きちがいつかって

ちかんちじょうかれさせて かると も きたちょうせん も ざいにち も どうわ も 『じんかくしょうがい』の く*み*
   すとーかーはしぬまですとーかーのきちがごきぶり                
 
    ストーカーに年齢性別職掌関係なし  死ぬまで卑しい 羞恥心が乏しい地遅れだからしつこい
すとーかーしねすとーかーしねすとーかーしねすとーかーしねすとーかーしね

つきまといいっしんで ごまかしてこれは正当な痴漢痴女行為なんだ えっへん! 作為も卑しく残念 しねすとーかーしね^

661 :デフォルトの名無しさん:2016/09/11(日) 22:32:32.51 ID:pVB2WkOU.net
>>659
エラーメッセージ様はintをStringに変換できませんでしたって述べておられるから
エラーメッセージを真と仮定するならinsertInfoはintを返すはずよ
もっかいソースコード眺めてみたほうがいいかも

662 :デフォルトの名無しさん:2016/09/12(月) 02:29:30.20 ID:8MZ1cj6o.net
>>661
さっき、何度も見たけどString返してたけど、コンパイル通りませんでした。
多分疲れているんでまた今度試してみます。

663 :デフォルトの名無しさん:2016/09/12(月) 06:55:22.80 ID:cr9LkrO9.net
>>662
String result = info.insertInfo();
もしかしてここでStringと書いてるからinsertInfoでStringを返してると言ってる?

int insertInfo() {
 ...
}
insertInfoの定義がこうなってるなら

String result = Integer.toString(info.insertInfo());
というふうに変換しないといけないよ

664 :デフォルトの名無しさん:2016/09/12(月) 08:31:24.36 ID:8MZ1cj6o.net
>>663
メソッドの方もStringになってるです。
幻覚を見てるのかも

665 :デフォルトの名無しさん:2016/09/12(月) 11:29:35.58 ID:fvTL8pNH.net
>>664
しかしStringではないものを代入しようとしない限りコンパイラはあのエラーを出さないと思うよ。
よーく調べてみた方が良い。

666 :デフォルトの名無しさん:2016/09/12(月) 13:47:25.03 ID:8PS1rtVg.net
自分の作ったものが正しいとかコンパイラがバグってるとか
頭にある内は見つからないよ。

667 :デフォルトの名無しさん:2016/09/12(月) 14:03:52.85 ID:B4q/HnSc.net
日本語の文字列をmysqlのDBにutf-8で書き込む場合、
その文字列が入ったString型の変数のgetBytesメソッドでエンコーディングにutf-8を指定して、utf-8のバイト配列にしてから書き込まないと駄目なんですか?

668 :デフォルトの名無しさん:2016/09/12(月) 14:24:52.06 ID:2jOVWf1c.net
そうやってみて上手くいくならいいじゃない
何か不具合あったならエラー内容とか書かないとだめよ

669 :デフォルトの名無しさん:2016/09/12(月) 14:42:18.88 ID:B4q/HnSc.net
回答になってねーんだよ
出来たからオッケーじゃねーんだよ
このやり方が正しいのか確認するために質問してんだよ
わかんねーなら回答すんなよボケ!
二度と来ねーよカス!

670 :デフォルトの名無しさん:2016/09/12(月) 14:44:25.17 ID:sJaisqrH.net
正確さを求めるならJDBCのJavadocとコネクタドライバの仕様とMySQLのマニュアルを読むべき
どこの誰とも知らない馬の骨に何を期待して質問しているのか

671 :デフォルトの名無しさん:2016/09/12(月) 19:08:16.10 ID:X9a/086M.net
>>669
ばーか、ばーか!お前のかーちゃんでーべーそー!
二度と来るな!

672 :デフォルトの名無しさん:2016/09/12(月) 22:13:59.24 ID:6644IPRT.net
みんなオールオッケー

673 :デフォルトの名無しさん:2016/09/13(火) 13:50:27.50 ID:VhMCeniD.net
Javaに標準でJSONをデコードするクラスが無いようなんですが、
外部のライブラリで一番使われてるのってJSONICですか?

674 :デフォルトの名無しさん:2016/09/13(火) 14:17:25.77 ID:Q6FjZOsZ8
自分用にとあるアプリを作りました。
お気に入りのいいものができました。
人に見せたら自分にもくれといわれました。

でも人に渡すときってjarファイルで渡さないですよね?
Vectorとかでダウンロードするときにjarファイルのものとか見たことないし。

通常はこういう時はどういう風にして配布するんですか?

675 :デフォルトの名無しさん:2016/09/13(火) 23:51:08.74 ID:7uOfP430.net
Jacksonでしょ

676 :デフォルトの名無しさん:2016/09/14(水) 11:00:08.38 ID:Ny+1w2tY.net
そもそも仕様とか詳細書かずに正確な答えを求めること自体ただの脳足りん

677 :デフォルトの名無しさん:2016/09/14(水) 18:08:31.13 ID:5MgbrOE1.net
何故WEB.xmlは
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
みたいに書かないといけないんですか?
<servlet>
<servlet-class></servlet-class>
<url-pattern></url-pattern>
</servlet>
だけで十分だと思うんですが

678 :デフォルトの名無しさん:2016/09/14(水) 18:29:44.99 ID:ZbLz4+NF.net
DBの正規化と目指してる物は同じ
重複排除

679 :デフォルトの名無しさん:2016/09/14(水) 18:56:36.36 ID:HnooT/fk.net
Struts2とかでWEB.xmlをみてると、これって本当に世の仕組みを便利にしてるのか?と
いつも疑問

画面デザインとビジネスロジックを分割と聞くけど、ビジネスロジックの実装側に
変なシワ寄せがいってるだけでないのかねこの仕組み
XMLファイルを編集せよとか普通に解説されてるの見てると、そんなこと人間様に
やらせることじゃないだろと

Eclipseとかで、ソース群とかアノテーションとか見てWEB.xmlを自動編集してくれるプラグイン、
みたいなのでもあるのかな

680 :デフォルトの名無しさん:2016/09/14(水) 19:06:02.66 ID:Adg+xGfe.net
ごもっとも
だから今時は、RoRやSpringのように分かりきった設定をなるべく省く「設定より規約」なスタイルが勢力を伸ばし続けている

681 :デフォルトの名無しさん:2016/09/14(水) 19:22:11.50 ID:ZbLz4+NF.net
冗長な言語が好きな人は冗長なファイルフォーマットも好むのだろう

682 :デフォルトの名無しさん:2016/09/15(木) 00:25:54.35 ID:1vAlL3U2.net
rubyとかで作ってるとすんげぇ楽しいもんな
ありゃいい意味でも悪い意味でも悪魔の言語だわ

683 :デフォルトの名無しさん:2016/09/15(木) 00:56:24.01 ID:oRDA5p37.net
rubyは動的なのがな
scalaが本当楽しい。jvmで動くから速度はjavaと変わらない

684 :デフォルトの名無しさん:2016/09/15(木) 04:56:32.86 ID:ql+kvaik.net
そりゃ、Ruby, Python, Groovy などの設定ファイルは読みやすいし、手続きも書ける。
これらは、DSL向きの言語

Chef はRuby
Ansible はPython
Gradle はGroovy

685 :デフォルトの名無しさん:2016/09/15(木) 07:19:42.61 ID:Cj/yMtkH.net
AnsibleはYAMLだぞ
設定ファイルとして宣言的に書けば十分なものに手続き型言語を使うべきではない

686 :デフォルトの名無しさん:2016/09/15(木) 07:28:08.00 ID:Spuf+iD1.net
ChefのレシピはJavaやXMLの冗長さとは別方面でクソみたいな可読性だしやってらんない

687 :デフォルトの名無しさん:2016/09/15(木) 12:44:38.64 ID:Dfv6m4lx.net
そういうのは他のシステムへの移行のハードルを高くしたうえで
破壊的変更で殺しに来ると聞いた

688 :デフォルトの名無しさん:2016/09/15(木) 17:35:59.82 ID:/mm1ywhy.net
ResultSetとかPreparedStatement、Connectionをクローズしなかった場合どうなるんでしょうか?
メソッド抜けた時点で勝手にクローズされますか?

689 :デフォルトの名無しさん:2016/09/15(木) 17:37:48.18 ID:Spuf+iD1.net
されない
不精せず始末せよ

690 :デフォルトの名無しさん:2016/09/15(木) 17:44:04.48 ID:oRDA5p37.net
CGでクローズされないの?いつもクローズしないで放置してたけど

691 :デフォルトの名無しさん:2016/09/15(木) 17:47:59.95 ID:/mm1ywhy.net
>>689
まじですか。。
ありがとうございました。

692 :デフォルトの名無しさん:2016/09/15(木) 18:49:04.26 ID:UvKwsW6o.net
finalizeメソッド内でリソースの解放は行ってくれると思うけど、自分でclose呼ぶようにする
try-with-resource 使って実装すればよい

693 :デフォルトの名無しさん:2016/09/15(木) 19:13:18.95 ID:/mm1ywhy.net
>>692
これ変なインターフェース実装しなきゃならないんですね
うーんありがとうございました

694 :デフォルトの名無しさん:2016/09/15(木) 19:36:05.11 ID:oRDA5p37.net
変なって何が変なんだよ

695 :デフォルトの名無しさん:2016/09/15(木) 19:50:03.74 ID:1tr3czZy.net
>>690
CG でクローズされることとメソッド抜けたときにクローズされないことは矛盾しない

696 :デフォルトの名無しさん:2016/09/15(木) 19:54:19.82 ID:oRDA5p37.net
>>695
それはそうだけど
それだと問題ある?

697 :デフォルトの名無しさん:2016/09/15(木) 20:01:26.05 ID:1tr3czZy.net
>>696
問題があるかどうかは ID:/mm1ywhy が判断すればいい

698 :デフォルトの名無しさん:2016/09/15(木) 20:22:59.99 ID:/kYv9QqQ.net
>>696
ガベージコレクタは呼ばれるとは限らないから
すぐにプロセスが終了するようなプログラムなら
問題にならないんだけどWebアプリケーションのように
ずっと稼働しててDBに接続するたびに新しいコネクション張ってたら
メモリオーバーフローやコネクションプールが枯渇して
接続できなくなる可能性がある
サーバでぶんぶん動作してるアプリでは死活問題
なのでプログラムで開いたものはプログラムで閉じるようにしたがよいよ

699 :デフォルトの名無しさん:2016/09/15(木) 20:25:17.93 ID:oRDA5p37.net
>>698
そうなのか
メモリが多いとあまりGCされないとか?

700 :デフォルトの名無しさん:2016/09/15(木) 20:28:15.13 ID:/kYv9QqQ.net
開けたら閉める!おトイレのように自動で止まればいんだけどね
閉じてもよいという判断を自動的に行うのは難しいのだろうね
参照カウント方式のガベージコレクタならデストラクタに
お任せで行けるかもしれないけど
これだけ参照カウントでーみたいな機能があればいいのに

701 :デフォルトの名無しさん:2016/09/15(木) 20:33:25.67 ID:/kYv9QqQ.net
>>699
うん、JVMがGCが必要じゃーと判断したときしかGCされないよ

702 :デフォルトの名無しさん:2016/09/15(木) 20:43:58.53 ID:oRDA5p37.net
>>701
なるほど
サンクス

703 :デフォルトの名無しさん:2016/09/16(金) 08:10:33.93 ID:6a7QMzs2.net
メモリの容量が大きいほど、GCされなくなるし、
1回のGCにかかる時間が、大きくなる

メジャーGCだと、1秒以上、システムが止まるんじゃね?

704 :デフォルトの名無しさん:2016/09/16(金) 09:44:01.36 ID:Yu959LLR.net
開けたら閉じろの法則があったけど名前思い出せないわ
とりあえずGCなんて往々にして意図して動いてくれない
AutoClosableとかも上手く使って閉じようぜ

705 :デフォルトの名無しさん:2016/09/16(金) 12:34:04.73 ID:maMiAkaM.net
Java ってGCが最後まで参照してるって考え方なのかな?
まあそうじゃなきゃプログラム中からの参照なくなってもまだクローズされずに残存なんてありえないか。

706 :デフォルトの名無しさん:2016/09/16(金) 13:20:35.49 ID:lB/89/ry.net
参照カウント方式じゃないから、
他から参照されなくなったオブジェクトが即座に回収されるわけじゃないってだけ。

マークアンドスイープ方式だとGCは凄く重い処理なので
必要ないならGCしない戦略を取るってのもよくあるし。

707 :デフォルトの名無しさん:2016/09/16(金) 13:44:53.96 ID:y8tfoIHL.net
そもそもJavaのGCは種類がいくつかあるし
バージョンによってデフォルトGC も変わるし(Java9でG1 GCになるし)
GCでやってくれるだろうって考えはやだなぁ

閉じる処理が冗長と思うならそういう機構を作るか別の言語を使うしかない

708 :デフォルトの名無しさん:2016/09/16(金) 14:43:50.93 ID:LunKPrNc.net
>>705
GCはJVMのメモリ空間全体とその中の全オブジェクトを掌握して管理する神なんだよ
オブジェクトが不要になったかどうかを決めるのもGCだ
GCが参照してるとか全く見当違い

709 :デフォルトの名無しさん:2016/09/16(金) 16:16:35.47 ID:IBT/7Zvo.net
>>708
そりゃ表現の問題

710 :デフォルトの名無しさん:2016/09/17(土) 10:17:01.00 ID:vLB8cUPo.net
>>709
702の考え方をふまえたら
どう見ても間違ってるだろう

711 :デフォルトの名無しさん:2016/09/17(土) 14:49:41.73 ID:cMEKk4hI.net
GC云々じゃなく自分でcloseしろって話
っでcloseはtry-with-resourceで行う
closeもまともに出来ないなら不要な参照残してメモリリークもしてるだろうし

712 :デフォルトの名無しさん:2016/09/17(土) 21:42:19.54 ID:u5XAfxF2.net
>>710
間違ってないじゃん
単に考え方のこと書いてるだけだし

713 :デフォルトの名無しさん:2016/09/18(日) 01:38:39.82 ID:zGPqs7bR.net
そういえば新明解Java出てたが相変わらず演習解答は別なのね

714 :デフォルトの名無しさん:2016/09/18(日) 08:12:44.58 ID:PkHkhVtLw
public static void main string args
signed unsigned double

どんだけ無駄なオマジナイ唱えりゃ気が済むんだよこの情弱糞言語は

715 :デフォルトの名無しさん:2016/09/18(日) 12:21:31.71 ID:4g2AQj9i.net
FWやAPIの呼び出し先でcloseされる事が保証されてる場合もあるからなんでもcloseすればいいという訳じゃない。
大抵は冗長なcloseしても動作はするけど、ストリーム等を引数に持つFWやライブラリのドキュメントは読んでおいた方がいいかな。
でもドキュメントに記載なく呼び出し先でcloseしてるものも結構あるから結局ソース読むことになる。
個人的にはリソースを読み出したスコープでcloseするのがいいと思う。
レビューしてると
closeしてねーじゃねーか→ライブラリのドキュメントを読む→ライブラリのソースを読む→ok or ng
closeしてる→ライブラリのドキュメントを読む→ライブラリのソースを読む→冗長なcloseじゃねーか→動いているけどng出すこともある
ここまでチェックするのは少し面倒なので。

716 :デフォルトの名無しさん:2016/09/18(日) 14:59:37.77 ID:mx2jBCOo.net
try-with-resources構文使えばだいたいは問題なくなるんじゃないか?

717 :デフォルトの名無しさん:2016/09/18(日) 16:54:15.10 ID:p7R04v9o.net
replaceAllで文字列「1900/01/00 15:00:00」の「15:00:00」だけ取り出したいんだができない。
fruit[3] = fruit[3].replaceAll("[^([0-9][0-9]:[0-9][0-9]:[0-9][0-9])]", "$1");
↑こうじゃないの?

718 :デフォルトの名無しさん:2016/09/18(日) 18:26:14.39 ID:brjZnsh0.net
>>717

[^([0-9][0-9]:[0-9][0-9]:[0-9][0-9])]

このパターン?
なんか全体が [^ ... ] に括られているようだが、なぜそんなことをする?

719 :デフォルトの名無しさん:2016/09/18(日) 20:31:56.98 ID:OjVGO9qP.net
>>717
置換でやるなら文字列全部を対象にして置き換える必要があるよ
replaceAll("^.*(\\d{2}:\\d{2}:\\d{2})$", "$1")

720 :デフォルトの名無しさん:2016/09/18(日) 20:53:52.07 ID:9WNYi/6w.net
行頭から最初の1つ以上の空白文字までの削除をするだけで良いならこれでも結果は同じになる筈。

replaceFirst("^.*?\\s+", "")

721 :デフォルトの名無しさん:2016/09/18(日) 21:35:36.42 ID:JX2UIjQm.net
clone()作るとき、コピーコンストラクタ作っておいて、
clone()はコピーコンストラクタの結果を返却するだけのほうが簡単だと思うのだけど、
なんでそうしないの?
スーパークラスがコピーコンストラクタを持ってるとは限らないから?

722 :デフォルトの名無しさん:2016/09/18(日) 21:39:21.29 ID:FLMBUfED.net
>>721
C#だとcloneは役に立たないということで実際非推奨になってるよ
コピーコンストラクタの方が優れてる

723 :デフォルトの名無しさん:2016/09/22(木) 12:50:19.43 ID:m6O3ZCtr.net
H行W列の2次元配列 arr から順次に列を取得する方法を教えてくれ

724 :デフォルトの名無しさん:2016/09/22(木) 14:23:25.39 ID:m6O3ZCtr.net
>>723だけど自己解決しました

725 :デフォルトの名無しさん:2016/09/22(木) 14:29:14.07 ID:7wkfE+LH.net
TemplateA<ClassA>みたいなクラスを引数に持つメソッドを使うために、とある変数をTemplateA<ClassA>へダイナミックキャストしたいのですけど、
このときの型チェックwarningを消すにはsuppresseswarningするしかないですかね?

実行時にはgenericsの型情報が失われるのでTemplateA<?>かどうかの型チェックしか実施できないのですけど
それだと先のメソッドが呼べないのです

726 :デフォルトの名無しさん:2016/09/22(木) 16:57:50.06 ID:BB3TxeNc.net
javaでインポートする時に.*が付くものがありますが何か意味ってあるんですか?
import java.awt.*;
みたいなやつです

727 :デフォルトの名無しさん:2016/09/22(木) 17:23:59.61 ID:E7kraiVr.net
G○○○○
○G○○○
○○R○○
○○○K○
○○○○S

728 :デフォルトの名無しさん:2016/09/22(木) 18:17:21.30 ID:BB3TxeNc.net
ググってないとでも思ってんのかks
知らないなら黙ってろよハゲでデブで頭のネジが外れたアスペルガーサイコパスホモクズゴミ馬鹿低血圧野郎

729 :デフォルトの名無しさん:2016/09/22(木) 18:22:33.43 ID:m3h8CZoW.net
うーん、語彙の乏しい罵倒だ

730 :デフォルトの名無しさん:2016/09/22(木) 18:31:45.84 ID:KCZrpDJE.net
ggrと三番目にこれが出てくるが
http://www.acroquest.co.jp/webworkshop/java_course/J_lecture13.html

追記:自己紹介は不要です

731 :デフォルトの名無しさん:2016/09/22(木) 18:47:37.95 ID:/puzguTR.net
>>726
全部インポート

732 :デフォルトの名無しさん:2016/09/22(木) 19:03:26.42 ID:bqhINfKV.net
調べ方を知らないだけでボロクソ

733 :デフォルトの名無しさん:2016/09/22(木) 19:27:11.74 ID:/puzguTR.net
俺も最初は意味分からなかったし、気持ちは分かる
import パッメージ名.クラス名;
みたいな説明してあって、ドットが沢山ある意味が分からなかった

734 :デフォルトの名無しさん:2016/09/22(木) 19:35:49.34 ID:9oQWhw/A.net
でもimportに関しては入門書の最初の方に書いてありそうな気がするなあ。

735 :デフォルトの名無しさん:2016/09/22(木) 20:33:16.67 ID:BB3TxeNc.net
助かりましたありがとうございます。

736 :デフォルトの名無しさん:2016/09/22(木) 20:43:01.48 ID:/puzguTR.net
何この態度の変わり方

737 :デフォルトの名無しさん:2016/09/22(木) 20:47:11.48 ID:m6O3ZCtr.net
プログラミング全般に言えるんだけど、
「俺が今やってることは、実はもっと効率的で簡単なやり方がある」って思う時、どのレベルまで調べたらいいもんかね?
思う度にチェックしてるようじゃ勉強ペースも落ちるし、だからといって次々と次の作業に取りかかって行ってたらtips的な成長が無くなる

738 :デフォルトの名無しさん:2016/09/22(木) 22:02:38.21 ID:kFEjEuAm.net
>>737
思う度に調べろ
なんだかんだそれが一番効率的

739 :デフォルトの名無しさん:2016/09/22(木) 22:13:11.46 ID:uYY6QRZp.net
趣味なんだから好きにすれば

740 :デフォルトの名無しさん:2016/09/22(木) 23:43:05.96 ID:9oQWhw/A.net
仕事が滞らない程度にやればいいのでは?

741 :デフォルトの名無しさん:2016/09/23(金) 00:05:37.74 ID:+JsUAn66.net
mysqlのJDNI接続がうまくできなくて、いろいろネットで調べたりしてるんですけど、たくさんあってどれを参考にしたらいいかわかんないんですけど、オススメのサイトだったり参考書だったりありますか

742 :デフォルトの名無しさん:2016/09/23(金) 01:11:56.94 ID:wN+HuPEq.net
>>738
うそだ
絶対うそだ

それで何度失敗したか

743 :デフォルトの名無しさん:2016/09/23(金) 01:18:01.08 ID:+JsUAn66.net
ネットで検索してその通りにやっても上手くいかないことありますよね

744 :デフォルトの名無しさん:2016/09/23(金) 01:33:34.61 ID:R5xwyRtT.net
調べてたらいつのまにか数学の勉強始めてた

745 :デフォルトの名無しさん:2016/09/23(金) 02:08:55.71 ID:+JsUAn66.net
最近は数学すすめてくるからなw

746 :デフォルトの名無しさん:2016/09/23(金) 08:59:10.42 ID:Q2M4AuON.net
プログラミングはパズルににてると思ってる

747 :デフォルトの名無しさん:2016/09/23(金) 09:21:18.36 ID:AqTRNsCZ.net
ロジックを駆使して解を導くところは似ているが
出題者という神がいない点が大きく異なる

748 :デフォルトの名無しさん:2016/09/23(金) 09:32:10.44 ID:5eSe/oWi.net
出題者はクライアントじゃね

749 :デフォルトの名無しさん:2016/09/23(金) 10:31:32.00 ID:ASDlv6FX.net
>>741
環境ぐらい書けよ

750 :デフォルトの名無しさん:2016/09/23(金) 11:39:55.10 ID:4Bc1n1Q4.net
>>742,743
有象無象のブログ記事とかしか調べないからだろ
仕様書とか一次ソースを調べろ

751 :デフォルトの名無しさん:2016/09/23(金) 12:55:09.12 ID:zs6gGpBI.net
条件付きでインスタンスを作成するstaticメソッドがあります

class ClassFoo extends Base implements BaseIF {
public static ClassFoo newInstanceWithCondition(Condition c) { /* ... */ }
}

class ClassBaa extends Base implements BaseIF {
public static ClassBaa newInstanceWithCondition(Condition c) { /* ... */ }
}

このメソッドをforeachで呼びたい場合、どのようにすれば良いでしょうか

// こんな感じのことがやりたい
List<Base> result = new ArrayList<>();
List<Class<? extends Base>>(/* メソッド実装したクラス群 */).forEach(e -> { result.add(e.newInstanceWithCondition(c)) });

builderメソッドを別に作って全クラス列挙するのはできれば避けたいなと。。。

752 :デフォルトの名無しさん:2016/09/23(金) 15:34:09.55 ID:Dg83AA8f.net
>>751
https://ideone.com/nb6DeB
リフレクションを使うとか

753 :デフォルトの名無しさん:2016/09/23(金) 16:54:14.60 ID:GrnQo8ND.net
HashMapのキーを弄ってhashCodeが変わったときは
やはり消して入れ直す操作が必要でしょうか

754 :デフォルトの名無しさん:2016/09/23(金) 16:55:49.26 ID:Da0YgZYz.net
可変オブジェクトをキーに使うな

755 :デフォルトの名無しさん:2016/09/23(金) 17:39:53.88 ID:wkrJ8I5/.net
>>751
リフレクション使えばいけると思うけど、あなたのやろうとしていることはそもそもJavaっぽくない

名前や引数が同じなら同じものと考えるのはRubyとか他の言語ならあるけどJavaだと別物なのだからforeachで回そうとするのがそもそも間違いだと思うよ(そもそもきっとBaseにキャストするんだろうけどそれぞれ返却する値さえ違うし....)

メソッド名から鑑みるにシングルトンではなく毎回インスタンスを作成しているみたいだし、絶対に静的なファクトリーパターンが必要なのか見直してみたほうがいいと思う

756 :デフォルトの名無しさん:2016/09/23(金) 18:56:56.09 ID:ytBluy/j.net
>>751
教科書的な回答としては、Abstract Factoryでググれ

757 :デフォルトの名無しさん:2016/09/23(金) 20:54:31.63 ID:79Xjahxb.net
ID変わってるかもですが747です
レスくださった方ありがとうございます
リフレクション、abstract factoryどちらともやりたいことができました

やろうとしていたことは動的なベルトコンベアみたいなもので、
たとえばHttpRequestに応じて必要な分だけFilterをつなぐ
 (1) zlib.inflate()
 (2) Base64.decode()
 (3) JSON.parse()

みたいな各Filterを一番外側で必要な分だけインスタンス化してchainにつなぐイメージです
上記の例では全部Singletonでできそうですが、実際の処理はもっと複雑で毎回newする必要がありました
こういうのはJavaっぽくない処理なのでしょうか・・・申し訳ありません

758 :デフォルトの名無しさん:2016/09/23(金) 21:09:12.36 ID:6jb3Iz8l.net
その質問はナンセンスだな
Javaぽくなかったら止めるのか

その程度だったら別の方法考えとけ

759 :デフォルトの名無しさん:2016/09/23(金) 21:11:47.41 ID:GrnQo8ND.net
なるほど
ありがとうございます

760 :デフォルトの名無しさん:2016/09/23(金) 21:14:08.07 ID:xWgfj234.net
servletにはfilterがあるが
http://www.techscore.com/tech/Java/JavaEE/Servlet/6/

761 :デフォルトの名無しさん:2016/09/23(金) 21:20:22.94 ID:wkM5dFar.net
すまん、言葉が足りなかったわ
俺がJavaっぽくないっていうのは名前や引数が同じだから一括で処理出来るって思っているところね
newInstanceメソッドは名前や引数は同じだけど同じメソッドから継承されているわけじゃないでしょ(そもそも出来ないし)


>>757は条件にあったフィルターをまとめてそのあと一括で処理したいってことでいいのかな?
そもそもフィルターにそれぞれ違う条件があるならフィルターをfor文で一括で作成は出来なくない?
まとめたフィルターはfor文で一括で処理出来るだろうけど

まぁ作成処理を共通化させたいならファクトリークラスでHttpRequest引数にListに条件に合わせてフィルター追加していけばいいんじゃないかな

条件次第で追加とかは泥臭く感じるだろうけど
泥臭い部分を逆に泥臭く書かないようにすると逆にどうしようもなくなるから泥臭く書けばいいと思う

762 :デフォルトの名無しさん:2016/09/23(金) 22:00:55.95 ID:xWgfj234.net
素人でしたということか

763 :デフォルトの名無しさん:2016/09/23(金) 22:18:23.06 ID:79Xjahxb.net
>>761
まさにおっしゃるとおりで、staticメソッドの継承を言語機能でサポートしていないのでどうしようってところが質問のスタート地点です
Base (BaseIF)に書ければよかったんですが、staticだから書けないというか意味がない、でも全派生クラスに持たせたい、どうしよう、と

リフレクションの場合は直接的にできますが、無理矢理な感じがします
Factoryは必要なクラスが増えるけどすんなり納得できました
ただ、そもそもそういうのが必要になった時点で設計を見直すべきなのかもしれません

>>760
今回JavaEEは使っていません
お勉強をかねてSocket作るところから自作していますが、最終的にはNettyを使うことになるかと思います

764 :デフォルトの名無しさん:2016/09/23(金) 22:27:53.92 ID:Bla+oVr/.net
使うとか使わないじゃなく
「実装例として参考になるんじゃね」
って、言ってるんだと思うよ

765 :デフォルトの名無しさん:2016/09/24(土) 00:01:14.92 ID:CcnATw2b.net
>>757
一昔前に流行ったDependency Injectionってやつだね。

766 :デフォルトの名無しさん:2016/09/24(土) 00:26:48.28 ID:V/nU9HG+.net
【ワカヤマン】Javaプログラミング能力認定試験 [無断転載禁止](c)2ch.net
http://hanabi.2ch.net/test/read.cgi/lic/1454946517/

767 :デフォルトの名無しさん:2016/09/24(土) 05:16:30.74 ID:Lk9DTO7g.net
HttpURLConnectionのgetInputStreamを呼び出さなかったとき
内部のストリームは自動でクローズされますか?
されるとしたらどうやっているんですか?

768 :デフォルトの名無しさん:2016/09/24(土) 07:21:15.97 ID:hsY2X9yo.net
されない
そもそも

> 単一の要求を行う際には個々の HttpURLConnection インスタンスが使用されますが、その背後の HTTP サーバーへのネットワーク接続は、ほかのインスタンスと透過的に共有される可能性があります。
> 要求後、HttpURLConnection の InputStream または OutputStream 上で close() メソッドを呼び出すと、そのインスタンスに関連付けられていたネットワークリソースが解放される可能性がありますが、共有されている持続接続への影響はまったくありません
> disconnect() メソッドを呼び出した場合、持続接続がその時点でアイドル状態になっていれば、使用していたソケットがクローズされる可能性があります。
http://docs.oracle.com/javase/jp/6/api/java/net/HttpURLConnection.html

と書かれているように、HttpURLConnectionの背後で使用される接続(ソケットのこと)は、明示的かつ強制的には閉じることができない
逆に言えば、HttpURLConnection自体は閉じられたかどうか気にしなくてもいいってことだ

769 :デフォルトの名無しさん:2016/09/24(土) 08:06:33.34 ID:naJG8nnU.net
>Socket作るところから自作していますが
車輪を再発見したいのかw

770 :デフォルトの名無しさん:2016/09/24(土) 08:15:31.83 ID:Lk9DTO7g.net
>>768
サンクス

771 :デフォルトの名無しさん:2016/09/24(土) 13:14:31.54 ID:dERTNrXa.net
>>769
勉強のためでしかも最終的にはNettyを使うって書いてるやん

772 :デフォルトの名無しさん:2016/09/24(土) 13:20:38.45 ID:trsNBxRI.net
素人が努力する方向を間違えてるといってるだけだよw

773 :デフォルトの名無しさん:2016/09/24(土) 14:23:50.99 ID:we2+rnF7.net
なんかjavaのアップデートできないことない?

774 :デフォルトの名無しさん:2016/09/24(土) 14:31:51.35 ID:cKy0IgTy.net
>>772
やめなよみっともない

775 :デフォルトの名無しさん:2016/09/24(土) 14:32:25.05 ID:cKy0IgTy.net
嫉妬心で努力する人間の足を引っ張るのはみっともない

776 :デフォルトの名無しさん:2016/09/24(土) 14:45:10.33 ID:trsNBxRI.net
>>774
やめろよ、自演はw

777 :デフォルトの名無しさん:2016/09/24(土) 14:46:19.90 ID:trsNBxRI.net
開いたstreamが塞がらないw

778 :デフォルトの名無しさん:2016/09/24(土) 15:05:25.09 ID:i7CAvt+R.net
はい

779 :デフォルトの名無しさん:2016/09/24(土) 15:14:51.33 ID:cKy0IgTy.net
>>776
嫉妬心で努力する人間の足を引っ張るのはみっともない

780 :デフォルトの名無しさん:2016/09/24(土) 15:14:59.78 ID:cKy0IgTy.net
>>777
嫉妬心で努力する人間の足を引っ張るのはみっともない

781 :デフォルトの名無しさん:2016/09/24(土) 15:15:20.54 ID:cKy0IgTy.net
みっともない

782 :デフォルトの名無しさん:2016/09/24(土) 15:16:42.00 ID:i7CAvt+R.net
はいはい
お二人ともおつかれさまでした

783 :デフォルトの名無しさん:2016/09/24(土) 16:05:16.35 ID:d951yjmo.net
>>769
車輪は発明するためにある。

784 :デフォルトの名無しさん:2016/09/24(土) 16:19:33.00 ID:MU1F/mTz.net
車輪は自動車の為にある フォード

785 :デフォルトの名無しさん:2016/09/24(土) 16:26:35.98 ID:bdAgONj1.net
質問
fedora24で何回か dnf install eclipse でeclipseのインストールが出来ていたのだが、
neonにアップデートした後に初めて再インストールを試みたが、ダメ。
今はダウンロード版でrootなら動くことは確認できたが、userではeclipse-instが動かない。
かつてのように dnf install eclipse でインストールしたい。
教えてほしい。

786 :デフォルトの名無しさん:2016/09/24(土) 17:04:37.56 ID:MU1F/mTz.net
車はガソリンで走るのです エッソ

787 :デフォルトの名無しさん:2016/09/24(土) 19:13:58.93 ID:ubw0uMWd.net
プログラミングではないんだけど、Javaランタイム落とそうとしてボタン押すと、アクセスディナイ となってアクセス出来ん
どういうことなんだろう?

788 :デフォルトの名無しさん:2016/09/24(土) 19:20:30.55 ID:TOidze/l.net
>>786
今時は EV も FCV もあるけど?

789 :デフォルトの名無しさん:2016/09/24(土) 19:36:16.61 ID:wxcFZgew.net
>>787
java.comでダウンロードできないなら、oracleからダウンロードすれば良いんじゃよ。
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

java.comからだと、You don't have permission to accessでAccess Deniedだなー

790 :デフォルトの名無しさん:2016/09/24(土) 20:19:42.32 ID:ubw0uMWd.net
>>789
まさかのお助けご返信 ありがとうございます!
調べても解らなかったので、ほんとに助かりました
おかげでダウンロード出来ました ありがとうございました!
しかしどういうことなんでしょうね・・・教えていただいたoracleからのダウンロードのように、前もって同意の明示とかがあるわけでもないし・・・

791 :デフォルトの名無しさん:2016/09/25(日) 09:22:52.18 ID:b/O7Qjtb.net
>>786
モービルのCMだよ

792 :デフォルトの名無しさん:2016/09/26(月) 11:39:36.16 ID:yco4jaYN.net
>>開いたstreamが塞がらないw
これは素直にうまいと思いました(小並感)

793 :デフォルトの名無しさん:2016/09/26(月) 12:39:32.80 ID:mwa1njiS.net
まあでも座布団1枚かな

794 :デフォルトの名無しさん:2016/09/26(月) 14:05:09.09 ID:dMvvSsQ7.net
ありがとう

795 :デフォルトの名無しさん:2016/09/26(月) 18:51:06.54 ID:ZCZkJviH.net
初歩的な質問だけど、2つの配列が同一の内容を持っていることを簡単にチェックしてくれるメソッドは無い?

例えば、
int[] a,bがあった時, int型のsize == a.length == b.lengthとする。
この時、
int i=0;
for(; i<size; i++){
if(a[i] == b[i]) i++;
}
String ans = (i==size) ? "same" : "not same";

という普通のチェック法しか無いのか?

796 :デフォルトの名無しさん:2016/09/26(月) 19:31:03.11 ID:Tv3f4Va/.net
>>795
System.out.println(Arrays.equals(a, b));

797 :デフォルトの名無しさん:2016/09/26(月) 20:20:19.60 ID:ZCZkJviH.net
>>796
サンクス

798 :デフォルトの名無しさん:2016/09/26(月) 20:38:58.07 ID:ZCZkJviH.net
>>795をちょっと発展させた質問だけど、
ハッシュマップのキー部分が(基本型じゃ無く)配列で定義されていたら、直感的なやり方だと上手くいかなくなってしまう

具体例
HashMap<int[], Integer> map = new HashMap<int[], Integer>() {{
put(new int[]{1, 1}, 3);
put(new int[]{-1, 5}, 20);
put(new int[]{10, 2}, -3);
}};
System.out.println(map.get(new int[]{-1, 5})); // 出力は null
これだとダメ


こうしなきゃ行けないの?
for (int[] a : map.keySet()) {
if (Arrays.equals(a, new int[]{-1, 5})) {
System.out.println(map.get(a));
}
}

799 :デフォルトの名無しさん:2016/09/26(月) 21:38:11.90 ID:ZRBGeI3f.net
>>798
どっかのスクリプトから来た人?
Javaでは配列をキーにするというのはまずやらない
というか一般に複雑なデータ構造を配列やコレクションだけで表現することはJavaでは嫌われる
基本的に、いちいち愚直にクラスを作って冗長で明示的すぎるコードを書くのが美徳とされる
794の例だとキーのためのクラスを作ってhashcodeやequalsを猿のように実装するのが正解

800 :デフォルトの名無しさん:2016/09/26(月) 21:58:19.89 ID:NRdPNu0H.net
それより入門書でも読めよ

801 :デフォルトの名無しさん:2016/09/27(火) 00:14:41.69 ID:dNidmfNN.net
俺プロではないからマクロな感覚分からないんだよな

802 :デフォルトの名無しさん:2016/09/27(火) 00:15:36.88 ID:dNidmfNN.net
>>799は参考になった

803 :デフォルトの名無しさん:2016/09/27(火) 00:47:25.88 ID:aQphVoL7.net
>>796
瞬殺でワロタw

804 :デフォルトの名無しさん:2016/09/27(火) 08:42:01.16 ID:ld49Y9Vg.net
791の時点ですでにJavaっぽくない感じがするなぁ

愚直にやるとしてもこうじゃない?

String ans = "";
for (int i = 0; i < a.length; i++) {

805 :デフォルトの名無しさん:2016/09/27(火) 08:45:00.89 ID:ld49Y9Vg.net
途中送信しちまった・・

String ans = "same";
for (int i = 0; i < a.length; i++) {
  if (a[i] != b[i]) ans = "not same"
}

最後まで行ってからlength比較ってなんかCっぽい

806 :デフォルトの名無しさん:2016/09/27(火) 08:48:11.60 ID:aQphVoL7.net
>>805
コンパイルエラー

807 :デフォルトの名無しさん:2016/09/27(火) 09:03:26.00 ID:/7SET8Ca.net
てか、a[i] != b[i] が一度成立したらそこから先は比較する必要なし。

808 :デフォルトの名無しさん:2016/09/27(火) 09:22:47.94 ID:ld49Y9Vg.net
>>806
すまんセミコロンぬけてたわ

こうか!

String ans = "same";
for (int i = 0; i < a.length; i++) {
  if (a[i] != b[i]) {
    ans = "not same";
    break;
  }
}

809 :デフォルトの名無しさん:2016/09/27(火) 21:05:48.66 ID:Gry6xj9+.net
C/C++からJavaに移ったらクラッシュしたときに
stack traceが表示されて、ソースコードのどこでクラッシュしたとか
そのメソッドの呼び出し元がルートまで全部表示されて、
ぬるま湯すぎてワロタwww
これってほかの言語でもあるの?便利すぎてもうこれがない言語はやりたくないsっすw

810 :デフォルトの名無しさん:2016/09/27(火) 21:08:18.00 ID:Gry6xj9+.net
C/C++だったらどこでクラッシュしたかを調べることから始めないといけないからな
至る所にprintf入れて、ここのprintfは表示されてるけどここのprintfは表示されてない、
みたいなことを繰り返して特定していかないといけない
そのうえメモリ破壊してたらビルドするたびにクラッシュ箇所が変わるからprintf作戦も使えないw
おまいらズルすぎ。もっと早くjavaに移ればよかった。

811 :デフォルトの名無しさん:2016/09/27(火) 21:09:13.01 ID:pJiHchri.net
Cだって Core Dumped してくれるじゃないか

812 :デフォルトの名無しさん:2016/09/27(火) 21:15:00.94 ID:Gry6xj9+.net
gdbで見るやつだっけ?
javaのstack traceに比べたら手軽さが違いすぎる
Segmentation faultと表示されて意味不明なアセンブラの羅列見せられても何の役にも立たん
iphoneアプリ開発もやってみてるんだがC言語系なようで、
やっぱりクラッシュしたことしか教えてくれなくて、意味不明なアセンブラを見せられるのも同じ
androidの方がええわ
クラッシュしたときに解析効率が圧倒的に違いすぎる

813 :デフォルトの名無しさん:2016/09/27(火) 21:26:53.83 ID:utAkdrdU.net
>>812
え?gdbでも普通にCならCのソース出るよ。使い方知らないの?
てか、この頃はIDEのデッバッグでステップやトレースをGUIの画面に出しながらできるじゃん。
Javaに限らず主要な言語はだいたい同じようにできるぞ。

814 :デフォルトの名無しさん:2016/09/27(火) 21:33:02.60 ID:Gry6xj9+.net
>IDEのデッバッグでステップやトレース
ステップ実行のことを言ってる?
デバッガの使い方の話じゃないんですが。。

815 :デフォルトの名無しさん:2016/09/27(火) 21:35:54.74 ID:l7d7Fmom.net
Cはミスってもその場で止まらずに、後になって突然暴走したりクラッシュしたりすることがよくあるからなあ
あのデバッグはまさに地獄

816 :デフォルトの名無しさん:2016/09/27(火) 21:38:24.78 ID:w5gpFchP.net
あと3時間くらいしたらスタックトレースなんかどうでもよくなって
いかに相手を言い負かすかに心血を注ぐ二人の姿が見える

817 :デフォルトの名無しさん:2016/09/27(火) 21:39:49.73 ID:utAkdrdU.net
>>814
core dump したってデバッグオプション付きでコンパイルしてあれば gdb でソース出せるよ。

818 :デフォルトの名無しさん:2016/09/27(火) 21:45:20.26 ID:Gry6xj9+.net
crashファイル指定してgdb起動してコマンド打ち込むのが面倒
そんなことをするぐらいならprintfを至るところに入れて再実行したほうが早い
そんな作業をしている間に思考が飛んで何を調べていたか分からなくなりがち
クラッシュした瞬間にクラッシュダンプ表示してくれればいいのに
javaのstack traceは楽

819 :デフォルトの名無しさん:2016/09/27(火) 22:01:30.85 ID:Gry6xj9+.net
ある関数が呼ばれたときに、その関数の呼び出し元をルートまで全部表示するのって
Java以外でできる言語あるんでしょうか

820 :デフォルトの名無しさん:2016/09/27(火) 22:06:43.47 ID:tLj3yCec.net
関数の呼び出し元を記憶しておかないと、戻れないから普通に考えたら全部出来るはずだけど

821 :デフォルトの名無しさん:2016/09/27(火) 22:16:21.97 ID:YgEqXvfd.net
>>819
そろそろ死ねよカス

822 :デフォルトの名無しさん:2016/09/27(火) 22:37:49.98 ID:Gry6xj9+.net
かかってこいよ

823 :デフォルトの名無しさん:2016/09/27(火) 22:46:28.22 ID:EXpjvHub.net
>>818
printf() はバッファリングされてるから使える場合とそうでない場合がある。
そんなことするぐらいなら gdb で core と一緒に指定して whe で呼び出し元出したり p や x で変数やメモリの内容出した方が確実。
そういうコマンド覚えられないなら IDE 使えばいい。

>>819
Cでもなんでもデバッグオプション付けてコンパイルしておいてデバッガ使えばできる。
但し、スタックを破壊するようなバグがあった場合は(OSもそれを検知できないような
システムの場合は)途中から崩れて出せない場合がある。しかしそういうことが可能な
言語というとCやC++みたいな直接メモリ操作できてしまう言語だ。CやC++はそういう
安全性については言語のレベルではサポートしておらずライブラリにも使わない方が
良い関数が入っていたりする(例えば gets())。

824 :デフォルトの名無しさん:2016/09/27(火) 22:55:42.21 ID:Gry6xj9+.net
デバッガ使わなくても出せるのはjavaだけなんすか

825 :デフォルトの名無しさん:2016/09/27(火) 23:00:54.57 ID:w5gpFchP.net
脳障害でもあんのかしら

826 :デフォルトの名無しさん:2016/09/27(火) 23:31:07.98 ID:Gry6xj9+.net
大体デバッグビルドなんか使わねえだろ
ビルド時間は伸びるわ起動時間は伸びるわで良いことなしだろ
リリース版とデバッグ版で挙動が違うみたいなこともあって最早何のデバッグしてるのか分からないだろ
仕事のプログラムでもリリース版しかビルドしない現場が多かったぞ
リリース版で出せないんじゃ出せないのと一緒だろ

827 :デフォルトの名無しさん:2016/09/28(水) 00:04:16.16 ID:7DkLKHaf.net
そうか
良かったな

828 :デフォルトの名無しさん:2016/09/28(水) 00:09:23.00 ID:WDfhJLOB.net
>>826
じゃあ Java のコンパイルも javac -g:none でやれば?
デフォルトでは -g:source,lines と同じでデバッグ情報含んでるからな。

829 :デフォルトの名無しさん:2016/09/28(水) 00:13:00.14 ID:WDfhJLOB.net
C:\Temp>type Test.java
public class Test {
public static void main(String[] args) {
int[] a = null;
a[0] = 1;
}
}

C:\Temp>javac Test.java

C:\Temp>java Test
Exception in thread "main" java.lang.NullPointerException
at Test.main(Test.java:4)

C:\Temp>javac -g:none Test.java

C:\Temp>java Test
Exception in thread "main" java.lang.NullPointerException
at Test.main(Unknown Source)

C:\Temp>

830 :デフォルトの名無しさん:2016/09/28(水) 05:46:31.44 ID:Ks5fZMDV.net
よかったね
おめでとう

831 :デフォルトの名無しさん:2016/09/28(水) 18:02:08.43 ID:ZkCEt2YU.net
>>826
ビルド時にPDBとかMAPとか外部生成しておいて
デバッグする時にダンプと付き合わせればいい
ただし最適化のせいでぽろぽろ情報が落ちるのは仕方ない

832 :デフォルトの名無しさん:2016/09/29(木) 06:23:12.99 ID:XGa6uwRB.net
ここ使え
http://ideone.com

833 :デフォルトの名無しさん:2016/10/01(土) 17:27:07.81 ID:Hi+y6PXx.net
int len=a.length;
if(len>b.length)
len=b.length;
とかしないと比較が終わる前に
配列が終わるん

834 :デフォルトの名無しさん:2016/10/01(土) 19:02:48.90 ID:IMTQkm1l.net
何言ってんの?

835 :デフォルトの名無しさん:2016/10/01(土) 19:05:23.53 ID:qVJYtxaX.net
min(a.length, b.length) とかそーゆー話じゃねーかと

836 :デフォルトの名無しさん:2016/10/02(日) 06:40:17.05 ID:XuZokQkz.net
Java Web startが無限に発生して固まってしまいます
助けてください

837 :デフォルトの名無しさん:2016/10/02(日) 18:40:59.78 ID:WLOGtLUz.net
Javaws 大量
でググってください。

838 :デフォルトの名無しさん:2016/10/03(月) 01:23:08.66 ID:C//SKDLf.net
結局、equalsの使い方ってどちらが正しい?現場で今もめてるんだが

定数.equals(変数)
変数.equals(定数)

839 :デフォルトの名無しさん:2016/10/03(月) 02:00:52.97 ID:cT7/Wfai.net
>>838
どっちも大間違い

static boolean equals(a, b) ← 大正解

840 :デフォルトの名無しさん:2016/10/03(月) 02:00:57.97 ID:hxqof8pD.net
どちらも正しい

841 :デフォルトの名無しさん:2016/10/03(月) 02:11:30.59 ID:JXOSM+f0.net
>>839
equals(定数, 変数)とequals(変数, 定数)どちらが正しいんですか?w

842 :デフォルトの名無しさん:2016/10/03(月) 02:34:13.30 ID:cT7/Wfai.net
>>841
どっちも大間違い

static boolean equals(引数, 引数) ← 大正解

843 :デフォルトの名無しさん:2016/10/03(月) 07:56:30.98 ID:FA3Rr9+N.net
>>838
そんなん宗教の問題じゃんって前置きをしたうえで変数.equals(定数)を推す
英文法に置き換えればメソッドのオーナー(左側)が右側に依存してるわけだし
寿命が短い側が寿命の長い側を参照すべき

定数.equals(変数)は昔ながらの変数側のNULL避けでそう主張してるのだろうけど
引数チェックで最初にObjects.requireNonNull(変数)した後で
Objects.equals(変数, 定数)賭するのが良い。
nullを見なかったことにするのは契約プログラミングの観点からすれば行儀が悪い。

844 :デフォルトの名無しさん:2016/10/03(月) 16:15:00.68 ID:7+HzYAQg.net
ttp://d.hatena.ne.jp/nowokay/touch/20090219

845 :デフォルトの名無しさん:2016/10/03(月) 19:29:56.73 ID:3q3IhDEc.net
トラックバック先でえらくバトってんなぁ

846 :デフォルトの名無しさん:2016/10/03(月) 20:38:09.01 ID:C//SKDLf.net
結局誰もわからないんだね

847 :デフォルトの名無しさん:2016/10/03(月) 20:42:00.52 ID:VJUjUYX6.net
お前それは仏教とキリスト教のどっちが"絶対的"に正しいの?って聞いているようなことだって分かってんの?

848 :デフォルトの名無しさん:2016/10/03(月) 20:42:13.59 ID:LjbGDdSQ.net
>>846
俺にははっきりわかってる

static boolean equals(引数, 引数) ← 大正解

849 :デフォルトの名無しさん:2016/10/03(月) 20:42:40.67 ID:LjbGDdSQ.net
>>847
仏教もキリスト教もどっちも大間違い

static boolean equals(引数, 引数) ← 大正解

850 :デフォルトの名無しさん:2016/10/03(月) 20:47:46.07 ID:YrJzZRxh.net
いい加減つまんねハゲ

851 :デフォルトの名無しさん:2016/10/03(月) 20:48:58.78 ID:LjbGDdSQ.net
>>850がハゲ ← 大正解

852 :デフォルトの名無しさん:2016/10/03(月) 20:50:11.16 ID:HbmexdQK.net
ハゲは関係ないだろハゲは!
俺はハゲじゃないけど
ハゲの人が泣いてると思わないのか
俺はハゲじゃないけど

853 :デフォルトの名無しさん:2016/10/03(月) 20:51:45.60 ID:LjbGDdSQ.net
equalの意味を考えろ
左辺と右辺を入れ替えて結果が変わるとかありえないだろ
なんだそのガバガバな論理は
意味を考えろ、同一に順番なんて関係ない
りんごがみかんならば、必ずみかんがりんごなんだよ

854 :デフォルトの名無しさん:2016/10/03(月) 20:53:14.82 ID:LjbGDdSQ.net
nullオブジェクトを使ったところで結局は内部でこれ
static boolean equals(引数, 引数) ← 大正解

855 :デフォルトの名無しさん:2016/10/03(月) 20:54:16.83 ID:0xD3JTi2.net
なっこれが宗教家だよ

856 :デフォルトの名無しさん:2016/10/03(月) 20:56:01.57 ID:LjbGDdSQ.net
順番が関係ないものに順番の概念を持ち出すから
とりとめのない水掛け論に発展する、そこに答えは1マクロンもない
大正解ロジックが唯一の大正解

857 :デフォルトの名無しさん:2016/10/03(月) 20:56:18.68 ID:hBEK0Of5.net
Scalaなら==だけでequals呼び出すぞ

858 :デフォルトの名無しさん:2016/10/03(月) 20:59:29.56 ID:hxqof8pD.net
数学でもランダウ記号なんか使ってると必ずしも 「A = B ⇔ B = A」 ではないが

859 :デフォルトの名無しさん:2016/10/03(月) 20:59:36.92 ID:LjbGDdSQ.net
>>855
怪しいとお考えでしょう、よく言われます
けれど私が言ってることは普通のことです
大小の比較であれば順番の概念が必要になります
大なり小なりは向きがありますからね
しかし=には向きがありません
ガラスにマジックで書いて裏側から見てください
見なくても想像できますよね、全く同じです
つまり順番の概念がそもそも成り立たない

static boolean equals(引数, 引数) ← つまり大正解

860 :デフォルトの名無しさん:2016/10/03(月) 21:03:23.11 ID:LjbGDdSQ.net
>>858
         ____
       /      \
      /  ─    ─\   ?
    /    (●)  (●) \
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  |

861 :デフォルトの名無しさん:2016/10/03(月) 21:05:07.10 ID:PdXev88S.net
そうじゃない
お前がやってるのがキリスト教みたいな布教活動だって言っているの

862 :デフォルトの名無しさん:2016/10/03(月) 21:08:40.50 ID:LjbGDdSQ.net
>>861
キリスト教によって救われた人がどれ程いることか
俺は迷えるプログラマたちを導いて救済したい

863 :デフォルトの名無しさん:2016/10/03(月) 21:13:26.91 ID:LjbGDdSQ.net
論理的に導かれる唯一の大正解を示すことによって
お前ら木偶の坊どもの頭にかかってる蜘蛛の巣を払いのけ
光りあふれる鮮やかな未来をお前らと共に歩んでいきたい
共に生きよう

864 :デフォルトの名無しさん:2016/10/03(月) 21:13:50.63 ID:LjbGDdSQ.net
static boolean equals(引数, 引数) ← 大正解

865 :デフォルトの名無しさん:2016/10/03(月) 21:14:40.66 ID:LjbGDdSQ.net
お前らよーく考えろよ、このスレで一番声がでかいのは誰かってこと
正解はそこにある

866 :デフォルトの名無しさん:2016/10/03(月) 21:15:54.46 ID:SLz7tpRD.net
なんかあぼーんが多いわ

867 :デフォルトの名無しさん:2016/10/03(月) 21:16:26.53 ID:LjbGDdSQ.net
>>866


868 :デフォルトの名無しさん:2016/10/03(月) 21:29:22.01 ID:g+XkVx2o.net
Java7以降はObjectsクラスを使う、で終わったネタを無理に引っぱろうとしても何も出てこない
なおnull許容型の議論もJava8でOptionalが追加されたので、これも解決済みだろう
今はまだよくてもJavaREPLするようになって再度蒸し返されそうな気もする

869 :デフォルトの名無しさん:2016/10/03(月) 21:33:28.66 ID:oXywut21.net
すいませんレベル高い議論の途中に低レベルな質問で申し訳ないんですが
A→B→C って継承してるときにCからAのメソッド呼び出すのってどうすればいいんでしょうか
superだとBのしかよべないんですが

870 :デフォルトの名無しさん:2016/10/03(月) 21:35:41.44 ID:DydELLCK.net
>>869
Bでもsuper呼ぶ

871 :デフォルトの名無しさん:2016/10/03(月) 21:38:06.52 ID:oXywut21.net
つまりBを書き換えないとそういうことはプログラム仕様上できないってことでしょうか?

872 :デフォルトの名無しさん:2016/10/03(月) 21:41:19.99 ID:DydELLCK.net
>>871
祖先のメソッドを呼びたい時点で、継承の使い方を間違えてると思われる

873 :デフォルトの名無しさん:2016/10/03(月) 21:42:16.50 ID:LjbGDdSQ.net
super.superでいけるだろ

874 :デフォルトの名無しさん:2016/10/03(月) 21:48:51.18 ID:oXywut21.net
コンパイルとおりませんでした

875 :デフォルトの名無しさん:2016/10/03(月) 21:52:37.82 ID:oXywut21.net
>>872
厳密にいえばそうなんですが
多重継承できない以上そういうことしたくなるときってでません?
しかもABが人の書いたコードで安易に変更したくない場合とか

876 :デフォルトの名無しさん:2016/10/03(月) 21:54:29.44 ID:iH7XdtiT.net
>>847
お答えしよう。どちらも落とし穴があるので間違い。ただし止観の行のような効果的な修行方法も残しておいてくれた仏教の方が少しまし。

877 :デフォルトの名無しさん:2016/10/03(月) 21:57:09.89 ID:VWEC2olx.net
呼び出したいメソッドをBでオーバーライドしてなければsuperで呼べる
オーバーライドしてたら・・・そんなことあるの?設計見直した方がよくない?

878 :デフォルトの名無しさん:2016/10/03(月) 22:00:11.80 ID:DydELLCK.net
>>875
親(B)の駄目コードをスキップしたいなら、Aを継承する。契約違反してまでBを継承するのがオカシイ。
もしくは、継承でなくてコンポジション使うとか。

879 :デフォルトの名無しさん:2016/10/03(月) 22:17:26.14 ID:oXywut21.net
デザインパターン的にまずいのは分かってるんですが
言語仕様上可能なのかどうかをおききしたかっただけです
無理そうなのでおとなしく別の方法試します

880 :デフォルトの名無しさん:2016/10/03(月) 22:22:59.24 ID:Sy28Ke7B.net
>>875
そういうパッチ的な継承の使い方って今時はあんまりしないよ
継承は基本的に悪、どうしても使うなら極力制限して慎重に使えというのが最近の流れ

881 :デフォルトの名無しさん:2016/10/04(火) 07:46:38.77 ID:o3yJa1Hl.net
言語的に何かの仲間を表す役目はアノテーションに移った感じはするね
Springでいう@Serviceとか、@Componentとか
昔なら継承するか外部ファイルに書くしかなかった

882 :デフォルトの名無しさん:2016/10/04(火) 14:50:26.61 ID:Q/b319ee.net
継承使うとテスト書きにくい

883 :デフォルトの名無しさん:2016/10/04(火) 23:32:34.63 ID:1OpjxEYO.net
継承が悪ってのは初めて知った
調べよ

884 :デフォルトの名無しさん:2016/10/04(火) 23:38:30.04 ID:1BCIDfGo.net
初心者こそ最初のうちは継承を封印するべきだな
コードの再利用に継承なんか必要ないし多態はinterfaceで十分
ただ、継承を使った方がより自然に実装できるケースもあるので、
継承使わなくても全く問題なく作れることを十分理解した上でそれでも必要だと思えば使えばいい

885 :デフォルトの名無しさん:2016/10/04(火) 23:52:38.34 ID:cLjsChxH.net
ゲーム作るなら結構継承使うけどそれ以外だと…
しかもゲームでも組み込みスクリプト使うこと多い
そもそもjavaでゲーム作らない

886 :デフォルトの名無しさん:2016/10/05(水) 08:03:03.93 ID:W42un36/.net
interfaceがデフォルト実装もてるようになったからabstractクラスの必要性もひとつ減ったよなぁ

887 :デフォルトの名無しさん:2016/10/05(水) 16:43:11.96 ID:6T6LA8v8.net
独自の機能を持ったアノテーションを定義するにはどうしたらいいでしょうか。
JDKの @interface Overrideの定義を見ても、

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

としか書かれてなくて、@Overrideをつけたメソッドが正しくオーバーライドされているかチェックするコードがどこにあるのか分かりません。

888 :デフォルトの名無しさん:2016/10/05(水) 16:48:13.78 ID:l2mkxdlB.net
確か組み込み
JVMの中にある
何故キーワードじゃなくてアノテにしたのかは不明だが

889 :デフォルトの名無しさん:2016/10/05(水) 17:30:41.66 ID:EDqQ344L.net
アノテーションはアノテーションそのものに機能を定義するんじゃないよ
アノテーションが付いた何らか(メソッド、クラスetc)を検出して何らかの動作(オーバーライド検証、コード生成etc)をする
それは884が言うようにJVMの中にあったり、外部コマンドだったり、IDEの機能だったりする

890 :デフォルトの名無しさん:2016/10/05(水) 18:08:17.66 ID:76uxEqiR.net
>>885
Android用ゲームでは使わざるを得ない

891 :デフォルトの名無しさん:2016/10/05(水) 18:25:45.21 ID:WKix4XYF.net
native使えばいいんでないの

892 :デフォルトの名無しさん:2016/10/05(水) 19:30:39.87 ID:R0+6OfJG.net
>>888
予約語は今更増やせないので、overrideをキーワードにするなら文脈依存のキーワード(コンテキストキーワード)として実装するしかない
コンテキストキーワードはコンパイラが複雑になるし文法の一貫性を損なうので作る側としては気の進むものではない
C#なんかはコンテキストキーワードまみれだけどJavaには今のところコンテキストキーワードが無いので、童貞を捨てる最初の一歩には勇気がいる
@Overrideの時はその決断ができなかったわけだ
まあさすがにもうそろそろ純潔守るのは限界に来てるだろうけどね

893 :デフォルトの名無しさん:2016/10/05(水) 19:58:48.66 ID:6T6LA8v8.net
アノテーションの使い方って、こういう感じでイメージしてたのですが、ぜんぜん見当違いだたのでしょうか><;

//アノテーション定義
@Target(ElementType.FIELD)
@interface TestAnnotation{
String value() default "あいうえお";
}

//アノテーションを使う
public class MainClass {
@TestAnnotation("かきくけこ")
public String strValue;

public static void main(String[] args) {
Field fields = MainClass.class.getField("strValue");
//ここでアノテーションstrの値を取得して【"かきくけこ"】だった場合だけ特別な処理を入れる
}
}

894 :デフォルトの名無しさん:2016/10/05(水) 20:09:51.53 ID:4jNnLSHB.net
>>887
コンパイル時に解釈するアノテーションは
コンパイラAPI使ってプラグイン形式のアノテーション処理コードを書いておく、
んでjavacの時にオプションでプラグイン読み込む。

895 :デフォルトの名無しさん:2016/10/06(木) 21:19:53.14 ID:RbYddrkX.net
Javaで拡張機能(プラグインやエクステンションの類)を外部から取り込めるプログラムを考えています。
このような、プラグインなどで拡張可能なプログラムのつくり方を調べると

1. プラグイン用のインターフェースを用意する
2. プラグインはそのインターフェースを実装する
3. マニフェストファイルなどにプラグインクラスを指定しておく
4. jarにまとめる
5. メインプログラムはjarを読み込み、マニフェストファイルなどで指定されたプラグインクラスを読み込む

と言ったフローのものが多く見られました。
この仕組み自体は分かったのですが、2番の「プラグインはそのインターフェースを実装する」について質問があります。

そもそもそのプラグインのインターフェースというのはメインプログラムの中にありますよね?
外部のプラグインを単体で作ろうとした時このプラグインインターフェースをどのようにimportすれば良いのでしょうか?

896 :デフォルトの名無しさん:2016/10/06(木) 21:25:22.91 ID:j4+P2uPZ.net
意識してjar使ったことあります?
あるならそのjarの中に共通で使うインターフェースを定義しておけばいいんですよ
簡単でしょ

897 :デフォルトの名無しさん:2016/10/06(木) 21:28:13.27 ID:nKRuE5IK.net
>>895
プラグインをなのに単体で作る時点で意味がわからない話になっちゃう
当然本体に依存してるはずだからクラスパスに本体を加えてインポートすればいい

898 :デフォルトの名無しさん:2016/10/06(木) 21:46:23.38 ID:urGcfi7o.net
今回作っているプラグインの概要を書いておきます。
メインプログラムはテキストを読み込み、プラグインに処理させて結果をWebページに出力する
プラグインは例えば「英語に翻訳する」とか「語尾を面白くする」などが考えられます

>>897
メインプログラムの所有者(開発者)とプラグインの開発者が同じならそれでいいと思うのですが、例えばメインプラグインは私が作り、プラグインは不特定多数の第三者が作るというケースを考えたとき、
プラグイン開発者はわざわざプラグインインターフェースのためだけにメインプログラムをダウンロードしてクラスパスに追加しないといけないのでしょうか?

899 :デフォルトの名無しさん:2016/10/06(木) 21:54:00.66 ID:JI/tF3Y3.net
>>898
メインプログラムが無いとプラグイン実装者はどうやって動作確認するの?

900 :デフォルトの名無しさん:2016/10/06(木) 22:23:26.52 ID:j4+P2uPZ.net
あれっすねー
下手の考え何とやらにハマってますね

901 :デフォルトの名無しさん:2016/10/07(金) 00:08:56.29 ID:5FJeiwoZ.net
メソッド実行時のオペランドスタックの中身の推移を出力する方法はないでしょうか?

902 :デフォルトの名無しさん:2016/10/07(金) 06:40:31.98 ID:zxQdvO+A.net
>>898
どうしても本体を配布したくないのならプラグインのインタフェースだけ切り出して、本体とプラグインの両方が依存するかたちも無くはない
例えばEJBのインタフェースはそういう形が多いと思う

ただ、今回のケースはプラグインだからやる理由がないんじゃないかなあ

903 :デフォルトの名無しさん:2016/10/08(土) 00:03:15.98 ID:oQZcWGv1.net
>>899>>902
ありがとうございます

メインプログラムに組み込みます

904 :デフォルトの名無しさん:2016/10/10(月) 13:43:19.79 ID:aMqBnTB0.net
今日からJava始めました

VBAやJavaScriptはやって来ましたが、楽しみです 。10年後は稼げるようになって、八丈島でフルーツ栽培しながら、稼ぎたいです

宜しくお願い致します

905 :デフォルトの名無しさん:2016/10/10(月) 13:44:24.93 ID:UL1Nitj4.net
1.5年あれば稼げるようになる

906 :デフォルトの名無しさん:2016/10/10(月) 14:45:56.29 ID:huUUk9u9.net
20年前にJavaが残るとは思わなかったよな

907 :デフォルトの名無しさん:2016/10/10(月) 21:38:43.52 ID:U0QfFrW+.net
>>906
そりゃそうだろ20年前だとJavaやってる人ほどんどいないから
おれはJDK1.1.6くらいからAWTで始めて18年目くらいだけど
そのころだとAWT見栄えしないし、JVM遅くて将来性は?だった
1.2になってサーブレットでサーバサイドやり始めて
Javaの将来が見えてきた感じかな

908 :デフォルトの名無しさん:2016/10/10(月) 21:48:31.72 ID:hVHWJ6ju.net
砂箱入りでなにもできなかったJavaw

909 :デフォルトの名無しさん:2016/10/11(火) 01:16:30.03 ID:yQ3A6F/6.net
iアプリで採用されたのが転機だと思う。

910 :デフォルトの名無しさん:2016/10/11(火) 01:55:36.64 ID:5ABVoVL2.net
Javaはサーバサイドで使われてなんとかなったな。
クライアントの方は長いこと死んでたが Android により救われたって感じか。
しかしPCのWindows上でのAppletは本当に死んだな。Firefoxの64bit版にはもうプラグインないし。

911 :デフォルトの名無しさん:2016/10/11(火) 01:56:36.56 ID:/pRFL0u6.net
iアプリw
あんな超ローカルガラパゴスな需要がグローバルに影響を与えるわけないだろ
今のJavaがあるのはそれ以外の要因だろ

912 :デフォルトの名無しさん:2016/10/11(火) 06:49:09.58 ID:4KrOE+wT.net
JavaME(MIDP)はSymbian含め多くのデバイスに搭載されてるな

913 :デフォルトの名無しさん:2016/10/11(火) 07:35:43.38 ID:yQ3A6F/6.net
ガラケーだろうが何だろうが、いわゆる携帯電話にjavaアプリ載っけてなおかつ普及させたことによる他プラットフォームへの影響は計り知れないよ。

914 :デフォルトの名無しさん:2016/10/11(火) 08:01:39.43 ID:aUckxkie.net
そうか?
モバイルはアンドロイドジャバモドキになって初めてJavaとしての資産を活かせるようになったけど、
それ以前は組み込み臭が強すぎて当時の遺産やノウハウなんかほとんど役に立ってないだろ

915 :デフォルトの名無しさん:2016/10/11(火) 08:09:00.13 ID:SPhMZv+b.net
>>905
となると、ガッツリ勉強すれば、早く移住出来そうだ。

916 :デフォルトの名無しさん:2016/10/11(火) 10:29:59.76 ID:fES4oS1W.net
>>913
影響が計り知れないガラパゴス携帯w

917 :デフォルトの名無しさん:2016/10/11(火) 11:18:03.04 ID:SECsCQqk.net
>>915
人による

918 :デフォルトの名無しさん:2016/10/11(火) 11:40:03.33 ID:4KrOE+wT.net
>>914
組み込み臭ってどの辺が?
あとJavaMEで活かされなくてAndroidで活かされたJavaの資産ってどんなの?

919 :デフォルトの名無しさん:2016/10/11(火) 14:30:49.03 ID:rVEHRbce.net
JVMのJava heapの利用状況の監視ってみんなどうやってるの?ザビックス?

920 :デフォルトの名無しさん:2016/10/11(火) 15:11:43.99 ID:Pr2KO31B.net
JConsole

921 :デフォルトの名無しさん:2016/10/11(火) 23:44:58.92 ID:yQ3A6F/6.net
>>916
ブラウザ、メール、カメラ、音楽、決済、2次元バーコード…
ガラケーと呼ばれた端末が一体どれだけ世界に影響を与えたことか。

922 :デフォルトの名無しさん:2016/10/12(水) 00:34:12.80 ID:Ho77NI7R.net
えっ?マジで言ってんの?
iアプリ()ってそんなに世界的に見てもJavaの発展に寄与したと認識されてんの?

もう一度聞くけどマジで??

923 :デフォルトの名無しさん:2016/10/12(水) 01:18:17.44 ID:giQELDJ8.net
iアプリ(CLDC + DoJaプロファイル)でFFが動いたことは大きな意味があったと思うぞ
ケータイでのJava利用が現実的になって、確かサムスンからプラットフォームとしてJavaを利用する端末が発表されたし
その流れでAndroidだって出てきたわけだし
FOMAで使われてたOMAPなりARMさんはJavaのバイトコードが処理できるJazelle開発したりJava関連のテクノロジーの発展には貢献してるでしょ

924 :デフォルトの名無しさん:2016/10/12(水) 03:04:24.43 ID:QVNbloOm.net
否定する方も肯定する方も実数を含んだソース出せ
無いから水掛論になる

925 :デフォルトの名無しさん:2016/10/12(水) 04:54:53.75 ID:gMP5GEx+.net
別にどっちの話もしなくていい
生き残った、ほーん、で?
アロエにでも話しかけてろカス

926 :デフォルトの名無しさん:2016/10/12(水) 05:36:56.09 ID:P/80LMv+.net
♪聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

聞いてくれてあーりがと アロエリーナ♪
\______ __________/
          |/
         ∧_∧
  (○)   (∀・  )
  ヽ|〃    (∩∩  )
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

927 :デフォルトの名無しさん:2016/10/12(水) 05:37:48.70 ID:P/80LMv+.net
空欄のまま書き込んでしまた…

928 :デフォルトの名無しさん:2016/10/12(水) 07:06:59.72 ID:/XRVlpaK.net
>>922
iアプリがなければJavaは滅びていた

929 :デフォルトの名無しさん:2016/10/12(水) 07:08:34.02 ID:/XRVlpaK.net
>>924
ソースはiアプリの時代を生きたこの俺だ
俺が生き証人だ
アロエリーナも知っている

930 :デフォルトの名無しさん:2016/10/12(水) 07:09:05.04 ID:/XRVlpaK.net
アロエリーナとiアプリの時代は完全に一致する

931 :デフォルトの名無しさん:2016/10/12(水) 07:09:33.26 ID:/XRVlpaK.net
つまり、アロエリーナがなければJavaは滅びていた

932 :デフォルトの名無しさん:2016/10/12(水) 08:13:04.15 ID:PnrhXVwx.net
アロエリーナ知ってる!
小学生の時に懐かしCM特集ってので見たわ

933 :デフォルトの名無しさん:2016/10/12(水) 08:24:12.39 ID:Ho77NI7R.net
なんだかきなくさくなってきましたね...

934 :デフォルトの名無しさん:2016/10/12(水) 08:30:14.41 ID:demRx8+z.net
そうだね!
きなくさいね!!

935 :デフォルトの名無しさん:2016/10/12(水) 13:07:30.91 ID:ZaPbWfMf.net
ここはハゲでお茶を濁さなきゃ

936 :デフォルトの名無しさん:2016/10/12(水) 15:21:32.12 ID:W3SF+f/q.net
ここで紹介された、すっきりわかるjava入門のおかげで、だいぶはかどりました。

937 :デフォルトの名無しさん:2016/10/12(水) 16:16:53.66 ID:jyq38AMU.net
>>936
それな

938 :デフォルトの名無しさん:2016/10/12(水) 18:02:46.55 ID:AGTByej+.net
すみません初心者です
これから勉強してwebアプリくらいはさらっとつくれるようになりたいのですが
まずはどんなものに取り組んだらよいのでしょうか
なるべくなら、文法読むだけじゃなくて
かんたんなゲームなどを作りながらがよいかと思っています
定番の本などはありますでしょうか

939 :デフォルトの名無しさん:2016/10/12(水) 18:12:17.48 ID:9oDwxE2X.net
まずはJavaScriptとHTML
次はNode.js, Ruby, PHPのどれか
Javaはお勧めしない
Javaワールドで一般的なWebアプリと呼ばれるものは君が想像してるものとは多分(悪い意味で)かなり違う

940 :デフォルトの名無しさん:2016/10/12(水) 18:32:32.26 ID:JHJttxPa.net
>>939
おまえはなぜここにいる?

941 :デフォルトの名無しさん:2016/10/12(水) 20:54:06.53 ID:n49FfGJW.net
Javaに詳しいからこそ, 別の言語使ったら?ってことが言いたいんじゃないの?
向き不向きは当然ながらあるわけだし

942 :デフォルトの名無しさん:2016/10/12(水) 21:16:15.68 ID:xLksdBN7.net
適切なところに誘導すればいいだけじゃん

943 :デフォルトの名無しさん:2016/10/12(水) 21:18:08.09 ID:/S1G0fYz.net
Androidでスマホアプリでも作ればいいじゃん

944 :スッキリ厨:2016/10/13(木) 01:41:21.73 ID:aniHJH6t.net
Webには、JSというクソ言語が、立ちはだかる。
様々な引っ掛け・回避技術の話がメインになる。
ある機種のあるバージョンでは、この処理は動かないなどの話が、延々と続く

基礎体力をつけるため、以下の順番で、読むのを薦める
1. スッキリわかる Java入門 第2版、2014
2. たのしいRuby 第5版、2016
3. みんなのPython 第3版

その次は、Haxe。
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python に書き出せる。
大規模開発に強く、Windows8.1対応。IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

Haxeプログラミング入門、尾野政樹、2015

その後、Webゲームなら、
Python風のGDScriptで書く、Godot(ゴドー) Engine か、Cocos2d-x(JS版)

945 :デフォルトの名無しさん:2016/10/13(木) 19:35:05.28 ID:dvRCNZ1l.net
スッキリ分かるjava入門の無印と実践と、コップ本の3冊読んでおけばok
ス分からいきなりコップ本は無理だろうけど

946 :デフォルトの名無しさん:2016/10/13(木) 20:58:35.84 ID:s81575zl.net
すぶん・・・

947 :デフォルトの名無しさん:2016/10/13(木) 21:00:48.25 ID:dvRCNZ1l.net
スキjがいい?

948 :デフォルトの名無しさん:2016/10/14(金) 00:19:24.69 ID:SrS85Be2.net
わかりやすいjavaは?

949 :デフォルトの名無しさん:2016/10/14(金) 01:25:57.28 ID:Nxwd5+O4.net
よし俺が誰でも分かる入門サイト作るわ!

950 :デフォルトの名無しさん:2016/10/14(金) 01:27:23.11 ID:kSpw8ZOi.net
そうして見たことのあるサイトができあがる

951 :デフォルトの名無しさん:2016/10/14(金) 02:00:21.51 ID:JsD4EcF+.net
入門サイトの再発明

952 :デフォルトの名無しさん:2016/10/14(金) 06:43:55.09 ID:ehiQ52H8.net
Java8以降はStreamとラムダで結構変わるんだけど
化石みたいな入門サイトと役立たずの書籍のおかげで初心者が次々と脱落してゆく
まああれだ、彼らがやりたいのはJavaじゃなく泥でアプリ作りたいわけ
だったらC#でもいいんだけどな

953 :デフォルトの名無しさん:2016/10/14(金) 09:48:40.96 ID:WR1Oxtue.net
今こそKotlinの出番だァァッ!!

954 :デフォルトの名無しさん:2016/10/14(金) 10:42:41.14 ID:I7mS7s90.net
ScalaとKotlinはぜひ一度触ってみるべきだな
どっちが好みかは人によるからなんともいえないけど、すくなくともpure Javaよりはずっといい

え? Groovy? 君はgradleだけで十分です
というかgradleももうKotlinで書けるし・・・

955 :デフォルトの名無しさん:2016/10/14(金) 12:38:37.91 ID:Nxwd5+O4.net
Streamとラムダで脱落ってどんだけよ。
1日しか勉強しない勢?

956 :デフォルトの名無しさん:2016/10/14(金) 14:37:08.57 ID:IKc9TcNT.net
Streamとラムダの基本はわかった。
しかしまだどんなクラスやインターフェースがあるかほとんどわかってないのでうまく使える状態ではない。

957 :デフォルトの名無しさん:2016/10/14(金) 14:38:18.70 ID:xVLObFEf.net
なんとか入門編をスッキリ読んだ。
なんとなくオブジェクト思考でのコードの書き方がわかった。

958 :デフォルトの名無しさん:2016/10/14(金) 18:00:41.16 ID:uMWBWHxp.net
スッキリはjavaを使ったOOPの解説みたいだよな

959 :デフォルトの名無しさん:2016/10/14(金) 20:22:34.83 ID:t+vmOHtU.net
おおぷ

960 :デフォルトの名無しさん:2016/10/16(日) 00:43:27.39 ID:FsJv6qds.net
>>952
いや、俺はJava自体を身に付けて就職時の武器にしたいんだが…。

961 :デフォルトの名無しさん:2016/10/16(日) 01:19:54.70 ID:igy7JP5N.net
>>960
今が学生で狙うのが普通のIT企業なら、これから覚えるとかいうレベルでは正直いって武器にはならんよ
OracleのJava SE8認定試験のSilver持ってたら、言語とかではなく一般的な意味で目標に向かって勉強することはできるんだね、くらいの評価
今すでにJava関連のコミュニティに入っていて勉強会とかに顔だして、発表側に回るくらいでやっとJava技術者として評価されるかなくらい

ちなみにうちの会社ではエントリーシートにGithubのURL載せててそれなりの活動できてるやつとそれ以外では全然扱いが違う
#募集要項にもそれは書いてる

962 :デフォルトの名無しさん:2016/10/16(日) 01:55:35.19 ID:S/2DHEBe.net
就職活動で質問なんですが、paizaとかCodeIQの問題解いて、結果の一覧見せてもダメでしょうか?

963 :デフォルトの名無しさん:2016/10/16(日) 02:05:02.60 ID:GUtPQfk2.net
何を伝えたいの?

964 :デフォルトの名無しさん:2016/10/16(日) 07:44:21.61 ID:tkK43y5c.net
Java EEのMVC 1.0案が完全にドロップしたそうですが、Java EEに未来はありますか?

965 :デフォルトの名無しさん:2016/10/16(日) 07:49:04.36 ID:FoYCot45.net
>>962
そういうのを評価するところは問題解けるかどうかよりコードの書き方を見る
学校のアルゴリズムの授業で書いたようなのは世間一般には汚い糞コードと見做されるんだけど大丈夫か?
まあプロっぽく書けといってもよく分からないだろうから、手っ取り早く確実に意識高そうに見せるなら
HaskellやScalaのような関数型言語で解くのがいいんじゃないか

966 :デフォルトの名無しさん:2016/10/16(日) 12:11:18.71 ID:fIK9uXrO.net
プロっぽいw

967 :デフォルトの名無しさん:2016/10/16(日) 12:37:57.58 ID:1CeHwTTq.net
そもそもどういう会社狙ってるんだろう
Javaやってる会社はCodeIQなんか見向きもしねえ気がする

※完全に個人の主観です
※実際の様子とは異なります

968 :デフォルトの名無しさん:2016/10/16(日) 13:02:10.24 ID:50CSnlxY.net
CodeIQでJavaの問題いくつかとくと
Javaやってる会社に人を派遣してるとこからスカウトくるよ

969 :デフォルトの名無しさん:2016/10/16(日) 13:17:14.52 ID:vXiXdAba.net
就職活動からプログラマを狙うのはやめた方が良いと思う
好き好きなんだろうけどさ

970 :デフォルトの名無しさん:2016/10/16(日) 15:56:42.20 ID:eUv+6F4e.net
なるほど人足の判断としてはいいね

971 :デフォルトの名無しさん:2016/10/16(日) 16:14:53.72 ID:eGY0J3Yy.net
>>964
JAX-RSで十分だからじゃないの、jersey使ったことないから知らんけど。

972 :デフォルトの名無しさん:2016/10/16(日) 17:01:55.79 ID:vrM29RHh.net
>>959
池沼

973 :デフォルトの名無しさん:2016/10/16(日) 17:58:45.92 ID:e1qF8gd7.net
>>972
いけぬま

974 :デフォルトの名無しさん:2016/10/16(日) 18:01:24.62 ID:e1qF8gd7.net
>>968
そうそう。あのサイトそんなサイトなのな。
単にクイズに答えたいだけだったのに登録で個人情報やたら入力させようとするから止めたんだ。
俺は転職したいわけじゃなかったからな。

975 :デフォルトの名無しさん:2016/10/16(日) 19:04:28.20 ID:M/DWgTU7.net
クイズが解きたいって気持ちは一生理解できないだろうなと思ってる

976 :デフォルトの名無しさん:2016/10/16(日) 19:07:21.97 ID:jbRBUkYK.net
アルゴリズムは基本ライブラリ使うから全く解けなかった

977 :デフォルトの名無しさん:2016/10/16(日) 19:36:17.71 ID:2HJFaHa2.net
プログラミングを完全に手段だと割り切ってると
パズル的な面には興味は持てないでしょうね
特にそれが悪いとは思わないけど

978 :デフォルトの名無しさん:2016/10/16(日) 20:43:44.41 ID:aiyinN1S.net
>>975
え?普通になぞなぞ解きたくなるのと同じようなもんだよ。

979 :デフォルトの名無しさん:2016/10/16(日) 23:23:58.86 ID:DXmiytAw.net
>>964
Java EEは捨てましょう。

10年後はJava EEのWebアプリケーションはCOBOL同然の扱いになっていると思います。

980 :デフォルトの名無しさん:2016/10/16(日) 23:26:16.01 ID:DXmiytAw.net
手段と目的を履き違えているやつらが多いな。

981 :デフォルトの名無しさん:2016/10/17(月) 00:20:39.29 ID:R5CCSZPr.net
Javaというプログラミング手段を身に付けるのが目的です。

982 :デフォルトの名無しさん:2016/10/17(月) 00:38:17.31 ID:IY46ZrOZ.net
>>980
COBOLも手段の一つでござろうよ

983 :デフォルトの名無しさん:2016/10/17(月) 05:30:54.04 ID:JGocT82E.net
>>979
何言ってんだこいつwe

984 :デフォルトの名無しさん:2016/10/17(月) 08:24:47.42 ID:G89YnvgI.net
今から作って10年後も動いてるwebサービスなんて優秀やん

985 :デフォルトの名無しさん:2016/10/17(月) 08:30:24.63 ID:pGCt3vVl.net
>>981
すばらしい目的ですね!
ぼくにはとてもできない

986 :デフォルトの名無しさん:2016/10/17(月) 11:48:13.08 ID:3pBpkkFt.net
Javaというプログラミング手段を身に付けて自慢げに知識をひけらかしみんなを思い切り見下すのが目的です。

987 :デフォルトの名無しさん:2016/10/17(月) 12:17:29.65 ID:6nmYsoEb.net
Javaでwwwwwwwww
見下すwwwwwwwwww

まぁJava自体の言語仕様策定者に近いレベルまでいければ、初心者相手には可能なのかな?

988 :デフォルトの名無しさん:2016/10/17(月) 12:32:05.11 ID:JGocT82E.net
>>986
お前は多数の一般人から見下されてますよww

なぜなら、お前はクソニートだから。

989 :デフォルトの名無しさん:2016/10/17(月) 14:01:56.76 ID:6MO+TX98.net
お前らそんなかっかするとハゲになるぞ

990 :デフォルトの名無しさん:2016/10/17(月) 14:02:43.35 ID:bmCf/FiJ.net
うるせーもう手遅れだよ!

991 :デフォルトの名無しさん:2016/10/17(月) 14:46:38.83 ID:6MO+TX98.net
....ごめん

992 :デフォルトの名無しさん:2016/10/17(月) 15:40:27.48 ID:WkWdUImM.net
>>986
馬鹿乙

993 :デフォルトの名無しさん:2016/10/17(月) 16:20:30.71 ID:a9iYQESn.net
Javaを始めたいという友人がいるんだが、Javaのプログラミング言語としての難易度はどう説明すればいいかな?
友人はCとかVBAはわかるらしいけどこっちはCとVBAはご無沙汰でもう覚えてないし…(というかプログラミングから大分離れてるからJavaもウロ覚えだし…)

Javaが難しい理由を簡単な言葉で説明するとしたらどういう風に伝えるべきかな?

994 :デフォルトの名無しさん:2016/10/17(月) 16:21:16.22 ID:asF6HwUk.net
まだまだ足りないな。少し拡張。


Javaというプログラミング手段を身に付けて自慢げに知識をひけらかしみんなを思い切り見下してバカにするのが目的です。
言ってみたい言葉は「こんな事もわからないの?」です。

995 :デフォルトの名無しさん:2016/10/17(月) 16:27:16.87 ID:9gVmRPtd.net
プログラミング言語で難しいと思ったのはCOBOLくらいです(高度なギャグ)

996 :デフォルトの名無しさん:2016/10/17(月) 16:45:31.45 ID:asF6HwUk.net
>>993
C出来るなら覚えるのは早いと思うよ。
ただし、なんとなく似てるけど違う部分があるのでそういうのに要注意。
多分配列やポインタや文字列の考え方や扱いの違いで混乱があると思う。

997 :デフォルトの名無しさん:2016/10/17(月) 16:57:42.07 ID:a9iYQESn.net
>>996
説明できそう!thx!

998 :デフォルトの名無しさん:2016/10/17(月) 19:38:01.24 ID:5MN+i4pP.net
どうにも Java やってて面白みが感じられない。
つーか仕事以外、完全プライベートで Java 使う場面ある?

999 :デフォルトの名無しさん:2016/10/17(月) 19:47:27.89 ID:R5CCSZPr.net
>>996
いやいや、Javaには、オブジェクト指向という大きなカベが…。

1000 :デフォルトの名無しさん:2016/10/17(月) 21:15:57.35 ID:3TSUYd8+.net
★★Java質問・相談スレッド179★★ [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1476706523/

ほい

1001 :デフォルトの名無しさん:2016/10/17(月) 21:21:36.07 ID:wBVSlf54.net
>>999
大きな壁だと思ってるようじゃ、話にならんわけだが?

1002 :デフォルトの名無しさん:2016/10/17(月) 21:23:36.20 ID:+7A/bOmy.net
でも、単にJavaの流儀に従っているっていうのと、オブジェクト指向を理解するというのは、違うのだよね

1003 :デフォルトの名無しさん:2016/10/17(月) 22:03:47.52 ID:6nmYsoEb.net
999

1004 :デフォルトの名無しさん:2016/10/17(月) 22:04:13.17 ID:6nmYsoEb.net
ちんぽしゃぶれ

総レス数 1004
251 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★