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


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

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



1 名前:デフォルトの名無しさん [2016/06/17(金) 08:16:55.52 ID:442rGUo0.net]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング 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
echo.2ch.net/test/read.cgi/tech/1458033246/

751 名前:デフォルトの名無しさん [2016/09/23(金) 02:08:55.71 ID:+JsUAn66.net]
最近は数学すすめてくるからなw

752 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 08:59:10.42 ID:Q2M4AuON.net]
プログラミングはパズルににてると思ってる

753 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 09:21:18.36 ID:AqTRNsCZ.net]
ロジックを駆使して解を導くところは似ているが
出題者という神がいない点が大きく異なる

754 名前:デフォルトの名無しさん [2016/09/23(金) 09:32:10.44 ID:5eSe/oWi.net]
出題者はクライアントじゃね

755 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 10:31:32.00 ID:ASDlv6FX.net]
>>741
環境ぐらい書けよ

756 名前:デフォルトの名無しさん [2016/09/23(金) 11:39:55.10 ID:4Bc1n1Q4.net]
>>742,743
有象無象のブログ記事とかしか調べないからだろ
仕様書とか一次ソースを調べろ

757 名前:デフォルトの名無しさん [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メソッドを別に作って全クラス列挙するのはできれば避けたいなと。。。

758 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 15:34:09.55 ID:Dg83AA8f.net]
>>751
https://ideone.com/nb6DeB
リフレクションを使うとか

759 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 16:54:14.60 ID:GrnQo8ND.net]
HashMapのキーを弄ってhashCodeが変わったときは
やはり消して入れ直す操作が必要でしょうか



760 名前:デフォルトの名無しさん [2016/09/23(金) 16:55:49.26 ID:Da0YgZYz.net]
可変オブジェクトをキーに使うな

761 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 17:39:53.88 ID:wkrJ8I5/.net]
>>751
リフレクション使えばいけると思うけど、あなたのやろうとしていることはそもそもJavaっぽくない

名前や引数が同じなら同じものと考えるのはRubyとか他の言語ならあるけどJavaだと別物なのだからforeachで回そうとするのがそもそも間違いだと思うよ(そもそもきっとBaseにキャストするんだろうけどそれぞれ返却する値さえ違うし....)

メソッド名から鑑みるにシングルトンではなく毎回インスタンスを作成しているみたいだし、絶対に静的なファクトリーパターンが必要なのか見直してみたほうがいいと思う

762 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:56:56.09 ID:ytBluy/j.net]
>>751
教科書的な回答としては、Abstract Factoryでググれ

763 名前:デフォルトの名無しさん mailto:sage [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っぽくない処理なのでしょうか・・・申し訳ありません

764 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:09:12.36 ID:6jb3Iz8l.net]
その質問はナンセンスだな
Javaぽくなかったら止めるのか

その程度だったら別の方法考えとけ

765 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:11:47.41 ID:GrnQo8ND.net]
なるほど
ありがとうございます

766 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:14:08.07 ID:xWgfj234.net]
servletにはfilterがあるが
www.techscore.com/tech/Java/JavaEE/Servlet/6/

767 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:20:22.94 ID:wkM5dFar.net]
すまん、言葉が足りなかったわ
俺がJavaっぽくないっていうのは名前や引数が同じだから一括で処理出来るって思っているところね
newInstanceメソッドは名前や引数は同じだけど同じメソッドから継承されているわけじゃないでしょ(そもそも出来ないし)


>>757は条件にあったフィルターをまとめてそのあと一括で処理したいってことでいいのかな?
そもそもフィルターにそれぞれ違う条件があるならフィルターをfor文で一括で作成は出来なくない?
まとめたフィルターはfor文で一括で処理出来るだろうけど

まぁ作成処理を共通化させたいならファクトリークラスでHttpRequest引数にListに条件に合わせてフィルター追加していけばいいんじゃないかな

条件次第で追加とかは泥臭く感じるだろうけど
泥臭い部分を逆に泥臭く書かないようにすると逆にどうしようもなくなるから泥臭く書けばいいと思う

768 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 22:00:55.95 ID:xWgfj234.net]
素人でしたということか

769 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 22:18:23.06 ID:79Xjahxb.net]
>>761
まさにおっしゃるとおりで、staticメソッドの継承を言語機能でサポートしていないのでどうしようってところが質問のスタート地点です
Base (BaseIF)に書ければよかったんですが、staticだから書けないというか意味がない、でも全派生クラスに持たせたい、どうしよう、と

リフレクションの場合は直接的にできますが、無理矢理な感じがします
Factoryは必要なクラスが増えるけどすんなり納得できました
ただ、そもそもそういうのが必要になった時点で設計を見直すべきなのかもしれません

>>760
今回JavaEEは使っていません
お勉強をかねてSocket作るところから自作していますが、最終的にはNettyを使うことになるかと思います



770 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 22:27:53.92 ID:Bla+oVr/.net]
使うとか使わないじゃなく
「実装例として参考になるんじゃね」
って、言ってるんだと思うよ

771 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 00:01:14.92 ID:CcnATw2b.net]
>>757
一昔前に流行ったDependency Injectionってやつだね。

772 名前:デフォルトの名無しさん [2016/09/24(土) 00:26:48.28 ID:V/nU9HG+.net]
【ワカヤマン】Javaプログラミング能力認定試験 [無断転載禁止](c)2ch.net
hanabi.2ch.net/test/read.cgi/lic/1454946517/

773 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 05:16:30.74 ID:Lk9DTO7g.net]
HttpURLConnectionのgetInputStreamを呼び出さなかったとき
内部のストリームは自動でクローズされますか?
されるとしたらどうやっているんですか?

774 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 07:21:15.97 ID:hsY2X9yo.net]
されない
そもそも

> 単一の要求を行う際には個々の HttpURLConnection インスタンスが使用されますが、その背後の HTTP サーバーへのネットワーク接続は、ほかのインスタンスと透過的に共有される可能性があります。
> 要求後、HttpURLConnection の InputStream または OutputStream 上で close() メソッドを呼び出すと、そのインスタンスに関連付けられていたネットワークリソースが解放される可能性がありますが、共有されている持続接続への影響はまったくありません
> disconnect() メソッドを呼び出した場合、持続接続がその時点でアイドル状態になっていれば、使用していたソケットがクローズされる可能性があります。
docs.oracle.com/javase/jp/6/api/java/net/HttpURLConnection.html

と書かれているように、HttpURLConnectionの背後で使用される接続(ソケットのこと)は、明示的かつ強制的には閉じることができない
逆に言えば、HttpURLConnection自体は閉じられたかどうか気にしなくてもいいってことだ

775 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 08:06:33.34 ID:naJG8nnU.net]
>Socket作るところから自作していますが
車輪を再発見したいのかw

776 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 08:15:31.83 ID:Lk9DTO7g.net]
>>768
サンクス

777 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 13:14:31.54 ID:dERTNrXa.net]
>>769
勉強のためでしかも最終的にはNettyを使うって書いてるやん

778 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 13:20:38.45 ID:trsNBxRI.net]
素人が努力する方向を間違えてるといってるだけだよw

779 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 14:23:50.99 ID:we2+rnF7.net]
なんかjavaのアップデートできないことない?



780 名前:デフォルトの名無しさん [2016/09/24(土) 14:31:51.35 ID:cKy0IgTy.net]
>>772
やめなよみっともない

781 名前:デフォルトの名無しさん [2016/09/24(土) 14:32:25.05 ID:cKy0IgTy.net]
嫉妬心で努力する人間の足を引っ張るのはみっともない

782 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 14:45:10.33 ID:trsNBxRI.net]
>>774
やめろよ、自演はw

783 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 14:46:19.90 ID:trsNBxRI.net]
開いたstreamが塞がらないw

784 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 15:05:25.09 ID:i7CAvt+R.net]
はい

785 名前:デフォルトの名無しさん [2016/09/24(土) 15:14:51.33 ID:cKy0IgTy.net]
>>776
嫉妬心で努力する人間の足を引っ張るのはみっともない

786 名前:デフォルトの名無しさん [2016/09/24(土) 15:14:59.78 ID:cKy0IgTy.net]
>>777
嫉妬心で努力する人間の足を引っ張るのはみっともない

787 名前:デフォルトの名無しさん [2016/09/24(土) 15:15:20.54 ID:cKy0IgTy.net]
みっともない

788 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 15:16:42.00 ID:i7CAvt+R.net]
はいはい
お二人ともおつかれさまでした

789 名前:デフォルトの名無しさん [2016/09/24(土) 16:05:16.35 ID:d951yjmo.net]
>>769
車輪は発明するためにある。



790 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 16:19:33.00 ID:MU1F/mTz.net]
車輪は自動車の為にある フォード

791 名前:デフォルトの名無しさん [2016/09/24(土) 16:26:35.98 ID:bdAgONj1.net]
質問
fedora24で何回か dnf install eclipse でeclipseのインストールが出来ていたのだが、
neonにアップデートした後に初めて再インストールを試みたが、ダメ。
今はダウンロード版でrootなら動くことは確認できたが、userではeclipse-instが動かない。
かつてのように dnf install eclipse でインストールしたい。
教えてほしい。

792 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 17:04:37.56 ID:MU1F/mTz.net]
車はガソリンで走るのです エッソ

793 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 19:13:58.93 ID:ubw0uMWd.net]
プログラミングではないんだけど、Javaランタイム落とそうとしてボタン押すと、アクセスディナイ となってアクセス出来ん
どういうことなんだろう?

794 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 19:20:30.55 ID:TOidze/l.net]
>>786
今時は EV も FCV もあるけど?

795 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 19:36:16.61 ID:wxcFZgew.net]
>>787
java.comでダウンロードできないなら、oracleからダウンロードすれば良いんじゃよ。
www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

java.comからだと、You don't have permission to accessでAccess Deniedだなー

796 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 20:19:42.32 ID:ubw0uMWd.net]
>>789
まさかのお助けご返信 ありがとうございます!
調べても解らなかったので、ほんとに助かりました
おかげでダウンロード出来ました ありがとうございました!
しかしどういうことなんでしょうね・・・教えていただいたoracleからのダウンロードのように、前もって同意の明示とかがあるわけでもないし・・・

797 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 09:22:52.18 ID:b/O7Qjtb.net]
>>786
モービルのCMだよ

798 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 11:39:36.16 ID:yco4jaYN.net]
>>開いたstreamが塞がらないw
これは素直にうまいと思いました(小並感)

799 名前:デフォルトの名無しさん [2016/09/26(月) 12:39:32.80 ID:mwa1njiS.net]
まあでも座布団1枚かな



800 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 14:05:09.09 ID:dMvvSsQ7.net]
ありがとう

801 名前:デフォルトの名無しさん mailto:sage [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";

という普通のチェック法しか無いのか?

802 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 19:31:03.11 ID:Tv3f4Va/.net]
>>795
System.out.println(Arrays.equals(a, b));

803 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 20:20:19.60 ID:ZCZkJviH.net]
>>796
サンクス

804 名前:デフォルトの名無しさん mailto:sage [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));
}
}

805 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 21:38:11.90 ID:ZRBGeI3f.net]
>>798
どっかのスクリプトから来た人?
Javaでは配列をキーにするというのはまずやらない
というか一般に複雑なデータ構造を配列やコレクションだけで表現することはJavaでは嫌われる
基本的に、いちいち愚直にクラスを作って冗長で明示的すぎるコードを書くのが美徳とされる
794の例だとキーのためのクラスを作ってhashcodeやequalsを猿のように実装するのが正解

806 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 21:58:19.89 ID:NRdPNu0H.net]
それより入門書でも読めよ

807 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 00:14:41.69 ID:dNidmfNN.net]
俺プロではないからマクロな感覚分からないんだよな

808 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 00:15:36.88 ID:dNidmfNN.net]
>>799は参考になった

809 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 00:47:25.88 ID:aQphVoL7.net]
>>796
瞬殺でワロタw



810 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 08:42:01.16 ID:ld49Y9Vg.net]
791の時点ですでにJavaっぽくない感じがするなぁ

愚直にやるとしてもこうじゃない?

String ans = "";
for (int i = 0; i < a.length; i++) {

811 名前:デフォルトの名無しさん mailto:sage [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っぽい

812 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 08:48:11.60 ID:aQphVoL7.net]
>>805
コンパイルエラー

813 名前:デフォルトの名無しさん [2016/09/27(火) 09:03:26.00 ID:/7SET8Ca.net]
てか、a[i] != b[i] が一度成立したらそこから先は比較する必要なし。

814 名前:デフォルトの名無しさん mailto:sage [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;
  }
}

815 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:05:48.66 ID:Gry6xj9+.net]
C/C++からJavaに移ったらクラッシュしたときに
stack traceが表示されて、ソースコードのどこでクラッシュしたとか
そのメソッドの呼び出し元がルートまで全部表示されて、
ぬるま湯すぎてワロタwww
これってほかの言語でもあるの?便利すぎてもうこれがない言語はやりたくないsっすw

816 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:08:18.00 ID:Gry6xj9+.net]
C/C++だったらどこでクラッシュしたかを調べることから始めないといけないからな
至る所にprintf入れて、ここのprintfは表示されてるけどここのprintfは表示されてない、
みたいなことを繰り返して特定していかないといけない
そのうえメモリ破壊してたらビルドするたびにクラッシュ箇所が変わるからprintf作戦も使えないw
おまいらズルすぎ。もっと早くjavaに移ればよかった。

817 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:09:13.01 ID:pJiHchri.net]
Cだって Core Dumped してくれるじゃないか

818 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:15:00.94 ID:Gry6xj9+.net]
gdbで見るやつだっけ?
javaのstack traceに比べたら手軽さが違いすぎる
Segmentation faultと表示されて意味不明なアセンブラの羅列見せられても何の役にも立たん
iphoneアプリ開発もやってみてるんだがC言語系なようで、
やっぱりクラッシュしたことしか教えてくれなくて、意味不明なアセンブラを見せられるのも同じ
androidの方がええわ
クラッシュしたときに解析効率が圧倒的に違いすぎる

819 名前:デフォルトの名無しさん [2016/09/27(火) 21:26:53.83 ID:utAkdrdU.net]
>>812
え?gdbでも普通にCならCのソース出るよ。使い方知らないの?
てか、この頃はIDEのデッバッグでステップやトレースをGUIの画面に出しながらできるじゃん。
Javaに限らず主要な言語はだいたい同じようにできるぞ。



820 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:33:02.60 ID:Gry6xj9+.net]
>IDEのデッバッグでステップやトレース
ステップ実行のことを言ってる

821 名前:
デバッガの使い方の話じゃないんですが。。
[]
[ここ壊れてます]

822 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:35:54.74 ID:l7d7Fmom.net]
Cはミスってもその場で止まらずに、後になって突然暴走したりクラッシュしたりすることがよくあるからなあ
あのデバッグはまさに地獄

823 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:38:24.78 ID:w5gpFchP.net]
あと3時間くらいしたらスタックトレースなんかどうでもよくなって
いかに相手を言い負かすかに心血を注ぐ二人の姿が見える

824 名前:デフォルトの名無しさん [2016/09/27(火) 21:39:49.73 ID:utAkdrdU.net]
>>814
core dump したってデバッグオプション付きでコンパイルしてあれば gdb でソース出せるよ。

825 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:45:20.26 ID:Gry6xj9+.net]
crashファイル指定してgdb起動してコマンド打ち込むのが面倒
そんなことをするぐらいならprintfを至るところに入れて再実行したほうが早い
そんな作業をしている間に思考が飛んで何を調べていたか分からなくなりがち
クラッシュした瞬間にクラッシュダンプ表示してくれればいいのに
javaのstack traceは楽

826 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 22:01:30.85 ID:Gry6xj9+.net]
ある関数が呼ばれたときに、その関数の呼び出し元をルートまで全部表示するのって
Java以外でできる言語あるんでしょうか

827 名前:デフォルトの名無しさん [2016/09/27(火) 22:06:43.47 ID:tLj3yCec.net]
関数の呼び出し元を記憶しておかないと、戻れないから普通に考えたら全部出来るはずだけど

828 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 22:16:21.97 ID:YgEqXvfd.net]
>>819
そろそろ死ねよカス

829 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 22:37:49.98 ID:Gry6xj9+.net]
かかってこいよ



830 名前:デフォルトの名無しさん mailto:sage [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())。

831 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 22:55:42.21 ID:Gry6xj9+.net]
デバッガ使わなくても出せるのはjavaだけなんすか

832 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 23:00:54.57 ID:w5gpFchP.net]
脳障害でもあんのかしら

833 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 23:31:07.98 ID:Gry6xj9+.net]
大体デバッグビルドなんか使わねえだろ
ビルド時間は伸びるわ起動時間は伸びるわで良いことなしだろ
リリース版とデバッグ版で挙動が違うみたいなこともあって最早何のデバッグしてるのか分からないだろ
仕事のプログラムでもリリース版しかビルドしない現場が多かったぞ
リリース版で出せないんじゃ出せないのと一緒だろ

834 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 00:04:16.16 ID:7DkLKHaf.net]
そうか
良かったな

835 名前:デフォルトの名無しさん [2016/09/28(水) 00:09:23.00 ID:WDfhJLOB.net]
>>826
じゃあ Java のコンパイルも javac -g:none でやれば?
デフォルトでは -g:source,lines と同じでデバッグ情報含んでるからな。

836 名前:デフォルトの名無しさん mailto:sage [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>

837 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 05:46:31.44 ID:Ks5fZMDV.net]
よかったね
おめでとう

838 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 18:02:08.43 ID:ZkCEt2YU.net]
>>826
ビルド時にPDBとかMAPとか外部生成しておいて
デバッグする時にダンプと付き合わせればいい
ただし最適化のせいでぽろぽろ情報が落ちるのは仕方ない

839 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 06:23:12.99 ID:XGa6uwRB.net]
ここ使え
ideone.com



840 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 17:27:07.81 ID:Hi+y6PXx.net]
int len=a.length;
if(len>b.length)
len=b.length;
とかしないと比較が終わる前に
配列が終わるん

841 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 19:02:48.90 ID:IMTQkm1l.net]
何言ってんの?

842 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 19:05:23.53 ID:qVJYtxaX.net]
min(a.length, b.length) とかそーゆー話じゃねーかと

843 名前:デフォルトの名無しさん [2016/10/02(日) 06:40:17.05 ID:XuZokQkz.net]
Java Web startが無限に発生して固まってしまいます
助けてください

844 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 18:40:59.78 ID:WLOGtLUz.net]
Javaws 大量
でググってください。

845 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 01:23:08.66 ID:C//SKDLf.net]
結局、equalsの使い方ってどちらが正しい?現場で今もめてるんだが

定数.equals(変数)
変数.equals(定数)

846 名前:デフォルトの名無しさん [2016/10/03(月) 02:00:52.97 ID:cT7/Wfai.net]
>>838
どっちも大間違い

static boolean equals(a, b) ← 大正解

847 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 02:00:57.97 ID:hxqof8pD.net]
どちらも正しい

848 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 02:11:30.59 ID:JXOSM+f0.net]
>>839
equals(定数, 変数)とequals(変数, 定数)どちらが正しいんですか?w

849 名前:デフォルトの名無しさん [2016/10/03(月) 02:34:13.30 ID:cT7/Wfai.net]
>>841
どっちも大間違い

static boolean equals(引数, 引数) ← 大正解



850 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 07:56:30.98 ID:FA3Rr9+N.net]
>>838
そんなん宗教の問題じゃんって前置きをしたうえで変数.equals(定数)を推す
英文法に置き換えればメソッドのオーナー(左側)が右側に依存してるわけだし
寿命が短い側が寿命の長い側を参照すべき

定数.equals(変数)は昔ながらの変数側のNULL避けでそう主張してるのだろうけど
引数チェックで最初にObjects.requireNonNull(変数)した後で
Objects.equals(変数, 定数)賭するのが良い。
nullを見なかったことにするのは契約プログラミングの観点からすれば行儀が悪い。

851 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 16:15:00.68 ID:7+HzYAQg.net]
ttp://d.hatena.ne.jp/nowokay/touch/20090219

852 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 19:29:56.73 ID:3q3IhDEc.net]
トラックバック先でえらくバトってんなぁ

853 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:38:09.01 ID:C//SKDLf.net]
結局誰もわからないんだね

854 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:42:00.52 ID:VJUjUYX6.net]
お前それは仏教とキリスト教のどっちが"絶対的"に正しいの?って聞いているようなことだって分かってんの?

855 名前:デフォルトの名無しさん [2016/10/03(月) 20:42:13.59 ID:LjbGDdSQ.net]
>>846
俺にははっきりわかってる

static boolean equals(引数, 引数) ← 大正解

856 名前:デフォルトの名無しさん [2016/10/03(月) 20:42:40.67 ID:LjbGDdSQ.net]
>>847
仏教もキリスト教もどっちも大間違い

static boolean equals(引数, 引数) ← 大正解

857 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:47:46.07 ID:YrJzZRxh.net]
いい加減つまんねハゲ

858 名前:デフォルトの名無しさん [2016/10/03(月) 20:48:58.78 ID:LjbGDdSQ.net]
>>850がハゲ ← 大正解

859 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:50:11.16 ID:HbmexdQK.net]
ハゲは関係ないだろハゲは!
俺はハゲじゃないけど
ハゲの人が泣いてると思わないのか
俺はハゲじゃないけど



860 名前:デフォルトの名無しさん [2016/10/03(月) 20:51:45.60 ID:LjbGDdSQ.net]
equalの意味を考えろ
左辺と右辺を入れ替えて結果が変わるとかありえないだろ
なんだそのガバガバな論理は
意味を考えろ、同一に順番なんて関係ない
りんごがみかんならば、必ずみかんがりんごなんだよ

861 名前:デフォルトの名無しさん [2016/10/03(月) 20:53:14.82 ID:LjbGDdSQ.net]
nullオブジェクトを使ったところで結局は内部でこれ
static boolean equals(引数, 引数) ← 大正解

862 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:54:16.83 ID:0xD3JTi2.net]
なっこれが宗教家だよ

863 名前:デフォルトの名無しさん [2016/10/03(月) 20:56:01.57 ID:LjbGDdSQ.net]
順番が関係ないものに順番の概念を持ち出すから
とりとめのない水掛け論に発展する、そこに答えは1マクロンもない
大正解ロジックが唯一の大正解

864 名前:デフォルトの名無しさん [2016/10/03(月) 20:56:18.68 ID:hBEK0Of5.net]
Scalaなら==だけでequals呼び出すぞ

865 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 20:59:29.56 ID:hxqof8pD.net]
数学でもランダウ記号なんか使ってると必ずしも 「A = B ⇔ B = A」 ではないが

866 名前:デフォルトの名無しさん [2016/10/03(月) 20:59:36.92 ID:LjbGDdSQ.net]
>>855
怪しいとお考えでしょう、よく言われます
けれど私が言ってることは普通のことです
大小の比較であれば順番の概念が必要になります
大なり小なりは向きがありますからね
しかし=には向きがありません
ガラスにマジックで書いて裏側から見てください
見なくても想像できますよね、全く同じです
つまり順番の概念がそもそも成り立たない

static boolean equals(引数, 引数) ← つまり大正解

867 名前:デフォルトの名無しさん [2016/10/03(月) 21:03:23.11 ID:LjbGDdSQ.net]
>>858
         ____
       /      \
      /  ─    ─\   ?
    /    (●)  (●) \
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  |

868 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:05:07.10 ID:PdXev88S.net]
そうじゃない
お前がやってるのがキリスト教みたいな布教活動だって言っているの

869 名前:デフォルトの名無しさん [2016/10/03(月) 21:08:40.50 ID:LjbGDdSQ.net]
>>861
キリスト教によって救われた人がどれ程いることか
俺は迷えるプログラマたちを導いて救済したい



870 名前:デフォルトの名無しさん [2016/10/03(月) 21:13:26.91 ID:LjbGDdSQ.net]
論理的に導かれる唯一の大正解を示すことによって
お前ら木偶の坊どもの頭にかかってる蜘蛛の巣を払いのけ
光りあふれる鮮やかな未来をお前らと共に歩んでいきたい
共に生きよう

871 名前:デフォルトの名無しさん [2016/10/03(月) 21:13:50.63 ID:LjbGDdSQ.net]
static boolean equals(引数, 引数) ← 大正解

872 名前:デフォルトの名無しさん [2016/10/03(月) 21:14:40.66 ID:LjbGDdSQ.net]
お前らよーく考えろよ、このスレで一番声がでかいのは誰かってこと
正解はそこにある

873 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:15:54.46 ID:SLz7tpRD.net]
なんかあぼーんが多いわ

874 名前:デフォルトの名無しさん [2016/10/03(月) 21:16:26.53 ID:LjbGDdSQ.net]
>>866


875 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:29:22.01 ID:g+XkVx2o.net]
Java7以降はObjectsクラスを使う、で終わったネタを無理に引っぱろうとしても何も出てこない
なおnull許容型の議論もJava8でOptionalが追加されたので、これも解決済みだろう
今はまだよくてもJavaREPLするようになって再度蒸し返されそうな気もする

876 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:33:28.66 ID:oXywut21.net]
すいませんレベル高い議論の途中に低レベルな質問で申し訳ないんですが
A→B→C って継承してるときにCからAのメソッド呼び出すのってどうすればいいんでしょうか
superだとBのしかよべないんですが

877 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:35:41.44 ID:DydELLCK.net]
>>869
Bでもsuper呼ぶ

878 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:38:06.52 ID:oXywut21.net]
つまりBを書き換えないとそういうことはプログラム仕様上できないってことでしょうか?

879 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:41:19.99 ID:DydELLCK.net]
>>871
祖先のメソッドを呼びたい時点で、継承の使い方を間違えてると思われる



880 名前:デフォルトの名無しさん [2016/10/03(月) 21:42:16.50 ID:LjbGDdSQ.net]
super.superでいけるだろ

881 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:48:51.18 ID:oXywut21.net]
コンパイルとおりませんでした

882 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:52:37.82 ID:oXywut21.net]
>>872
厳密にいえばそうなんですが
多重継承できない以上そういうことしたくなるときってでません?
しかもABが人の書いたコードで安易に変更したくない場合とか

883 名前:デフォルトの名無しさん [2016/10/03(月) 21:54:29.44 ID:iH7XdtiT.net]
>>847
お答えしよう。どちらも落とし穴があるので間違い。ただし止観の行のような効果的な修行方法も残しておいてくれた仏教の方が少しまし。

884 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:57:09.89 ID:VWEC2olx.net]
呼び出したいメソッドをBでオーバーライドしてなければsuperで呼べる
オーバーライドしてたら・・・そんなことあるの?設計見直した方がよくない?

885 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:00:11.80 ID:DydELLCK.net]
>>875
親(B)の駄目コードをスキップしたいなら、Aを継承する。契約違反してまでBを継承するのがオカシイ。
もしくは、継承でなくてコンポジション使うとか。

886 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:17:26.14 ID:oXywut21.net]
デザインパターン的にまずいのは分かってるんですが
言語仕様上可能なのかどうかをおききしたかっただけです
無理そうなのでおとなしく別の方法試します

887 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:22:59.24 ID:Sy28Ke7B.net]
>>875
そういうパッチ的な継承の使い方って今時はあんまりしないよ
継承は基本的に悪、どうしても使うなら極力制限して慎重に使えというのが最近の流れ

888 名前:デフォルトの名無しさん [2016/10/04(火) 07:46:38.77 ID:o3yJa1Hl.net]
言語的に何かの仲間を表す役目はアノテーションに移った感じはするね
Springでいう@Serviceとか、@Componentとか
昔なら継承するか外部ファイルに書くしかなかった

889 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 14:50:26.61 ID:Q/b319ee.net]
継承使うとテスト書きにくい



890 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 23:32:34.63 ID:1OpjxEYO.net]
継承が悪ってのは初めて知った
調べよ

891 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 23:38:30.04 ID:1BCIDfGo.net]
初心者こそ最初のうちは継承を封印するべきだな
コードの再利用に継承なんか必要ないし多態はinterfaceで十分
ただ、継承を使った方がより自然に実装できるケースもあるので、
継承使わなくても全く問題なく作れることを十分理解した上でそれでも必要だと思えば使えばいい

892 名前:デフォルトの名無しさん [2016/10/04(火) 23:52:38.34 ID:cLjsChxH.net]
ゲーム作るなら結構継承使うけどそれ以外だと…
しかもゲームでも組み込みスクリプト使うこと多い
そもそもjavaでゲーム作らない

893 名前:デフォルトの名無しさん [2016/10/05(水) 08:03:03.93 ID:W42un36/.net]
interfaceがデフォルト実装もてるようになったからabstractクラスの必要性もひとつ減ったよなぁ

894 名前:デフォルトの名無しさん [2016/10/05(水) 16:43:11.96 ID:6T6LA8v8.net]
独自の機能を持ったアノテーションを定義するにはどうしたらいいでしょうか。
JDKの @interface Overrideの定義を見ても、

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

としか書かれてなくて、@Overrideをつけたメソッドが正しくオーバーライドされているかチェックするコードがどこにあるのか分かりません。

895 名前:デフォルトの名無しさん [2016/10/05(水) 16:48:13.78 ID:l2mkxdlB.net]
確か組み込み
JVMの中にある
何故キーワードじゃなくてアノテにしたのかは不明だが

896 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 17:30:41.66 ID:EDqQ344L.net]
アノテーションはアノテーションそのものに機能を定義するんじゃないよ
アノテーションが付いた何らか(メソッド、クラスetc)を検出して何らかの動作(オーバーライド検証、コード生成etc)をする
それは884が言うようにJVMの中にあったり、外部コマンドだったり、IDEの機能だったりする

897 名前:デフォルトの名無しさん [2016/10/05(水) 18:08:17.66 ID:76uxEqiR.net]
>>885
Android用ゲームでは使わざるを得ない

898 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 18:25 ]
[ここ壊れてます]

899 名前::45.21 ID:WKix4XYF.net mailto: native使えばいいんでないの []
[ここ壊れてます]



900 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 19:30:39.87 ID:R0+6OfJG.net]
>>888
予約語は今更増やせないので、overrideをキーワードにするなら文脈依存のキーワード(コンテキストキーワード)として実装するしかない
コンテキストキーワードはコンパイラが複雑になるし文法の一貫性を損なうので作る側としては気の進むものではない
C#なんかはコンテキストキーワードまみれだけどJavaには今のところコンテキストキーワードが無いので、童貞を捨てる最初の一歩には勇気がいる
@Overrideの時はその決断ができなかったわけだ
まあさすがにもうそろそろ純潔守るのは限界に来てるだろうけどね

901 名前:デフォルトの名無しさん mailto:sage [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の値を取得して【"かきくけこ"】だった場合だけ特別な処理を入れる
}
}

902 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 20:09:51.53 ID:4jNnLSHB.net]
>>887
コンパイル時に解釈するアノテーションは
コンパイラAPI使ってプラグイン形式のアノテーション処理コードを書いておく、
んでjavacの時にオプションでプラグイン読み込む。

903 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:19:53.14 ID:RbYddrkX.net]
Javaで拡張機能(プラグインやエクステンションの類)を外部から取り込めるプログラムを考えています。
このような、プラグインなどで拡張可能なプログラムのつくり方を調べると

1. プラグイン用のインターフェースを用意する
2. プラグインはそのインターフェースを実装する
3. マニフェストファイルなどにプラグインクラスを指定しておく
4. jarにまとめる
5. メインプログラムはjarを読み込み、マニフェストファイルなどで指定されたプラグインクラスを読み込む

と言ったフローのものが多く見られました。
この仕組み自体は分かったのですが、2番の「プラグインはそのインターフェースを実装する」について質問があります。

そもそもそのプラグインのインターフェースというのはメインプログラムの中にありますよね?
外部のプラグインを単体で作ろうとした時このプラグインインターフェースをどのようにimportすれば良いのでしょうか?

904 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:25:22.91 ID:j4+P2uPZ.net]
意識してjar使ったことあります?
あるならそのjarの中に共通で使うインターフェースを定義しておけばいいんですよ
簡単でしょ

905 名前:デフォルトの名無しさん [2016/10/06(木) 21:28:13.27 ID:nKRuE5IK.net]
>>895
プラグインをなのに単体で作る時点で意味がわからない話になっちゃう
当然本体に依存してるはずだからクラスパスに本体を加えてインポートすればいい

906 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:46:23.38 ID:urGcfi7o.net]
今回作っているプラグインの概要を書いておきます。
メインプログラムはテキストを読み込み、プラグインに処理させて結果をWebページに出力する
プラグインは例えば「英語に翻訳する」とか「語尾を面白くする」などが考えられます

>>897
メインプログラムの所有者(開発者)とプラグインの開発者が同じならそれでいいと思うのですが、例えばメインプラグインは私が作り、プラグインは不特定多数の第三者が作るというケースを考えたとき、
プラグイン開発者はわざわざプラグインインターフェースのためだけにメインプログラムをダウンロードしてクラスパスに追加しないといけないのでしょうか?

907 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:54:00.66 ID:JI/tF3Y3.net]
>>898
メインプログラムが無いとプラグイン実装者はどうやって動作確認するの?

908 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 22:23:26.52 ID:j4+P2uPZ.net]
あれっすねー
下手の考え何とやらにハマってますね

909 名前:デフォルトの名無しさん [2016/10/07(金) 00:08:56.29 ID:5FJeiwoZ.net]
メソッド実行時のオペランドスタックの中身の推移を出力する方法はないでしょうか?



910 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 06:40:31.98 ID:zxQdvO+A.net]
>>898
どうしても本体を配布したくないのならプラグインのインタフェースだけ切り出して、本体とプラグインの両方が依存するかたちも無くはない
例えばEJBのインタフェースはそういう形が多いと思う

ただ、今回のケースはプラグインだからやる理由がないんじゃないかなあ

911 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 00:03:15.98 ID:oQZcWGv1.net]
>>899>>902
ありがとうございます

メインプログラムに組み込みます

912 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 13:43:19.79 ID:aMqBnTB0.net]
今日からJava始めました

VBAやJavaScriptはやって来ましたが、楽しみです 。10年後は稼げるようになって、八丈島でフルーツ栽培しながら、稼ぎたいです

宜しくお願い致します

913 名前:デフォルトの名無しさん [2016/10/10(月) 13:44:24.93 ID:UL1Nitj4.net]
1.5年あれば稼げるようになる

914 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 14:45:56.29 ID:huUUk9u9.net]
20年前にJavaが残るとは思わなかったよな

915 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 21:38:43.52 ID:U0QfFrW+.net]
>>906
そりゃそうだろ20年前だとJavaやってる人ほどんどいないから
おれはJDK1.1.6くらいからAWTで始めて18年目くらいだけど
そのころだとAWT見栄えしないし、JVM遅くて将来性は?だった
1.2になってサーブレットでサーバサイドやり始めて
Javaの将来が見えてきた感じかな

916 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 21:48:31.72 ID:hVHWJ6ju.net]
砂箱入りでなにもできなかったJavaw

917 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 01:16:30.03 ID:yQ3A6F/6.net]
iアプリで採用されたのが転機だと思う。

918 名前:デフォルトの名無しさん [2016/10/11(火) 01:55:36.64 ID:5ABVoVL2.net]
Javaはサーバサイドで使われてなんとかなったな。
クライアントの方は長いこと死んでたが Android により救われたって感じか。
しかしPCのWindows上でのAppletは本当に死んだな。Firefoxの64bit版にはもうプラグインないし。

919 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 01:56:36.56 ID:/pRFL0u6.net]
iアプリw
あんな超ローカルガラパゴスな需要がグローバルに影響を与えるわけないだろ
今のJavaがあるのはそれ以外の要因だろ



920 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 06:49:09.58 ID:4KrOE+wT.net]
JavaME(MIDP)はSymbian含め多くのデバイスに搭載されてるな

921 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 07:35:43.38 ID:yQ3A6F/6.net]
ガラケーだろうが何だろうが、いわゆる携帯電話にjavaアプリ載っけてなおかつ普及させたことによる他プラットフォームへの影響は計り知れないよ。

922 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 08:01:39.43 ID:aUckxkie.net]
そうか?
モバイルはアンドロイドジャバモドキになって初めてJavaとしての資産を活かせるようになったけど、
それ以前は組み込み臭が強すぎて当時の遺産やノウハウなんかほとんど役に立ってないだろ

923 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 08:09:00.13 ID:SPhMZv+b.net]
>>905
となると、ガッツリ勉強すれば、早く移住出来そうだ。

924 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 10:29:59.76 ID:fES4oS1W.net]
>>913
影響が計り知れないガラパゴス携帯

925 名前: []
[ここ壊れてます]

926 名前:デフォルトの名無しさん [2016/10/11(火) 11:18:03.04 ID:SECsCQqk.net]
>>915
人による

927 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 11:40:03.33 ID:4KrOE+wT.net]
>>914
組み込み臭ってどの辺が?
あとJavaMEで活かされなくてAndroidで活かされたJavaの資産ってどんなの?

928 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 14:30:49.03 ID:rVEHRbce.net]
JVMのJava heapの利用状況の監視ってみんなどうやってるの?ザビックス?

929 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 15:11:43.99 ID:Pr2KO31B.net]
JConsole



930 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:44:58.92 ID:yQ3A6F/6.net]
>>916
ブラウザ、メール、カメラ、音楽、決済、2次元バーコード…
ガラケーと呼ばれた端末が一体どれだけ世界に影響を与えたことか。

931 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:34:12.80 ID:Ho77NI7R.net]
えっ?マジで言ってんの?
iアプリ()ってそんなに世界的に見てもJavaの発展に寄与したと認識されてんの?

もう一度聞くけどマジで??

932 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 01:18:17.44 ID:giQELDJ8.net]
iアプリ(CLDC + DoJaプロファイル)でFFが動いたことは大きな意味があったと思うぞ
ケータイでのJava利用が現実的になって、確かサムスンからプラットフォームとしてJavaを利用する端末が発表されたし
その流れでAndroidだって出てきたわけだし
FOMAで使われてたOMAPなりARMさんはJavaのバイトコードが処理できるJazelle開発したりJava関連のテクノロジーの発展には貢献してるでしょ

933 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 03:04:24.43 ID:QVNbloOm.net]
否定する方も肯定する方も実数を含んだソース出せ
無いから水掛論になる

934 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 04:54:53.75 ID:gMP5GEx+.net]
別にどっちの話もしなくていい
生き残った、ほーん、で?
アロエにでも話しかけてろカス

935 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 05:36:56.09 ID:P/80LMv+.net]
♪聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

聞いてくれてあーりがと アロエリーナ♪
\______ __________/
          |/
         ∧_∧
  (○)   (∀・  )
  ヽ|〃    (∩∩  )
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

936 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 05:37:48.70 ID:P/80LMv+.net]
空欄のまま書き込んでしまた…

937 名前:デフォルトの名無しさん [2016/10/12(水) 07:06:59.72 ID:/XRVlpaK.net]
>>922
iアプリがなければJavaは滅びていた

938 名前:デフォルトの名無しさん [2016/10/12(水) 07:08:34.02 ID:/XRVlpaK.net]
>>924
ソースはiアプリの時代を生きたこの俺だ
俺が生き証人だ
アロエリーナも知っている

939 名前:デフォルトの名無しさん [2016/10/12(水) 07:09:05.04 ID:/XRVlpaK.net]
アロエリーナとiアプリの時代は完全に一致する



940 名前:デフォルトの名無しさん [2016/10/12(水) 07:09:33.26 ID:/XRVlpaK.net]
つまり、アロエリーナがなければJavaは滅びていた

941 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 08:13:04.15 ID:PnrhXVwx.net]
アロエリーナ知ってる!
小学生の時に懐かしCM特集ってので見たわ

942 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 08:24:12.39 ID:Ho77NI7R.net]
なんだかきなくさくなってきましたね...

943 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 08:30:14.41 ID:demRx8+z.net]
そうだね!
きなくさいね!!

944 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:07:30.91 ID:ZaPbWfMf.net]
ここはハゲでお茶を濁さなきゃ

945 名前:デフォルトの名無しさん [2016/10/12(水) 15:21:32.12 ID:W3SF+f/q.net]
ここで紹介された、すっきりわかるjava入門のおかげで、だいぶはかどりました。

946 名前:デフォルトの名無しさん [2016/10/12(水) 16:16:53.66 ID:jyq38AMU.net]
>>936
それな

947 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 18:02:46.55 ID:AGTByej+.net]
すみません初心者です
これから勉強してwebアプリくらいはさらっとつくれるようになりたいのですが
まずはどんなものに取り組んだらよいのでしょうか
なるべくなら、文法読むだけじゃなくて
かんたんなゲームなどを作りながらがよいかと思っています
定番の本などはありますでしょうか

948 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 18:12:17.48 ID:9oDwxE2X.net]
まずはJavaScriptとHTML
次はNode.js, Ruby, PHPのどれか
Javaはお勧めしない
Javaワールドで一般的なWebアプリと呼ばれるものは君が想像してるものとは多分(悪い意味で)かなり違う

949 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 18:32:32.26 ID:JHJttxPa.net]
>>939
おまえはなぜここにいる?



950 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 20:54:06.53 ID:n49FfGJW.net]
Javaに詳しいからこそ, 別の言語使ったら?ってことが言いたいんじゃないの?
向き不向きは当然ながらあるわけだし

951 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 21:16:15.68 ID:xLksdBN7.net]
適切なところに誘導すればいいだけじゃん

952 名前:デフォルトの名無しさん [2016/10/12(水) 21:18:08.09 ID:/S1G0fYz.net]
Androidでスマホアプリでも作ればいいじゃん

953 名前:スッキリ厨 mailto:sage [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版)

954 名前:デフォルトの名無しさん [2016/10/13(木) 19:35:05.28 ID:dvRCNZ1l.net]
スッキリ分かるjava入門の無印と実践と、コップ本の3冊読んでおけばok
ス分からいきなりコップ本は無理だろうけど

955 名前:デフォルトの名無しさん [2016/10/13(木) 20:58:35.84 ID:s81575zl.net]
すぶん・・・

956 名前:デフォルトの名無しさん [2016/10/13(木) 21:00:48.25 ID:dvRCNZ1l.net]
スキjがいい?

957 名前:デフォルトの名無しさん [2016/10/14(金) 00:19:24.69 ID:SrS85Be2.net]
わかりやすいjavaは?

958 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 01:25:57.28 ID:Nxwd5+O4.net]
よし俺が誰でも分かる入門サイト作るわ!

959 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 01:27:23.11 ID:kSpw8ZOi.net]
そうして見たことのあるサイトができあがる



960 名前:デフォルトの名無しさん [2016/10/14(金) 02:00:21.51 ID:JsD4EcF+.net]
入門サイトの再発明

961 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 06:43:55.09 ID:ehiQ52H8.net]
Java8以降はStreamとラムダで結構変わるんだけど
化石みたいな入門サイトと役立たずの書籍のおかげで初心者が次々と脱落してゆく
まああれだ、彼らがやりたいのはJavaじゃなく泥でアプリ作りたいわけ
だったらC#でもいいんだけどな

962 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 09:48:40.96 ID:WR1Oxtue.net]
今こそKotlinの出番だァァッ!!

963 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 10:42:41.14 ID:I7mS7s90.net]
ScalaとKotlinはぜひ一度触ってみるべきだな
どっちが好みかは人によるからなんともいえないけど、すくなくともpure Javaよりはずっといい

え? Groovy? 君はgradleだけで十分です
というかgradleももうKotlinで書けるし・・・

964 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 12:38:37.91 ID:Nxwd5+O4.net]
Streamとラムダで脱落ってどんだけよ。
1日しか勉強しない勢?

965 名前:デフォルトの名無しさん [2016/10/14(金) 14:37:08.57 ID:IKc9TcNT.net]
Streamとラムダの基本はわかった。
しかしまだどんなクラスやインターフェースがあるかほとんどわかってないのでうまく使える状態ではない。

966 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 14:38:18.70 ID:xVLObFEf.net]
なんとか入門編をスッキリ読んだ。
なんとなくオブジェクト思考でのコードの書き方がわかった。

967 名前:デフォルトの名無しさん [2016/10/14(金) 18:00:41.16 ID:uMWBWHxp.net]
スッキリはjavaを使ったOOPの解説みたいだよな

968 名前:デフォルトの名無しさん [2016/10/14(金) 20:22:34.83 ID:t+vmOHtU.net]
おおぷ

969 名前:デフォルトの名無しさん [2016/10/16(日) 00:43:27.39 ID:FsJv6qds.net]
>>952
いや、俺はJava自体を身に付けて就職時の武器にしたいんだが…。



970 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 01:19:54.70 ID:igy7JP5N.net]
>>960
今が学生で狙うのが普通のIT企業なら、これから覚えるとかいうレベルでは正直いって武器にはならんよ
OracleのJava SE8認定試験のSilver持ってたら、言語とかではなく一般的な意味で目標に向かって勉強することはできるんだね、くらいの評価
今すでにJava関連のコミュニティに入っていて勉強会とかに顔だして、発表側に回るくらいでやっとJava技術者として評価されるかなくらい

ちなみにうちの会社ではエントリーシートにGithubのURL載せててそれなりの活動できてるやつとそれ以外では全然扱いが違う
#募集要項にもそれは書いてる

971 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 01:55:35.19 ID:S/2DHEBe.net]
就職活動で質問なんですが、paizaとかCodeIQの問題解いて、結果の一覧見せてもダメでしょうか?

972 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 02:05:02.60 ID:GUtPQfk2.net]
何を伝えたいの?

973 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 07:44:21.61 ID:tkK43y5c.net]
Java EEのMVC 1.0案が完全にドロップしたそうですが、Java EEに未来はありますか?

974 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 07:49:04.36 ID:FoYCot45.net]
>>962
そういうのを評価するところは問題解けるかどうかよりコードの書き方を見る
学校のアルゴリズムの授業で書いたようなのは世間一般には汚い糞コードと見做されるんだけど大丈夫か?
まあプロっぽく書けといってもよく分からないだろうから、手っ取り早く確実に意識高そうに見せるなら
HaskellやScalaのような関数型言語で解くのがいいんじゃないか

975 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 12:11:18.71 ID:fIK9uXrO.net]
プロっぽいw

976 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 12:37:57.58 ID:1CeHwTTq.net]
そもそもどういう会社狙ってるんだろう
Javaやってる会社はCodeIQなんか見向きもしねえ気がする

※完全に個人の主観です
※実際の様子とは異なります

977 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 13:02:10.24 ID:50CSnlxY.net]
CodeIQでJavaの問題いくつかとくと
Javaやってる会社に人を派遣してるとこからスカウトくるよ

978 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 13:17:14.52 ID:vXiXdAba.net]
就職活動からプログラマを狙うのはやめた方が良いと思う
好き好きなんだろうけどさ

979 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 15:56:42.20 ID:eUv+6F4e.net]
なるほど人足の判断としてはいいね



980 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 16:14:53.72 ID:eGY0J3Yy.net]
>>964
JAX-RSで十分だからじゃないの、jersey使ったことないから知らんけど。

981 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 17:01:55.79 ID:vrM29RHh.net]
>>959
池沼

982 名前:デフォルトの名無しさん [2016/10/16(日) 17:58:45.92 ID:e1qF8gd7.net]
>>972
いけぬま

983 名前:デフォルトの名無しさん [2016/10/16(日) 18:01:24.62 ID:e1qF8gd7.net]
>>968
そうそう。あのサイトそんなサイトなのな。
単にクイズに答えたいだけだったのに登録で個人情報やたら入力させようとするから止めたんだ。
俺は転職したいわけじゃなかったからな。

984 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 19:04:28.20 ID:M/DWgTU7.net]
クイズが解きたいって気持ちは一生理解できないだろうなと思ってる

985 名前:デフォルトの名無しさん [2016/10/16(日) 19:07:21.97 ID:jbRBUkYK.net]
アルゴリズムは基本ライブラリ使うから全く解けなかった

986 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 19:36:17.71 ID:2HJFaHa2.net]
プログラミングを完全に手段だと割り切ってると
パズル的な面には興味は持てないでしょうね
特にそれが悪いとは思わないけど

987 名前:デフォルトの名無しさん [2016/10/16(日) 20:43:44.41 ID:aiyinN1S.net]
>>975
え?普通になぞなぞ解きたくなるのと同じようなもんだよ。

988 名前:デフォルトの名無しさん [2016/10/16(日) 23:23:58.86 ID:DXmiytAw.net]
>>964
Java EEは捨てましょう。

10年後はJava EEのWebアプリケーションはCOBOL同然の扱いになっていると思います。

989 名前:デフォルトの名無しさん [2016/10/16(日) 23:26:16.01 ID:DXmiytAw.net]
手段と目的を履き違えているやつらが多いな。



990 名前:デフォルトの名無しさん [2016/10/17(月) 00:20:39.29 ID:R5CCSZPr.net]
Javaというプログラミング手段を身に付けるのが目的です。

991 名前:デフォルトの名無しさん [2016/10/17(月) 00:38:17.31 ID:IY46ZrOZ.net]
>>980
COBOLも手段の一つでござろうよ

992 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 05:30:54.04 ID:JGocT82E.net]
>>979
何言ってんだこいつwe

993 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 08:24:47.42 ID:G89YnvgI.net]
今から作って10年後も動いてるwebサービスなんて優秀やん

994 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 08:30:24.63 ID:pGCt3vVl.net]
>>981
すばらしい目的ですね!
ぼくにはとてもできない

995 名前:デフォルトの名無しさん [2016/10/17(月) 11:48:13.08 ID:3pBpkkFt.net]
Javaというプログラミング手段を身に付けて自慢げに知識をひけらかしみんなを思い切り見下すのが目的です。

996 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 12:17:29.65 ID:6nmYsoEb.net]
Javaでwwwwwwwww
見下すwwwwwwwwww

まぁJava自体の言語仕様策定者に近いレベルまでいければ、初心者相手には可能なのかな?

997 名前:デフォルトの名無しさん [2016/10/17(月) 12:32:05.11 ID:JGocT82E.net]
>>986
お前は多数の一般人から見下されてますよww

なぜなら、お前はクソニートだから。

998 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 14:01:56.76 ID:6MO+TX98.net]
お前らそんなかっかするとハゲになるぞ

999 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 14:02:43.35 ID:bmCf/FiJ.net]
うるせーもう手遅れだよ!



1000 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 14:46:38.83 ID:6MO+TX98.net]
....ごめん

1001 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 15:40:27.48 ID:WkWdUImM.net]
>>986
馬鹿乙

1002 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 16:20:30.71 ID:a9iYQESn.net]
Javaを始めたいという友人がいるんだが、Javaのプログラミング言語としての難易度はどう説明すればいいかな?
友人はCとかVBAはわかるらしいけどこっちはCとVBAはご無沙汰でもう覚えてないし…(というかプログラミングから大分離れてるからJavaもウロ覚えだし…)

Javaが難しい理由を簡単な言葉で説明するとしたらどういう風に伝えるべきかな?

1003 名前:デフォルトの名無しさん [2016/10/17(月) 16:21:16.22 ID:asF6HwUk.net]
まだまだ足りないな。少し拡張。


Javaというプログラミング手段を身に付けて自慢げに知識をひけらかしみんなを思い切り見下してバカにするのが目的です。
言ってみたい言葉は「こんな事もわからないの?」です。

1004 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 16:27:16.87 ID:9gVmRPtd.net]
プログラミング言語で難しいと思ったのはCOBOLくらいです(高度なギャグ)

1005 名前:デフォルトの名無しさん [2016/10/17(月) 16:45:31.45 ID:asF6HwUk.net]
>>993
C出来るなら覚えるのは早いと思うよ。
ただし、なんとなく似てるけど違う部分があるのでそういうのに要注意。
多分配列やポインタや文字列の考え方や扱いの違いで混乱があると思う。

1006 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 16:57:42.07 ID:a9iYQESn.net]
>>996
説明できそう!thx!

1007 名前:デフォルトの名無しさん mailto:saeg [2016/10/17(月) 19:38:01.24 ID:5MN+i4pP.net]
どうにも Java やってて面白みが感じられない。
つーか仕事以外、完全プライベートで Java 使う場面ある?

1008 名前:デフォルトの名無しさん [2016/10/17(月) 19:47:27.89 ID:R5CCSZPr.net]
>>996
いやいや、Javaには、オブジェクト指向という大きなカベが…。

1009 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 21:15:57.35 ID:3TSUYd8+.net]
★★Java質問・相談スレッド179★★ [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1476706523/

ほい



1010 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 21:21:36.07 ID:wBVSlf54.net]
>>999
大きな壁だと思ってるようじゃ、話にならんわけだが?

1011 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 21:23:36.20 ID:+7A/bOmy.net]
でも、単にJavaの流儀に従っているっていうのと、オブジェクト指向を理解するというのは、違うのだよね

1012 名前:デフォルトの名無しさん [2016/10/17(月) 22:03:47.52 ID:6nmYsoEb.net]
999

1013 名前:デフォルトの名無しさん [2016/10/17(月) 22:04:13.17 ID:6nmYsoEb.net]
ちんぽしゃぶれ

1014 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






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

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

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