プログラミング言語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質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/
★★Java質問・相談スレッド181★★
レス数が1000を超えています。これ以上書き込みはできません。
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
2デフォルトの名無しさん
2018/02/11(日) 01:19:57.46ID:pgvJ3Hcm Java SE 8 Date and Timeについて教えてください
String型の"平成元年1月8日"という値をLocalDate型に変換したいのですが
DateTimeFormatterを使って変換する方法を教えてください
お願いします
String型の"平成元年1月8日"という値をLocalDate型に変換したいのですが
DateTimeFormatterを使って変換する方法を教えてください
お願いします
3デフォルトの名無しさん
2018/02/11(日) 01:33:03.69ID:B0DbdRYG そういやそれやってみたけどどうやっても「元年」がダメだったな。「1年」ならできたんだけどな。
何か方法はあると思うんだけど今のところわからない。
何か方法はあると思うんだけど今のところわからない。
4デフォルトの名無しさん
2018/02/11(日) 04:56:25.67ID:3iWAD1Pj Javaのファイル型KVSめちゃくちゃ遅くないですか?
KyotoCabinetとかの1000分の1レベル・・・
たぶんstaticにインデックスを持ってないのかな
組み込み型かつファイル型で何かいいのありますか?
KyotoCabinetとかの1000分の1レベル・・・
たぶんstaticにインデックスを持ってないのかな
組み込み型かつファイル型で何かいいのありますか?
2018/02/11(日) 07:12:11.17ID:Dl6onReq
LocalDate.parse(text.replace("元年", "1年"), formatter);
オラクルに文句言うしかないね
オラクルに文句言うしかないね
2018/02/11(日) 07:19:28.55ID:fidWsgUl
7デフォルトの名無しさん
2018/02/11(日) 08:23:10.55ID:3iWAD1Pj javaのプログラムといったとき公式のプログラムだけを指すわけではありません
2018/02/11(日) 10:15:34.56ID:fidWsgUl
つまり、4が勝手に選んだ3rdパーティのkvsが遅いと言いたいわけではなく、
javaによるkvs実装は一般的にインデックスがなくて遅いって言いたいの?
javaによるkvs実装は一般的にインデックスがなくて遅いって言いたいの?
9デフォルトの名無しさん
2018/02/11(日) 12:45:16.73ID:ELb3bzVx javaってなんか有料になるんですか?
2018/02/11(日) 23:30:55.85ID:uxIefof+
今Open javaというのを使っているのですがOracle javaというのを使った方がいいのでしょうか
ざっと調べてみたのですがどちらにすべきというのがいまいちわかりません
ざっと調べてみたのですがどちらにすべきというのがいまいちわかりません
12デフォルトの名無しさん
2018/02/12(月) 06:49:36.37ID:IgpM8r15 例外の使い方どうすればいいですか?
falseやnullを返していくか、例外を投げるか。
例えばDBへのトランザクションで複雑な内部処理の中だとして、
処理の失敗に応じてコミットするか選択しないといけない。
例外のベストプラクティスが知りたい
falseやnullを返していくか、例外を投げるか。
例えばDBへのトランザクションで複雑な内部処理の中だとして、
処理の失敗に応じてコミットするか選択しないといけない。
例外のベストプラクティスが知りたい
2018/02/12(月) 12:47:18.02ID:qekpeHDJ
それが判断できるところでcatchして、適切な処理をしてから再throwすればいいと思うよ
2018/02/12(月) 23:58:43.00ID:CWNu4mBa
パッケージ名の付け方について自身の持つドメインを逆からという風に聞いたのですが
個人開発等でドメインを持っていない方々はどうされているのでしょうか?
ユニーク性から考えてメアドを利用するというのを思いついたのですが
何か作法はありますか?
個人開発等でドメインを持っていない方々はどうされているのでしょうか?
ユニーク性から考えてメアドを利用するというのを思いついたのですが
何か作法はありますか?
2018/02/13(火) 01:17:29.42ID:ItXL3xp2
>>12
場合による.
場合による.
16デフォルトの名無しさん
2018/02/13(火) 01:23:39.93ID:uX7IZed7 >>14
何でも好きなの作ればいいじゃん。特に制限があるわけじゃないし。
公開して多くの人に使わせることを目的としたライブラリなんかはそういう風に名前付けといた方が分かりやすいし他と衝突する事もないだろうからそうした方が良いだろうけどね。必ずしもそうしなけりゃいけないわけじゃない。
何でも好きなの作ればいいじゃん。特に制限があるわけじゃないし。
公開して多くの人に使わせることを目的としたライブラリなんかはそういう風に名前付けといた方が分かりやすいし他と衝突する事もないだろうからそうした方が良いだろうけどね。必ずしもそうしなけりゃいけないわけじゃない。
17デフォルトの名無しさん
2018/02/13(火) 01:54:37.39ID:/bOHErQ9 そもそも例外ていちいちthrowする必要あります?
例外なんだから、コーディングされていない遷移じゃないですか?
NPEとかClassCastとかもチェックせずに、全部上で捕まえて処理してください、
じゃだめですか?
例外なんだから、コーディングされていない遷移じゃないですか?
NPEとかClassCastとかもチェックせずに、全部上で捕まえて処理してください、
じゃだめですか?
2018/02/13(火) 02:15:44.45ID:FRKwtYnc
19デフォルトの名無しさん
2018/02/13(火) 04:06:37.94ID:uX7IZed7 >>17
ま、なんというか、その辺はJavaでは今更どうにもならんのでKotlinとか使えば良いんじゃないかな。
ま、なんというか、その辺はJavaでは今更どうにもならんのでKotlinとか使えば良いんじゃないかな。
20デフォルトの名無しさん
2018/02/13(火) 08:59:03.90ID:/bOHErQ9 log4j2のxmlが反映されない・・・
LogManager.getLoggerした時点で狂ったようにログ吐くからなんとかしたいんだけど
これでtraceをinfoにしても止めれないんだけどなぜですか?
<Loggers>
<Root level="trace">
<AppenderRef ref="console" level="trace"/>
</Root>
</Loggers>
LogManager.getLoggerした時点で狂ったようにログ吐くからなんとかしたいんだけど
これでtraceをinfoにしても止めれないんだけどなぜですか?
<Loggers>
<Root level="trace">
<AppenderRef ref="console" level="trace"/>
</Root>
</Loggers>
2018/02/13(火) 09:31:34.49ID:jLCpX7pa
場合による、便利な言葉ですねえ
2018/02/13(火) 12:05:27.36ID:AHnFnr3H
>>14
sofだと、ドメイン取ったほうがええよ。でもとれないならメアドか自分のプロジェクトレポジトリのurlを使いなよ、って回答に人気があるね。
sofだと、ドメイン取ったほうがええよ。でもとれないならメアドか自分のプロジェクトレポジトリのurlを使いなよ、って回答に人気があるね。
2018/02/13(火) 12:27:53.31ID:IoOWXwkE
例外は、基本的に戻り値ではなく、try-catch で囲む。
戻り値で返すとわかりにくいから、例外構文ができた
あとは君が考える
入力値エラー、0 除算、ファイルが存在しない、
メモリが足りない、型変換エラーの場合に、君はどうする?
戻り値で返すとわかりにくいから、例外構文ができた
あとは君が考える
入力値エラー、0 除算、ファイルが存在しない、
メモリが足りない、型変換エラーの場合に、君はどうする?
2018/02/13(火) 13:55:34.17ID:O++cRC/Q
>>11
11以降はオラクル版の提供やめるみたいよ。
11以降はオラクル版の提供やめるみたいよ。
2018/02/13(火) 20:12:23.22ID:bGWlvAgR
26デフォルトの名無しさん
2018/02/14(水) 08:19:05.85ID:IbDcUCKa Booleanとbooleanとかオブジェクト型とプリミティブ型の使いわけどうすればいいですか?
性能的にシビアなところはプリミティブのほうがいいですか?
性能的にシビアなところはプリミティブのほうがいいですか?
27デフォルトの名無しさん
2018/02/14(水) 08:27:53.52ID:/di6HjOp Listに入れるとかnullが必要なパターンじゃない限りbooleanでok
2018/02/14(水) 08:39:24.34ID:xRv25q5d
>>26
基本プリミティブ型だけ使う。ジェネリクスの型宣言するときだけラッパー型使えばいいよ。
基本プリミティブ型だけ使う。ジェネリクスの型宣言するときだけラッパー型使えばいいよ。
2018/02/14(水) 10:32:08.01ID:xbUNXEcU
2018/02/16(金) 04:25:55.90ID:PIB5v9ZW
バッチ処理とJavaでする処理ってなにか違いがあるんでしょうか
よく「夜になったらバッチが動いてデータを処理してくれる」とかありますが「夜になったらJavaがデータを処理してくれる」とかでも良いように見えて違いがわからないです
よく「夜になったらバッチが動いてデータを処理してくれる」とかありますが「夜になったらJavaがデータを処理してくれる」とかでも良いように見えて違いがわからないです
2018/02/16(金) 06:51:31.03ID:UxRi07OK
32デフォルトの名無しさん
2018/02/16(金) 10:23:33.09ID:OW1usLwi 夜になるとバッチ処理でJavaのプログラムが起動して、なんてこともありうる。
2018/02/16(金) 10:43:37.31ID:OVf/pPmf
バッチこい
34デフォルトの名無しさん
2018/02/21(水) 18:43:46.25ID:Ho2ISOMi Java終わりかな
35デフォルトの名無しさん
2018/02/21(水) 19:34:28.74ID:2C7myRiq 普通に考えて中々終わらんだろう。
Androidも健在だしな。Kotlin使うとしても新規プログラムからばかりでこれまでにJavaで作ったやつを変換してまで乗り換えるようなのはあまりないと思うよ。
Androidも健在だしな。Kotlin使うとしても新規プログラムからばかりでこれまでにJavaで作ったやつを変換してまで乗り換えるようなのはあまりないと思うよ。
2018/02/21(水) 21:00:30.83ID:aRBSqY5R
「バッチ処理」で検索!
プログラムによる自動処理
プログラムによる自動処理
2018/02/22(木) 17:39:01.87ID:XBqMjBt+
文字の連結、追加で
ab+=cd
と記述できますが
ab=ab+cd
この記述と違ってメモリ幅の変動がなく
連続して前者の追加加算をしてもそれほど速度低下にはならないもんなんでしょうか?
内部を知ってる方に伺いたいです
ab+=cd
と記述できますが
ab=ab+cd
この記述と違ってメモリ幅の変動がなく
連続して前者の追加加算をしてもそれほど速度低下にはならないもんなんでしょうか?
内部を知ってる方に伺いたいです
2018/02/22(木) 17:49:43.91ID:gz5vdKLC
どっちも同じバイトコードになるに決まってんだろアホ
2018/02/22(木) 17:59:09.72ID:XBqMjBt+
書いてあるようにメモリ幅と内部のやりくりについての質問です
全くの見当違いの人はレス不要です
わからない人でなくわかっている人に聞いています
全くの見当違いの人はレス不要です
わからない人でなくわかっている人に聞いています
40デフォルトの名無しさん
2018/02/22(木) 18:24:41.64ID:Rqvcd5k2 両方書いてコンパイルしてバイトコード出して見比べてみたら?
2018/02/22(木) 20:36:01.87ID:i8z+ldk3
わからない人は答えないでください(上から目線)
42デフォルトの名無しさん
2018/02/22(木) 21:30:20.55ID:gkrr6Csx 「それほど」がどの程度の速度低下まで許容されるのかをちゃんと定義してくれないと(すっとぼけ)
2018/02/22(木) 21:52:44.46ID:IYnEzTFC
「メモリ幅」ってなんのことだ?
44デフォルトの名無しさん
2018/02/22(木) 23:26:05.38ID:YcYRar81 確保するメモリのサイズのことじゃなかろうかと知らんけど
45デフォルトの名無しさん
2018/02/22(木) 23:26:40.80ID:YcYRar81 「メモリ幅」ってなんのことだ?
46デフォルトの名無しさん
2018/02/22(木) 23:27:09.12ID:YcYRar81 同じバイトコードになるという答えが見当違いとは思えない
2018/02/22(木) 23:53:50.86ID:K6gwUVsb
メモリ幅なんて言う奴は、CPU・RAM を分かっていない
どの言語でも、そんなの保証していない
どの言語でも、そんなの保証していない
2018/02/22(木) 23:54:13.94ID:ylubyEbg
2018/02/23(金) 06:23:51.21ID:Brpvjprl
java 文字列連結 最適化
でググった方が早いよ。
でググった方が早いよ。
2018/02/23(金) 08:13:48.99ID:oHNB0pIN
そもそも ab+=cd と ab=ab+cd の違いが問題になるほどのプログラム組んでるのかよ w
大量の文字列追加があるならStringBuilder使えや
大量の文字列追加があるならStringBuilder使えや
2018/02/23(金) 09:42:52.51ID:HSy+CPfQ
「わからない人は答えないでください」は知恵遅れでよく見るけどそれが掲示板にも流れてきてるのか
そういうやつが「普通」になっているのか、どっちなんだろう?
そういうやつが「普通」になっているのか、どっちなんだろう?
52デフォルトの名無しさん
2018/02/23(金) 11:27:53.19ID:mFZl6vMq >>45
ほら、目盛りの幅。3cmとか。
ほら、目盛りの幅。3cmとか。
53デフォルトの名無しさん
2018/02/23(金) 11:54:49.01ID:zNsQyXzG >>50
これ
これ
2018/02/23(金) 18:05:40.89ID:tsgXcJ7V
質問スレ 「わからない人は答えないで下さい」
ま、まあそうだな…
ま、まあそうだな…
55デフォルトの名無しさん
2018/02/23(金) 19:26:11.88ID:Py5a3myD String a = "わからない人は";
String b = "答えないでください。";
a += b;
String b = "答えないでください。";
a += b;
56デフォルトの名無しさん
2018/02/23(金) 19:37:01.17ID:Jw2VdbNh ふう
2018/02/23(金) 22:52:04.40ID:IHdQ8A6l
>>55
ベストアンサー
ベストアンサー
2018/02/24(土) 06:52:39.70ID:Fw6wAD1s
2018/02/24(土) 07:22:33.34ID:BKLSO8lU
>37は人気者だね!
2018/02/24(土) 07:44:29.29ID:UzdWcVQE
わからないの群れを見越して質問者に先に釘をさされるようじゃここも終わりだな
2018/02/24(土) 08:10:48.12ID:8SGsAbML
質問内容があの走ってる電車のレール長は変わりますか?どのように変わりますか?
に対して38のこたえが レールの上を走ってるに決まってんだろ だからじゃね
頓珍漢と思われても仕方ない
に対して38のこたえが レールの上を走ってるに決まってんだろ だからじゃね
頓珍漢と思われても仕方ない
2018/02/24(土) 08:12:05.24ID:MAo3e6Of
僕の頭の中がわかる人だけこたえてください
2018/02/24(土) 08:36:28.75ID:CuRF79s8
わざわざ言わんでも、「メモリ幅」が何を意味しているのか推理できる人しか答えられないのは確かだな。
2018/02/24(土) 08:40:19.77ID:nsuuekrF
>>60
お前はどこにいるのw
お前はどこにいるのw
2018/02/24(土) 08:54:31.97ID:Fw6wAD1s
>>61
その例えはおかしいわ
この場合、性能が同じaの電車とbの電車があります。同じ回数走ったらレールの長さや電車の速度はかわらないんでしょうかと言ってるようなものだぞ
当然、レールの長さは変わらない
その例えはおかしいわ
この場合、性能が同じaの電車とbの電車があります。同じ回数走ったらレールの長さや電車の速度はかわらないんでしょうかと言ってるようなものだぞ
当然、レールの長さは変わらない
2018/02/24(土) 08:58:48.32ID:Fw6wAD1s
いや、やっぱなんか違うな
無理やり例えるのは良くないな
無理やり例えるのは良くないな
2018/02/24(土) 18:13:10.60ID:IGnDdAZf
2018/02/24(土) 18:16:34.78ID:dm+ZE7MQ
電車から逃げ出した痴漢だろ
2018/02/24(土) 20:20:05.65ID:BKLSO8lU
っていうかメモリ幅ってなにさ?
2018/02/24(土) 21:19:43.00ID:mD86uI0D
SIMMの幅のことだろ
2018/02/24(土) 22:08:13.59ID:01A04fC8
むかしパソコン詳しい人に教えてもらったっけ
メモリは机の広さで多くのファイルを広げられるから作業が速くなる
机が小さかったら使わないファイルや文房具をしまったりするから効率が悪くなるって
なるほどなーって思った
それでうちの机はあまり大きくないからメモリ少なめのパソコン買ったよ(^o^)
メモリは机の広さで多くのファイルを広げられるから作業が速くなる
机が小さかったら使わないファイルや文房具をしまったりするから効率が悪くなるって
なるほどなーって思った
それでうちの机はあまり大きくないからメモリ少なめのパソコン買ったよ(^o^)
2018/02/25(日) 03:42:22.23ID:PW98pIgG
なんで主記憶容量の話に
2018/02/25(日) 10:14:47.10ID:+Ur3vkTA
アホの議論だから
2018/02/25(日) 11:16:42.37ID:59jeAjzx
でもパソコンのメモリって減らないからすごいよな!
スマホは毎月7ギガとか減るのに
スマホは毎月7ギガとか減るのに
75デフォルトの名無しさん
2018/02/25(日) 11:25:47.01ID:251p5lsj ポータブルハードディスクって幅小さくて持ちやすいよな
2018/02/25(日) 13:39:46.79ID:8xIV5yfC
>>71
ちょっとだけクスッとした。
ちょっとだけクスッとした。
77デフォルトの名無しさん
2018/03/03(土) 17:37:02.43ID:V2kYq93l だから?
78デフォルトの名無しさん
2018/03/03(土) 18:03:32.42ID:h2dbhV1r79デフォルトの名無しさん
2018/03/10(土) 00:24:37.51ID:J3fnbe39 java勉強中の初心者です
javaEEのservletの“doDelete”について質問です。
勉強のためcurdを実装しているのですが、
post(c),get(r),はhtmlのform,hrefから送信できたのですが、
htmlからdelete(d)を送信し"doDelete”に渡したいのですがどの様にすればいいのでしょうか。
そもそも、考え方が間違っているのでしょうか。
アドバイス、参考などがありましたらご教授お願いします。
javaEEのservletの“doDelete”について質問です。
勉強のためcurdを実装しているのですが、
post(c),get(r),はhtmlのform,hrefから送信できたのですが、
htmlからdelete(d)を送信し"doDelete”に渡したいのですがどの様にすればいいのでしょうか。
そもそも、考え方が間違っているのでしょうか。
アドバイス、参考などがありましたらご教授お願いします。
80デフォルトの名無しさん
2018/03/10(土) 00:34:48.00ID:q/evhJ6x ご教示
81デフォルトの名無しさん
2018/03/10(土) 00:50:58.87ID:aNTnNw8G >>79
JavaScriptで
デベロッパーツールとjQueryでREST APIのテストリクエストを実行
http://dim5.net/programming/using-ajax-request-on-js-console.html
JavaScriptで
デベロッパーツールとjQueryでREST APIのテストリクエストを実行
http://dim5.net/programming/using-ajax-request-on-js-console.html
2018/03/10(土) 10:31:42.46ID:vFw8BYES
>>79
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも
データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける
URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも
データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける
URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031
2018/03/10(土) 10:33:16.22ID:vFw8BYES
>>79
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも
データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける
URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも
データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける
URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031
2018/03/10(土) 18:28:38.86ID:32LTkPVU
85デフォルトの名無しさん
2018/03/10(土) 23:13:45.90ID:J3fnbe392018/03/11(日) 11:18:11.36ID:u0Fc0bsI
>>85
2014-03-29 なぜ html の form は PUT / DELETE をサポートしないのか?
http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete
2014-03-29 なぜ html の form は PUT / DELETE をサポートしないのか?
http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete
2018/03/11(日) 13:58:39.70ID:91F3yKR+
よくインターネット上の広告で半年でエンジニアに!みたいなのあるけど、インターネット不得手、プログラム未経験者が真剣に半年頑張れば本当にそんなこと可能なんですか?
可能ならその理由はなんでしょう?人材が足りていないというのは存じ上げていますが
可能ならその理由はなんでしょう?人材が足りていないというのは存じ上げていますが
2018/03/11(日) 13:59:53.47ID:XNLW8FjI
IT土方、昔は元コンビニ店員(未経験)といたけど
89デフォルトの名無しさん
2018/03/11(日) 14:17:33.20ID:OHQW+NNW 半年でエンジニアになる理由?
90デフォルトの名無しさん
2018/03/11(日) 14:19:09.66ID:OHQW+NNW 1年よりも半年がいいし
半年よりも1ヶ月がいいだろうけど
半年かかるってことなんじゃ
半年よりも1ヶ月がいいだろうけど
半年かかるってことなんじゃ
2018/03/11(日) 15:07:12.87ID:u0Fc0bsI
>>87
スキルシートに○○開発半年と書ければ派遣できるからじゃないか
スキルシートに○○開発半年と書ければ派遣できるからじゃないか
92デフォルトの名無しさん
2018/03/11(日) 15:59:35.51ID:FcyL3wwo あれ?デジャ・ビュか?どこかで同じ書き込みを見たような・・・
93デフォルトの名無しさん
2018/03/13(火) 18:07:26.87ID:cTFPDQau javaというより数学の話に近いかもしれんのだがこれ答え間違ってるよね?
http://tech.pjin.jp/blog/2017/10/30/java-programing-exercise-8/
http://tech.pjin.jp/blog/2017/10/30/java-programing-exercise-8/
94デフォルトの名無しさん
2018/03/13(火) 18:32:22.59ID:LC30GjQR >>93
え?どれが?
え?どれが?
95デフォルトの名無しさん
2018/03/13(火) 18:57:50.45ID:jO7pAkit 答えが正である理由が分からないわ。と思ったが
差は大きな数字から小さな数字を引くことだと今になって初めて知った。ボクは恥ずかしい女ですw
差は大きな数字から小さな数字を引くことだと今になって初めて知った。ボクは恥ずかしい女ですw
2018/03/13(火) 20:35:25.12ID:XMKMH3bD
>>95
お前はおっさんです!
お前はおっさんです!
2018/03/13(火) 20:40:24.25ID:/ChP+Vc3
状況によると思う
基準値からの差とか言う時に絶対値だけだと色々不便だし
基準値からの差とか言う時に絶対値だけだと色々不便だし
98デフォルトの名無しさん
2018/03/13(火) 22:18:55.48ID:wTdUbQ7M99デフォルトの名無しさん
2018/03/13(火) 22:30:12.11ID:Q4D8j7yB >>98
君が考えた差を計算するソース見せて
君が考えた差を計算するソース見せて
100デフォルトの名無しさん
2018/03/13(火) 22:35:23.36ID:jO7pAkit101デフォルトの名無しさん
2018/03/13(火) 22:36:24.93ID:9h29uVxq おいおい中一レベルだぞ
102デフォルトの名無しさん
2018/03/14(水) 00:02:50.00ID:5wanHWIv >>99
ちょっと考えたら自分が見当違いのことしてたの分かったからもう許して
ちょっと考えたら自分が見当違いのことしてたの分かったからもう許して
103デフォルトの名無しさん
2018/03/14(水) 21:36:07.79ID:V4ac6dGx xとyの値次第でintの範囲に収まらなくなる可能性あるから
あんまり良くないなこれ
あんまり良くないなこれ
104デフォルトの名無しさん
2018/03/15(木) 22:43:23.98ID:jcS43Jhh > 差を求めるということは大きい値から小さい値を引いた結果になります。
この定義には驚きだね。差の絶対値じゃん。
この定義には驚きだね。差の絶対値じゃん。
105デフォルトの名無しさん
2018/03/15(木) 22:45:38.78ID:jcS43Jhh プログラム視点でもintの演算を勝手にunsignedにしてるし
106デフォルトの名無しさん
2018/03/15(木) 22:46:20.74ID:85Z09i/Z ものを知らないだけ
辞書引けよ
辞書引けよ
107デフォルトの名無しさん
2018/03/27(火) 00:04:41.18ID:LxXLqxse108デフォルトの名無しさん
2018/03/27(火) 03:43:48.88ID:cnMXkmda >>107
その話題もう終わってるから
その話題もう終わってるから
109デフォルトの名無しさん
2018/03/27(火) 06:37:48.65ID:UWBQsjyU110デフォルトの名無しさん
2018/03/28(水) 01:09:27.59ID:hR1N5KW+ リストでループ途中に要素が追加されてもループするのはどうすればいいんですか?
forEachでもIterattionでもmodifiedなんちゃらエラーになるんですよね
昔ながらのVectorでfor(int i = 0; i < size(); i++) elementAt(i) とかしなきゃだめですか?
forEachでもIterattionでもmodifiedなんちゃらエラーになるんですよね
昔ながらのVectorでfor(int i = 0; i < size(); i++) elementAt(i) とかしなきゃだめですか?
111デフォルトの名無しさん
2018/03/28(水) 01:21:01.26ID:7s/C1dYs >>110
追加されたものもループで処理したいん?
追加されたものもループで処理したいん?
112デフォルトの名無しさん
2018/03/28(水) 07:58:42.47ID:hR1N5KW+ そうです
有限グラフ探索で隣接ノードをリストにためて順番に処理していきたいので
最初は開始ノードのみで途中でどんどんふえていく感じにしたくて
有限グラフ探索で隣接ノードをリストにためて順番に処理していきたいので
最初は開始ノードのみで途中でどんどんふえていく感じにしたくて
113デフォルトの名無しさん
2018/03/28(水) 08:23:59.58ID:7oWFtssG114デフォルトの名無しさん
2018/03/28(水) 09:46:54.23ID:fhRmItKh >>110
それ要素が処理している所よりも手前に挿入されたらダメだよね。必ず最後に追加しかされないことが保証されているリストならいいけど。
それと、削除もできないようになってないと処理中に削除される可能性がある。
ということで、処理する側と完全に連携可能なやつを自作した方が良いのでは?
それ要素が処理している所よりも手前に挿入されたらダメだよね。必ず最後に追加しかされないことが保証されているリストならいいけど。
それと、削除もできないようになってないと処理中に削除される可能性がある。
ということで、処理する側と完全に連携可能なやつを自作した方が良いのでは?
115デフォルトの名無しさん
2018/03/28(水) 12:02:29.13ID:B/xf69WY いやList#listIteratorつかおうよ
116デフォルトの名無しさん
2018/03/28(水) 13:23:01.36ID:/IZ3VKI9 キューをwhileで処理するんがええんじゃなかろうかと
117デフォルトの名無しさん
2018/03/28(水) 19:27:30.32ID:hR1N5KW+118デフォルトの名無しさん
2018/03/29(木) 11:20:13.01ID:QwxffFOd Collecionから一致したデータを取り出すのってどうすればいいですか?
Stringをextendsして情報を追加したクラスのCollectionから
Stringで検索してデータを取り出したいんですけど
自作するしかないですか?
Stringをextendsして情報を追加したクラスのCollectionから
Stringで検索してデータを取り出したいんですけど
自作するしかないですか?
119デフォルトの名無しさん
2018/03/29(木) 12:35:43.41ID:Zp+X1sFq >>118
それHashMapは使えないの?KeyからValue引っ張り出すようなやつ。
それHashMapは使えないの?KeyからValue引っ張り出すようなやつ。
120デフォルトの名無しさん
2018/03/29(木) 14:23:38.22ID:QwxffFOd >>119
やっぱりそうするしかないかな
その場合 HashMap の Key にも Value にも同じ文字列もつことになるのでデータの無駄な気がして…
String + Iformation だけのクラスにわけて Map でもつことも考えたけど
length とか charAt とか使うから結局中で文字列ももたないといけないんですよね
そこそこデータ数が多いので文字列をテーブルに2個もつのはさけたかった…
やっぱりそうするしかないかな
その場合 HashMap の Key にも Value にも同じ文字列もつことになるのでデータの無駄な気がして…
String + Iformation だけのクラスにわけて Map でもつことも考えたけど
length とか charAt とか使うから結局中で文字列ももたないといけないんですよね
そこそこデータ数が多いので文字列をテーブルに2個もつのはさけたかった…
121デフォルトの名無しさん
2018/03/29(木) 17:22:09.18ID:wUwtUNlx >>120
文字列複数とはいってもStringのインスタンスは一つで二ヶ所から参照されるだけだからたいしてメモリ食わないのでは?
文字列複数とはいってもStringのインスタンスは一つで二ヶ所から参照されるだけだからたいしてメモリ食わないのでは?
122デフォルトの名無しさん
2018/03/29(木) 17:45:33.63ID:QwxffFOd そうなんですね
じゃあMapで組みなおしてみます
ありがとうございました
じゃあMapで組みなおしてみます
ありがとうございました
123デフォルトの名無しさん
2018/03/29(木) 18:51:34.60ID:yhEgq3Dh 文字列の内容が同じ時に必ず同じStringのインスタンスにしたい場合は String#intern() を使うと良い。
124デフォルトの名無しさん
2018/03/29(木) 19:16:34.30ID:+yEHtKmw 拡張したStringクラス内でアップキャストして比較すればいけない?
125デフォルトの名無しさん
2018/03/29(木) 19:38:33.67ID:LS3RTWy4 Stringって継承できるの?finalじゃなかった?
俺が古いのかな
俺が古いのかな
126デフォルトの名無しさん
2018/03/29(木) 19:39:40.10ID:vAfgGUZ/ 研究でAIのチューニング用UIつくってるんですが
部品のレイアウトがうまくいかないです
最初の画面にはききたいことの入力欄だけあって
入力すると次のページに数件予想質問と結果を表示して
候補にあれば選択ボタン
なければ全部NGボタンをおしてから正解の答えを入力する
ってしたいんですが
どうしても部品が画面外にでたり重なったりします
FlowLayout BoxLayout setBounds指定とかいろいろためしたんですがうまくいきません
どこが悪いか教えていただけませんか
http://fast-uploader.com/file/7077868223948/
パス 1234
デバッグ用にGUI部分だけ抜き出してみたんですが…
部品のレイアウトがうまくいかないです
最初の画面にはききたいことの入力欄だけあって
入力すると次のページに数件予想質問と結果を表示して
候補にあれば選択ボタン
なければ全部NGボタンをおしてから正解の答えを入力する
ってしたいんですが
どうしても部品が画面外にでたり重なったりします
FlowLayout BoxLayout setBounds指定とかいろいろためしたんですがうまくいきません
どこが悪いか教えていただけませんか
http://fast-uploader.com/file/7077868223948/
パス 1234
デバッグ用にGUI部分だけ抜き出してみたんですが…
127デフォルトの名無しさん
2018/03/29(木) 19:51:18.47ID:eXpBCev1 finalだったわ
継承はできないな
継承はできないな
128デフォルトの名無しさん
2018/03/29(木) 21:51:33.13ID:eXpBCev1129デフォルトの名無しさん
2018/03/29(木) 21:58:16.46ID:eXpBCev1 ソース整形したから74行目じゃなかった
まぁその辺りでthisに対して突っ込んでるレイアウト設定が原因ってことで
まぁその辺りでthisに対して突っ込んでるレイアウト設定が原因ってことで
130デフォルトの名無しさん
2018/03/30(金) 09:25:26.93ID:bu98gf73 126です
アップしたのがたまたまそうなってただけで
レイアウトをいろいろ変更してみてるんですが全くうまくいかないです…
そもそもsetSizeがぜんぜんきいてないんですが
全部のパネルをsetLayout(null);
にしてもきかないのはなぜなんでしょうか
アップしたのがたまたまそうなってただけで
レイアウトをいろいろ変更してみてるんですが全くうまくいかないです…
そもそもsetSizeがぜんぜんきいてないんですが
全部のパネルをsetLayout(null);
にしてもきかないのはなぜなんでしょうか
131デフォルトの名無しさん
2018/03/30(金) 13:02:53.26ID:vz0AgFHK132デフォルトの名無しさん
2018/03/30(金) 13:22:52.68ID:bu98gf73 自己解決しました
setSize()はきかなくてsetPreferredSize(new Dimension())
を使えばサイズだけは反映するようになりました
位置の調整方法はわかりませんがとりあえずデフォルトレイアウトで
はみだしたり重ならず全部のパーツが表示されました
setSize()はきかなくてsetPreferredSize(new Dimension())
を使えばサイズだけは反映するようになりました
位置の調整方法はわかりませんがとりあえずデフォルトレイアウトで
はみだしたり重ならず全部のパーツが表示されました
133デフォルトの名無しさん
2018/03/31(土) 07:53:45.76ID:DDP7B6Z+ 日時の文字列を生成するのに、DateFormatクラスとかを使えば標準的なフォーマットで出力されて
あと言語が変わっても大丈夫(自分でローカライズする必要がない)じゃないですか。
似たような感じで時間の長さ、例えば "2時間36分" をAPIで作れるといいと思っているのですが
そういうものはありますでしょうか。これが英語になると勝手に "2 hours 36 minutes" になるみたいな。
あと言語が変わっても大丈夫(自分でローカライズする必要がない)じゃないですか。
似たような感じで時間の長さ、例えば "2時間36分" をAPIで作れるといいと思っているのですが
そういうものはありますでしょうか。これが英語になると勝手に "2 hours 36 minutes" になるみたいな。
134デフォルトの名無しさん
2018/03/31(土) 10:01:25.54ID:376M7ais つDuration.parse
135デフォルトの名無しさん
2018/04/01(日) 18:17:02.75ID:QRZAvcI4 >>134
どうもです。しかし最終的に普通の時刻の文字列をDurationのインスタンスから
生成する方法がわからないのですが... ??
Duration duration = Duration.parse("PT2H36M"); とかしたとして、
toString()も単に"PT2H36M"を返しますよね。
もしかして toHours() -> 2, minusHours(2).toMinutes() -> 36 とかでで2と36を取り出し、
その後これらから文字列をなんとか作るという話でしょうか?
経過時間の計算そのものでなく、時間と分の数値は最初から与えられたとして、経過時間
の文字列の生成を如何に楽に行うかに興味があるのですが...
どうもです。しかし最終的に普通の時刻の文字列をDurationのインスタンスから
生成する方法がわからないのですが... ??
Duration duration = Duration.parse("PT2H36M"); とかしたとして、
toString()も単に"PT2H36M"を返しますよね。
もしかして toHours() -> 2, minusHours(2).toMinutes() -> 36 とかでで2と36を取り出し、
その後これらから文字列をなんとか作るという話でしょうか?
経過時間の計算そのものでなく、時間と分の数値は最初から与えられたとして、経過時間
の文字列の生成を如何に楽に行うかに興味があるのですが...
136デフォルトの名無しさん
2018/04/05(木) 14:05:21.72ID:MD4dwdXJ XPにはJava8インストールできないの?
137デフォルトの名無しさん
2018/04/14(土) 11:08:12.71ID:Z+3xnQ4k138デフォルトの名無しさん
2018/04/23(月) 21:12:23.63ID:Hmrq+5/s だから?
139デフォルトの名無しさん
2018/04/24(火) 08:31:35.21ID:zK8TVl/a 良心的なブログよりためになるブログが良い
デザインパターンを書き写しただけのゴミを見せられる
読者の立場にもなれ
デザインパターンを書き写しただけのゴミを見せられる
読者の立場にもなれ
140デフォルトの名無しさん
2018/04/24(火) 08:38:42.87ID:aRpe9XKh 初心者向け解説ばかりの時代
141デフォルトの名無しさん
2018/04/24(火) 21:36:06.09ID:0Hi7fk6J >>142
で?
で?
142デフォルトの名無しさん
2018/04/24(火) 22:44:47.72ID:IYsMY8oH >>141
え?オレ何か言ったっけ?
え?オレ何か言ったっけ?
143デフォルトの名無しさん
2018/04/25(水) 00:58:24.44ID:g4RvSF2y つまらぬわ!
144デフォルトの名無しさん
2018/04/25(水) 08:46:24.05ID:xbNGGQDl >>144
せやね
せやね
145デフォルトの名無しさん
2018/04/25(水) 12:55:05.40ID:aMC3Bhoy >>144
面白くない奴の便乗なんて寒いだけだからやめとけ
面白くない奴の便乗なんて寒いだけだからやめとけ
146デフォルトの名無しさん
2018/05/06(日) 11:09:29.87ID:PC9jam24 データベースに保存したいJavaのオブジェクトが大量にあるのですが
直列化ではコーディングやデバグにかかる時間がかかりすぎるので
もっと簡単に永続化できるライブラリかフレームワークなどはありますか
直列化ではコーディングやデバグにかかる時間がかかりすぎるので
もっと簡単に永続化できるライブラリかフレームワークなどはありますか
147デフォルトの名無しさん
2018/05/06(日) 11:13:54.12ID:PC9jam24 オブジェクトが大量にあるというかオブジェクトの雛形になる
クラスが大量にあるということです
クラスが大量にあるということです
148デフォルトの名無しさん
2018/05/06(日) 11:51:06.89ID:/6fg2Qhj まず高速プリンターを用意します
149デフォルトの名無しさん
2018/05/06(日) 12:11:54.48ID:yG5Sy7/7 w
150デフォルトの名無しさん
2018/05/06(日) 13:47:11.04ID:XXaq/T45 >>146
ObjectOutputStreamのwriteObject()呼び出すだけなわけだが、
コーディングに時間が掛かるとか、もっと簡単にとはいったい?
ここに書いてない要望が他にもあるんじゃないの?
ObjectOutputStreamのwriteObject()呼び出すだけなわけだが、
コーディングに時間が掛かるとか、もっと簡単にとはいったい?
ここに書いてない要望が他にもあるんじゃないの?
151デフォルトの名無しさん
2018/05/06(日) 14:33:54.08ID:kuy66ISG152デフォルトの名無しさん
2018/05/06(日) 15:02:54.32ID:i9j42Pj0 ここに質問するのが適切なのか悩ましいのですが…
OpenJDKは再頒布可能なのでしょうか?
個人の趣味で作ったアプリケーションに同梱して配布してよいのかな?と思い調べているところです。
自分でビルドしたOpenJDKなら再頒布可能、CentOSなどが公開しているOpenJDKは再頒布不可などあるのでしょうか。
OpenJDKは再頒布可能なのでしょうか?
個人の趣味で作ったアプリケーションに同梱して配布してよいのかな?と思い調べているところです。
自分でビルドしたOpenJDKなら再頒布可能、CentOSなどが公開しているOpenJDKは再頒布不可などあるのでしょうか。
153デフォルトの名無しさん
2018/05/06(日) 15:56:01.81ID:Ba+o29Eu ディレクトリ a にある a.jar のなかの A.class (package a)
ディレクトリ b にある b.jar のなかの B.class (パッケージ宣言なし)
を使ったディレクトリ c にある c.jar ってどうやって実行すればいいですか
はるか昔に作って昔は動いてたはずなんですけど実行の仕方がわからなくなりました
ディレクトリ b にある b.jar のなかの B.class (パッケージ宣言なし)
を使ったディレクトリ c にある c.jar ってどうやって実行すればいいですか
はるか昔に作って昔は動いてたはずなんですけど実行の仕方がわからなくなりました
154デフォルトの名無しさん
2018/05/06(日) 16:09:20.09ID:yRUrTeQA >>150-151
対象となるクラスがあまりにも多くてreadObjectとwriteObjectを
いちいち宣言するのが面倒くさい上に
少しでも書き間違えたときにIDEが検出してくれないし
デシリアライズに失敗したときに原因となったクラスを特定するのが困難だしで
その辺の手間を楽をする方法を探していたんだけど
JAXBでXML化する方法を思いついたので自己解決しました
ありがとうございます
対象となるクラスがあまりにも多くてreadObjectとwriteObjectを
いちいち宣言するのが面倒くさい上に
少しでも書き間違えたときにIDEが検出してくれないし
デシリアライズに失敗したときに原因となったクラスを特定するのが困難だしで
その辺の手間を楽をする方法を探していたんだけど
JAXBでXML化する方法を思いついたので自己解決しました
ありがとうございます
155デフォルトの名無しさん
2018/05/06(日) 17:01:33.93ID:Bse1bLkg156デフォルトの名無しさん
2018/05/06(日) 18:35:06.08ID:Ba+o29Eu157デフォルトの名無しさん
2018/05/06(日) 19:08:09.02ID:hMxfhnzD >>156
.jarとか.zipはそれ自体がフォルダーみたいなもんだから
.jarとか.zipはそれ自体がフォルダーみたいなもんだから
158デフォルトの名無しさん
2018/05/10(木) 16:22:03.34ID:TnST3c7c GatlingとかLoad Runner、JMETERの動作テスト、Javaのスレッドダンプ取得とかの練習をしたいと思ってます
そのターゲットとなるWebアプリを探してます
今のところFessという、Tomcat上で動いてるWebアプリは見つけました
他にオープンソースで、Javaでうごいていて、Gatlingなんかの練習に使えるWebアプリについて情報ほしいです
どんなものがありますか?
そのターゲットとなるWebアプリを探してます
今のところFessという、Tomcat上で動いてるWebアプリは見つけました
他にオープンソースで、Javaでうごいていて、Gatlingなんかの練習に使えるWebアプリについて情報ほしいです
どんなものがありますか?
159デフォルトの名無しさん
2018/05/10(木) 17:36:39.17ID:1aaKaop2 普通自作すんだろ
160デフォルトの名無しさん
2018/05/11(金) 09:01:56.54ID:ou2CAaSI tools.jarはLinux,Mac,Winで互換性がありますか?
161160
2018/05/11(金) 09:34:33.65ID:ou2CAaSI あるいは、JavaCompiler単体のjarか独自のJavaCompilerは公開されていますか?
Java9からアプリ側から利用できなくなったそうなので。
Java9からアプリ側から利用できなくなったそうなので。
162デフォルトの名無しさん
2018/05/11(金) 09:57:35.61ID:BZrCuED6 javax.swing.JPopupMenuを直接show()で表示させてます
問題はマウスをメニューアイテムの上に乗せても、クリックしても色が変転しない
設定で定義しないといけない事があるのでしょうか?
問題はマウスをメニューアイテムの上に乗せても、クリックしても色が変転しない
設定で定義しないといけない事があるのでしょうか?
163デフォルトの名無しさん
2018/05/11(金) 13:18:37.00ID:Kz4/xaqB >>158
Githubで言語絞れば一発
今聞かれて俺が思いつくような有名なOSSって規模が大きかったり環境整えるのが厄介だったりするのが多いから、
簡単に動かせそうなしょぼいのを適当に自分で選んだほうがいい
Githubで言語絞れば一発
今聞かれて俺が思いつくような有名なOSSって規模が大きかったり環境整えるのが厄介だったりするのが多いから、
簡単に動かせそうなしょぼいのを適当に自分で選んだほうがいい
164デフォルトの名無しさん
2018/05/12(土) 08:20:02.64ID:gX8J6qxW165デフォルトの名無しさん
2018/05/12(土) 10:58:22.92ID:pDgCeBjY 共同ツール 1
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
166デフォルトの名無しさん
2018/05/12(土) 12:02:34.73ID:XqIGE8bt167デフォルトの名無しさん
2018/05/12(土) 13:54:22.02ID:UoMtV9Kh ∧_∧
∧_∧ (´<_` ) また宣伝書き込み?
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
∧_∧ (´<_` ) また宣伝書き込み?
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
168デフォルトの名無しさん
2018/05/23(水) 19:25:05.40ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
0XZ3H
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
0XZ3H
169デフォルトの名無しさん
2018/05/23(水) 19:53:26.57ID:iVq3rLr7 ∧_∧
∧_∧ (´<_` ) 儲かるなら自分でやればいいじゃんな。
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
∧_∧ (´<_` ) 儲かるなら自分でやればいいじゃんな。
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
170デフォルトの名無しさん
2018/05/24(木) 05:14:55.03ID:iSd0paxF https://ideone.com/fOelKc
除数が変数の%演算子がなんか遅かったからこんなん作ったんだが、もうちょっと速くならんかな?
被除数の範囲は0以上Long.MAX_VALUE以下、
除数は16ビットくらいまでの範囲が使えて速ければよす
うちの環境だとマイクロベンチで4倍
実際に組み込んで全体の速度が2倍くらいにはなったんだが (とボトルネックをいじってるよアピールw
除数が変数の%演算子がなんか遅かったからこんなん作ったんだが、もうちょっと速くならんかな?
被除数の範囲は0以上Long.MAX_VALUE以下、
除数は16ビットくらいまでの範囲が使えて速ければよす
うちの環境だとマイクロベンチで4倍
実際に組み込んで全体の速度が2倍くらいにはなったんだが (とボトルネックをいじってるよアピールw
171デフォルトの名無しさん
2018/05/24(木) 20:56:47.08ID:iSd0paxF ideoneでパラレルストリーム使えない・・・?
https://ideone.com/YpKyd3
paizaは普通に使える
https://paiza.io/projects/bgjMxfyxPJmc3vxGYiH8ug
https://ideone.com/YpKyd3
paizaは普通に使える
https://paiza.io/projects/bgjMxfyxPJmc3vxGYiH8ug
172デフォルトの名無しさん
2018/05/25(金) 10:54:04.75ID:Sw3LTZE2 >>171
ideoneはメインスレッド含めて8スレッド(論理コア分)アクティブになるとダメっぽい
んで、パラレルストリームで使われる共通ForkJoinPoolが論理コア-1個スレッドを起動するから、
メインスレッドと合わせて論理コア分アクティブになってアウト
スレッドプールの数を6でForkJoinPoolを作ってそれを使ってStream動かせば大丈夫っぽい…めんどくせw
ideoneはメインスレッド含めて8スレッド(論理コア分)アクティブになるとダメっぽい
んで、パラレルストリームで使われる共通ForkJoinPoolが論理コア-1個スレッドを起動するから、
メインスレッドと合わせて論理コア分アクティブになってアウト
スレッドプールの数を6でForkJoinPoolを作ってそれを使ってStream動かせば大丈夫っぽい…めんどくせw
173デフォルトの名無しさん
2018/05/28(月) 17:05:15.50ID:ykC4rFCg 記述がFXで申し訳ないのですが、ご教授宜しくお願いします
ttp://i.imgur.com/T6CUOxA.jpg
A面は↓の回転値でいけるかと思うのですが
B面の回転ってどのように指定すればいいのでしょうか?
色々値を変えてみたのですがなかなか上手くいかず…
//画像
Image img = new Image( new File("ファイル.png").toURI().toString() );
ImageView imgv = new ImageView( img );
imgv.setTranslateX( 70 ); imgv.setTranslateY( 1300 ); imgv.setTranslateZ( -48 );
//回転
imgv.setRotationAxis( new Point3D( 1.0, 0.0, 0.0 ) );
imgv.setRotate( 90.0 );
ttp://i.imgur.com/T6CUOxA.jpg
A面は↓の回転値でいけるかと思うのですが
B面の回転ってどのように指定すればいいのでしょうか?
色々値を変えてみたのですがなかなか上手くいかず…
//画像
Image img = new Image( new File("ファイル.png").toURI().toString() );
ImageView imgv = new ImageView( img );
imgv.setTranslateX( 70 ); imgv.setTranslateY( 1300 ); imgv.setTranslateZ( -48 );
//回転
imgv.setRotationAxis( new Point3D( 1.0, 0.0, 0.0 ) );
imgv.setRotate( 90.0 );
174デフォルトの名無しさん
2018/05/29(火) 17:30:52.67ID:/gnVbstm 一晩寝たら自己解決しました
175デフォルトの名無しさん
2018/05/29(火) 17:36:59.04ID:jtMR10Pr よろしい
176デフォルトの名無しさん
2018/05/29(火) 19:26:49.25ID:cb/igs7S 寝ることは重要だな
177デフォルトの名無しさん
2018/05/29(火) 21:00:56.09ID:YUEvTtOX 乗り物にのる、トイレに行くも
178デフォルトの名無しさん
2018/05/31(木) 09:29:18.82ID:P1af5ns+ プログラムの中でswingによるGUIを表示させ、ユーザにラジオボタン・リストから値を選択してもらい、その値を後続の処理に使用したいと思ってるんですが
GUI表示してそのまま後続の処理が続いてしまいます
表示した時点で処理を停止させ、ユーザが値を選択してOKボタンを押したら処理が再開するようにすることはできますか?
GUI表示してそのまま後続の処理が続いてしまいます
表示した時点で処理を停止させ、ユーザが値を選択してOKボタンを押したら処理が再開するようにすることはできますか?
179デフォルトの名無しさん
2018/05/31(木) 09:50:40.39ID:v2P/wDLY ESP、ESP、ESP
180デフォルトの名無しさん
2018/05/31(木) 11:35:44.34ID:qv6ph+UR どういう処理にしてるかわからないから正確なアドバイスは出来ないけど
guiの変更イベントで処理すれば出来るんじゃない?
guiの変更イベントで処理すれば出来るんじゃない?
181デフォルトの名無しさん
2018/05/31(木) 12:34:12.85ID:1EOK+kFV GUIプログラムはパネルを表示したらループ状態を続ける
処理は各コンポーネントのリスナーにどう処理するかを登録して
ボタンやリストを選択したら登録されてる処理を実行する
ボタンならaddActionListenerを使うんじゃないの
処理は各コンポーネントのリスナーにどう処理するかを登録して
ボタンやリストを選択したら登録されてる処理を実行する
ボタンならaddActionListenerを使うんじゃないの
182デフォルトの名無しさん
2018/05/31(木) 13:23:37.92ID:XsftK6MO >>178
それいわゆるダイアログってやつだよね。
それいわゆるダイアログってやつだよね。
183デフォルトの名無しさん
2018/06/01(金) 12:00:41.25ID:SFIgpc6j >>178
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。
このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。
このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。
184デフォルトの名無しさん
2018/06/01(金) 16:28:58.34ID:4jGKb4xs はぇ〜
JFrameじゃないヤツ使うんですね
ありがとございます
JFrameじゃないヤツ使うんですね
ありがとございます
185デフォルトの名無しさん
2018/06/02(土) 16:27:10.30ID:49Aq679E ラジオボタンじゃなくても良いのなら JOptionPane を使うという手もある。
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html
186デフォルトの名無しさん
2018/06/03(日) 20:18:35.08ID:3rEkE1iw 今アプレット動く環境ってありますか?
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです
187デフォルトの名無しさん
2018/06/03(日) 21:06:43.44ID:m3SIxw/I >>186
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。
188デフォルトの名無しさん
2018/06/03(日) 23:44:08.17ID:3rEkE1iw >>187
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます
これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます
これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか
189デフォルトの名無しさん
2018/06/04(月) 00:50:30.53ID:fspoOmUI その×にマウスカーソルを持って行ってクリックすると何か出ない?
190デフォルトの名無しさん
2018/06/04(月) 19:58:49.32ID:Mxq+Oh0H 何も反応ないですね
191デフォルトの名無しさん
2018/06/04(月) 20:36:43.25ID:a6R/84He X<-mouse
192デフォルトの名無しさん
2018/06/04(月) 22:24:19.20ID:AidiJH9V 7か8か忘れたけど結構前から証明書必須になったし
9で非推奨、11で削除されるぞ。
jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。
9で非推奨、11で削除されるぞ。
jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。
193デフォルトの名無しさん
2018/06/05(火) 01:07:27.61ID:6uzbBGLs どうやって作ればいいんですか?
HelloWorld的なサンプルコードってあったりしますか?
HelloWorld的なサンプルコードってあったりしますか?
194デフォルトの名無しさん
2018/06/05(火) 01:49:45.76ID:6uzbBGLs 調べて jnlp ファイルっていうのかいてみたけどセキュリティどうこうで動かないみたいです
同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか
昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない
おとなしく javascript でかきなおしたほうがよさそうですね…
15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ
同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか
昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない
おとなしく javascript でかきなおしたほうがよさそうですね…
15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ
195デフォルトの名無しさん
2018/06/05(火) 03:44:17.72ID:HABwZRW3 javaScriptで書き直したコードも15年後にはゴミになってると思うよ
196デフォルトの名無しさん
2018/06/06(水) 23:02:07.48ID:c8dAN/Mm アプレットどころか、今やJRE自体が一般ピープルのPCにとってはウィルス扱いだぞ
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった
197デフォルトの名無しさん
2018/06/07(木) 00:11:58.98ID:23ZUqsYw 「JavaFXも事実上廃止」ってどゆこと?
198デフォルトの名無しさん
2018/06/07(木) 03:27:56.30ID:VEx/11mP Oracleがバンドルしなくなる。
フルーソフトだからなくなりはしないだろうけどね。
フルーソフトだからなくなりはしないだろうけどね。
199デフォルトの名無しさん
2018/06/07(木) 03:28:26.90ID:VEx/11mP うはw 変な編集ミスしたw
200デフォルトの名無しさん
2018/06/07(木) 06:34:03.30ID:zhEE1GLq JavaFXどうなっちゃうんだろうな
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが
現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが
現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど
201デフォルトの名無しさん
2018/06/07(木) 09:18:14.94ID:6qWq6S5o 権威のある君が作れば良い
202デフォルトの名無しさん
2018/06/07(木) 17:57:57.97ID:G8YxR6Qt それもそうだな!
203デフォルトの名無しさん
2018/06/07(木) 20:12:42.53ID:E34l5tNQ 頑張れ
204デフォルトの名無しさん
2018/06/08(金) 01:33:25.23ID:xsX40G/R ここでいいのかよくわからないのですが教えて下さい。
AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?
AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?
205デフォルトの名無しさん
2018/06/08(金) 03:31:28.12ID:rrKZq6Yq ブラウザ上でJava起動する方法ってもうないの?
206デフォルトの名無しさん
2018/06/08(金) 03:57:47.64ID:xsX40G/R そういうのは、Javaスクリプトっていうんじゃないの?
207デフォルトの名無しさん
2018/06/08(金) 06:43:18.81ID:dTeFfRCY Java アプレットか
ここ10年は、聞かないな
ここ10年は、聞かないな
208デフォルトの名無しさん
2018/06/08(金) 07:09:41.59ID:uSJSyiA7 on error goto みたいなの無いの? そのルーチン内ならどこでエラー発生してエラー処理に向かう、みたいな
それともtrycatchに全部入れちゃう?
それともtrycatchに全部入れちゃう?
209デフォルトの名無しさん
2018/06/08(金) 08:13:31.47ID:/bqVuVHr >>206
JavaとJavaScriptは全く別のものだ。
JavaとJavaScriptは全く別のものだ。
210デフォルトの名無しさん
2018/06/08(金) 08:18:34.82ID:/bqVuVHr211デフォルトの名無しさん
2018/06/08(金) 08:23:59.92ID:BDVSM83M On Error Gotoはtry catchで代用できるけど
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとにtry catch書かにゃならん
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとにtry catch書かにゃならん
212デフォルトの名無しさん
2018/06/08(金) 10:38:05.74ID:oMLODkzi >>204
スレチ
スレチ
213デフォルトの名無しさん
2018/06/08(金) 11:28:05.06ID:1PlqYTvd >>204
そんなもんは知らん。機種によってマウントされるディレクトリは違うのでは?
そんなもんは知らん。機種によってマウントされるディレクトリは違うのでは?
214デフォルトの名無しさん
2018/06/08(金) 13:10:14.04ID:OTaRl1LS215デフォルトの名無しさん
2018/06/08(金) 13:33:32.61ID:1PlqYTvd >>214
JavaVMって独自に作っちゃいけないんだっけ?
JavaVMって独自に作っちゃいけないんだっけ?
216デフォルトの名無しさん
2018/06/08(金) 13:34:45.49ID:2yGpvne7 >>215
いけない
いけない
217デフォルトの名無しさん
2018/06/08(金) 13:37:08.24ID:1PlqYTvd >>216
それはどういう法律に反するのか?
それはどういう法律に反するのか?
218デフォルトの名無しさん
2018/06/08(金) 13:38:29.60ID:2yGpvne7 >>217
オラクルさんによると特許侵害と著作権侵害
オラクルさんによると特許侵害と著作権侵害
219デフォルトの名無しさん
2018/06/08(金) 13:46:03.43ID:1PlqYTvd >>218
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?
220デフォルトの名無しさん
2018/06/08(金) 15:16:14.07ID:2yGpvne7221デフォルトの名無しさん
2018/06/08(金) 16:29:34.75ID:xsX40G/R プログラミングではないのですが教えて下さい。
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
222204
2018/06/08(金) 16:32:38.13ID:xsX40G/R223デフォルトの名無しさん
2018/06/08(金) 17:26:47.40ID:Ayrw+LdJ すいません jar の作り方がよくわからないので教えてください
packege util の Util.class が
util/uti.jar にはいっていて
それを使っているメインプログラムがパッケージなしで
main / Main.java
にあるんですがダブルクリックするだけで動く jar を作るにはどうしたらいいんでしょうか
packege util の Util.class が
util/uti.jar にはいっていて
それを使っているメインプログラムがパッケージなしで
main / Main.java
にあるんですがダブルクリックするだけで動く jar を作るにはどうしたらいいんでしょうか
224デフォルトの名無しさん
2018/06/08(金) 17:46:45.50ID:rAAW+Mj8 GGRKS
225デフォルトの名無しさん
2018/06/08(金) 18:07:30.25ID:BDVSM83M >>219
そうなのか?
OpenJDKはGPLだろ?
GPLに従う限り二次派生の作成も配布も問題ないはずだ
OpenJDKというJava実装はオープンで公開していながら
Googleに対してはJavaのAPIはOracleの著作だからお金払ってね♡
ってわけがわからないよ
そうなのか?
OpenJDKはGPLだろ?
GPLに従う限り二次派生の作成も配布も問題ないはずだ
OpenJDKというJava実装はオープンで公開していながら
Googleに対してはJavaのAPIはOracleの著作だからお金払ってね♡
ってわけがわからないよ
226デフォルトの名無しさん
2018/06/08(金) 18:15:27.87ID:iLNCpvye >>221
目的も書いたほうがいいと思うよ。
↓で解決するんじゃないの?
https://stackoverflow.com/questions/3348643/how-to-read-the-sd-card-id-number
目的も書いたほうがいいと思うよ。
↓で解決するんじゃないの?
https://stackoverflow.com/questions/3348643/how-to-read-the-sd-card-id-number
227デフォルトの名無しさん
2018/06/08(金) 18:33:06.83ID:Ayrw+LdJ >>224
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです
作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます
jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです
作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます
jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
228デフォルトの名無しさん
2018/06/08(金) 20:22:18.43ID:tnZm4LxR >>224 ググれクスに見えるな。やっぱ、ググレカスの場合は小文字じゃないとな。
229デフォルトの名無しさん
2018/06/08(金) 20:29:27.65ID:pdRgGEa3 >>227
MANIFESTの仕様見たか、素人には無理かもね
MANIFESTの仕様見たか、素人には無理かもね
230デフォルトの名無しさん
2018/06/08(金) 20:41:54.79ID:TV1o73xX >>221
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
231デフォルトの名無しさん
2018/06/08(金) 21:37:01.47ID:uQFFSCdV >>220
あれは GPL だけど特許はそのままのものなのか?
あれは GPL だけど特許はそのままのものなのか?
232デフォルトの名無しさん
2018/06/08(金) 21:43:47.18ID:LHC1uZZ8233デフォルトの名無しさん
2018/06/08(金) 21:56:44.25ID:uQFFSCdV 訴訟についてはこれか。
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616
234デフォルトの名無しさん
2018/06/08(金) 23:41:54.50ID:2yGpvne7 >>232
GPLv2はあくまで著作権の利用許諾でしかなく、特許の利用について何も保証しない。
GPLソフトウェアを使った者を特許侵害で訴えることは普通に可能。
その問題を解決することを意図して特許までカバーしたGPLv3ができたんだけど、OpenJDKは残念ながらv2だ。
理由はもちろんそういうこと。
GPLv2はあくまで著作権の利用許諾でしかなく、特許の利用について何も保証しない。
GPLソフトウェアを使った者を特許侵害で訴えることは普通に可能。
その問題を解決することを意図して特許までカバーしたGPLv3ができたんだけど、OpenJDKは残念ながらv2だ。
理由はもちろんそういうこと。
235デフォルトの名無しさん
2018/06/08(金) 23:48:44.16ID:Ayrw+LdJ お願いします どなたか助けてください 課題の提出期限がすぎそうです;;
原因きりわけのために使ってるjarと同じ階層構造の
以下のような最小セット構成でコンパイルしてるんですがjarにすると動きません
a/A.class (packege a)
b/B.class (パッケージなし) ソースをみると import a.* を使ってる
Main.java 今回つくったプログラムでパッケージ宣言なし B を使用
> javac -cp .;b Main.java でコンパイルは通る
> java -cp .;b Main → 動く
---MANIFEST.MF---
Manifest-Version: 1.0
Class-Path: . b
Created-By: 1.8.0 (Oracle Corporation)
Main-Class: Main
> jar cvmf META-INF/MANIFEST.MF main.jar *.class a b でjarを作成
> java -jar main.jar でも > java -cp .;b -jar main.jar でも
Exception in thread "main" java.lang.NoClassDefFoundError: B
というエラーが出ます
クラスファイルの状態だと動くのにjarにすると動かない原因がどうしても分かりません
MANIFESTをかくのがはじめてなので根本的に何か間違ってる気もするんですが
Class-Path の書き方は何度もぐぐってスペースあけて並べるとあったんですがためしに .;b にしてもダメでした
解凍する前にb.jarをクラスパスで指定してたときは同じフォルダ内であれば動いたことがあったのですが
今は同じフォルダ内でも動きません
http://fast-uploader.com/file/7084024397219/
最小セットにしたファイル一式です
原因きりわけのために使ってるjarと同じ階層構造の
以下のような最小セット構成でコンパイルしてるんですがjarにすると動きません
a/A.class (packege a)
b/B.class (パッケージなし) ソースをみると import a.* を使ってる
Main.java 今回つくったプログラムでパッケージ宣言なし B を使用
> javac -cp .;b Main.java でコンパイルは通る
> java -cp .;b Main → 動く
---MANIFEST.MF---
Manifest-Version: 1.0
Class-Path: . b
Created-By: 1.8.0 (Oracle Corporation)
Main-Class: Main
> jar cvmf META-INF/MANIFEST.MF main.jar *.class a b でjarを作成
> java -jar main.jar でも > java -cp .;b -jar main.jar でも
Exception in thread "main" java.lang.NoClassDefFoundError: B
というエラーが出ます
クラスファイルの状態だと動くのにjarにすると動かない原因がどうしても分かりません
MANIFESTをかくのがはじめてなので根本的に何か間違ってる気もするんですが
Class-Path の書き方は何度もぐぐってスペースあけて並べるとあったんですがためしに .;b にしてもダメでした
解凍する前にb.jarをクラスパスで指定してたときは同じフォルダ内であれば動いたことがあったのですが
今は同じフォルダ内でも動きません
http://fast-uploader.com/file/7084024397219/
最小セットにしたファイル一式です
236デフォルトの名無しさん
2018/06/09(土) 00:15:06.79ID:dWoOad5I 「java exception in thread main java.lang.noclassdeffounderror」で検索!
一言一句正確なエラーメッセージで検索するのが、基本!
一言一句正確なエラーメッセージで検索するのが、基本!
237デフォルトの名無しさん
2018/06/09(土) 00:24:38.54ID:AVDHrvoe >>236
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません
MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません
MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
239デフォルトの名無しさん
2018/06/09(土) 02:02:10.81ID:ljDu8qs0240デフォルトの名無しさん
2018/06/09(土) 05:21:33.40ID:uYb8xFM5 >>235
Class-Path の所の b を b/ にするとどうなる?
Class-Path の所の b を b/ にするとどうなる?
241デフォルトの名無しさん
2018/06/09(土) 05:40:26.23ID:AVDHrvoe >>240
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね
ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります
>javac -cp .;b Main.java
>jar cvmf META-INF\MANIFEST.MF main.jar *.java *.class a\*.java a\*.class b\*.class b\*.java
マニフェストが追加されました
Main.javaを追加中です(入=83)(出=72)(13%収縮されました)
Main.classを追加中です(入=281)(出=214)(23%収縮されました)
a/A.javaを追加中です(入=106)(出=95)(10%収縮されました)
a/A.classを追加中です(入=381)(出=272)(28%収縮されました)
b/B.classを追加中です(入=249)(出=191)(23%収縮されました)
b/B.javaを追加中です(入=79)(出=68)(13%収縮されました)
>java -jar main.jar
Hello World
>del *.class a\*.class b\*.class
>java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: B
at Main.main(Main.java:3)
http://fast-uploader.com/file/7084045860348/ (パス jartest)
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね
ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります
>javac -cp .;b Main.java
>jar cvmf META-INF\MANIFEST.MF main.jar *.java *.class a\*.java a\*.class b\*.class b\*.java
マニフェストが追加されました
Main.javaを追加中です(入=83)(出=72)(13%収縮されました)
Main.classを追加中です(入=281)(出=214)(23%収縮されました)
a/A.javaを追加中です(入=106)(出=95)(10%収縮されました)
a/A.classを追加中です(入=381)(出=272)(28%収縮されました)
b/B.classを追加中です(入=249)(出=191)(23%収縮されました)
b/B.javaを追加中です(入=79)(出=68)(13%収縮されました)
>java -jar main.jar
Hello World
>del *.class a\*.class b\*.class
>java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: B
at Main.main(Main.java:3)
http://fast-uploader.com/file/7084045860348/ (パス jartest)
242デフォルトの名無しさん
2018/06/09(土) 10:09:51.63ID:Naz/3W/N >>241
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな
243デフォルトの名無しさん
2018/06/09(土) 10:24:49.37ID:Naz/3W/N packageはディレクトリで示されるのでデフォルトパッケージのB.classが
b/の下にあるのがおかしいのでしょうね
b/の下にあるのがおかしいのでしょうね
244デフォルトの名無しさん
2018/06/09(土) 15:10:59.27ID:AVDHrvoe >>242,243
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
245デフォルトの名無しさん
2018/06/09(土) 22:39:02.82ID:ExnJNgW8 クラスパスに指定するjarの扱いはディレクトリのようなもんなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。
246デフォルトの名無しさん
2018/06/09(土) 23:22:00.71ID:dWoOad5I >パッケージ構成とフォルダ構成をあわせる必要があったんですね
入門書にも書いてあるのに、説明書を読まずにやっているから出来ない。
プログラミングのほとんどは、説明書を読むかどうかだけ
読まない人は、出来ない
学校の勉強と同じ。
教科書を読まない人は、出来ない
入門書にも書いてあるのに、説明書を読まずにやっているから出来ない。
プログラミングのほとんどは、説明書を読むかどうかだけ
読まない人は、出来ない
学校の勉強と同じ。
教科書を読まない人は、出来ない
247デフォルトの名無しさん
2018/06/09(土) 23:28:53.67ID:AVDHrvoe まだ学生なのでそんなに本にお金かけたりできないんですけど
もしお勧めの本があったら紹介していただけませんか?
パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
a/A.java の構成はそうなってる
他の人が作ったパッケージ宣言されてないソースを使うときに
トップディレクトリに展開しないとjarにはできないとは思わなかったので…
ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います
もしお勧めの本があったら紹介していただけませんか?
パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
a/A.java の構成はそうなってる
他の人が作ったパッケージ宣言されてないソースを使うときに
トップディレクトリに展開しないとjarにはできないとは思わなかったので…
ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います
248デフォルトの名無しさん
2018/06/09(土) 23:36:10.70ID:K+9PZeFb 調べ方をしらねーだけなんだからカリカリすんなよ
本を読むだけでできるようになるんなら職業プログラマなんかいらねーんだよ
本を読むだけでできるようになるんなら職業プログラマなんかいらねーんだよ
249デフォルトの名無しさん
2018/06/09(土) 23:52:15.00ID:MhKfyDgC >>247
俺はJavaは知らないのだけど、一般的な方法を。
> 課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
> そのせいでまる1日どはまりしてしまった
これは割とよくあるパターンで、
・環境の立ち上げは、基本的に 『かなり詳しくないと』 はまる
・環境ではまったら、初心者だけで復旧は不可能
だから、自分が初心者だと分かっているうちは、出来るだけ環境問題に遭遇しないようにするのが基本。
つまり、
・与えられたソースをその場で改変する
・元ソースと比較したい場合、元ソースを ***.org とかいう風にしてコピーしておく
(元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
=元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする
てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。
俺はJavaは知らないのだけど、一般的な方法を。
> 課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
> そのせいでまる1日どはまりしてしまった
これは割とよくあるパターンで、
・環境の立ち上げは、基本的に 『かなり詳しくないと』 はまる
・環境ではまったら、初心者だけで復旧は不可能
だから、自分が初心者だと分かっているうちは、出来るだけ環境問題に遭遇しないようにするのが基本。
つまり、
・与えられたソースをその場で改変する
・元ソースと比較したい場合、元ソースを ***.org とかいう風にしてコピーしておく
(元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
=元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする
てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。
250デフォルトの名無しさん
2018/06/10(日) 01:00:23.21ID:ucpSsdvT >>247
技術習得中はどれが問題解決に必要な情報なのかわからないんだからあまり気にしなくていい
むしろ問題解決に必要な情報が出せれてるから問題ない
最近はそれがなかなかできないやつが多いからなぁ
んで、お金がないから本を変えないつーことならちょい難易度高いが教科書+公式ドキュメント+サンプルっぽいソース探すのがおすすめ
技術習得中はどれが問題解決に必要な情報なのかわからないんだからあまり気にしなくていい
むしろ問題解決に必要な情報が出せれてるから問題ない
最近はそれがなかなかできないやつが多いからなぁ
んで、お金がないから本を変えないつーことならちょい難易度高いが教科書+公式ドキュメント+サンプルっぽいソース探すのがおすすめ
251デフォルトの名無しさん
2018/06/10(日) 04:48:20.36ID:n5chgHA2 Java の定本は、
スッキリわかる Java入門 第2版、2014
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
スッキリわかる Java入門 第2版、2014
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
252デフォルトの名無しさん
2018/06/10(日) 11:22:51.08ID:9LY18awe >>251
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい
253デフォルトの名無しさん
2018/06/10(日) 12:06:59.34ID:IhVDvYTT スッキリ厨は話を聞かないことで有名だからなあ
254デフォルトの名無しさん
2018/06/10(日) 12:26:24.21ID:5WgF/CDS こいつAIだからね
255デフォルトの名無しさん
2018/06/10(日) 12:46:21.18ID:Jwj29J+R インスタンスの配列定義について教えてください
@とAはどう違うのでしょか?
(1行目のカッコの位置です)
@カッコが左のAnimalにある
Animal[] vc = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
Aカッコが左の変数にある
Animal vc[] = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
上記2つでコンパイルエラーになりません。
違いはなんですか?
@とAはどう違うのでしょか?
(1行目のカッコの位置です)
@カッコが左のAnimalにある
Animal[] vc = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
Aカッコが左の変数にある
Animal vc[] = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
上記2つでコンパイルエラーになりません。
違いはなんですか?
256デフォルトの名無しさん
2018/06/10(日) 13:08:57.02ID:5WgF/CDS257デフォルトの名無しさん
2018/06/10(日) 13:19:30.60ID:Jwj29J+R258デフォルトの名無しさん
2018/06/11(月) 02:02:24.99ID:jMVvjS0U259デフォルトの名無しさん
2018/06/11(月) 02:11:29.76ID:dheNLGIF >>258
例えばメソッド名の先頭が小文字でもコンパイルは通るから何の問題もないと考える人?
例えばメソッド名の先頭が小文字でもコンパイルは通るから何の問題もないと考える人?
260デフォルトの名無しさん
2018/06/11(月) 02:11:56.91ID:dheNLGIF 間違えた
メソッド名の先頭が大文字でも、ね
メソッド名の先頭が大文字でも、ね
261デフォルトの名無しさん
2018/06/11(月) 02:54:29.89ID:MB0XDzKq >>259
ああ。文法上は問題なかろう。慣習には反するかも知れないが間違いではない。
ああ。文法上は問題なかろう。慣習には反するかも知れないが間違いではない。
262デフォルトの名無しさん
2018/06/11(月) 08:24:25.82ID:2EYG9KU5 >>258
Animal配列型の変数vcだから
Animal型の配列変数vcという書き方は良くないという話だよ
そもそも配列変数なんてものは存在しないからね
シンタックスシュガーでC風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ
Animal配列型の変数vcだから
Animal型の配列変数vcという書き方は良くないという話だよ
そもそも配列変数なんてものは存在しないからね
シンタックスシュガーでC風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ
263デフォルトの名無しさん
2018/06/11(月) 09:20:40.77ID:318FxA/J >>262
良し悪しは君の宗教の問題だよね。
良し悪しは君の宗教の問題だよね。
264デフォルトの名無しさん
2018/06/11(月) 09:44:57.19ID:dHlcwcTY おましゅうw
265デフォルトの名無しさん
2018/06/11(月) 13:07:23.49ID:UTAA5EZY var vc:Array<Animal>
Haxe では、
var 変数名:型
Haxe では、
var 変数名:型
266デフォルトの名無しさん
2018/06/11(月) 13:12:24.89ID:NAfddAYi だから?
267デフォルトの名無しさん
2018/06/12(火) 06:53:24.64ID:aW1GuOgP Javaでチャートを表示したくて
javafx.scene.chart.LineChart ってのをはじめて使ったんですけど
これアニメーションで使うにはどうすればいいんでしょうか
Scene scene = new Scene(lineChart,800,600);
stage.setScene(scene);
stage.show();
でグラフが表示されるんですが
そのあとで
try { Thread.sleep(2000); } catch(Exception e) {}
//データ更新
stage.show();
をやったところスリープ中に何も表示されず最後のデータだけが表示されます
あるいはJavaFXではなくawtパネルや
単にImageを生成するようなライブラリがあったら教えていただけると助かります
javafx.scene.chart.LineChart ってのをはじめて使ったんですけど
これアニメーションで使うにはどうすればいいんでしょうか
Scene scene = new Scene(lineChart,800,600);
stage.setScene(scene);
stage.show();
でグラフが表示されるんですが
そのあとで
try { Thread.sleep(2000); } catch(Exception e) {}
//データ更新
stage.show();
をやったところスリープ中に何も表示されず最後のデータだけが表示されます
あるいはJavaFXではなくawtパネルや
単にImageを生成するようなライブラリがあったら教えていただけると助かります
268デフォルトの名無しさん
2018/06/12(火) 23:10:11.67ID:Ci7qqtSg >>267
意味がわからん。
なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
意味がわからん。
なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
269デフォルトの名無しさん
2018/06/12(火) 23:49:25.09ID:v+Py2umn270デフォルトの名無しさん
2018/06/13(水) 01:20:05.91ID:kTav0878271デフォルトの名無しさん
2018/06/13(水) 07:01:52.40ID:VFl3aAKI java8でメモリリークを強制的に発生させる良い方法ってありますか?
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
272デフォルトの名無しさん
2018/06/13(水) 07:46:18.02ID:Y8lO4wwX static ArrayList<byte[]> leak = new ArrayList<>();
while (true) leak.add(new byte[1000000]);
while (true) leak.add(new byte[1000000]);
273デフォルトの名無しさん
2018/06/13(水) 15:36:01.51ID:GZrsiOY9 リークっていうか、とにかくメモリ使ってどこかから参照されっぱなしになればいいだけだよな。
274デフォルトの名無しさん
2018/06/13(水) 18:36:45.27ID:2UGtKAD3 数スレ前にもJavaFXで画面更新したいって質問あったけどまともなレスついてなかったし
誰も使ってないんだろうなー
自分もサーバーサイドばっかりでGUIとか数年かいてないわ
誰も使ってないんだろうなー
自分もサーバーサイドばっかりでGUIとか数年かいてないわ
275デフォルトの名無しさん
2018/06/13(水) 18:54:23.13ID:WGknwRIf もうJavaFXはJavaの一部ではなく単なる野良ソフトウェアの一つだしな
初心者なら今からクライアントJavaに手を出すなんて時間の無駄だからやめた方がいい
煽りでも何でもなく、公式に完全に終わってる
初心者なら今からクライアントJavaに手を出すなんて時間の無駄だからやめた方がいい
煽りでも何でもなく、公式に完全に終わってる
276デフォルトの名無しさん
2018/06/13(水) 21:13:38.37ID:JYmIyEqB Androidアプリがあるんだよなー
277デフォルトの名無しさん
2018/06/13(水) 21:33:45.35ID:e5+CMljH だな
278デフォルトの名無しさん
2018/06/13(水) 21:40:10.81ID:4ZMiG1ZW だね
279デフォルトの名無しさん
2018/06/14(木) 00:42:43.69ID:/66BxFoU Kotolin
280デフォルトの名無しさん
2018/06/14(木) 01:45:12.12ID:irmUauXJ Javaの文法でwidowsライクなアプリ作れるから俺はSWT一択だね(キリッ
281デフォルトの名無しさん
2018/06/14(木) 01:55:14.23ID:+qJR6f8p >>270
わかった。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
とは全然関係ないのな。
自分で言ってる以下のループの中身を...
>while() {
> // 音声ラインから一定サイズよみこみ
>// フーリエ変換
> // グラフ表示更新
>}
javafx.animationでやればいい。
これでも読んどけ。
ttps://docs.oracle.com/javase/jp/8/javafx/visual-effects-tutorial/animations.htm#JFXTE149
ttps://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/bar-chart.htm
>>271
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。
わかった。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
とは全然関係ないのな。
自分で言ってる以下のループの中身を...
>while() {
> // 音声ラインから一定サイズよみこみ
>// フーリエ変換
> // グラフ表示更新
>}
javafx.animationでやればいい。
これでも読んどけ。
ttps://docs.oracle.com/javase/jp/8/javafx/visual-effects-tutorial/animations.htm#JFXTE149
ttps://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/bar-chart.htm
>>271
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。
282デフォルトの名無しさん
2018/06/14(木) 08:25:26.24ID:34zOJI5o 親言語か?
283デフォルトの名無しさん
2018/06/14(木) 08:50:36.59ID:NWhPjGfV 子言語
284デフォルトの名無しさん
2018/06/14(木) 09:41:16.14ID:PKegBamu シン言語
285デフォルトの名無しさん
2018/06/14(木) 12:18:42.38ID:QNww5TEq 超セン言語
286デフォルトの名無しさん
2018/06/14(木) 12:58:51.92ID:cl/4FuwJ もう一つの真言語
287デフォルトの名無しさん
2018/06/14(木) 16:58:58.79ID:Gr9d0Yf1 >>281
リプありがとうございます
このtimelineの使い方がよくわからないんですけど
ブロックは音声読み込み側でやっちゃうので
timelineでディレイをかけるとリアルタイム性が確保できなくないですか?
timelineの中で音声読み込みをすればできなくはなさそうですけど
大幅にプログラムを書き換えないといけないし
処理と表示の分離もしにくくなると思うんですがそれしか方法はないんでしょうか
音声読み込みするスレッドから何かメソッドをよんで即時表示更新ってのはできないものなんでしょうか
while() {
// 音声ラインから一定サイズよみこみ
// フーリエ変換
// なにかメソッドをよべばグラフ表示更新
}
リプありがとうございます
このtimelineの使い方がよくわからないんですけど
ブロックは音声読み込み側でやっちゃうので
timelineでディレイをかけるとリアルタイム性が確保できなくないですか?
timelineの中で音声読み込みをすればできなくはなさそうですけど
大幅にプログラムを書き換えないといけないし
処理と表示の分離もしにくくなると思うんですがそれしか方法はないんでしょうか
音声読み込みするスレッドから何かメソッドをよんで即時表示更新ってのはできないものなんでしょうか
while() {
// 音声ラインから一定サイズよみこみ
// フーリエ変換
// なにかメソッドをよべばグラフ表示更新
}
288デフォルトの名無しさん
2018/06/14(木) 17:26:03.40ID:WQ1Bw7bI289デフォルトの名無しさん
2018/06/14(木) 19:46:03.94ID:Gr9d0Yf1290デフォルトの名無しさん
2018/06/14(木) 20:18:06.09ID:Gr9d0Yf1 何度もすいません
void f(int[] a) {
for(i : a) {
double d = (double)i
同じ処理
}
}
void f(double[] a) {
for(d : a) {
同じ処理
}
}
みたいにintとdouble配列を受け取って同じ処理するだけの関数が必要なんですが
まとめて記述することってできないでしょうか
そこそこ速度が要求されるので最初にキャストした配列を作って渡すのも若干無駄だし
関数型言語風にかくなら
void f_core(<T>[] d, Function<<T>, double> cast) {
for(x : a) {
double d = cast.apply(x);
同じ処理
}
}
void f(int[] a) { f_core(a, x => (double)x); }
void f(double[] a) { f_core(a, x => x); }
みたいにかければいいんですけどJavaで任意型のメソッドって作ったりうけわたしたりってできますか?
void f(int[] a) {
for(i : a) {
double d = (double)i
同じ処理
}
}
void f(double[] a) {
for(d : a) {
同じ処理
}
}
みたいにintとdouble配列を受け取って同じ処理するだけの関数が必要なんですが
まとめて記述することってできないでしょうか
そこそこ速度が要求されるので最初にキャストした配列を作って渡すのも若干無駄だし
関数型言語風にかくなら
void f_core(<T>[] d, Function<<T>, double> cast) {
for(x : a) {
double d = cast.apply(x);
同じ処理
}
}
void f(int[] a) { f_core(a, x => (double)x); }
void f(double[] a) { f_core(a, x => x); }
みたいにかければいいんですけどJavaで任意型のメソッドって作ったりうけわたしたりってできますか?
291デフォルトの名無しさん
2018/06/14(木) 20:47:40.32ID:RvC/sBQ5292デフォルトの名無しさん
2018/06/14(木) 20:48:57.71ID:KBTpBKAk >>290
普通にその関数型風のコードのようにジェネリクスとラムダを使えばできるけど、
Javaのファッキンなんちゃってジェネリクスだと必ずボックス化が入るからクッソ遅くなるよ
NumberやObjectを使っても同様
諦めて別々のメソッドにして「同じ処理」の部分だけをメソッドに括り出して共通化しなさい
普通にその関数型風のコードのようにジェネリクスとラムダを使えばできるけど、
Javaのファッキンなんちゃってジェネリクスだと必ずボックス化が入るからクッソ遅くなるよ
NumberやObjectを使っても同様
諦めて別々のメソッドにして「同じ処理」の部分だけをメソッドに括り出して共通化しなさい
293デフォルトの名無しさん
2018/06/14(木) 21:03:26.94ID:Gr9d0Yf1294デフォルトの名無しさん
2018/06/15(金) 04:17:05.36ID:DGyfb6tU だめだー
せっかく教えてもらったのに0.1秒で4000個のデータ描画表示すら間に合わない
AWTでdrawLineとか使って直書きなら8000ぐらいでも間に合うのに
JavaFX のチャートの設定で何か軽くなる設定とかってあったりしますか?
せっかく苦労したのにAWTに戻すことになりそう
せっかく教えてもらったのに0.1秒で4000個のデータ描画表示すら間に合わない
AWTでdrawLineとか使って直書きなら8000ぐらいでも間に合うのに
JavaFX のチャートの設定で何か軽くなる設定とかってあったりしますか?
せっかく苦労したのにAWTに戻すことになりそう
295デフォルトの名無しさん
2018/06/15(金) 06:35:09.89ID:DwlS46FN 仕事の相談をここでするなよマヌケ
296デフォルトの名無しさん
2018/06/15(金) 07:30:56.95ID:K3OjyI6B >>295
え?
え?
297デフォルトの名無しさん
2018/06/15(金) 08:34:10.18ID:DHgdPMs1 >>294
JavaFXの唯一の正しい使い方は、全面にWebViewを貼り付けてHTMLで全てを作ること。
誰も使ってないJavaFXなんかより遥かに速くて快適なUXを実現できる。D3.jsとか使えばチャートも簡単爆速美麗。
馬鹿馬鹿しいと思うならSpring Bootにでも乗り換えてJavaらしく普通にWebアプリにしよう。
JavaFXの唯一の正しい使い方は、全面にWebViewを貼り付けてHTMLで全てを作ること。
誰も使ってないJavaFXなんかより遥かに速くて快適なUXを実現できる。D3.jsとか使えばチャートも簡単爆速美麗。
馬鹿馬鹿しいと思うならSpring Bootにでも乗り換えてJavaらしく普通にWebアプリにしよう。
298デフォルトの名無しさん
2018/06/15(金) 10:34:32.18ID:uIGrLsPa 共同ツール 1
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
Trello Chrome拡張機能プラグイン集
https://chrome.google.com/webstore/search/trello?_category=extensions
Slackプラグイン集
https://slack.com/apps
Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
https://supernova.studio/
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
Trello Chrome拡張機能プラグイン集
https://chrome.google.com/webstore/search/trello?_category=extensions
Slackプラグイン集
https://slack.com/apps
Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
https://supernova.studio/
299デフォルトの名無しさん
2018/06/15(金) 16:20:39.46ID:DGyfb6tU300デフォルトの名無しさん
2018/06/15(金) 17:03:56.08ID:oVnAseDc たまには思い出してあげてください
301デフォルトの名無しさん
2018/06/15(金) 21:58:12.68ID:ymZBnmIf 皆、無料のRails チュートリアルをやってる。
サーバーなんて、Ruby のSinatra でも良いし
Rubyでも、Node.js, jQuery, Vue.js など、JavaScript(JS) は必須。
D3.js を使っても良いんじゃない?
VSCode だって、Electron だし、
Python のJupyter Notebook(IPython Notebook) だって、JSだろ
ほぼすべての言語で、画面には、JSを使う
サーバーなんて、Ruby のSinatra でも良いし
Rubyでも、Node.js, jQuery, Vue.js など、JavaScript(JS) は必須。
D3.js を使っても良いんじゃない?
VSCode だって、Electron だし、
Python のJupyter Notebook(IPython Notebook) だって、JSだろ
ほぼすべての言語で、画面には、JSを使う
302デフォルトの名無しさん
2018/06/15(金) 22:06:24.60ID:HtPJG7wE303デフォルトの名無しさん
2018/06/15(金) 23:00:02.92ID:7wMYYvtj いや、JavaはKotlinに食われつつある。Androidに関してはかなり征服された。
304デフォルトの名無しさん
2018/06/15(金) 23:04:11.35ID:/HLz/tc5 >>302
トレンドwww
トレンドwww
305デフォルトの名無しさん
2018/06/20(水) 19:47:48.12ID:g4/OGHNt306デフォルトの名無しさん
2018/06/20(水) 20:42:50.22ID:id/YgeM/ 両方オワコンだから間違えようがない
一部の狂信的な信者以外は
一部の狂信的な信者以外は
307デフォルトの名無しさん
2018/06/20(水) 20:52:23.72ID:3OmsLPWp Nettyの質問なんだけど
https://netty.io/wiki/user-guide-for-4.x.html
俺の理解だと、サーバーは受信時にInbound、送信時にOutbound。
ところがこのサンプルのtimeserverhandlerはInboundHandlerでレスポンスをしているように見える。
そもそもサーバーのOutboundHandlerはどんな時に呼び出されるんだろうか?
クライアントはまずOutboundが呼ばれてレスポンスがあった場合のみInboundが呼ばれるのだろうと思う。
サーバーのOutboundは何をトリガーにするのか?レスポンスしない場合もあるだろう。
サーバーのOutboundHandlerのサンプルが見つからない。
このあたり分からないので誰か教えてください。
https://netty.io/wiki/user-guide-for-4.x.html
俺の理解だと、サーバーは受信時にInbound、送信時にOutbound。
ところがこのサンプルのtimeserverhandlerはInboundHandlerでレスポンスをしているように見える。
そもそもサーバーのOutboundHandlerはどんな時に呼び出されるんだろうか?
クライアントはまずOutboundが呼ばれてレスポンスがあった場合のみInboundが呼ばれるのだろうと思う。
サーバーのOutboundは何をトリガーにするのか?レスポンスしない場合もあるだろう。
サーバーのOutboundHandlerのサンプルが見つからない。
このあたり分からないので誰か教えてください。
308デフォルトの名無しさん
2018/06/20(水) 20:55:46.07ID:+mTfQ/rg そんなものがあるんだ
309デフォルトの名無しさん
2018/06/20(水) 20:58:29.56ID:3ZXb2ep/ >>307
オープンソースなんだからソース読めよカス
オープンソースなんだからソース読めよカス
310デフォルトの名無しさん
2018/06/20(水) 21:44:01.80ID:eL2b037p >>307
サーバは受信イベントに反応して応答を返すものなのだから、InboundHanderを継承して応答を返すように実装するのは自然と思うよ。
〜handlerとか〜listenerとあったら、〜イベントに対する処理をするものと言う意味。
あと、OutboundHandlerの例は下に書いてある。
サーバレスポンス(outbound)を横取りして書き換えたい場合に使えるようだ。
サーバは受信イベントに反応して応答を返すものなのだから、InboundHanderを継承して応答を返すように実装するのは自然と思うよ。
〜handlerとか〜listenerとあったら、〜イベントに対する処理をするものと言う意味。
あと、OutboundHandlerの例は下に書いてある。
サーバレスポンス(outbound)を横取りして書き換えたい場合に使えるようだ。
311デフォルトの名無しさん
2018/06/20(水) 22:31:03.15ID:t5KVEVLK >>309
分らんのなら引っ込んでろよチンカス
分らんのなら引っ込んでろよチンカス
312デフォルトの名無しさん
2018/06/21(木) 14:33:49.08ID:zmvzH3Nu と真性包茎のキモデブが申しております
313デフォルトの名無しさん
2018/06/21(木) 19:02:53.39ID:LmBngzCG https://docs.oracle.com/javase/jp/9/docs/api/com/sun/net/httpserver/HttpExchange.html
簡易メソッドclose()はこれらのタスクをすべて実行します。
要求本体のすべてを使用せずに交換を閉じてもエラーではありませんが、
基本となるTCP接続を次の交換用に利用できなくなる場合があります。
交換の終了に失敗した場合の結果は定義されていませんが、
通常はリソースの解放や再利用に失敗します。
これどういうこと?例えば特定のアクセス元じゃなければclose()するということをやると、
メモリリークのようなことになっていくということ?リソースの解放や再利用に失敗するとは?
HttpServerにおいて特定条件を満たしていない場合に拒絶する書き方が知りたい。
簡易メソッドclose()はこれらのタスクをすべて実行します。
要求本体のすべてを使用せずに交換を閉じてもエラーではありませんが、
基本となるTCP接続を次の交換用に利用できなくなる場合があります。
交換の終了に失敗した場合の結果は定義されていませんが、
通常はリソースの解放や再利用に失敗します。
これどういうこと?例えば特定のアクセス元じゃなければclose()するということをやると、
メモリリークのようなことになっていくということ?リソースの解放や再利用に失敗するとは?
HttpServerにおいて特定条件を満たしていない場合に拒絶する書き方が知りたい。
314デフォルトの名無しさん
2018/06/21(木) 19:45:52.69ID:+kp8giCs http要求ー応答の処理中に処理完了する前にcloseしたことを説明してるんじゃない?
想定外のcloseした場合、メモリ状態は分からないから正常に開放できるか不明、ゴミデータ残って一度利用したインスタンスで再通信できるか不明ってことじゃ?
想定外のcloseした場合、メモリ状態は分からないから正常に開放できるか不明、ゴミデータ残って一度利用したインスタンスで再通信できるか不明ってことじゃ?
315デフォルトの名無しさん
2018/06/22(金) 02:08:36.03ID:6X1MAqKl https://docs.oracle.com/javase/7/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/HttpExchange.html
英語版をgoogle翻訳してみたりstackoverflowで調べたところ、
getRequestBody()でえられるinputStreamは使えば自動的にcloseされる。
getResponseBody()でえられるOutputStreamは使った後手動でcloseする。
エラー等で処理を終える場合、HttpExchangeを必ずcloseする。
そして、どうやらgetRequestBody()を必ず使わなければならない?ようだ。
しかしそのような内部的な問題は基本的に気にする必要が無く、
HttpExchange#close()はそのgetRequestBody()の消費処理すらもやってくれる、と書いてあるように読める。
結局HttpExchange#close()を必ずどこかで呼べということな気がする。
英語版をgoogle翻訳してみたりstackoverflowで調べたところ、
getRequestBody()でえられるinputStreamは使えば自動的にcloseされる。
getResponseBody()でえられるOutputStreamは使った後手動でcloseする。
エラー等で処理を終える場合、HttpExchangeを必ずcloseする。
そして、どうやらgetRequestBody()を必ず使わなければならない?ようだ。
しかしそのような内部的な問題は基本的に気にする必要が無く、
HttpExchange#close()はそのgetRequestBody()の消費処理すらもやってくれる、と書いてあるように読める。
結局HttpExchange#close()を必ずどこかで呼べということな気がする。
316デフォルトの名無しさん
2018/06/22(金) 11:57:36.33ID:hcBKEl3e 正誤判定プログラム作っているけど上手く表示できない
正解入力すると正解ですって表示されますが、間違い入力しても
不正解ですとは表示されず、例外のア、イ、ウ、エで入力してくださいって表示になる。
分からないので教えていただけないでしょうか?
do{
String answer = br.readLine();
if (qs.correctAnswer.equals(answer)){
System.out.println("正解です。");
break;
}
else if((answer == qs.wrongAnswer1) || (answer == qs.wrongAnswer2) || (answer == qs.wrongAnswer3)){
System.out.println("不正解です。");
}
else{
System.out.println("ア、イ、ウ、エで入力してください。");
}
正解入力すると正解ですって表示されますが、間違い入力しても
不正解ですとは表示されず、例外のア、イ、ウ、エで入力してくださいって表示になる。
分からないので教えていただけないでしょうか?
do{
String answer = br.readLine();
if (qs.correctAnswer.equals(answer)){
System.out.println("正解です。");
break;
}
else if((answer == qs.wrongAnswer1) || (answer == qs.wrongAnswer2) || (answer == qs.wrongAnswer3)){
System.out.println("不正解です。");
}
else{
System.out.println("ア、イ、ウ、エで入力してください。");
}
317デフォルトの名無しさん
2018/06/22(金) 12:08:24.12ID:OFAJDNNU >>316
なんで正解判定で使ってるequalsを不正解判定では使わないんだ…
なんで正解判定で使ってるequalsを不正解判定では使わないんだ…
318デフォルトの名無しさん
2018/06/22(金) 12:35:39.34ID:hcBKEl3e319デフォルトの名無しさん
2018/06/22(金) 15:31:22.98ID:3EtLvxAt switch使おうよ。
320デフォルトの名無しさん
2018/06/22(金) 15:40:49.23ID:fTGbKFWm Java7から使えるようになったんだっけ?
321デフォルトの名無しさん
2018/06/22(金) 20:42:54.95ID:J+Abs19H やっぱり35歳はipの出ないこっちに来るんだな
>>321
俺じゃないぞ
俺じゃないぞ
323デフォルトの名無しさん
2018/06/23(土) 20:24:44.15ID:lx4N25iu Javaの入力値チェックの方法についてご相談です。
ユーザーから手入力された値をインスタンス変数に代入後、チェックする処理を記述しようと思っているのですが、方法として以下の3つを考えています。
※setter のアクセスレベルはprivateにしています。
@ 検査対象のインスタンス内でチェック用のメソッドとsetter をそれぞれ定義する
A 検査対象のsetter 内に、チェック処理のロジックを記述する(チェック処理の内包)
B チェック処理をする責務を持つクラス(インスタンス)を別で作成し、検査対象を引数として与える
3つの方法に対してのご意見、ご指摘を頂きたいです。
そもそも、setter に値をセットする以外の処理を含めて良いものか悩んでおります。
可能であれば、setter の件についてもご意見頂ければと思います。
長文となってしまいましたが、皆様よろしくお願いします。
ユーザーから手入力された値をインスタンス変数に代入後、チェックする処理を記述しようと思っているのですが、方法として以下の3つを考えています。
※setter のアクセスレベルはprivateにしています。
@ 検査対象のインスタンス内でチェック用のメソッドとsetter をそれぞれ定義する
A 検査対象のsetter 内に、チェック処理のロジックを記述する(チェック処理の内包)
B チェック処理をする責務を持つクラス(インスタンス)を別で作成し、検査対象を引数として与える
3つの方法に対してのご意見、ご指摘を頂きたいです。
そもそも、setter に値をセットする以外の処理を含めて良いものか悩んでおります。
可能であれば、setter の件についてもご意見頂ければと思います。
長文となってしまいましたが、皆様よろしくお願いします。
324デフォルトの名無しさん
2018/06/23(土) 22:44:16.49ID:5c71PR8X java bronzeを受けようと思い黒本過去問10周くらいして
理解できたと思いますが、似た問題が多いでしょうか・・
合格した方はどれくらい勉強したか教えてください。
理解できたと思いますが、似た問題が多いでしょうか・・
合格した方はどれくらい勉強したか教えてください。
326デフォルトの名無しさん
2018/06/24(日) 11:46:06.34ID:MQB4VaSY >>323
ユーザの入力値受け取るクラスならprivateじゃなくてpublicなsetter作るような気がするんだけど
ちょっと状況が分からない
どういうクラスかもう少し書ける?
setterに処理を含めること自体は問題ない
ユーザの入力値受け取るクラスならprivateじゃなくてpublicなsetter作るような気がするんだけど
ちょっと状況が分からない
どういうクラスかもう少し書ける?
setterに処理を含めること自体は問題ない
327デフォルトの名無しさん
2018/06/24(日) 12:47:58.04ID:I6qT+7Vz328デフォルトの名無しさん
2018/06/24(日) 14:33:44.94ID:pKame5cc setterにロジック含めていいかどうかで悩むとかアホか
ロジック含める可能性がないならsetter通さずにフィールドにそのまま大入すればいいだろアホ
ロジック含める可能性がないならsetter通さずにフィールドにそのまま大入すればいいだろアホ
329デフォルトの名無しさん
2018/06/24(日) 15:04:34.13ID:dY9pVmNf 本当のことをいうなよ(笑)
330デフォルトの名無しさん
2018/06/24(日) 18:01:03.69ID:5i39kBRv IPっつったら、IDEAPOCKETが真っ先に思い付くわ・・
331デフォルトの名無しさん
2018/06/25(月) 09:12:54.69ID://DXoKuS 大入袋
332デフォルトの名無しさん
2018/06/25(月) 20:05:59.87ID:6QnNrYn1 すみません、いくつか質問させてください。
<クラスパス(ビルドパス)について>
・eclipseの「ビルドパスに追加」したフォルダが複数登録されており、
・それらの中に全く同じパッケージに有る同じクラス名が合った場合、
どのような優先順位で1つのクラスが選ばれるのでしょうか。
・また全く同じパッケージ・クラス名で、 .jarのライブラリがインポート
されていて、それとは別にフォルダ構造のパッケージの中に、
バラの.classファイルが配置されていた場合、これらの優先順位
はあるのでしょうか。
・コンソールでjavaを実行するのではなくTomcatがjavaを
実行する場合、どのディレクトリからjavaを実行しているのでしょうか?
・.jspファイルは「ビルドパスに追加」をフォルダに置く必要が
あるのでしょうか。それとも「ソースフォルダの追加」に登録
フォルダの配下にあるべきなのでしょうか。
・gitなどでバージョン管理をする際に、.classファイルや .jarなどの
バイナリファイルを複数人で別々のバイナリを生成して
コンフリクトした場合、マージされるのでしょうか。
DBに保存されたバイナリデータもマージされるのでしょうか。
・eclipseで設定したブレークポイントでソースが停止した場合、
その実際の.classファイルあるいは.jarファイルはどこにあるのか
特定できるでしょうか。
<クラスパス(ビルドパス)について>
・eclipseの「ビルドパスに追加」したフォルダが複数登録されており、
・それらの中に全く同じパッケージに有る同じクラス名が合った場合、
どのような優先順位で1つのクラスが選ばれるのでしょうか。
・また全く同じパッケージ・クラス名で、 .jarのライブラリがインポート
されていて、それとは別にフォルダ構造のパッケージの中に、
バラの.classファイルが配置されていた場合、これらの優先順位
はあるのでしょうか。
・コンソールでjavaを実行するのではなくTomcatがjavaを
実行する場合、どのディレクトリからjavaを実行しているのでしょうか?
・.jspファイルは「ビルドパスに追加」をフォルダに置く必要が
あるのでしょうか。それとも「ソースフォルダの追加」に登録
フォルダの配下にあるべきなのでしょうか。
・gitなどでバージョン管理をする際に、.classファイルや .jarなどの
バイナリファイルを複数人で別々のバイナリを生成して
コンフリクトした場合、マージされるのでしょうか。
DBに保存されたバイナリデータもマージされるのでしょうか。
・eclipseで設定したブレークポイントでソースが停止した場合、
その実際の.classファイルあるいは.jarファイルはどこにあるのか
特定できるでしょうか。
333デフォルトの名無しさん
2018/06/25(月) 20:10:33.03ID:DmsWJyBV 長文に付きスルーさせてください
334初心者
2018/06/25(月) 20:16:03.04ID:6QnNrYn1 <eclipseの「ソースフォルダの追加」について>
・「ソースフォルダに追加」したフォルダの配下にある.javaコードは
eclipseのブレークポイントで止まってくれますが、
これは「ソースフォルダに追加したソースから生成された.class
あるいは.jar」が実行されていなければソースは特定できないので
しょうか。
・「ソースフォルダに追加」した時点でそのソース群から生成された
.classファイルがもしビルドパスに登録されているフォルダ配下
に生成されるようになっていなければ、自動的にビルドパスに
追加されるのでしょうか?
・それとも単純に同名のパッケージ名、クラス名が実行された場合、
ソースフォルダに登録したフォルダから検索して、名前の一致だけで
特定しているのでしょうか。
・もし名前の一致だけで特定している場合、同じ名前の別のソースから
生成された.classファイルに中身が書き換わってしまい、
ソースフォルダに追加している.javaと.classの中身が全く
対応しなくなっている状態になると、デバッグは失敗するのでしょうか。
・「ソースフォルダに追加」で複数のフォルダを追加して、
別々の場所に同じパッケージ名、クラス名の.javaファイルが複数あった
場合、デバッグ時に呼び出されるのはどの.javaファイルになるのでしょうか。
・「ソースフォルダに追加」したフォルダの配下にある.javaコードは
eclipseのブレークポイントで止まってくれますが、
これは「ソースフォルダに追加したソースから生成された.class
あるいは.jar」が実行されていなければソースは特定できないので
しょうか。
・「ソースフォルダに追加」した時点でそのソース群から生成された
.classファイルがもしビルドパスに登録されているフォルダ配下
に生成されるようになっていなければ、自動的にビルドパスに
追加されるのでしょうか?
・それとも単純に同名のパッケージ名、クラス名が実行された場合、
ソースフォルダに登録したフォルダから検索して、名前の一致だけで
特定しているのでしょうか。
・もし名前の一致だけで特定している場合、同じ名前の別のソースから
生成された.classファイルに中身が書き換わってしまい、
ソースフォルダに追加している.javaと.classの中身が全く
対応しなくなっている状態になると、デバッグは失敗するのでしょうか。
・「ソースフォルダに追加」で複数のフォルダを追加して、
別々の場所に同じパッケージ名、クラス名の.javaファイルが複数あった
場合、デバッグ時に呼び出されるのはどの.javaファイルになるのでしょうか。
335デフォルトの名無しさん
2018/06/25(月) 21:24:25.00ID:cnz2hUoM336デフォルトの名無しさん
2018/06/25(月) 21:38:05.82ID:mHx9ED9l337デフォルトの名無しさん
2018/06/25(月) 22:00:32.20ID:XS6tlG59 githubでC#で書かれたソースコードを見るとVisual Studioで作成したファイルが見当たらないんですが、
Visual Studioを使わないほうがいいんでしょうか?
Visual Studioを使わないほうがいいんでしょうか?
338デフォルトの名無しさん
2018/06/25(月) 22:00:51.60ID:XS6tlG59 すれ間違えました
339デフォルトの名無しさん
2018/06/25(月) 23:33:17.67ID:lTrbOz9W >全く同じパッケージに、同じクラス名がある
パッケージはフォルダ、クラスはファイル名に相当するから、
同一フォルダ内に、同一のファイル名は、絶対に存在できない
>コンソールでjavaを実行するのではなくTomcatがjavaを実行する場合、
>どのディレクトリからjavaを実行しているのでしょうか?
pwd のような、Linux コマンドを実行すれば、カレントディレクトリを表示するはず。
それか、そういう環境変数を探す
これら以外の質問は、実際に起こった場合の、エラーメッセージで検索して
パッケージはフォルダ、クラスはファイル名に相当するから、
同一フォルダ内に、同一のファイル名は、絶対に存在できない
>コンソールでjavaを実行するのではなくTomcatがjavaを実行する場合、
>どのディレクトリからjavaを実行しているのでしょうか?
pwd のような、Linux コマンドを実行すれば、カレントディレクトリを表示するはず。
それか、そういう環境変数を探す
これら以外の質問は、実際に起こった場合の、エラーメッセージで検索して
340デフォルトの名無しさん
2018/06/26(火) 09:24:15.65ID:4BKP4Htb そういや試したことないが、2つの別々のjarファイルの中のディレクトリとクラスファイルが同じだったらクラスローダーがエラー出すんだろうか?
あ、コピーしてやってみればいいだけだな。時間があったらやってみよう。
あ、コピーしてやってみればいいだけだな。時間があったらやってみよう。
341デフォルトの名無しさん
2018/06/26(火) 10:03:27.13ID:HJBlnKJN >>339
それはクラスパスが1つだけと仮定したときの話でしょ?
複数のクラスパスに中身が違う同じパッケージ空間のクラスが存在できるじゃん。
eclipseの「Javaリソース」「参照ライブラリー」「ライブラリー」
「JREシステム・ライブラリー」「Web Appライブラリー」
って何が違うのか気になるわ。
あとそれぞれのアイコン
・田んぼの「田」みたいなアイコン(茶色/白)
→パッケージだけど色の違いは・・・?
茶色い田はフォルダで中に.classファイルが入っている。
白い田はファイル?なのかよくわからない。
フォルダ名の名前空間を表している?
・フォルダ内に「田」が入っているアイコン
・本が積み上げられているようなアイコン
→これは「ライブラリー」か
フォルダの中に「本」が入っているようなアイコンもあるがこれは何?
・ビンのアイコン
→これは.jarだけど.jarってライブラリーのことじゃないのか?
.jarと本のアイコンの違いは何だ?
・「.classファイル」のアイコンも2種類ある。
→1つは「J 01」というファイルのような形のアイコン
もう一つはツリーのような形をした黄色、ピンク、青のアイコン。
これらの違いは何?
イメージとして.classファイルを集約するフォルダがパッケージ(田)
で、パッケージを集約するのが「.jar」で、
.jarを集約するのが「本のアイコン」でいいの?
本のアイコンとフォルダ内に田があるアイコンの違いもよくわからない。
ファイルシステム上ではどれも単なる「フォルダ」似すぎないものの
分類が多すぎて混乱するわ。
それはクラスパスが1つだけと仮定したときの話でしょ?
複数のクラスパスに中身が違う同じパッケージ空間のクラスが存在できるじゃん。
eclipseの「Javaリソース」「参照ライブラリー」「ライブラリー」
「JREシステム・ライブラリー」「Web Appライブラリー」
って何が違うのか気になるわ。
あとそれぞれのアイコン
・田んぼの「田」みたいなアイコン(茶色/白)
→パッケージだけど色の違いは・・・?
茶色い田はフォルダで中に.classファイルが入っている。
白い田はファイル?なのかよくわからない。
フォルダ名の名前空間を表している?
・フォルダ内に「田」が入っているアイコン
・本が積み上げられているようなアイコン
→これは「ライブラリー」か
フォルダの中に「本」が入っているようなアイコンもあるがこれは何?
・ビンのアイコン
→これは.jarだけど.jarってライブラリーのことじゃないのか?
.jarと本のアイコンの違いは何だ?
・「.classファイル」のアイコンも2種類ある。
→1つは「J 01」というファイルのような形のアイコン
もう一つはツリーのような形をした黄色、ピンク、青のアイコン。
これらの違いは何?
イメージとして.classファイルを集約するフォルダがパッケージ(田)
で、パッケージを集約するのが「.jar」で、
.jarを集約するのが「本のアイコン」でいいの?
本のアイコンとフォルダ内に田があるアイコンの違いもよくわからない。
ファイルシステム上ではどれも単なる「フォルダ」似すぎないものの
分類が多すぎて混乱するわ。
342デフォルトの名無しさん
2018/06/26(火) 10:30:20.48ID:pRC7dJe/ あきらめろん
343デフォルトの名無しさん
2018/06/26(火) 11:37:57.95ID:B6D+LuS4 >>341
eclipseの「Javaリソース」「参照ライブラリー」「ライブラリー」
「JREシステム・ライブラリー」「Web Appライブラリー」
って何が違うのか気になるわ。
→どういった機能があるライブラリーなのか分類分けしてるだけ。WebかいはつしないならWeb Appライブラリーをビルドパスから除外するなど
あとそれぞれのアイコン
→ただ単に状態を表してるだけ。田の白茶は直下にクラスファイルが有るか無いかだけだったと思う、ほかはないを言ってるかよくわからない
ファイルシステム上ではどれも単なる「フォルダ」似すぎないものの
分類が多すぎて混乱するわ。
→慣れろ
eclipseの「Javaリソース」「参照ライブラリー」「ライブラリー」
「JREシステム・ライブラリー」「Web Appライブラリー」
って何が違うのか気になるわ。
→どういった機能があるライブラリーなのか分類分けしてるだけ。WebかいはつしないならWeb Appライブラリーをビルドパスから除外するなど
あとそれぞれのアイコン
→ただ単に状態を表してるだけ。田の白茶は直下にクラスファイルが有るか無いかだけだったと思う、ほかはないを言ってるかよくわからない
ファイルシステム上ではどれも単なる「フォルダ」似すぎないものの
分類が多すぎて混乱するわ。
→慣れろ
344デフォルトの名無しさん
2018/06/26(火) 13:01:07.58ID:WhDx7ogM >>340
んなわけねえだろ初心者
んなわけねえだろ初心者
345デフォルトの名無しさん
2018/06/26(火) 13:09:23.95ID:4BKP4Htb >>340を試してみたらエラーにならなかった。
で、クラス名同じで内容が違う状態で実行して判別できるようにして調べたら -cp で先に指定した方が有効になるだけだった。
単純に頭からクラスの検索しているだけみたい。
で、クラス名同じで内容が違う状態で実行して判別できるようにして調べたら -cp で先に指定した方が有効になるだけだった。
単純に頭からクラスの検索しているだけみたい。
346デフォルトの名無しさん
2018/06/26(火) 13:10:10.27ID:4BKP4Htb >>344
いやあ、しかし、エラーになってほしいものではあるよな。
いやあ、しかし、エラーになってほしいものではあるよな。
347デフォルトの名無しさん
2018/06/26(火) 13:54:20.46ID:FzhS8Jns 馬鹿ほど自説に拘る
348デフォルトの名無しさん
2018/06/26(火) 14:58:42.92ID:6dkY69Bf349デフォルトの名無しさん
2018/06/26(火) 14:59:34.79ID:6dkY69Bf >>332
ここで聞けよ
Eclipse統合M36【Java/C++/Ruby/Python/Scala】 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1503723668/
ここで聞けよ
Eclipse統合M36【Java/C++/Ruby/Python/Scala】 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1503723668/
350デフォルトの名無しさん
2018/06/26(火) 17:25:51.93ID:QQQU3toQ てかマジにパッケージの役割をまるで理解できてない自分が怖い。
他のプロジェクトのクラス利用するみたいな時に役立つんですかね。
他のプロジェクトのクラス利用するみたいな時に役立つんですかね。
351デフォルトの名無しさん
2018/06/26(火) 17:59:26.14ID:svNbpPIp PCではクラスが重複していてもエラーにならずどっちがロードされるか分からんけど
Googleさんはそんな曖昧なことを許さず
Androidアプリをビルドするときはクラスが重複してるとエラーになる
Googleさんはそんな曖昧なことを許さず
Androidアプリをビルドするときはクラスが重複してるとエラーになる
352デフォルトの名無しさん
2018/06/26(火) 19:49:21.17ID:EJ9QuCpH さすが
353デフォルトの名無しさん
2018/06/26(火) 20:41:39.98ID:nfkVtLx6 アホ
354デフォルトの名無しさん
2018/06/28(木) 21:25:44.96ID:RNZwZaAN java有料化と聞いたのですが個人使用やAndoroidなら無料ですよね
355デフォルトの名無しさん
2018/06/28(木) 22:30:12.31ID:AdRGOVMD356デフォルトの名無しさん
2018/06/28(木) 22:34:14.17ID:mQsBu3Yx357デフォルトの名無しさん
2018/06/28(木) 22:54:20.28ID:HobEbqhl 先週OracleがJDK11の扱いを新たに発表したよ
これまではOracleJDKを有償サポート契約者にしか提供しないと言っていたのだが
デモや評価目的でOracleJDKを使うことができると表明した
これにより誰でもOracleJDKをダウンロードできるのではないかと見られている
(ただし未契約ではサポートは受けられない)
またOpenJDKについてもOracleがビルドした(ほぼ公式)バイナリが提供される
OpenJDKについては他にもzuluなどいくつかのディストリビューターがビルドバイナリを提供している
JDK11以降も商用サポートが受けられないというだけでJavaはこれからも自由だよ!
これまではOracleJDKを有償サポート契約者にしか提供しないと言っていたのだが
デモや評価目的でOracleJDKを使うことができると表明した
これにより誰でもOracleJDKをダウンロードできるのではないかと見られている
(ただし未契約ではサポートは受けられない)
またOpenJDKについてもOracleがビルドした(ほぼ公式)バイナリが提供される
OpenJDKについては他にもzuluなどいくつかのディストリビューターがビルドバイナリを提供している
JDK11以降も商用サポートが受けられないというだけでJavaはこれからも自由だよ!
358デフォルトの名無しさん
2018/06/29(金) 07:17:30.07ID:1gf7wGhW >>357
でも後から高額請求がOracleテンプレ
でも後から高額請求がOracleテンプレ
359デフォルトの名無しさん
2018/06/29(金) 08:36:33.86ID:ViTU2kZO >>358
使ったことないくせにw
使ったことないくせにw
360デフォルトの名無しさん
2018/06/29(金) 10:11:27.83ID:ZWZ4pa9t Eclipseがただで使えるようにしてくれるさ(遠い目)
361デフォルトの名無しさん
2018/06/29(金) 11:27:33.30ID:OTypfvcs >>357
評価目的ってことは、配布した時点で請求が来るのかな?
評価目的ってことは、配布した時点で請求が来るのかな?
362デフォルトの名無しさん
2018/06/29(金) 12:28:18.43ID:04kXi5pA 払えばサポート受けられるだけで払わなくても商用利用出来る
という認識でok?
という認識でok?
363デフォルトの名無しさん
2018/06/29(金) 13:38:34.81ID:cRGLx+38364デフォルトの名無しさん
2018/06/29(金) 13:47:32.74ID:GBe1xLaa 片言の日本語w
365デフォルトの名無しさん
2018/06/29(金) 17:19:15.96ID:y/uBajUK366デフォルトの名無しさん
2018/06/29(金) 18:20:16.36ID:6OZlBNWi367デフォルトの名無しさん
2018/06/30(土) 00:45:39.52ID:SNP/nySb プログラミング超初級です
これからプログラムを学びたいと思って、progateというサイトで練習しています
JavaTは楽しく学習できたのですが、JavaUでifやfor等、多様な構文が出てきて
頭でうまく整理が付きません
プログラム向いてないんでしょうか?
これからプログラムを学びたいと思って、progateというサイトで練習しています
JavaTは楽しく学習できたのですが、JavaUでifやfor等、多様な構文が出てきて
頭でうまく整理が付きません
プログラム向いてないんでしょうか?
368デフォルトの名無しさん
2018/06/30(土) 02:30:39.07ID:yaCLVjK3 むりやりやらされてるの?
たった数時間の勉強で向いてないんじゃないかと心配するほどモチベーションが低いことのほうが、問題だと思うよ。
たった数時間の勉強で向いてないんじゃないかと心配するほどモチベーションが低いことのほうが、問題だと思うよ。
369デフォルトの名無しさん
2018/06/30(土) 07:16:04.14ID:g3zvEcdN むいていません
370デフォルトの名無しさん
2018/06/30(土) 12:00:29.96ID:Wg+LSNTR ちんちんの話
371デフォルトの名無しさん
2018/06/30(土) 12:32:57.67ID:dqROe96n 高州クリニック
372367
2018/06/30(土) 12:40:24.30ID:SNP/nySb >>368
仰るとおりですね、根を上げるには早すぎると思います
まだまだ時間を使って、一つ一つを学習していきたいと思っています
Javaに触れてみて思ったのですが、自分はプログラムってもっと数学的なものだと思っていたのですが
英語の文法を覚えるのに近そうですよね
私は数字には強いですが、英語などの言語が超苦手なので向いてないのかなと思いました
Javaが苦手なのか、プログラム全般が向いてないのかが重要だと思ってるのですが
Java以外の他の言語なら、また違うでしょうか?
仰るとおりですね、根を上げるには早すぎると思います
まだまだ時間を使って、一つ一つを学習していきたいと思っています
Javaに触れてみて思ったのですが、自分はプログラムってもっと数学的なものだと思っていたのですが
英語の文法を覚えるのに近そうですよね
私は数字には強いですが、英語などの言語が超苦手なので向いてないのかなと思いました
Javaが苦手なのか、プログラム全般が向いてないのかが重要だと思ってるのですが
Java以外の他の言語なら、また違うでしょうか?
373デフォルトの名無しさん
2018/06/30(土) 12:48:51.27ID:SopNOlss 数字にも弱そう
374デフォルトの名無しさん
2018/06/30(土) 12:52:04.34ID:dqROe96n 頭が弱いんだろう
376デフォルトの名無しさん
2018/06/30(土) 14:22:19.92ID:Ms0oF+PT377デフォルトの名無しさん
2018/06/30(土) 15:59:07.87ID:SNP/nySb ありがとうございます
数をこなしていくことで覚えていきたいと思います
https://prog-8.com/users/sign_in#/42
しかし、やはりというかprogateのJavaUの総合問題が、何度挑戦しても難しすぎます
慣れている人なら、こういう難問でもスラスラとコード書けちゃうんですかね?
問題が難しすぎるだけだったりしますか?
数をこなしていくことで覚えていきたいと思います
https://prog-8.com/users/sign_in#/42
しかし、やはりというかprogateのJavaUの総合問題が、何度挑戦しても難しすぎます
慣れている人なら、こういう難問でもスラスラとコード書けちゃうんですかね?
問題が難しすぎるだけだったりしますか?
378デフォルトの名無しさん
2018/06/30(土) 16:04:02.42ID:SNP/nySb379デフォルトの名無しさん
2018/06/30(土) 16:11:33.20ID:+7yWvOia380デフォルトの名無しさん
2018/06/30(土) 17:24:21.46ID:oywXZrZh 奇数の和は26です
偶数の和は23です
このくらいのギャグをかますセンスが欲しいところだ。
偶数の和は23です
このくらいのギャグをかますセンスが欲しいところだ。
381デフォルトの名無しさん
2018/06/30(土) 18:35:48.68ID:m2uqFRio >>377
大量のデータを条件によって分けて処理するのはよくあることだからできないとお話にならない
大量のデータを条件によって分けて処理するのはよくあることだからできないとお話にならない
382デフォルトの名無しさん
2018/06/30(土) 18:59:47.95ID:Zdmuabpa この問題みてて、そういえばStreamって分岐できないんだよなぁ、
ってことを思った。
ってことを思った。
383デフォルトの名無しさん
2018/06/30(土) 20:08:19.22ID:SNP/nySb 今2週目をやってみたのですが、昨日のことがウソのように
スラスラと解けました
こんな簡単な問題に頭を抱えて悩んでいる人たちがいると思うと、笑えてきますね
プログラムって、ちょろいかもしれません
スラスラと解けました
こんな簡単な問題に頭を抱えて悩んでいる人たちがいると思うと、笑えてきますね
プログラムって、ちょろいかもしれません
384デフォルトの名無しさん
2018/06/30(土) 20:14:34.40ID:F25j7Nhc よかったね(棒)
385デフォルトの名無しさん
2018/06/30(土) 20:49:57.22ID:jGkoPtEg がんがれ
386デフォルトの名無しさん
2018/06/30(土) 21:02:19.65ID:ZTLc6SDl 俺もjava始めたばっかりの初心者なんだがこの問題解けないわ
387デフォルトの名無しさん
2018/07/01(日) 04:20:22.19ID:jYTqh5wD なんだかなあー
388デフォルトの名無しさん
2018/07/01(日) 12:11:03.57ID:oSgDfxs0 Java少し前に始めたけどprogateより参考書読んだ方が圧倒的に理解できるぞ
始めるきっかけでprogateは悪くはないと思うけど
始めるきっかけでprogateは悪くはないと思うけど
389デフォルトの名無しさん
2018/07/01(日) 14:26:54.09ID:yaDvqYhr 参考書を読む、試す、の繰り返しで良いんではないかな。
390デフォルトの名無しさん
2018/07/02(月) 02:35:42.18ID:M/CoMLX8 余計に難しくしたりして
https://paiza.io/projects/bYleHtpEAoWpjbnGsIOBiQ
https://paiza.io/projects/bYleHtpEAoWpjbnGsIOBiQ
391デフォルトの名無しさん
2018/07/02(月) 08:23:40.31ID:G0LOf4TF スッキリわかるjava入門の命令実行の文の所の後半よくわからないんですが
読み飛ばしても後々問題ないですか?
読み飛ばしても後々問題ないですか?
392デフォルトの名無しさん
2018/07/02(月) 09:02:02.26ID:Wn9e2nCl 問題なし
393デフォルトの名無しさん
2018/07/02(月) 09:42:59.20ID:/q8FZihl その本に何が書いてあるかわからないので読み飛ばして良いかどうかもわからない。
その本が出る前に初心者ではなくなってしまったのでその本をこれから買う気は起きない。
その本が出る前に初心者ではなくなってしまったのでその本をこれから買う気は起きない。
394デフォルトの名無しさん
2018/07/02(月) 09:47:04.17ID:HD8gmjU2 JVMが実行されるときにパイプライン上で分岐が生じるかどうかを聞いてるのだと思うけど(すげー適当)
395デフォルトの名無しさん
2018/07/02(月) 10:23:37.86ID:G0LOf4TF >>393
すいません。この本はjavaの初心者入門書で
System.out.println();←こんな感じの命令実行文の説明してる章(第2章)みたいなんですけど何を伝えたいのかよく分からなくて^^;
他にもSystem.out.printとかint. =Math.max (?)のこととか書かれてるんですけど…
こういう命令文もあるんだ〜程度に覚えて次に進んでも問題ないですかね・・それともガッツリ覚えてから行かないとどっかで躓きますかね・・・
すいません。この本はjavaの初心者入門書で
System.out.println();←こんな感じの命令実行文の説明してる章(第2章)みたいなんですけど何を伝えたいのかよく分からなくて^^;
他にもSystem.out.printとかint. =Math.max (?)のこととか書かれてるんですけど…
こういう命令文もあるんだ〜程度に覚えて次に進んでも問題ないですかね・・それともガッツリ覚えてから行かないとどっかで躓きますかね・・・
396デフォルトの名無しさん
2018/07/02(月) 11:34:34.56ID:9wGdj7CA Ruby で書くと、
puts "あいう"
画面表示するだけの関数だから、一々、覚えなくてよい
puts "あいう"
画面表示するだけの関数だから、一々、覚えなくてよい
397デフォルトの名無しさん
2018/07/02(月) 11:57:56.38ID:G0LOf4TF ここが命令を実行させる文とだけ覚えておけば問題ないですか・・ね
初心者すぎる質問でしたが答えていただきありがとうございました
初心者すぎる質問でしたが答えていただきありがとうございました
398デフォルトの名無しさん
2018/07/02(月) 12:27:22.30ID:HeCnpISr 良くできた本は最初から順にひとつづつ読んでいくのが一番良い。
このタイプの良本は教科書やロングセラーに多い。
適当に思い付きを並べた糞本は順に読んでも意味がない。
というかどう読んでも意味がない。
このタイプの良本は教科書やロングセラーに多い。
適当に思い付きを並べた糞本は順に読んでも意味がない。
というかどう読んでも意味がない。
399デフォルトの名無しさん
2018/07/02(月) 12:30:28.20ID:lnZ1z9Nk 良くできた本とは?
400デフォルトの名無しさん
2018/07/02(月) 12:31:28.49ID:HeCnpISr >>399
たとえばドラゴンブックはよくできた本の一つだな。
たとえばドラゴンブックはよくできた本の一つだな。
401デフォルトの名無しさん
2018/07/02(月) 12:44:32.96ID:7ATQpDYX 普通はわからない所が出てきたら手前の方のページに説明が書いてあると思うのでそれ見れば良い。
必ずしもそうとは限らないが。その場合は索引見ればいいかな。
必ずしもそうとは限らないが。その場合は索引見ればいいかな。
402デフォルトの名無しさん
2018/07/02(月) 13:03:39.93ID:CzcwSgJn その章の冒頭にどういった意図で内容を説明しているとか書いてないのん?
403デフォルトの名無しさん
2018/07/02(月) 15:34:52.77ID:6MU/ELtX >適当に思い付きを並べた糞本は順に読んでも意味がない。
Effective Javaのことか?w
Effective Javaのことか?w
404デフォルトの名無しさん
2018/07/03(火) 13:59:37.26ID:CyvRpAiw System.out.printlnはその本の後半で説明してるれるから飛ばしても問題ないよ
自分もその本の読んだけど個人的にはモウチョイ詳しく書いてほしかったな
printとprintlnの違いについてすら書いてなかったし
自分もその本の読んだけど個人的にはモウチョイ詳しく書いてほしかったな
printとprintlnの違いについてすら書いてなかったし
405デフォルトの名無しさん
2018/07/04(水) 21:56:46.88ID:gFgZc5FG NJG
406デフォルトの名無しさん
2018/07/05(木) 16:27:14.96ID:AeL6VB/V NJG
407デフォルトの名無しさん
2018/07/07(土) 16:05:41.45ID:aa52jsH+ よろしくお願いします
public class HelloSampleActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
(略)
Button btClick=findViewById(R.id.btClick);
AListener listener=new AListener();
btClick.setOnClickListener(listener);
}
private class AListener implements View.OnClickListener{
@Override
public void onClick(View view){
}
}
}
onCreateメソッド内のsetOnClickListenerに関しての質問です。
Button型のインスタンス btClickが、なぜ(どうやって?)set.OnClickListenerメソッドを使えるようになっているのでしょうか?
public class HelloSampleActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
(略)
Button btClick=findViewById(R.id.btClick);
AListener listener=new AListener();
btClick.setOnClickListener(listener);
}
private class AListener implements View.OnClickListener{
@Override
public void onClick(View view){
}
}
}
onCreateメソッド内のsetOnClickListenerに関しての質問です。
Button型のインスタンス btClickが、なぜ(どうやって?)set.OnClickListenerメソッドを使えるようになっているのでしょうか?
408デフォルトの名無しさん
2018/07/07(土) 16:09:36.17ID:JIJEiIS6409デフォルトの名無しさん
2018/07/07(土) 16:11:02.58ID:d6cBu3i8 >>407
スレチ
スレチ
410デフォルトの名無しさん
2018/07/07(土) 16:19:54.19ID:9/rBHklo >>407
ButtonがViewを継承してるからじゃねっすか
ButtonがViewを継承してるからじゃねっすか
411デフォルトの名無しさん
2018/07/08(日) 11:19:35.63ID:Lc8bP1H3412デフォルトの名無しさん
2018/07/08(日) 20:49:11.79ID:jlZqZIEk ラズパイ+Netbeans+JavaFXでGUIアプリを作りたいんですけど、どうしても環境が作れません。
https://netbeans.org/kb/73/java/javafx-setup_ja.html
ここに従って新しいJavaプラットフォームを作るように言われて作るのですが、JavaFXタブがありません。
上記の環境を構築できた方いらっしゃらないでしょうか。
https://netbeans.org/kb/73/java/javafx-setup_ja.html
ここに従って新しいJavaプラットフォームを作るように言われて作るのですが、JavaFXタブがありません。
上記の環境を構築できた方いらっしゃらないでしょうか。
413デフォルトの名無しさん
2018/07/08(日) 21:20:13.85ID:ijnRC5hf >>412
javaFxとかやめとけ
javaFxとかやめとけ
414デフォルトの名無しさん
2018/07/08(日) 21:51:32.10ID:jlZqZIEk415デフォルトの名無しさん
2018/07/08(日) 22:05:34.71ID:ijnRC5hf >>414
javaでGUIとかやめとけ
javaでGUIとかやめとけ
416デフォルトの名無しさん
2018/07/08(日) 22:06:11.29ID:i8SXyieH NetBeansとかIntelliJ IDEAとかはSwing製なので
まだまだイケるんじゃないかな
まだまだイケるんじゃないかな
417デフォルトの名無しさん
2018/07/08(日) 22:09:01.70ID:ijnRC5hf >>416
やめてさしあげろ
やめてさしあげろ
418デフォルトの名無しさん
2018/07/08(日) 22:20:42.99ID:jlZqZIEk やめとか、以外で実現方法の知識がある方いましたらお願いいたします。
419デフォルトの名無しさん
2018/07/08(日) 23:31:34.26ID:XkcpXb4y 普通にHTMLでよくね?
配布するならElectronとかでバッケージ化したくなるけど、
ラズパイならどうせ固定用途だろうからローカルサーバーで何の問題もないでしょ
配布するならElectronとかでバッケージ化したくなるけど、
ラズパイならどうせ固定用途だろうからローカルサーバーで何の問題もないでしょ
420デフォルトの名無しさん
2018/07/08(日) 23:32:43.59ID:Sc2HkkvQ ラズパイって何するんですか…?
電気工作?
ロボットでも作るんかね
電気工作?
ロボットでも作るんかね
421デフォルトの名無しさん
2018/07/08(日) 23:36:30.10ID:jlZqZIEk422デフォルトの名無しさん
2018/07/08(日) 23:38:58.97ID:toxXARvC JavaでGUIか
JavaFXのWebViewのみを使ってElectronみたいなのはアリかもな
Electronとの違いはJavaScriptではなくJavaで書けること
JavaFXのWebViewのみを使ってElectronみたいなのはアリかもな
Electronとの違いはJavaScriptではなくJavaで書けること
423デフォルトの名無しさん
2018/07/09(月) 00:00:21.92ID:QE5s+I3Z >>421
なぜ今から負の遺産を作ろうとするの?
なぜ今から負の遺産を作ろうとするの?
424デフォルトの名無しさん
2018/07/09(月) 00:09:15.98ID:AUfS73UG ラズパイだとnode-redとかじゃねーかな
javascriptとcになっちゃうけど
javascriptとcになっちゃうけど
425デフォルトの名無しさん
2018/07/09(月) 06:48:47.54ID:wOPKveTX >>421
何ができないんだろう?
Spring Bootとかで普通にWebアプリとして作れば裏側はJavaで書けるしローカルで完結して動かすこともできるしライブラリがあればGPIOも使える
条件は完全に満たしてる
Javaのクライアントテクノロジなんて今から絶対に手を出してはいけない
何ができないんだろう?
Spring Bootとかで普通にWebアプリとして作れば裏側はJavaで書けるしローカルで完結して動かすこともできるしライブラリがあればGPIOも使える
条件は完全に満たしてる
Javaのクライアントテクノロジなんて今から絶対に手を出してはいけない
426デフォルトの名無しさん
2018/07/09(月) 13:53:15.39ID:RPo/jFjY 今は、クライアントを、Java にはしない
Ruby, Python, Java など、すべての言語で、HTML, CSS, JavaScript。
どのフレームワークでもそう
Rails でも、Node.js が必須。
jQuery, Vue.js とか
電子工作なら、Python
Ruby, Python, Java など、すべての言語で、HTML, CSS, JavaScript。
どのフレームワークでもそう
Rails でも、Node.js が必須。
jQuery, Vue.js とか
電子工作なら、Python
427デフォルトの名無しさん
2018/07/09(月) 14:01:10.35ID:RPo/jFjY 5ch ブラウザなど、Java で画面を作っているアプリもあるけど、
結局、誰も保守できなくなるから、開発者がいなくなる
こういうのを技術的負債と言う
君「誰か、JavaでGUI を作れる人、いませんか?」
全員「いません!」w
結局、誰も保守できなくなるから、開発者がいなくなる
こういうのを技術的負債と言う
君「誰か、JavaでGUI を作れる人、いませんか?」
全員「いません!」w
428デフォルトの名無しさん
2018/07/09(月) 14:52:34.10ID:5GBDda87 5chの専ブラは2chの頃にクローズドにしてフリーソフト閉め出したという特殊な事情があるからここで挙げる例としては適切ではないと思う。
429デフォルトの名無しさん
2018/07/09(月) 16:11:42.84ID:OMEWQnbN これまじでいい
https://goo.gl/uAcy7u
https://goo.gl/uAcy7u
430デフォルトの名無しさん
2018/07/09(月) 16:32:18.13ID:DEtXSfUS >>421
知恵遅れで聞け厨房
知恵遅れで聞け厨房
431デフォルトの名無しさん
2018/07/09(月) 16:36:36.00ID:H+d2FLX/ 基本情報とりたいし、phpとかrubyじゃなくてjavaやろうと思うんだがこれでいいの?CtoCのWebサービス作りたい
432デフォルトの名無しさん
2018/07/09(月) 16:54:57.75ID:49BAkqpD >>431
できなくはない
適切な答えを返すためには質問がいくつかある
・なぜ基本情報を取りたいのか?
・基本情報を取るかwebサービスを作るかどちらしかできないとしたらどちらをやる?
・html、css、javascriptを深く理解する気があるか否か
・そのサービスのスマホ連携の有無
できなくはない
適切な答えを返すためには質問がいくつかある
・なぜ基本情報を取りたいのか?
・基本情報を取るかwebサービスを作るかどちらしかできないとしたらどちらをやる?
・html、css、javascriptを深く理解する気があるか否か
・そのサービスのスマホ連携の有無
433デフォルトの名無しさん
2018/07/09(月) 16:56:51.39ID:DEtXSfUS >>432
お前の知識の披露はどうでもいい
お前の知識の披露はどうでもいい
434デフォルトの名無しさん
2018/07/09(月) 17:03:21.82ID:H+d2FLX/ >>432
・基本情報は就職用。
・どっちかだけっていうならwebサービスを作りたい。
・html/cssは一通り勉強した。あれを深く理解するっていうのの意味がわからない…
・スマホとは連携させたい。
同じような自問をしたことがあるけど、やっぱり基本情報は表計算で乗り切ってphpとか勉強した方が良いんだろうか…
・基本情報は就職用。
・どっちかだけっていうならwebサービスを作りたい。
・html/cssは一通り勉強した。あれを深く理解するっていうのの意味がわからない…
・スマホとは連携させたい。
同じような自問をしたことがあるけど、やっぱり基本情報は表計算で乗り切ってphpとか勉強した方が良いんだろうか…
435デフォルトの名無しさん
2018/07/09(月) 17:09:23.33ID:49BAkqpD436デフォルトの名無しさん
2018/07/09(月) 17:12:52.53ID:H+d2FLX/ >>435
webかなあ
webかなあ
437デフォルトの名無しさん
2018/07/09(月) 17:17:21.98ID:DEtXSfUS 夏厨の季節
438デフォルトの名無しさん
2018/07/09(月) 17:18:59.36ID:49BAkqpD >>436
OK
そうするとお前が学ぶ意味があるのはphpかrubyで間違いない
基本情報の資格はお前のキャリアに必要ない。当然javaに手を出す必要もない
ただしjavaやって資格取って業務系で食うよりも人生の難易度は上がるだろう
何か質問はある?
OK
そうするとお前が学ぶ意味があるのはphpかrubyで間違いない
基本情報の資格はお前のキャリアに必要ない。当然javaに手を出す必要もない
ただしjavaやって資格取って業務系で食うよりも人生の難易度は上がるだろう
何か質問はある?
439デフォルトの名無しさん
2018/07/09(月) 17:22:25.10ID:H+d2FLX/ >>438
特にない。ハードモード楽しみます。参考になりますた。
特にない。ハードモード楽しみます。参考になりますた。
440デフォルトの名無しさん
2018/07/09(月) 18:38:38.94ID:w6/Jy163 どや
441デフォルトの名無しさん
2018/07/09(月) 18:54:45.22ID:rKnQV5/G いやWeb系でも自社事業やってるようなとこだとJavaや.NET使ってるのも珍しくないぞ
Web制作に近いようなとこより、大抵そういうとこの方が金払いいいし技術レベルも高い
Web制作に近いようなとこより、大抵そういうとこの方が金払いいいし技術レベルも高い
442デフォルトの名無しさん
2018/07/09(月) 19:13:17.65ID:Tspph/eO そんなとこ一握りしか入れないでしょ
443デフォルトの名無しさん
2018/07/09(月) 19:24:11.29ID:mEAcYnRs その一握りに入れないならWeb系に行く意味なんかないでしょ
大したスキルもなく裁量もなくゴミのような単価でクソを垂れ流すだけ
業務系の方が遥かにマシだ
大したスキルもなく裁量もなくゴミのような単価でクソを垂れ流すだけ
業務系の方が遥かにマシだ
444デフォルトの名無しさん
2018/07/09(月) 20:00:35.79ID:YKnsTZY9 IT土方を増やすゴミ
445デフォルトの名無しさん
2018/07/09(月) 20:47:54.96ID:UfJ//8VP 無職が答えるIT進路相談
446デフォルトの名無しさん
2018/07/09(月) 21:27:57.70ID:qFtb42UW >>441
Javaと.NETをひとくくりにしない方がいい
Javaと.NETをひとくくりにしない方がいい
447jlZqZIEk
2018/07/09(月) 21:50:21.93ID:AGPubLJK もう諦めてSwingで書くことにしました
JavaFX、NetBeans、RaspberryPiで検索すると海外でも同じことで悩んでいる人がいるみたいだけど、
どうにもならないみたいですので
みなさん、ありがとうございました。
JavaFX、NetBeans、RaspberryPiで検索すると海外でも同じことで悩んでいる人がいるみたいだけど、
どうにもならないみたいですので
みなさん、ありがとうございました。
448デフォルトの名無しさん
2018/07/09(月) 22:19:29.31ID:pecpw2yU >>446
Java土方と.NET土方にレベル差なんてないよ
Java土方と.NET土方にレベル差なんてないよ
449デフォルトの名無しさん
2018/07/09(月) 23:17:51.97ID:QE5s+I3Z >>448
Java土方おつ
Java土方おつ
450デフォルトの名無しさん
2018/07/10(火) 06:54:08.49ID:wRoCk71p451デフォルトの名無しさん
2018/07/10(火) 07:44:34.52ID:LbQkaO6y >>431-439
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014
基本情報処理なら、スッキリで十分だろ
その後「たのしいRuby 第5版、2016」を読んで、
無料のRails チュートリアルをやる
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014
基本情報処理なら、スッキリで十分だろ
その後「たのしいRuby 第5版、2016」を読んで、
無料のRails チュートリアルをやる
452デフォルトの名無しさん
2018/07/10(火) 09:20:13.80ID:yvVWnyin >>451
お前自覚ないかもしれないけど知的障害者だから精神科行ったほうが良い
お前自覚ないかもしれないけど知的障害者だから精神科行ったほうが良い
453デフォルトの名無しさん
2018/07/10(火) 09:26:50.98ID:lWNPDM52454デフォルトの名無しさん
2018/07/10(火) 11:08:35.50ID:4FJ8yfil と火曜の9:30に会社から書き込みをしている社蓄が申しております
455デフォルトの名無しさん
2018/07/10(火) 12:53:17.79ID:lacLn2e2 9:30なら俺はまだ通勤の電車の中だな
456デフォルトの名無しさん
2018/07/10(火) 14:04:41.34ID:O9mvfp6X >>452
さわっちゃだめw
さわっちゃだめw
457デフォルトの名無しさん
2018/07/11(水) 21:35:10.75ID:sDWfv/VL mainメソッド内の処理において、ポリモーフィズムでnewの使い分けする時ってif文使わない方が良い?
やはりファクトリクラス作って、ファクトリのメソッド内でif文使うべきなのか?
やはりファクトリクラス作って、ファクトリのメソッド内でif文使うべきなのか?
458デフォルトの名無しさん
2018/07/12(木) 09:34:46.57ID:nIR9VMIg 規模や使用頻度によるのでは?
459デフォルトの名無しさん
2018/07/12(木) 10:58:16.24ID:4F2HS+4d 良いか悪いかで行ったら、別に構わない
460デフォルトの名無しさん
2018/07/12(木) 11:40:10.49ID:BouHXjkD まとめるとどうでもいい
461デフォルトの名無しさん
2018/07/13(金) 01:27:43.49ID:xF0Xme8F 返答ありがとう
mainメソッドにif文はあまりつけないべきか悩んでいたのだが、そんなに拘るものでもないのかな
参考になりました
mainメソッドにif文はあまりつけないべきか悩んでいたのだが、そんなに拘るものでもないのかな
参考になりました
462デフォルトの名無しさん
2018/07/13(金) 16:30:20.76ID:GBG+HB3a よろしくお願いします。
Intent intent=getIntent();
String stdNo=intent.getStrintExtra("stdNo");
2行目のintentがインスタンスとして使われてるように見えるのですが
1行目のintent=getIntent();は、getIntent()というメソッドを変数intentに代入して
2行目で代入したgetIntent()のメソッド、getStrintExtra()を使っているということなのでしょか?
Intent intent=getIntent();
String stdNo=intent.getStrintExtra("stdNo");
2行目のintentがインスタンスとして使われてるように見えるのですが
1行目のintent=getIntent();は、getIntent()というメソッドを変数intentに代入して
2行目で代入したgetIntent()のメソッド、getStrintExtra()を使っているということなのでしょか?
463デフォルトの名無しさん
2018/07/13(金) 16:37:43.58ID:7jgvez+k Javaではメソッドを変数に代入することはできない
getIntent()はIntentのインスタンスをreturnするメソッドなんだろ
getStrintExtra()でStringのインスタンスがreturnされてきて変数stdNoに入ってる二行目と一緒やん?
getIntent()はIntentのインスタンスをreturnするメソッドなんだろ
getStrintExtra()でStringのインスタンスがreturnされてきて変数stdNoに入ってる二行目と一緒やん?
464デフォルトの名無しさん
2018/07/13(金) 16:49:49.29ID:GBG+HB3a465デフォルトの名無しさん
2018/07/13(金) 19:55:16.73ID:RuIPz3dA 考え方が完全に間違ってる
回答してる方も知識不足
回答してる方も知識不足
466デフォルトの名無しさん
2018/07/13(金) 20:01:27.97ID:DcLn1CNl 文句があるなら今からでも君が答えなさい
467デフォルトの名無しさん
2018/07/14(土) 00:49:26.90ID:Qt+zgvv2 jdk11でjavafxが分離されるという話があるけど、
アプリにjavafxのライブラリを同梱するという形態になるんですか?
アプリにjavafxのライブラリを同梱するという形態になるんですか?
468デフォルトの名無しさん
2018/07/14(土) 01:52:18.14ID:6eX3jxiA >>467
分離じゃなくて廃止ね
オラクルとしては開発を放棄し、OpenJFXだけ残して提供終了
でOpenJFXというのはOracleの開発成果をGPLの下でソースを公開するだけの実体のない組織なので、開発継続の見込みはゼロ
もう無理や
分離じゃなくて廃止ね
オラクルとしては開発を放棄し、OpenJFXだけ残して提供終了
でOpenJFXというのはOracleの開発成果をGPLの下でソースを公開するだけの実体のない組織なので、開発継続の見込みはゼロ
もう無理や
469デフォルトの名無しさん
2018/07/14(土) 06:08:21.38ID:KbpgtKf9 windowsでコマンドライン引数とかコンソールへの出力にユニコード使ってると、正しく処理できないっぽいですが、
そういうのちゃんとやってくれる定番のライブラリとかありますか?
そういうのちゃんとやってくれる定番のライブラリとかありますか?
470デフォルトの名無しさん
2018/07/14(土) 06:22:15.87ID:re2UFOkZ unicodeを使うとな?
471デフォルトの名無しさん
2018/07/14(土) 08:24:20.86ID:rKXc4KlJ >>467
これ俺も気になってる
JavaFXってJARだけでなくDLLなどのネイティブライブラリも必要なので
JavaFX(openjfx)使ったアプリの配布はプラットフォーム別に用意しないといけなくなるのかな?
これ俺も気になってる
JavaFXってJARだけでなくDLLなどのネイティブライブラリも必要なので
JavaFX(openjfx)使ったアプリの配布はプラットフォーム別に用意しないといけなくなるのかな?
472デフォルトの名無しさん
2018/07/14(土) 10:21:43.78ID:zOneeAc4 OpenJDKやOpenJFXに部外者が参加しようと思ったら、私が提供する著作物はオラクル様が自由に使えます
絶対に訴えたりしませんっていう誓約書にサインしなきゃいけない
あれを見直さない限りコミュニティプロジェクトとしての発展はありえない
ただでさえJDK11の件でオラクルに対する不信感が高まってるのに今更誰がオラクルにケツを差し出す気になるだろう
絶対に訴えたりしませんっていう誓約書にサインしなきゃいけない
あれを見直さない限りコミュニティプロジェクトとしての発展はありえない
ただでさえJDK11の件でオラクルに対する不信感が高まってるのに今更誰がオラクルにケツを差し出す気になるだろう
473デフォルトの名無しさん
2018/07/14(土) 12:00:32.99ID:vl2S9Vhv >>472
FAXで送るやつだっけ?
FAXで送るやつだっけ?
474デフォルトの名無しさん
2018/07/14(土) 12:57:15.02ID:Qt+zgvv2 JavaFXのJDKから廃止というのはJREからも廃止ですか?
OpenJDKのインストール方法を調べたらRedHatからダウンロードしろと。
しかもそれは開発者向けでエンドユーザー向けじゃない。
エンドユーザー向けJavaアプリが生き残る方法はあるのか?
OpenJDKのインストール方法を調べたらRedHatからダウンロードしろと。
しかもそれは開発者向けでエンドユーザー向けじゃない。
エンドユーザー向けJavaアプリが生き残る方法はあるのか?
475デフォルトの名無しさん
2018/07/14(土) 13:00:03.16ID:cKSt/K6L 嘘書くなよ
476デフォルトの名無しさん
2018/07/14(土) 13:01:17.39ID:Qt+zgvv2 どれが嘘だと思いましたか?
477デフォルトの名無しさん
2018/07/14(土) 13:11:09.79ID:Qt+zgvv2 エンドユーザー向けのOpenJDKのインストール方法は見つからない。
つまり、環境変数の設定やコマンドラインを必要としないインストール方法が無い。
つまり、環境変数の設定やコマンドラインを必要としないインストール方法が無い。
478デフォルトの名無しさん
2018/07/14(土) 13:19:39.74ID:cKSt/K6L すまん、oracleだね
479デフォルトの名無しさん
2018/07/14(土) 13:23:07.56ID:6PGIbnJP480デフォルトの名無しさん
2018/07/14(土) 13:28:52.18ID:Qt+zgvv2 公式が配布するOpenJDKはtar.gz形式でwindowsの標準機能で解凍できない。
GPL感染はプロセスを超えないそうなので、
OpenJDKをパッケージに同梱してしまうのは解決策になるかもしれない。
その場合、起動スクリプトを組み込む必要があるし、OpenJDKのアップデートにどう対応するのかという問題がある。
windows向けOpenJDKインストーラ&アップデータを誰かが作る事も考えられる。
しかし、公式サイトへのポーリングや自動的なファイルのDLをしていいのかどうか。
GPL感染はプロセスを超えないそうなので、
OpenJDKをパッケージに同梱してしまうのは解決策になるかもしれない。
その場合、起動スクリプトを組み込む必要があるし、OpenJDKのアップデートにどう対応するのかという問題がある。
windows向けOpenJDKインストーラ&アップデータを誰かが作る事も考えられる。
しかし、公式サイトへのポーリングや自動的なファイルのDLをしていいのかどうか。
481デフォルトの名無しさん
2018/07/14(土) 13:30:03.02ID:6PGIbnJP >>469
windows でも cygwin 使ったり wsl 内で動かせば問題なくできるのでは?
ていうかそういうOSとか実行環境の問題をそこの中で動かされるプログラムでなんとかしようというのは考え方がおかしいのではないか?
どうしようもない場合は別としても、やはり実行環境側でやらねばならない事は実行環境側でやるべきだろう。
windows でも cygwin 使ったり wsl 内で動かせば問題なくできるのでは?
ていうかそういうOSとか実行環境の問題をそこの中で動かされるプログラムでなんとかしようというのは考え方がおかしいのではないか?
どうしようもない場合は別としても、やはり実行環境側でやらねばならない事は実行環境側でやるべきだろう。
482デフォルトの名無しさん
2018/07/14(土) 13:38:51.88ID:6PGIbnJP >>480
そういうの主要な Linux ディストリビューションだと悩まなくていいのにな。ネットワーク経由でアップデートする yum だの apt だのがあるから。
Windows には Windows Update があるが、あれはMS専用でMSが受け入れてセットしてくれない限り使えないよな。
そういうの主要な Linux ディストリビューションだと悩まなくていいのにな。ネットワーク経由でアップデートする yum だの apt だのがあるから。
Windows には Windows Update があるが、あれはMS専用でMSが受け入れてセットしてくれない限り使えないよな。
483デフォルトの名無しさん
2018/07/14(土) 13:39:28.58ID:a3ey9pgq ライセンス気にするようなアプリ開発するならOracleと契約結べよw
484デフォルトの名無しさん
2018/07/14(土) 13:44:48.39ID:Qt+zgvv2 本当に自分の中でLinuxの評価が上がってる。
みんなそろそろLinuxデスクトップに移行すべきじゃないか。
ゲームエンジンはLinux向けビルドが出来るし、古いゲームでもおおむねWineで動く。
みんなそろそろLinuxデスクトップに移行すべきじゃないか。
ゲームエンジンはLinux向けビルドが出来るし、古いゲームでもおおむねWineで動く。
485デフォルトの名無しさん
2018/07/14(土) 13:58:16.02ID:LIsDU/xs >>474
スタンドアロンなJREは廃止
Java SE Subscription を契約した上でアプリに同梱して配布するのが正解
価格は、開発環境も実行環境も(!)PC1台一月あたり2.5ドルから
一日10円の御賽銭でオラクル神の手厚いサポートが受けられるんだから安いもんだよね
スタンドアロンなJREは廃止
Java SE Subscription を契約した上でアプリに同梱して配布するのが正解
価格は、開発環境も実行環境も(!)PC1台一月あたり2.5ドルから
一日10円の御賽銭でオラクル神の手厚いサポートが受けられるんだから安いもんだよね
486デフォルトの名無しさん
2018/07/14(土) 14:01:28.17ID:6hlqR+Me Javaの文化変えるなよ、Java終わりか
487デフォルトの名無しさん
2018/07/14(土) 14:06:15.27ID:upwDNa7V リナックスでもマックでもウインドウズでも
動くソフトはこれから何で作ればいいの?
動くソフトはこれから何で作ればいいの?
488デフォルトの名無しさん
2018/07/14(土) 14:15:19.81ID:Qt+zgvv2 OpenJDKを使うしかない。
アプリに同梱するんだが、アップデータもJavaだから、恐らくOpenJDKを2個インストールして、
Aでアップデータを実行してBをアップデート、
次にBでアップデータを実行してAをアップデート、みたいにやるしかないだろうw
アプリに同梱するんだが、アップデータもJavaだから、恐らくOpenJDKを2個インストールして、
Aでアップデータを実行してBをアップデート、
次にBでアップデータを実行してAをアップデート、みたいにやるしかないだろうw
489デフォルトの名無しさん
2018/07/14(土) 14:19:55.25ID:LIsDU/xs >>487
Electron
Electron
490デフォルトの名無しさん
2018/07/14(土) 14:54:39.00ID:Qt+zgvv2 OpenJDK+OpenJFXをアプリ同梱、
起動スクリプトでOpenJFXのDLLにパスを通してOpenJDKからアプリのjar起動。
とかでいける・・・のか
起動スクリプトでOpenJFXのDLLにパスを通してOpenJDKからアプリのjar起動。
とかでいける・・・のか
491デフォルトの名無しさん
2018/07/14(土) 15:09:18.44ID:Qt+zgvv2 JavaでDLLとかのネイティブコードをアプリ毎に用意させるのは例外的で
そういう方法は確立していないし、
JavaFXのようなクライアントソフトで使われる機能は
エンドユーザー環境で構築しなきゃいけないことが多々あるわけで、
全く破滅的としか思えないが、
JavaFXは情熱的で盛り上がっているコミュニティだとか言われてる。
JavaFXはOracleJDKでしかサポートされてなかったがそれが有償化される、
しかも自分が払えばいいだけじゃなくエンドユーザーもオラクルに金払わないと使えない、
やはりクライアントソフトで使われる技術で大量のエンドユーザーが居る事が多い、
JavaFX開発者は一番フェイント食らっただろう。
そういう方法は確立していないし、
JavaFXのようなクライアントソフトで使われる機能は
エンドユーザー環境で構築しなきゃいけないことが多々あるわけで、
全く破滅的としか思えないが、
JavaFXは情熱的で盛り上がっているコミュニティだとか言われてる。
JavaFXはOracleJDKでしかサポートされてなかったがそれが有償化される、
しかも自分が払えばいいだけじゃなくエンドユーザーもオラクルに金払わないと使えない、
やはりクライアントソフトで使われる技術で大量のエンドユーザーが居る事が多い、
JavaFX開発者は一番フェイント食らっただろう。
492デフォルトの名無しさん
2018/07/14(土) 15:37:51.51ID:gXqo7TYC 予想だにしない事態
493デフォルトの名無しさん
2018/07/14(土) 15:42:21.59ID:4RxIMQwD GUI は、HTML, JavaScript が基本。
Rails でもそう。Vue.js でも使えば?
>>480
ファイルの圧縮解凍なら、7-zip を使えば?
Windows のパッケージマネージャーなら、
NuGet, Chocolatey, Microsoft Web Platform Installer, Scoop とか
Windows10 では、NuGet, Chocolatey を使った、
MS 製のPackageManagement(OneGet)が標準搭載された
Rails でもそう。Vue.js でも使えば?
>>480
ファイルの圧縮解凍なら、7-zip を使えば?
Windows のパッケージマネージャーなら、
NuGet, Chocolatey, Microsoft Web Platform Installer, Scoop とか
Windows10 では、NuGet, Chocolatey を使った、
MS 製のPackageManagement(OneGet)が標準搭載された
494デフォルトの名無しさん
2018/07/14(土) 16:15:15.01ID:Qt+zgvv2 解凍処理はアップデータが動作できてる時点でなんかライブラリ使えばいいんだけど。
DLLの問題は、JNIのDLLロードと違って、JavaFXはエントリーポイントからJavaFXのクラスだから、
起動前にDLLのパスが分かっている必要がある。
だから、起動スクリプトでやることになるだろう。
しかし起動スクリプトはOS毎に用意する必要があり、Javaのメリットが薄れる。
もしオラクルがJDK11で何かそのあたりの対策を発表しなかったら、杜撰としか言いようがない。
DLLの問題は、JNIのDLLロードと違って、JavaFXはエントリーポイントからJavaFXのクラスだから、
起動前にDLLのパスが分かっている必要がある。
だから、起動スクリプトでやることになるだろう。
しかし起動スクリプトはOS毎に用意する必要があり、Javaのメリットが薄れる。
もしオラクルがJDK11で何かそのあたりの対策を発表しなかったら、杜撰としか言いようがない。
495デフォルトの名無しさん
2018/07/14(土) 16:28:29.02ID:gXqo7TYC eclipse辺りに移行すんだろ
496デフォルトの名無しさん
2018/07/14(土) 16:40:59.62ID:40AkJIOi swtのことであると超良心的に解釈
497デフォルトの名無しさん
2018/07/14(土) 17:04:10.87ID:Qt+zgvv2 https://www.gnu.org/licenses/gpl-faq.ja.html#IfInterpreterIsGPL
>しかし、インタープリタが他の機能(多くの場合ライブラリですが、
ライブラリである必要はありません)への「バインディング」を提供するように
拡張されている場合、解釈されるプログラムはバインディングを使うことによって
事実上それらの機能とリンクされることになります。ですから、
もしそういった機能がGPLのもとでリリースされているならば、
機能を利用している解釈されるプログラムはGPLと両立する形で
リリースされなければなりません。
OpenJDK、OpenJFXはリンク例外がついているので、
アプリに同梱しても非GPLを維持できる、と思う。
こっそりリンク例外が取り外されたりしないか注意しておく必要がある。
やはり、アプリ同梱作戦で何とか乗り切れるだろう。
Swingにすればjfx問題は無いんだが、結局oracleJDKが有償化されるから
アプリ同梱作戦は必要だから、さほど楽になるわけではない。
javaFX自体はかなり良い印象があるし。
>しかし、インタープリタが他の機能(多くの場合ライブラリですが、
ライブラリである必要はありません)への「バインディング」を提供するように
拡張されている場合、解釈されるプログラムはバインディングを使うことによって
事実上それらの機能とリンクされることになります。ですから、
もしそういった機能がGPLのもとでリリースされているならば、
機能を利用している解釈されるプログラムはGPLと両立する形で
リリースされなければなりません。
OpenJDK、OpenJFXはリンク例外がついているので、
アプリに同梱しても非GPLを維持できる、と思う。
こっそりリンク例外が取り外されたりしないか注意しておく必要がある。
やはり、アプリ同梱作戦で何とか乗り切れるだろう。
Swingにすればjfx問題は無いんだが、結局oracleJDKが有償化されるから
アプリ同梱作戦は必要だから、さほど楽になるわけではない。
javaFX自体はかなり良い印象があるし。
498デフォルトの名無しさん
2018/07/14(土) 17:09:59.99ID:FtH+pgzS 今更騒いでもなあ
Oracleに買われた時点でクライアントJavaに未来がないことなんか分かりきってたでしょ
次は乗る船を間違えないこと、間違えたと分かったらすぐに降りること
だいじなことだぞ
Oracleに買われた時点でクライアントJavaに未来がないことなんか分かりきってたでしょ
次は乗る船を間違えないこと、間違えたと分かったらすぐに降りること
だいじなことだぞ
499デフォルトの名無しさん
2018/07/14(土) 17:14:54.56ID:Qt+zgvv2 まだJavaで正解だったとは思ってんだよなあ
500デフォルトの名無しさん
2018/07/14(土) 17:30:58.33ID:Q0JU5eRb あるライブラリを使う必要が出てきて、C++用のがなくて、C#にするかJavaにするか迷って、結局Javaにしたんだけど、道を誤ったか。
また環境構築や言語の勉強に何か月もかけるなんて、うんざりするわ。
また環境構築や言語の勉強に何か月もかけるなんて、うんざりするわ。
501デフォルトの名無しさん
2018/07/14(土) 17:51:59.42ID:gXqo7TYC FXだけだろ
502デフォルトの名無しさん
2018/07/17(火) 19:12:47.68ID:sYfkxtZj >また環境構築や言語の勉強に何か月もかけるなんて
なんでそんなに時間掛かるの?
二つ目以降でそんなに時間掛かるとしたら能力無さすぎ。
なんでそんなに時間掛かるの?
二つ目以降でそんなに時間掛かるとしたら能力無さすぎ。
503デフォルトの名無しさん
2018/07/17(火) 19:36:53.79ID:FdTz4k3A >>502
Javaを見限ったくらいでそんなに怒らないでよ、ジャバラーさん(笑)
Javaを見限ったくらいでそんなに怒らないでよ、ジャバラーさん(笑)
504デフォルトの名無しさん
2018/07/17(火) 19:45:05.49ID:lbJGoJLr 伸びたり縮んだりしそうだな
505デフォルトの名無しさん
2018/07/17(火) 20:23:05.97ID:xA2MutdF 配列も自由に伸び縮みしてほしい
506デフォルトの名無しさん
2018/07/17(火) 20:35:07.91ID:uV16APrp うまいこといった、座布団一枚山田君
507デフォルトの名無しさん
2018/07/17(火) 20:53:49.04ID:BDOR0qc4508デフォルトの名無しさん
2018/07/17(火) 20:57:13.31ID:KCeYVDaR javaはOS環境の細かいこと覚えなくていいから楽だよな
509デフォルトの名無しさん
2018/07/17(火) 21:20:10.72ID:lbJGoJLr Javaそのものは楽だがライブラリが多くて最初は何をやる時に何を使ったら良いかよく分からなくて大変かも。
わからなくて自作してしばらくしてからライブラリの中から発見するとかなw
わからなくて自作してしばらくしてからライブラリの中から発見するとかなw
510デフォルトの名無しさん
2018/07/17(火) 21:22:14.95ID:fsANPbWs >>507
それを◆BrBq2CJg6HGdに言い聞かせていただけますか
それを◆BrBq2CJg6HGdに言い聞かせていただけますか
511デフォルトの名無しさん
2018/07/17(火) 21:30:04.34ID:WkP7uW+n Javaは完ぺきな言語に見えたけど、色々建て増しして便利にはなったけど当初の完全さが失われていったな。
512デフォルトの名無しさん
2018/07/17(火) 22:04:55.58ID:kkggISKf そうかな?
俺が使い始めた頃は重くて使い物にならんってのが評価だったような
俺が使い始めた頃は重くて使い物にならんってのが評価だったような
513デフォルトの名無しさん
2018/07/18(水) 04:38:41.12ID:md6d4tqx せやね、セキュリティもがちがちだったし
514デフォルトの名無しさん
2018/07/18(水) 08:20:05.70ID:WrUVLEXC C#でいいよ
速いし楽だしMicrosoftの安心感最高
速いし楽だしMicrosoftの安心感最高
515デフォルトの名無しさん
2018/07/18(水) 08:35:05.13ID:ouSD5X5G ハハワロスwww
516デフォルトの名無しさん
2018/07/18(水) 08:56:30.75ID:2isplW6I スレチ、おま宗
517デフォルトの名無しさん
2018/07/18(水) 09:10:55.41ID:qdiAbYc/ 正直オラクルに比べたら100倍マシ
今は亡きJ#のように、Javaを.NET Core上に実装してみんなで移住するのが一番幸せな形だと思うわ
オラクルはAPIの著作権とかいう謎ワードで潰しにくるだろうけど
今は亡きJ#のように、Javaを.NET Core上に実装してみんなで移住するのが一番幸せな形だと思うわ
オラクルはAPIの著作権とかいう謎ワードで潰しにくるだろうけど
518デフォルトの名無しさん
2018/07/18(水) 09:53:18.89ID:9IEVAZpR >>512
Java Applet がブラウザで動いたお陰で世に広まりはしたが初期化で時間が掛かりすぎ、そのため Java は遅いという印象もより多くの人に広めることになってしまったのではないかと思う。
そして確か1998年にはLinusがJavaは死んだと言っている。20年前だ。確かにPCのデスクトップ環境では死んだも同然だった。
まあしかしLinuxもクライアント環境としては市場に受け入れられず死んだも同然で、みんなしてサーバや組み込み機器に逃れた感じではある。
クライアント環境でのLinuxとJavaはAndroidとしてスマホに組み込まれなければこんなに広まることはなかったかも知れない。
Java Applet がブラウザで動いたお陰で世に広まりはしたが初期化で時間が掛かりすぎ、そのため Java は遅いという印象もより多くの人に広めることになってしまったのではないかと思う。
そして確か1998年にはLinusがJavaは死んだと言っている。20年前だ。確かにPCのデスクトップ環境では死んだも同然だった。
まあしかしLinuxもクライアント環境としては市場に受け入れられず死んだも同然で、みんなしてサーバや組み込み機器に逃れた感じではある。
クライアント環境でのLinuxとJavaはAndroidとしてスマホに組み込まれなければこんなに広まることはなかったかも知れない。
519デフォルトの名無しさん
2018/07/18(水) 11:17:49.53ID:ouSD5X5G >>517
30億のデバイスで使われてるんだが?
30億のデバイスで使われてるんだが?
520デフォルトの名無しさん
2018/07/18(水) 11:18:55.86ID:ouSD5X5G ロンドン証券取引所で大失敗したドトネトは信用できぬ
521デフォルトの名無しさん
2018/07/18(水) 11:32:18.31ID:7RCNVxRQ522デフォルトの名無しさん
2018/07/18(水) 12:06:42.81ID:tghCYv44 失敗例でいうとJavaはあちこちで失敗してるね
日常すぎてわざわざ話題にならんけど
日常すぎてわざわざ話題にならんけど
523デフォルトの名無しさん
2018/07/18(水) 12:37:19.55ID:ouSD5X5G524デフォルトの名無しさん
2018/07/18(水) 13:33:17.95ID:9IEVAZpR Write once, Bug anywhere.
OS毎にバグの入り具合が違う。
OS毎にバグの入り具合が違う。
525デフォルトの名無しさん
2018/07/18(水) 13:55:40.65ID:imuZ+lX2 初心者質問で恐縮ですが、世間様では初期化不要なコンストラクタも一応書くのでしょうか?省略するのでしょうか?
派遣の年上の人からルールだから書けと言われ気になりまして
派遣の年上の人からルールだから書けと言われ気になりまして
526デフォルトの名無しさん
2018/07/18(水) 14:24:01.60ID:JHZwBCBg >>523
だからわざわざ話題にするほど珍しくないってことだよ
だからわざわざ話題にするほど珍しくないってことだよ
527デフォルトの名無しさん
2018/07/18(水) 15:01:03.41ID:hQiorlXz IBMとかしょっちゅう失敗してるな
528デフォルトの名無しさん
2018/07/18(水) 15:09:29.88ID:ouSD5X5G >>526
失敗例ないじゃんw
失敗例ないじゃんw
529デフォルトの名無しさん
2018/07/18(水) 15:10:24.92ID:ouSD5X5G Javaの有名な失敗例を一つでもいいから挙げてみろよ
530デフォルトの名無しさん
2018/07/18(水) 15:11:32.95ID:ouSD5X5G531デフォルトの名無しさん
2018/07/18(水) 15:13:11.38ID:ouSD5X5G 伊達に30億のデバイスで動いてるわけじゃねえぞ
てめえらあんま舐めてっとあれだからな
てめえらあんま舐めてっとあれだからな
532デフォルトの名無しさん
2018/07/18(水) 15:14:21.70ID:ouSD5X5G >>525
一般的には書かなくていいものは書かない
一般的には書かなくていいものは書かない
533デフォルトの名無しさん
2018/07/18(水) 15:35:58.01ID:6/qiKP15534デフォルトの名無しさん
2018/07/18(水) 16:30:02.33ID:4ELcifB5 ぺろぺろ
535デフォルトの名無しさん
2018/07/18(水) 17:47:21.24ID:ouSD5X5G あんあん!
536デフォルトの名無しさん
2018/07/18(水) 17:57:49.02ID:OmO21Xy3 なんとかぎゃふんといわせたい(笑)
>派遣の年上の人からルールだから書けと言われ気になりまして
>派遣の年上の人からルールだから書けと言われ気になりまして
537デフォルトの名無しさん
2018/07/18(水) 20:28:43.76ID:E4ArJsFy 8月からIT企業に入社します
研修があるので、早めに予習しておきたいのですが
開発環境をどうしたらいいか困ってます
VBAでjavaをすると電話で聞いたのですが
見たところjavascriptでしか見たらず、開発環境はイクリプスでしかネットでも記事が出てきません
VBAで開発環境にしている方はどのように行ってますでしょうか
研修があるので、早めに予習しておきたいのですが
開発環境をどうしたらいいか困ってます
VBAでjavaをすると電話で聞いたのですが
見たところjavascriptでしか見たらず、開発環境はイクリプスでしかネットでも記事が出てきません
VBAで開発環境にしている方はどのように行ってますでしょうか
538デフォルトの名無しさん
2018/07/18(水) 20:39:16.63ID:U6m34nVN 次の仕事を探す
539デフォルトの名無しさん
2018/07/18(水) 20:39:56.57ID:3T+bsJq5540デフォルトの名無しさん
2018/07/19(木) 00:23:47.65ID:WcB0Ld3E541デフォルトの名無しさん
2018/07/19(木) 00:47:04.50ID:I2KiLRYY VBAからJavaで作ったアプリを起動する…とかなのか?
VBAやるならMSExcelが必要
VBAやるならMSExcelが必要
542デフォルトの名無しさん
2018/07/19(木) 07:30:41.13ID:X7flfBN8543デフォルトの名無しさん
2018/07/19(木) 07:39:20.31ID:B62Oo3TM >>542
仕事の規模にもよるが、ソースコードを保守しやすくするためにコーディングの方法が決められている(コーディング規約がある)現場が殆ど
ちゃんと統一されてるなら従ったほうが無難
仮にバグが発生してあなたの追加部分が規約に従ってない場合、面倒くさいことが発せあする可能性がある
仕事の規模にもよるが、ソースコードを保守しやすくするためにコーディングの方法が決められている(コーディング規約がある)現場が殆ど
ちゃんと統一されてるなら従ったほうが無難
仮にバグが発生してあなたの追加部分が規約に従ってない場合、面倒くさいことが発せあする可能性がある
544デフォルトの名無しさん
2018/07/19(木) 08:01:56.49ID:X7flfBN8545デフォルトの名無しさん
2018/07/19(木) 08:06:40.53ID:SUmbWwrd >>542
フィールドがないならインスタンス生成を禁止するためにprivateコンストラクタを必ず定義すべきなんじゃないの?
フィールドがないならインスタンス生成を禁止するためにprivateコンストラクタを必ず定義すべきなんじゃないの?
546デフォルトの名無しさん
2018/07/19(木) 08:14:00.46ID:H+BjTpO8 そんな細いことまで規約で定めている現場はソフトウェアの品質が低い
俺の経験ね
品質管理担当とか専任者がいても規約に沿っているかという杓子定規な現場が多く
規約化できないビジネスロジックの妥当性はなぜかチェックしない傾向あり
しょーもない規約がなる揺らぎを許容する現場は
チェックリストに沿った均一的な検査はできないものの
分かっている人がビジネスロジックを査読しようとする傾向がある
俺の経験ね
品質管理担当とか専任者がいても規約に沿っているかという杓子定規な現場が多く
規約化できないビジネスロジックの妥当性はなぜかチェックしない傾向あり
しょーもない規約がなる揺らぎを許容する現場は
チェックリストに沿った均一的な検査はできないものの
分かっている人がビジネスロジックを査読しようとする傾向がある
547デフォルトの名無しさん
2018/07/19(木) 08:16:26.97ID:MYiqAgsV ルールに従っている限り、問題が起きた場合はルールを作った奴の責任
これ典型的なSI業界の考え方
上から下までSIに身を置く限りは極めて重要な大原則ではあるが、悪く言えば責任逃れだ
この例に限って言えばわざわざ破って余計なリスクを負うほどの価値があるとは思わないが、今後同様に自分で責任を負わないという判断をするときには
それがエンジニアとしての自分の価値を下げているということを頭の片隅に置いておいたほうがいい
どんな業界でも、本当に上へ行く奴は自己責任でやるもんだ
これ典型的なSI業界の考え方
上から下までSIに身を置く限りは極めて重要な大原則ではあるが、悪く言えば責任逃れだ
この例に限って言えばわざわざ破って余計なリスクを負うほどの価値があるとは思わないが、今後同様に自分で責任を負わないという判断をするときには
それがエンジニアとしての自分の価値を下げているということを頭の片隅に置いておいたほうがいい
どんな業界でも、本当に上へ行く奴は自己責任でやるもんだ
548デフォルトの名無しさん
2018/07/19(木) 08:21:20.97ID:B62Oo3TM549デフォルトの名無しさん
2018/07/19(木) 08:38:28.86ID:B62Oo3TM >>544
後あれだ
なんでこんな規約があるんだって考えるのも最初は勉強になるぞ
件のデフォコン必須!とかはリフレクション多用してて落ちたことがあったからそのまま規約になった〜とか理由があるかもしれない
後あれだ
なんでこんな規約があるんだって考えるのも最初は勉強になるぞ
件のデフォコン必須!とかはリフレクション多用してて落ちたことがあったからそのまま規約になった〜とか理由があるかもしれない
550デフォルトの名無しさん
2018/07/19(木) 08:46:17.55ID:5x41Wecj javaはもうwebの世界でしか生きていけないのかな
551デフォルトの名無しさん
2018/07/19(木) 08:53:04.66ID:Op5duy3q552デフォルトの名無しさん
2018/07/19(木) 08:55:07.02ID:Op5duy3q webに向いてるというよりはwebの世界が広がっただけ
553デフォルトの名無しさん
2018/07/19(木) 08:59:35.72ID:Op5duy3q554デフォルトの名無しさん
2018/07/19(木) 09:02:43.68ID:Op5duy3q スカラより簡単ピエチピより厳密
アプリサーバがたくさんあって人材も豊富
作っているのは世に名も高きオラクル
Java最強伝説
アプリサーバがたくさんあって人材も豊富
作っているのは世に名も高きオラクル
Java最強伝説
555デフォルトの名無しさん
2018/07/19(木) 10:26:37.51ID:BQmzByzh 雑談終了
556デフォルトの名無しさん
2018/07/19(木) 11:32:42.94ID:MIkQQrXR Kotlinもよろしく
557デフォルトの名無しさん
2018/07/19(木) 12:41:54.56ID:hUcifAQw >>551
Andoroidのjavaはもう終わりかな
Andoroidのjavaはもう終わりかな
558デフォルトの名無しさん
2018/07/19(木) 13:22:28.48ID:KtebpVot AndroidはもうKotlinでいいしな
559デフォルトの名無しさん
2018/07/19(木) 13:35:56.12ID:lzwulHPo Javaの知識があってのKotlinだけどな。
Nativeは知らんけど。
Nativeは知らんけど。
560デフォルトの名無しさん
2018/07/19(木) 14:46:46.68ID:Op5duy3q561デフォルトの名無しさん
2018/07/19(木) 18:49:13.04ID:6E4STiKC googleはjavaでオラクルに一兆円の損害賠償払うのにjavaは捨てられないのかな
562デフォルトの名無しさん
2018/07/19(木) 18:52:53.52ID:6E4STiKC オラクル社長はドラ息子に巨万の富を残してるのにまだ足りないみたいね
andoroidの巨額提訴にjava有償化に
andoroidの巨額提訴にjava有償化に
563デフォルトの名無しさん
2018/07/19(木) 20:41:02.41ID:m5MPu7YP564デフォルトの名無しさん
2018/07/19(木) 21:52:48.51ID:Sjf7ku63 寝言は寝て言え
565デフォルトの名無しさん
2018/07/20(金) 03:33:50.65ID:KKufvgV7 Java使いに「も」って、まともな人が居ない事前提?
36歳がそうだからと言って全体を括るのは乱暴かと
36歳がそうだからと言って全体を括るのは乱暴かと
566デフォルトの名無しさん
2018/07/23(月) 06:03:22.92ID:a5odQemo javaの致命的に糞な所を3つ挙げるとしたら何?
おまけで他言語よりこここだけは良いということ1つ
有料化になること以外でよろ
おまけで他言語よりこここだけは良いということ1つ
有料化になること以外でよろ
567デフォルトの名無しさん
2018/07/23(月) 07:40:33.50ID:tja2UxRY 糞なところ
・貧弱なジェネリクス、極めて非直感的なワイルドカード
・直交性が目的化していて利便性が犠牲になっている標準ライブラリ群
・プログラマの平均スキルの低さ
良いところ
・安い単価でプログラマを大量に調達できる
・貧弱なジェネリクス、極めて非直感的なワイルドカード
・直交性が目的化していて利便性が犠牲になっている標準ライブラリ群
・プログラマの平均スキルの低さ
良いところ
・安い単価でプログラマを大量に調達できる
568デフォルトの名無しさん
2018/07/23(月) 07:46:24.27ID:r2NgEomY 致命的と思うところはない
だって致命的な欠点があったらJava使うのやめてるだろ
Javaの良いところはクラスライブラリと開発コミュニティ
Java自体の言語仕様は今となっては秀でている点はなく後発言語のほうが優れている
しかしJavaの豊富なクラスライブラリに多言語が追い付くの容易ではない
Java開発者は標準クラスライブラリに沿って・似せてクラス設計する人が多い印象
そのため外部ライブラリを見つけてきてもインターフェイスに一貫性があり使いやすいことが多い
昔、Perlでもモジュールを集めるCPANというものがあったけど一貫性がなくモジュールごとに作法がバラバラだった
Javaの良さは世界中の開発者が設計ポリシーを共有していて作られたライブラリが相互運用しやすいエコシステムにある
だって致命的な欠点があったらJava使うのやめてるだろ
Javaの良いところはクラスライブラリと開発コミュニティ
Java自体の言語仕様は今となっては秀でている点はなく後発言語のほうが優れている
しかしJavaの豊富なクラスライブラリに多言語が追い付くの容易ではない
Java開発者は標準クラスライブラリに沿って・似せてクラス設計する人が多い印象
そのため外部ライブラリを見つけてきてもインターフェイスに一貫性があり使いやすいことが多い
昔、Perlでもモジュールを集めるCPANというものがあったけど一貫性がなくモジュールごとに作法がバラバラだった
Javaの良さは世界中の開発者が設計ポリシーを共有していて作られたライブラリが相互運用しやすいエコシステムにある
569デフォルトの名無しさん
2018/07/23(月) 11:24:26.77ID:ZjQpUEmE オラクルかな
570デフォルトの名無しさん
2018/07/23(月) 18:43:51.10ID:dX14gRVE それをいっちゃあおしめえよ
571デフォルトの名無しさん
2018/07/23(月) 19:32:54.33ID:IsAC2rDC 変数宣言が冗長すぎ
Date date = new Date()
Date型って最初に宣言してんだからnewもDateで基本問題無いやろ
Date date = new Date()
Date型って最初に宣言してんだからnewもDateで基本問題無いやろ
572デフォルトの名無しさん
2018/07/23(月) 19:50:26.60ID:EvGqybr2573デフォルトの名無しさん
2018/07/23(月) 19:56:00.68ID:dX14gRVE 型推論してくれるKotlinはナイスだな
574デフォルトの名無しさん
2018/07/23(月) 20:09:10.55ID:stexMLiC 君らvar使ってないのか
575デフォルトの名無しさん
2018/07/23(月) 20:11:54.87ID:RCR4OhGD moduleが難しすぎて突破できないから
Java8で行くお!
Java8で行くお!
576デフォルトの名無しさん
2018/07/23(月) 20:14:19.78ID:cHxBvLXH そういや最近宣言と同時にnewってあんましてないな
577デフォルトの名無しさん
2018/07/23(月) 20:17:45.49ID:m6zef+c0 varはポリモーフィズムとは相容れないから。
578デフォルトの名無しさん
2018/07/23(月) 20:27:02.30ID:ddy5leO9579デフォルトの名無しさん
2018/07/23(月) 22:14:25.10ID:IsAC2rDC580デフォルトの名無しさん
2018/07/23(月) 22:16:05.03ID:IsAC2rDC 略するところを間違えた、まあ空気読んでくれ
581デフォルトの名無しさん
2018/07/24(火) 04:21:52.30ID:/tfIts3n Ky ky= new Ky();
582デフォルトの名無しさん
2018/07/24(火) 09:02:46.76ID:3bmjSXS4 Kotlin使えばよい
後から作った言語なのでそういう細かいことは解消されている
後から作った言語なのでそういう細かいことは解消されている
583デフォルトの名無しさん
2018/07/24(火) 09:06:29.72ID:WgNXUi2L >>579
とてつもなく浅い知識で批判とか恥ずかしくないの?
とてつもなく浅い知識で批判とか恥ずかしくないの?
584デフォルトの名無しさん
2018/07/24(火) 09:40:11.61ID:uOakFE5H そんなに浅くない
585デフォルトの名無しさん
2018/07/25(水) 07:32:49.10ID:BeP5/XfH >>582
ははーん、さてはおめー何もわかってねーな
ははーん、さてはおめー何もわかってねーな
586デフォルトの名無しさん
2018/07/25(水) 09:27:06.98ID:GNtg4sP8 >>585
というと?
というと?
587デフォルトの名無しさん
2018/07/25(水) 19:09:16.20ID:s14gtaOU 否定だけして根拠示さないのは例の人かな?
588デフォルトの名無しさん
2018/07/25(水) 20:01:38.85ID:ekeRKo17 「ははーん、さてはおめー何もわかってねーな」という台詞を言ってみたかっただけの人か?
589デフォルトの名無しさん
2018/07/25(水) 20:12:44.09ID:QfwTkRmU 下記ブログの例題がEclipseでもpaiza.ioでもコンパイルエラーになって色々試したのですが解決出来ないので原因と回避策を教えてください
Eclipseでのエラー: 型の不一致: Object から int には変換できません
paizaでのエラー: Object cannot be converted to int
https://nompor.com/2017/11/16/post-1118/
ブログのページ最後にある例題サンプルです
「Iteratorで全要素アクセス」
18行目
int data = it.next();//次の要素を取得します。
---
例題そのままをコピペしてもエラーになるので自力解決が出来なくて困っています
Eclipseでのエラー: 型の不一致: Object から int には変換できません
paizaでのエラー: Object cannot be converted to int
https://nompor.com/2017/11/16/post-1118/
ブログのページ最後にある例題サンプルです
「Iteratorで全要素アクセス」
18行目
int data = it.next();//次の要素を取得します。
---
例題そのままをコピペしてもエラーになるので自力解決が出来なくて困っています
590デフォルトの名無しさん
2018/07/25(水) 20:17:15.54ID:GZRArLRs591デフォルトの名無しさん
2018/07/25(水) 20:20:52.44ID:QfwTkRmU >>590
それはやったのですが、エラーになりましたね
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
integer を型に解決できません
それはやったのですが、エラーになりましたね
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
integer を型に解決できません
592デフォルトの名無しさん
2018/07/25(水) 20:27:16.64ID:QfwTkRmU 自己解決しました
エラーのpopアップに表示されていたキャストをすれば解決しました
もしかしたらブログを執筆していた頃には問題の無かった書き方が厳密になったとかなのでしょうか?
原因が例題書かれた方のミスなのか仕様変更なのか意味が分からないままエラーだけ出なくなった状況ですが次へ進みます。
ありがとうございました
18行目(変更前
int data = it.next();//次の要素を取得します。
18行目(変更後
int data = (int) it.next();//次の要素を取得します。
エラーのpopアップに表示されていたキャストをすれば解決しました
もしかしたらブログを執筆していた頃には問題の無かった書き方が厳密になったとかなのでしょうか?
原因が例題書かれた方のミスなのか仕様変更なのか意味が分からないままエラーだけ出なくなった状況ですが次へ進みます。
ありがとうございました
18行目(変更前
int data = it.next();//次の要素を取得します。
18行目(変更後
int data = (int) it.next();//次の要素を取得します。
593デフォルトの名無しさん
2018/07/25(水) 20:30:23.90ID:QfwTkRmU そもそもなのですがIteratorって使いますか?
他にも配列などの操作方法あるようですし
どうしてこんな面倒な書き方で参照したりするのか疑問です
他にも配列などの操作方法あるようですし
どうしてこんな面倒な書き方で参照したりするのか疑問です
595デフォルトの名無しさん
2018/07/25(水) 20:40:39.19ID:QfwTkRmU >>594
ありがとうございます
ありがとうございます
596デフォルトの名無しさん
2018/07/25(水) 20:51:02.31ID:ITmWCwNQ597デフォルトの名無しさん
2018/07/25(水) 20:54:37.41ID:GZRArLRs598デフォルトの名無しさん
2018/07/25(水) 21:27:25.94ID:GZRArLRs >>594
int data = (int)it.next();
int data = (Integer)it.next();
これどちらもオートボクシングが行われてますよ
プリミティブ型で格納されてるわけじゃないっすから
オートボクシング使わずに書くならこう!
int data = ((Integer)it.next()).intValue();
int data = (int)it.next();
int data = (Integer)it.next();
これどちらもオートボクシングが行われてますよ
プリミティブ型で格納されてるわけじゃないっすから
オートボクシング使わずに書くならこう!
int data = ((Integer)it.next()).intValue();
599デフォルトの名無しさん
2018/07/25(水) 21:49:55.62ID:QfwTkRmU600デフォルトの名無しさん
2018/07/25(水) 22:28:09.59ID:QfwTkRmU >>589
の原因と教えていただいたことを自分なりに調べた結果のまとめと確認です
(連投すみません
13行目(変更前
Iterator it = arr.iterator();
これがジェネリクス総称型として型を指定していないのでObject型となり次の
18行目(変更前
int data = it.next();//次の要素を取得します。
ここでInt型にObject型を代入しようとして型不一致で代入できないとのエラーが出ていた
解決策としては
13行目(変更後
Iterator<Integer> it = arr.iterator();
明示的に<Integer>を宣言することで次の
18行目(変更前
int data = it.next();//次の要素を取得します。
ここで代入可能となったが
これはInt型とInteger型のオートボクシング機能が働いている
の原因と教えていただいたことを自分なりに調べた結果のまとめと確認です
(連投すみません
13行目(変更前
Iterator it = arr.iterator();
これがジェネリクス総称型として型を指定していないのでObject型となり次の
18行目(変更前
int data = it.next();//次の要素を取得します。
ここでInt型にObject型を代入しようとして型不一致で代入できないとのエラーが出ていた
解決策としては
13行目(変更後
Iterator<Integer> it = arr.iterator();
明示的に<Integer>を宣言することで次の
18行目(変更前
int data = it.next();//次の要素を取得します。
ここで代入可能となったが
これはInt型とInteger型のオートボクシング機能が働いている
601デフォルトの名無しさん
2018/07/25(水) 22:28:36.05ID:QfwTkRmU >>600
これで合ってますか?
最後の「これはInt型とInteger型のオートボクシング機能が働いている」のかちょっとまだ不安です
キャストはしてないけどオートボクシングが働いてたら意味がない?
このあたりがまだよく理解出来てないと思います
>>598 これをふまえると・・・
>>オートボクシング使わずに書くならこう!
>>int data = ((Integer)it.next()).intValue();
13行目(変更後
Iterator<Integer> it = arr.iterator();
18行目(変更後※
int data = it.next().intValue();//次の要素を取得します。
※ここまでやらないと意味が無いのでしょうか??
一応どちらも正常に結果出てますが内部的に違いがあるのか不安です?
これで合ってますか?
最後の「これはInt型とInteger型のオートボクシング機能が働いている」のかちょっとまだ不安です
キャストはしてないけどオートボクシングが働いてたら意味がない?
このあたりがまだよく理解出来てないと思います
>>598 これをふまえると・・・
>>オートボクシング使わずに書くならこう!
>>int data = ((Integer)it.next()).intValue();
13行目(変更後
Iterator<Integer> it = arr.iterator();
18行目(変更後※
int data = it.next().intValue();//次の要素を取得します。
※ここまでやらないと意味が無いのでしょうか??
一応どちらも正常に結果出てますが内部的に違いがあるのか不安です?
602デフォルトの名無しさん
2018/07/25(水) 22:37:49.97ID:GZRArLRs >>601
オートボクシングはプリミティブ型とラッパークラスの変換を
自動で行う仕組みのことで
毎回、↓こう書くの面倒だよね
int data = it.next().intValue();
じゃあ↓こう書けるようにしよう
int data = it.next();
ということで導入されたものだから積極的に使ったら良いよ
オートボクシングはプリミティブ型とラッパークラスの変換を
自動で行う仕組みのことで
毎回、↓こう書くの面倒だよね
int data = it.next().intValue();
じゃあ↓こう書けるようにしよう
int data = it.next();
ということで導入されたものだから積極的に使ったら良いよ
603デフォルトの名無しさん
2018/07/25(水) 22:44:09.05ID:QfwTkRmU >>602
Iterator<Integer> it = arr.iterator();
int data = it.next();
オートボクシングは便利機能なので使ってOKで
.intValue();が自動的に省略されてるだけで結果は同じ
これで解決ってことですね!納得しました!
ありがとうございました
Iterator<Integer> it = arr.iterator();
int data = it.next();
オートボクシングは便利機能なので使ってOKで
.intValue();が自動的に省略されてるだけで結果は同じ
これで解決ってことですね!納得しました!
ありがとうございました
604デフォルトの名無しさん
2018/07/25(水) 22:44:22.96ID:+qk7Pgth だね
Integerからintへの変換ではインスタンス生成されないし
intからIntegerへの変換でも数字が小さければインスタンスは生成されない
インスタンス生成を抑えるために小さな数字はあらかじめIntegerオブジェクトが作られていて使い回されるようになっているから
値オブジェクトみたいな感じ
コスト気にするよりオートボクシングを積極的に使って可読性の高いコードを書こう
Integerからintへの変換ではインスタンス生成されないし
intからIntegerへの変換でも数字が小さければインスタンスは生成されない
インスタンス生成を抑えるために小さな数字はあらかじめIntegerオブジェクトが作られていて使い回されるようになっているから
値オブジェクトみたいな感じ
コスト気にするよりオートボクシングを積極的に使って可読性の高いコードを書こう
605デフォルトの名無しさん
2018/07/25(水) 22:46:30.24ID:GZRArLRs >>600
ジェネリクスで型を指定すれば、型が間違ってたときにコンパイルエラーに
なってすぐに気づくことができるのだけれども
ジェネリクスで型を指定しないと、型が間違っててもエラーにならないのよ
実行してデータが処理されないとコードが間違ってるかわからぬのよね
エラーが起きないデータもあったりするとデバッグが超大変
ジェネリクスが使えるときは型を指定して使ったが良いよ
ジェネリクスで型を指定すれば、型が間違ってたときにコンパイルエラーに
なってすぐに気づくことができるのだけれども
ジェネリクスで型を指定しないと、型が間違っててもエラーにならないのよ
実行してデータが処理されないとコードが間違ってるかわからぬのよね
エラーが起きないデータもあったりするとデバッグが超大変
ジェネリクスが使えるときは型を指定して使ったが良いよ
606デフォルトの名無しさん
2018/07/25(水) 22:56:34.68ID:QfwTkRmU >>604-605
>>コスト気にするよりオートボクシングを積極的に使って可読性の高いコードを書こう
>>ジェネリクスが使えるときは型を指定して使ったが良いよ
質問で丁寧に回答していただきさらにアドバイスまでいただき感謝です!
勉強になりますありがとうございます!
>>コスト気にするよりオートボクシングを積極的に使って可読性の高いコードを書こう
>>ジェネリクスが使えるときは型を指定して使ったが良いよ
質問で丁寧に回答していただきさらにアドバイスまでいただき感謝です!
勉強になりますありがとうございます!
607デフォルトの名無しさん
2018/07/26(木) 00:12:38.71ID:5ROtQy7H >>589
それ原因が分かったぞ。(勘のいい奴なら既にわかっていると思うが)。
そのブログのページのソースのこう表示されてる個所あるだろ。
Iterator it = arr.iterator();
この部分の HTML のソースを見てみたらこうなってた。
Iterator<Integer> it = arr.iterator();
しかしこの通りに表示させたいなら HTML 文書の中ではこう書かねばならない。
Iterator<Integer> it = arr.iterator();
他の同じような記述の個所はこういう変換をやっているのにこの部分だけ忘れており
<Integer> 部分がブラウザによって HTML のタグと解釈されて丸ごと表示されない
状態になっていた、ということ。
それ原因が分かったぞ。(勘のいい奴なら既にわかっていると思うが)。
そのブログのページのソースのこう表示されてる個所あるだろ。
Iterator it = arr.iterator();
この部分の HTML のソースを見てみたらこうなってた。
Iterator<Integer> it = arr.iterator();
しかしこの通りに表示させたいなら HTML 文書の中ではこう書かねばならない。
Iterator<Integer> it = arr.iterator();
他の同じような記述の個所はこういう変換をやっているのにこの部分だけ忘れており
<Integer> 部分がブラウザによって HTML のタグと解釈されて丸ごと表示されない
状態になっていた、ということ。
608デフォルトの名無しさん
2018/07/26(木) 00:23:57.38ID:Hk2Eswys 草
609デフォルトの名無しさん
2018/07/26(木) 01:12:56.68ID:3Q0DG2FF >>607
よく見つけられましたね凄いです!
どなたかがブログへご指摘されてくださったようで確認しようと再度HP確認したら既に修正されていました!
あまりの速さに2度驚きました
この質問スレにもブログにも勉強するのにとても助かっています
いつもありがとうございます
よく見つけられましたね凄いです!
どなたかがブログへご指摘されてくださったようで確認しようと再度HP確認したら既に修正されていました!
あまりの速さに2度驚きました
この質問スレにもブログにも勉強するのにとても助かっています
いつもありがとうございます
610デフォルトの名無しさん
2018/07/26(木) 09:12:21.23ID:1RynmuAu >>607
草
草
611デフォルトの名無しさん
2018/07/26(木) 13:20:41.96ID:EM3EzxKL ./__.))ノヽ
.|ミ.l _ ._ i.) わしが指摘した
(^'ミ/.´・ .〈・ リ
.しi r、_) | ______
| `ニニ' / | | \__\___
___.ノ `ー―i´ | | |= |iiiiiiiiiii|
/⌒ヽ \____/\ | | | =. | !!!!!!!|
| ヽ____| \__. __ | | |三 |_「r.、
| // // ̄.\ //⊃ヾ) |__|_/( ) ̄ ))
ヽ ______//r_/| |.||⌒ヽ〜〔 ̄ ̄! ̄ ̄ ̄/ ̄ ̄\((
.|ミ.l _ ._ i.) わしが指摘した
(^'ミ/.´・ .〈・ リ
.しi r、_) | ______
| `ニニ' / | | \__\___
___.ノ `ー―i´ | | |= |iiiiiiiiiii|
/⌒ヽ \____/\ | | | =. | !!!!!!!|
| ヽ____| \__. __ | | |三 |_「r.、
| // // ̄.\ //⊃ヾ) |__|_/( ) ̄ ))
ヽ ______//r_/| |.||⌒ヽ〜〔 ̄ ̄! ̄ ̄ ̄/ ̄ ̄\((
612デフォルトの名無しさん
2018/07/26(木) 20:19:44.88ID:l6j0Y1pF 定義されてるディレクトリ配下のログが誰かに開かれてたら何もしないって処理作りたいんですけど、ファイルが誰かから開かれてるかを調べる方法ありますか?
613デフォルトの名無しさん
2018/07/26(木) 20:22:42.75ID:l6j0Y1pF 古くなったログの削除の為に使用するためです
614デフォルトの名無しさん
2018/07/26(木) 20:39:32.04ID:9i/IJhFr 自分でそのファイルを読み取り排他で開いてみるしかない
失敗したら他のプロセスがオープンしているということ
排他(副作用)なしでファイルのロック状態を知る方法はない
失敗したら他のプロセスがオープンしているということ
排他(副作用)なしでファイルのロック状態を知る方法はない
615デフォルトの名無しさん
2018/07/26(木) 21:15:30.96ID:l6j0Y1pF616デフォルトの名無しさん
2018/07/26(木) 21:33:54.42ID:ekiha7MK うーんどうなんだろう、設計
617デフォルトの名無しさん
2018/07/27(金) 02:20:59.11ID:O4NPrPXG >>612
Linux の場合は fuser コマンドを使うと指定のファイルをオープンしているプログラムのプロセスIDが分かる。
何も出力がなければ開いているプロセスはない。
他のUNIX系OSにもこのコマンドはあるかも知れない。Windows の WSL にはこのコマンドはあった。
その他のOSではどうやるか知らないが、もし fuser コマンドがあるのならそれを使えば同じようにできるんじゃないかと思う。
Windows の場合は他のプロセスが開いている最中にリネームしようとするとエラーになるそうなのでこれを利用するという手があるようだ。
但し同じ方法はOSが違ったら使えない(例えばLinuxやUNIX系OSでは使えない。WSLはわからない)。
https://code.i-harness.com/ja/q/153800
Linux の場合は fuser コマンドを使うと指定のファイルをオープンしているプログラムのプロセスIDが分かる。
何も出力がなければ開いているプロセスはない。
他のUNIX系OSにもこのコマンドはあるかも知れない。Windows の WSL にはこのコマンドはあった。
その他のOSではどうやるか知らないが、もし fuser コマンドがあるのならそれを使えば同じようにできるんじゃないかと思う。
Windows の場合は他のプロセスが開いている最中にリネームしようとするとエラーになるそうなのでこれを利用するという手があるようだ。
但し同じ方法はOSが違ったら使えない(例えばLinuxやUNIX系OSでは使えない。WSLはわからない)。
https://code.i-harness.com/ja/q/153800
618デフォルトの名無しさん
2018/07/27(金) 06:07:34.18ID:br8yoTOu paiza.ioってローカルPCのファイルやフォルダ操作するコードは実行出来ないですか?
619デフォルトの名無しさん
2018/07/27(金) 12:15:33.71ID:4+ImbG1U >>614
ログを開くアプリケーションによってはロック状態を認識できませんでした。
FileChannelクラスのtryLookメソッドを使いました。
OSがcentosでLibreOfficeで開いてるときはロック状態でしたが、geditで開いたときはロックされてなかったです。
何か初心者がおかしやすいミスとかってありますかね。
もう諦めてるんですがgeditが特殊なんですかね
ログを開くアプリケーションによってはロック状態を認識できませんでした。
FileChannelクラスのtryLookメソッドを使いました。
OSがcentosでLibreOfficeで開いてるときはロック状態でしたが、geditで開いたときはロックされてなかったです。
何か初心者がおかしやすいミスとかってありますかね。
もう諦めてるんですがgeditが特殊なんですかね
620デフォルトの名無しさん
2018/07/27(金) 12:16:37.86ID:4+ImbG1U gedit以外のテキストエディタでも同じでしたね
ロックの確認できません。
ロックの確認できません。
621デフォルトの名無しさん
2018/07/27(金) 12:58:52.13ID:ki81FzEq 普通はしないよ。
一々ロックしてたら、たとえばGitなんか阿鼻叫喚の地獄になる。
一々ロックしてたら、たとえばGitなんか阿鼻叫喚の地獄になる。
622デフォルトの名無しさん
2018/07/27(金) 13:04:46.00ID:4+ImbG1U >>621
そうなんですね
そうなんですね
623デフォルトの名無しさん
2018/07/27(金) 13:26:56.82ID:EBOSMkzO >>619
UNIX系OSではオープンしただけでは普通はロックまで掛からなくて、別途 flock() したり fcntl() でロックするようになっている。なので本当に必要な場合しかロックしないのが普通だ。
オープンしてるかどうかだけ確認したいなら fuser コマンドや lsof コマンドを使った方が楽だ。
Linux限定で良いなら /proc ディレクトリ以下を自分で探ってもできるけどね。
それだと多分本当にLinuxのみになるし fuser や lsof も Linux 用なら中で同じことしてるだろうから任せた方が良い。
UNIX系OSではオープンしただけでは普通はロックまで掛からなくて、別途 flock() したり fcntl() でロックするようになっている。なので本当に必要な場合しかロックしないのが普通だ。
オープンしてるかどうかだけ確認したいなら fuser コマンドや lsof コマンドを使った方が楽だ。
Linux限定で良いなら /proc ディレクトリ以下を自分で探ってもできるけどね。
それだと多分本当にLinuxのみになるし fuser や lsof も Linux 用なら中で同じことしてるだろうから任せた方が良い。
624デフォルトの名無しさん
2018/07/27(金) 14:29:19.42ID:4+ImbG1U >>623
色々教えて下さりありがとうございます。
色々教えて下さりありがとうございます。
625デフォルトの名無しさん
2018/07/29(日) 02:53:34.15ID:noej9t8s javaのバージョンって1.8だったり8だったり表記が複数あるようですが何なんですかこれは
626デフォルトの名無しさん
2018/07/29(日) 04:29:48.18ID:SHCnQYdt なんなんでしょうね
627デフォルトの名無しさん
2018/07/29(日) 05:54:37.87ID:Oaphdh9V 初見殺し
628デフォルトの名無しさん
2018/07/29(日) 08:38:57.85ID:7lOBGcOb >>625
Javaのバージョン
https://so-zou.jp/software/tech/programming/java/introduction/version/
意外と知らないバージョン表記・数字の豆知識
http://www.atmarkit.co.jp/ait/articles/1003/26/news106.html
理由はよくわからないが、やはり営業的な理由なんじゃないだろうか。
バージョン番号が大きい方が他の製品よりも良いものであるかのような印象を与えられるから。
Perlなんかは(フリーソフトで誰にも売る必要がないためか)これの逆をやってしまい、大きな変更が
あったのにほんのちょっとしかバージョン番号を上げなかったためにほとんど違いがないと誤解
された事があり、それでその後はバージョン番号の振り方のルールを変えた。
Javaのバージョン
https://so-zou.jp/software/tech/programming/java/introduction/version/
意外と知らないバージョン表記・数字の豆知識
http://www.atmarkit.co.jp/ait/articles/1003/26/news106.html
理由はよくわからないが、やはり営業的な理由なんじゃないだろうか。
バージョン番号が大きい方が他の製品よりも良いものであるかのような印象を与えられるから。
Perlなんかは(フリーソフトで誰にも売る必要がないためか)これの逆をやってしまい、大きな変更が
あったのにほんのちょっとしかバージョン番号を上げなかったためにほとんど違いがないと誤解
された事があり、それでその後はバージョン番号の振り方のルールを変えた。
629デフォルトの名無しさん
2018/07/29(日) 13:22:46.86ID:pFjYaTQt630デフォルトの名無しさん
2018/07/29(日) 21:11:31.52ID:JZa4OXPE eclipseをphoton にしてワークスペースをそのまま引き継ごうとしたら実行できなくなっちゃった。どうすればいいか教えてちょ
631デフォルトの名無しさん
2018/07/29(日) 21:23:30.06ID:JZa4OXPE eclipseをphoton にしてワークスペースをそのまま引き継ごうとしたら実行できなくなっちゃった。どうすればいいか教えてちょ
632デフォルトの名無しさん
2018/07/29(日) 21:46:32.56ID:sUhDPIHz ごめんちょ
633デフォルトの名無しさん
2018/07/30(月) 05:51:28.50ID:HJqNjAI+634デフォルトの名無しさん
2018/07/31(火) 23:16:57.30ID:ZNFzWxLv 初歩的な質問になるんですが異なる2つのクラスで1つの値を共有したいときってどういったやり方あります?
class a
String str
class b
a.setStr
class c
a.getStr
大分省略してますがこんなことをやりたいです。
実行順はbで更新した後にcで取得
class a
String str
class b
a.setStr
class c
a.getStr
大分省略してますがこんなことをやりたいです。
実行順はbで更新した後にcで取得
635デフォルトの名無しさん
2018/07/31(火) 23:22:07.36ID:3ipQI8/S クラスbとcのメンバにaクラスのフィールドをもちbとcのコンストラクタでaを設定する
636デフォルトの名無しさん
2018/07/31(火) 23:30:21.51ID:ZNFzWxLv class b
a a
public b
a = new a
a.set
class c
a a
public c
a = new a
a.get
みたいな感じですかね?
この場合ってbとcでそれぞれ作ったaのインスタンスって別物扱いになりません?
a a
public b
a = new a
a.set
class c
a a
public c
a = new a
a.get
みたいな感じですかね?
この場合ってbとcでそれぞれ作ったaのインスタンスって別物扱いになりません?
637デフォルトの名無しさん
2018/07/31(火) 23:31:13.26ID:0/QW8S54 >>636
外でnewして渡せ
外でnewして渡せ
638デフォルトの名無しさん
2018/08/01(水) 00:58:32.44ID:r0ZYJdIw639デフォルトの名無しさん
2018/08/01(水) 06:25:06.11ID:IkENlkBK new a
new b(a)
new c(a)
new b(a)
new c(a)
640デフォルトの名無しさん
2018/08/01(水) 07:48:14.65ID:3Ruau8S/ jdk11 ea でローカルswing アプリテストしたいのですが、
・jdk11 ea openjdkを取ってくる
・展開して適当なパスに置く
・path/to/openjdk/bin/java -jar myapp.jar
で起動出来るのでしょうか?
・jdk11 ea openjdkを取ってくる
・展開して適当なパスに置く
・path/to/openjdk/bin/java -jar myapp.jar
で起動出来るのでしょうか?
641デフォルトの名無しさん
2018/08/01(水) 10:26:14.54ID:198aEqhp やってみりゃいいじゃん
642デフォルトの名無しさん
2018/08/02(木) 02:22:35.17ID:reX89mAv 通信の優先度を決める事はできますか?
でかいファイルを送受信するけど、他のアプリに影響を出したくなくて、
低い優先度で送りたい。
でかいファイルを送受信するけど、他のアプリに影響を出したくなくて、
低い優先度で送りたい。
643デフォルトの名無しさん
2018/08/02(木) 02:39:35.74ID:vClc7nAi >>642
自分でゆっくり送ればいいのでは?
自分でゆっくり送ればいいのでは?
644デフォルトの名無しさん
2018/08/02(木) 07:50:56.22ID:yvP4ulwr プロセス・スレッドの優先度は、設定できないの?
645デフォルトの名無しさん
2018/08/02(木) 08:06:14.31ID:SwjRc7UR プロセスの優先度は知らんがスレッドの優先度なら
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Thread.html#setPriority-int-
// コードが走ってるスレッドの優先度を変える
Thread.currentThread().setPriority(priority); // 0(MIN_PRIORITY) ~ 10(MAX_PRIORITY)
// 生成したスレッドの優先度を変える
Thread thread = new Thread(runnable);
thread.setPriority(priotrity);
thread.start();
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Thread.html#setPriority-int-
// コードが走ってるスレッドの優先度を変える
Thread.currentThread().setPriority(priority); // 0(MIN_PRIORITY) ~ 10(MAX_PRIORITY)
// 生成したスレッドの優先度を変える
Thread thread = new Thread(runnable);
thread.setPriority(priotrity);
thread.start();
646デフォルトの名無しさん
2018/08/02(木) 08:10:14.12ID:lJdnLKf/647デフォルトの名無しさん
2018/08/08(水) 20:48:19.34ID:Y8NXA7MO アンドロイドアプリを作りたいのですが
数か月の間、メンターになってくえれる人を探そうと思ったら
どんなサイトで募集すればいいのでしょうか?
数か月の間、メンターになってくえれる人を探そうと思ったら
どんなサイトで募集すればいいのでしょうか?
648デフォルトの名無しさん
2018/08/08(水) 21:34:50.44ID:hdmbPKpc 俺がなってやろうか?
3ヵ月240万円でいいよ
3ヵ月240万円でいいよ
649デフォルトの名無しさん
2018/08/08(水) 21:38:15.67ID:oyXSOhRB メンターなんて言葉一般的に使うの?
自己啓発セミナーみたいでいやだなあ
あ、ボクはアナルオナニーインストラクターです
自己啓発セミナーみたいでいやだなあ
あ、ボクはアナルオナニーインストラクターです
650デフォルトの名無しさん
2018/08/08(水) 21:40:40.73ID:Y8NXA7MO 基本料金1か月3万円でお願いします
あとはオファーにより別途請求というシステムで
あとはオファーにより別途請求というシステムで
651デフォルトの名無しさん
2018/08/08(水) 22:33:01.96ID:D/rM6Nrn マンツーマンで教えるとなると時給の最低ラインは3000円だから
月3万円だと月10時間、1日15分ぐらいだな
月3万円だと月10時間、1日15分ぐらいだな
652デフォルトの名無しさん
2018/08/09(木) 10:10:38.81ID:gFPymi4k 専属の人を雇うとなると家庭教師雇うみたいなもんだから高くなるのではないか?
本やネットで調べながらでも何れはできるようになる事についてそこまで投資する必要があるのか?
何らかの期限があるなどして早く覚えないとまずいということか?
本やネットで調べながらでも何れはできるようになる事についてそこまで投資する必要があるのか?
何らかの期限があるなどして早く覚えないとまずいということか?
653デフォルトの名無しさん
2018/08/09(木) 10:33:41.65ID:SPEbgWbN パソコン教室に行って来い
654デフォルトの名無しさん
2018/08/09(木) 16:50:59.46ID:bgFYGL9Q synchronizedListはイテレータがスレッドセーフじゃないといいますが
for(int i=0;i<list.size();i++)
Element e = list.get(i);
もしsizeの増減が無い場合、こんな書き方はスレッドセーフに全要素にアクセスできますか?
for(int i=0;i<list.size();i++)
Element e = list.get(i);
もしsizeの増減が無い場合、こんな書き方はスレッドセーフに全要素にアクセスできますか?
655デフォルトの名無しさん
2018/08/09(木) 18:59:15.93ID:e0VFp9K8 できません
sizeを確認してからgetするまでに要素数が変化する可能性を排除できていません
sizeを確認してからgetするまでに要素数が変化する可能性を排除できていません
656デフォルトの名無しさん
2018/08/09(木) 18:59:52.71ID:e0VFp9K8 あ、ごめん
サイズ増減なしって条件書いてあったね
サイズ増減なしって条件書いてあったね
657デフォルトの名無しさん
2018/08/09(木) 19:02:22.63ID:e0VFp9K8 それはサイズが既知でgetしか使ってないのと同じで安全
ていうか要素が変化しないならスレッドセーフではないLinkedListでさえ安全に使えるでしょ
ていうか要素が変化しないならスレッドセーフではないLinkedListでさえ安全に使えるでしょ
658デフォルトの名無しさん
2018/08/18(土) 22:43:41.07ID:01sV26bM https://github.com/OpenHFT/Chronicle-Network
ここに出てくる"Wire"ってどういう意味ですか?
WireTextだの、WireEchoだの。
たぶんプログラミング界隈の用語だと思うんですが
ここに出てくる"Wire"ってどういう意味ですか?
WireTextだの、WireEchoだの。
たぶんプログラミング界隈の用語だと思うんですが
659デフォルトの名無しさん
2018/08/18(土) 23:10:04.14ID:ddghJ7gy ネットワークを繋ぐ線の概念なんじゃないかな
知らんけど、それっぽいと思った
知らんけど、それっぽいと思った
660デフォルトの名無しさん
2018/08/18(土) 23:30:49.48ID:01sV26bM meta -> meta.write(() -> "tid")
こういう記法は何を意味しますか?
(arg) -> code
みたいなのはラムダ式の説明で出てきますけど、metaはカッコがついていません
こういう記法は何を意味しますか?
(arg) -> code
みたいなのはラムダ式の説明で出てきますけど、metaはカッコがついていません
661デフォルトの名無しさん
2018/08/18(土) 23:35:11.85ID:01sV26bM Wire Message = 電報 ⇒ 通信されるデータ
WireType.TEXTとかWireType.BINARYがあるから、たぶんまさにそれだけの意味。
Network = Wireくらいの意味でこの人は使ってそうです。
WireType.TEXTとかWireType.BINARYがあるから、たぶんまさにそれだけの意味。
Network = Wireくらいの意味でこの人は使ってそうです。
662デフォルトの名無しさん
2018/08/18(土) 23:39:59.88ID:ddghJ7gy >>660
引数が1つのときはカッコを省略できるんよ
引数が1つのときはカッコを省略できるんよ
663デフォルトの名無しさん
2018/08/18(土) 23:58:07.43ID:01sV26bM 数千もの通信を同時処理する高性能なネットワークライブラリを探してるんですが、
何が良いんでしょう?Nettyは内容が難しすぎるんですが・・・。
難しいというか、必要としてるのは単にバイナリを送受信できればいいだけなので、
無駄に高機能過ぎる。
しかし、KeepAliveとか、サーバーが常駐してメッセージを受信してイベント起動、
とかは必要で。ネットワークライブラリの中身なにやってるかあまり詳しくないんですが。
Chronicle-Networkも良く分からない。
// the tid must be unique,
final long tid = tcpChannelHub.nextUniqueTransaction(System.currentTimeMillis());
System.currentTimeMillis()を使ったら、複数クライアントにおいてtidが重複するけど、
それでユニークといっていいのかどうか。
ちょっと情報が少なすぎるのでこれも無理そう。高速らしいんですが
Kryonetは、性能不足ですね。アップデートもされてません。
やはりNettyを頑張るしかないかもしれません。
何が良いんでしょう?Nettyは内容が難しすぎるんですが・・・。
難しいというか、必要としてるのは単にバイナリを送受信できればいいだけなので、
無駄に高機能過ぎる。
しかし、KeepAliveとか、サーバーが常駐してメッセージを受信してイベント起動、
とかは必要で。ネットワークライブラリの中身なにやってるかあまり詳しくないんですが。
Chronicle-Networkも良く分からない。
// the tid must be unique,
final long tid = tcpChannelHub.nextUniqueTransaction(System.currentTimeMillis());
System.currentTimeMillis()を使ったら、複数クライアントにおいてtidが重複するけど、
それでユニークといっていいのかどうか。
ちょっと情報が少なすぎるのでこれも無理そう。高速らしいんですが
Kryonetは、性能不足ですね。アップデートもされてません。
やはりNettyを頑張るしかないかもしれません。
664デフォルトの名無しさん
2018/08/19(日) 00:00:33.27ID:bn6Y5y/t >This comes at the cost of scalability for large number os connections. In this situation, this library should perform at least as well as netty.
これは多数のコンピューターからの同時接続ではNettyと同等の性能しかでない、
ということでしょうか?
想定してるのは1コンピューターとの高速な通信ということでしょうか。
これは多数のコンピューターからの同時接続ではNettyと同等の性能しかでない、
ということでしょうか?
想定してるのは1コンピューターとの高速な通信ということでしょうか。
665デフォルトの名無しさん
2018/08/19(日) 00:24:40.63ID:wM6XArJ0 WebSocket とかじゃないの?
666デフォルトの名無しさん
2018/08/19(日) 10:44:02.78ID:bn6Y5y/t やっぱり高性能なJavaのネットワーキングライブラリはNettyが有力のようです。
あと、Wire Messageは、たぶん「頭4バイトにINT入れて、次8バイトにLONG入れて」みたいな
バイト配列にデータを敷き詰めてく感じの行為をWireというのだろうと。
あと、Wire Messageは、たぶん「頭4バイトにINT入れて、次8バイトにLONG入れて」みたいな
バイト配列にデータを敷き詰めてく感じの行為をWireというのだろうと。
667デフォルトの名無しさん
2018/08/19(日) 11:22:52.85ID:yNrD+B/d よかったね(LOL)
668デフォルトの名無しさん
2018/08/19(日) 15:48:44.36ID:bn6Y5y/t PooledUnsafeDirectByteBufとは何ですか?
Handlerでbyte[]やByteBufなどクラスを限定できますが、
単にbyte[]を使うことと比べてByteBufやPooledUnsafeDirectByteBufは何かメリットがありますか?
Handlerでbyte[]やByteBufなどクラスを限定できますが、
単にbyte[]を使うことと比べてByteBufやPooledUnsafeDirectByteBufは何かメリットがありますか?
669デフォルトの名無しさん
2018/08/19(日) 16:16:30.55ID:bn6Y5y/t どうやら単にbyte[]を送りたい場合でもByteBufを通すのが普通みたいですね
でもそれだとByteBufを作るときもそこからbyte[]を読み取るときもコピー操作があるようで遅そうです
通信に比べればメモリ操作による遅れは微々たるものかもしれませんが
Nettyより高速と謳うライブラリがありますがやはりバッファ周りの問題を指摘してましたが
これですかね
でもそれだとByteBufを作るときもそこからbyte[]を読み取るときもコピー操作があるようで遅そうです
通信に比べればメモリ操作による遅れは微々たるものかもしれませんが
Nettyより高速と謳うライブラリがありますがやはりバッファ周りの問題を指摘してましたが
これですかね
670デフォルトの名無しさん
2018/08/20(月) 08:34:48.22ID:nWwgLLcF ソース読んではいないけど、byte[]のWrapperなんじゃないの?
渡されたbyte[]を丸々コピーするような、あなたのような超初心者な実装はしていないと思うよw
そもそも、byte[]で送るといっても、自分でBufferのサイズを決めたり、通信環境を考慮したり、いろいろやらなきゃいけない。
だから、そういった最適化をByteBufのサブクラスたちは提供してくれているのでしょう。
渡されたbyte[]を丸々コピーするような、あなたのような超初心者な実装はしていないと思うよw
そもそも、byte[]で送るといっても、自分でBufferのサイズを決めたり、通信環境を考慮したり、いろいろやらなきゃいけない。
だから、そういった最適化をByteBufのサブクラスたちは提供してくれているのでしょう。
671デフォルトの名無しさん
2018/08/20(月) 16:30:51.58ID:x31M90y2 こういうコードがあった時、logが呼ばれてもデバッグモードでなければ
意味が無いけど、AnyHeavyMethodは計算されちゃうんでしょうか。
それとも最適化で実行されませんか?
//in some method
log(""+AnyHeavyNoEffectMethod(o));
public void log(String s){
if(isDebugMode())
System.out.println(s);
}
意味が無いけど、AnyHeavyMethodは計算されちゃうんでしょうか。
それとも最適化で実行されませんか?
//in some method
log(""+AnyHeavyNoEffectMethod(o));
public void log(String s){
if(isDebugMode())
System.out.println(s);
}
672デフォルトの名無しさん
2018/08/20(月) 20:31:28.54ID:7cywDiIN JITコンパイラは副作用がないことをどこまで調べるんだろうね
673デフォルトの名無しさん
2018/08/20(月) 20:50:34.41ID:DUHqVJSw >>671
isDebugModeの返す値が定数で、かつそこに登場してる全てのメソッドがインライン展開されれば実行されないんじゃない?
Javaって基本的に大規模アプリケーションに最適化されてて、局所的な速度よりも全体的な安定性やメモリ消費量を重視する傾向があるから、
あまり最適化には期待しないほうがいいよ
isDebugModeの返す値が定数で、かつそこに登場してる全てのメソッドがインライン展開されれば実行されないんじゃない?
Javaって基本的に大規模アプリケーションに最適化されてて、局所的な速度よりも全体的な安定性やメモリ消費量を重視する傾向があるから、
あまり最適化には期待しないほうがいいよ
674デフォルトの名無しさん
2018/08/20(月) 22:27:44.88ID:trJY4lAL AnyHeavyNoEffectMethodが重い処理で、Java8以降ならラムダ式使うんじゃね?
log(() -> "" + AnyHeavyNoEffectMethod(o));
public viod log(Supplier<String> s){
if (isDebugMode())
System.out.println(s.get()); // ここでAnyHeavyNoEffectMethodが実行される
}
log(() -> "" + AnyHeavyNoEffectMethod(o));
public viod log(Supplier<String> s){
if (isDebugMode())
System.out.println(s.get()); // ここでAnyHeavyNoEffectMethodが実行される
}
675デフォルトの名無しさん
2018/08/21(火) 08:43:36.63ID:VaNiE4c6 いいね。そっくりそのままDecoratorにもなってるからすっきりする。
676デフォルトの名無しさん
2018/08/21(火) 09:27:43.13ID:R/vyiArT それJavaの場合はラムダ内で外のミューダブルな変数を参照できないから微妙
677デフォルトの名無しさん
2018/08/21(火) 10:05:53.79ID:VaNiE4c6 どーーしても必要なら、観測したい変数をHeapに逃がせばいい(オブジェクトにぶら下げるとか)わけだけど。
Functional信者は怒りMaxだろうな。
Functional信者は怒りMaxだろうな。
678デフォルトの名無しさん
2018/08/21(火) 12:07:34.45ID:LMQ5YiiU >>676
変態すぎるだろ何やろうとしてるんだよ
変態すぎるだろ何やろうとしてるんだよ
679デフォルトの名無しさん
2018/08/21(火) 12:57:56.56ID:5BiPsrnL680デフォルトの名無しさん
2018/08/21(火) 15:25:34.33ID:LMQ5YiiU681デフォルトの名無しさん
2018/08/21(火) 15:30:01.19ID:LMQ5YiiU あ、わかった
682デフォルトの名無しさん
2018/08/21(火) 17:51:15.05ID:NYseXeYs683デフォルトの名無しさん
2018/08/21(火) 17:55:00.54ID:IftEBw66 ログなら普通にある状況だろ
それを使い方の問題というならラムダをログに使うという>>674の発想が間違ってるわ
それを使い方の問題というならラムダをログに使うという>>674の発想が間違ってるわ
684デフォルトの名無しさん
2018/08/21(火) 20:09:37.16ID:NYseXeYs ないよ。AOPとかDecoratorとか、ラムダが登場する以前からずっとやってきている話。
ラムダはそれをちょっとエレガントにできるようにしただけ。
だから、使い方の問題なんだよ。
ラムダはそれをちょっとエレガントにできるようにしただけ。
だから、使い方の問題なんだよ。
685デフォルトの名無しさん
2018/08/21(火) 22:05:33.53ID:flSi4mUH >>684はミュータブルな変数を一切ログ出力してないの?
自身を持って無いと言い切れるなら偉そうなこと言っていいぞ
自身を持って無いと言い切れるなら偉そうなこと言っていいぞ
686デフォルトの名無しさん
2018/08/21(火) 22:09:43.83ID:flSi4mUH ちなみにログ出力にJavaのラムダが適していないという話であって、ラムダがミューダブルな変数を参照できるべきだなんて誰も言ってないけど
>>684は勘違いしてる
>>684は勘違いしてる
687674
2018/08/22(水) 22:13:46.15ID:xSbYn5li 簡単な実験コード書いてみたけど最適化されませんね。
private static final boolean debug = false;
@Test
public final void testOptimization() {
final long start = System.currentTimeMillis();
log(anyHeavyNoEffectMethod() + "");
final long end = System.currentTimeMillis();
System.out.println((end - start) + "ms");//50ms
}
private static final void log(final String s) {
if (debug)
System.out.println(s);
}
private static final long anyHeavyNoEffectMethod() {
final Random r = new Random();
long total = 0;
int loop = 1000 * 1000;
for (int i = 0; i < loop; i++)
total += r.nextLong();
return total;
}
private static final boolean debug = false;
@Test
public final void testOptimization() {
final long start = System.currentTimeMillis();
log(anyHeavyNoEffectMethod() + "");
final long end = System.currentTimeMillis();
System.out.println((end - start) + "ms");//50ms
}
private static final void log(final String s) {
if (debug)
System.out.println(s);
}
private static final long anyHeavyNoEffectMethod() {
final Random r = new Random();
long total = 0;
int loop = 1000 * 1000;
for (int i = 0; i < loop; i++)
total += r.nextLong();
return total;
}
688デフォルトの名無しさん
2018/08/22(水) 22:39:39.44ID:xSbYn5li ラムダ式の方はanyHeavyNoEffectMethodが呼ばれません。
しかし、指摘のようにミュータブルな変数を渡せません。
log()の実装を二種類用意して使い分けていくのが妥当な気がします。
デコレーターパターンで解決できるんですか?
しかし、指摘のようにミュータブルな変数を渡せません。
log()の実装を二種類用意して使い分けていくのが妥当な気がします。
デコレーターパターンで解決できるんですか?
689デフォルトの名無しさん
2018/08/22(水) 22:48:19.72ID:xSbYn5li このような頻出のパターンについてJITは最適化すべきだと思います。
たぶん、それが一番妥当な解決策です。
副作用が無い事を確認する機能は、JITに既にありそうなものです。
少なくともある程度の範囲で副作用が無い事を確認できるはずです。
どうでもいいんですがこんなパターンにはJITは最適化を見せました。
for(){
list.add(i);
list.remove(i);//追加したものを即削除する
}
たぶん、それが一番妥当な解決策です。
副作用が無い事を確認する機能は、JITに既にありそうなものです。
少なくともある程度の範囲で副作用が無い事を確認できるはずです。
どうでもいいんですがこんなパターンにはJITは最適化を見せました。
for(){
list.add(i);
list.remove(i);//追加したものを即削除する
}
690デフォルトの名無しさん
2018/08/22(水) 22:51:11.60ID:z4qSfGT7 オーバーロードでいんじゃない?
ログの出力ってきほんStringじゃん
ログの出力ってきほんStringじゃん
691デフォルトの名無しさん
2018/08/25(土) 12:01:51.59ID:FONLvq+3 匿名クラスとかでスタック領域の変数を参照できますが、匿名クラスのオブジェクトが破棄されるまでそれらは生存するということですか?
public void method(Observable obs){
Object o = ...;
EventHandler handler = new EventHandler(){
@Override
public void handler(){
System.out.println(o);
}
}
obs.setOnAction(handler);
}
public void method(Observable obs){
Object o = ...;
EventHandler handler = new EventHandler(){
@Override
public void handler(){
System.out.println(o);
}
}
obs.setOnAction(handler);
}
692デフォルトの名無しさん
2018/08/25(土) 12:14:05.20ID:logoA4dK >>691
気のせい
実は無名クラスの中に隠しフィールドが生成されてoの値をコピーしている
ちなみにoは暗黙的にfinalになっており、後でoを書き換えようとするとコンパイルエラー
そこまでするならScalaやKotlinやC#みたいに最初からoをヒープに作っちまえよと思わなくもないが、
この中途半端な仕事かJavaクォリティ
気のせい
実は無名クラスの中に隠しフィールドが生成されてoの値をコピーしている
ちなみにoは暗黙的にfinalになっており、後でoを書き換えようとするとコンパイルエラー
そこまでするならScalaやKotlinやC#みたいに最初からoをヒープに作っちまえよと思わなくもないが、
この中途半端な仕事かJavaクォリティ
693デフォルトの名無しさん
2018/08/25(土) 13:05:07.70ID:KMExyDFm >>691
そうなるよ、参照関係を図で表すとこうな感じでしょ
https://light.dotup.org/uploda/light.dotup.org543719.png
オレンジが変数
緑がオブジェクト
メソッドを抜けてローカル変数o, handler, obsがなくなっても
Observable → EventHandler → Object
の参照は消えない
引数に渡してるObservableはメソッドの外で
変数から参照されてるだろうからメソッドを抜けても
破棄されないよ
そうなるよ、参照関係を図で表すとこうな感じでしょ
https://light.dotup.org/uploda/light.dotup.org543719.png
オレンジが変数
緑がオブジェクト
メソッドを抜けてローカル変数o, handler, obsがなくなっても
Observable → EventHandler → Object
の参照は消えない
引数に渡してるObservableはメソッドの外で
変数から参照されてるだろうからメソッドを抜けても
破棄されないよ
694デフォルトの名無しさん
2018/08/25(土) 13:38:45.65ID:QXNuAaPs695デフォルトの名無しさん
2018/08/26(日) 18:14:43.90ID:oLy9klNt ここを見るとRSA系は2048までしかありません。4096等だとRSA鍵による暗号化ができないということですか?
その場合、非標準のライブラリ等で解決できますか?
https://docs.oracle.com/javase/jp/8/docs/api/javax/crypto/Cipher.html
RSA/ECB/PKCS1Padding (1024、2048)
RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024、2048)
RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024、2048)
その場合、非標準のライブラリ等で解決できますか?
https://docs.oracle.com/javase/jp/8/docs/api/javax/crypto/Cipher.html
RSA/ECB/PKCS1Padding (1024、2048)
RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024、2048)
RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024、2048)
696デフォルトの名無しさん
2018/08/27(月) 09:33:01.48ID:n6GSDZ7+697デフォルトの名無しさん
2018/08/27(月) 09:47:55.19ID:n6GSDZ7+ 強度の強い暗号化は輸出制限あるから気を付けてね。
うっかりノートPCにセットしたまま他国へ持って行こうとするとバレた時に大変まずいことになるかも知れない。
うっかりノートPCにセットしたまま他国へ持って行こうとするとバレた時に大変まずいことになるかも知れない。
698デフォルトの名無しさん
2018/08/27(月) 17:31:52.62ID:n/TwkHD5 jre1.8の最近のバージョンでデフォルトで強度無制限になったようです。
とはいえ、java8の仕様上、2048までしかサポートする必要は無いようです。
実装によってサポートしているかもしれません。
とはいえ、java8の仕様上、2048までしかサポートする必要は無いようです。
実装によってサポートしているかもしれません。
699デフォルトの名無しさん
2018/08/27(月) 17:33:10.48ID:n/TwkHD5 このようなコードがあった場合、tは生存しますか?
tはどこからも参照されてないとします。
//in some method
Thread t = new Thread(){...};
t.start();
return;
tはどこからも参照されてないとします。
//in some method
Thread t = new Thread(){...};
t.start();
return;
700デフォルトの名無しさん
2018/08/27(月) 20:27:36.23ID:QkMU0TtV >>699
試してみた
https://paiza.io/projects/PxoO2-fLSd_KfpwF5B3prA
結果からわかることは
・メソッドを抜けてもスレッドが終了するわけではない
・スレッドが終了しないならばプロセスは終了しない
・ローカル変数がなくてもスレッドを取得できる
作成したスレッドのオブジェクトはどこかに保持されるみたいね
tは生存します、が答えっす
試してみた
https://paiza.io/projects/PxoO2-fLSd_KfpwF5B3prA
結果からわかることは
・メソッドを抜けてもスレッドが終了するわけではない
・スレッドが終了しないならばプロセスは終了しない
・ローカル変数がなくてもスレッドを取得できる
作成したスレッドのオブジェクトはどこかに保持されるみたいね
tは生存します、が答えっす
701デフォルトの名無しさん
2018/08/27(月) 20:52:27.61ID:l2rfNjjd 変数tを通してアクセスできなくなるだけだな。
702デフォルトの名無しさん
2018/08/27(月) 21:06:10.81ID:ngNgILlM threadは、main thread同様garbage collectionのrootとして扱われるそうなので、生存しまする
703デフォルトの名無しさん
2018/08/28(火) 10:11:17.88ID:nen4cHNL ただし、daemonthreadは除く。
704デフォルトの名無しさん
2018/08/29(水) 16:44:32.01ID:V/7UzzKh Eclipseとかいう汚物にJavaFXを入れたく思いマーケットプレースでjavafxで出てくるe(fx)clipseをインストールしようとしたところ長時間待たされた挙句にエラーが出ました
どうすればいいでしょうか?
どうすればいいでしょうか?
705デフォルトの名無しさん
2018/08/29(水) 16:50:03.76ID:V/7UzzKh706デフォルトの名無しさん
2018/08/29(水) 18:31:24.16ID:bzaK3e7y >>704
JavaFXは廃止されたから使っちゃダメ
JavaFXは廃止されたから使っちゃダメ
707デフォルトの名無しさん
2018/08/29(水) 18:35:28.97ID:bZ2D0xRL 諦めなさい
708デフォルトの名無しさん
2018/08/29(水) 20:23:25.71ID:QbSkJrbm マジで?!廃止されるのswingかと思ってた!
709デフォルトの名無しさん
2018/08/29(水) 20:35:24.50ID:LfUbbQ2v 厳密には廃止ではなく分離とされてる。
あとJava8が2020年までサポートだから、2020年までは1.8系のjreがあれば使える。
あとJava8が2020年までサポートだから、2020年までは1.8系のjreがあれば使える。
710デフォルトの名無しさん
2018/08/29(水) 20:44:48.17ID:LfUbbQ2v そもそもJavaの未来はどうなるのか。JREが有償化される。
OpenJDKはインストーラや自動アップデータが提供されるのか。
JavaFXは単体のライブラリとして独立できるはずだが、誰かがやるのかどうか。
現状だと、何やら面倒なインストール手順が必要なようで、
デスクトップアプリに使われるであろうJavaFXにとって致命的なはず。
mavenとかを使ってアプリに気軽に同梱できるものになればいいのだが。
OpenJDKはインストーラや自動アップデータが提供されるのか。
JavaFXは単体のライブラリとして独立できるはずだが、誰かがやるのかどうか。
現状だと、何やら面倒なインストール手順が必要なようで、
デスクトップアプリに使われるであろうJavaFXにとって致命的なはず。
mavenとかを使ってアプリに気軽に同梱できるものになればいいのだが。
711デフォルトの名無しさん
2018/08/29(水) 20:48:44.47ID:zRPnCBM0 JavaFX will continue to be supported in the future by the company Gluon as a downloadable module in addition to the JDK.
712デフォルトの名無しさん
2018/08/29(水) 20:49:34.59ID:zRPnCBM0713デフォルトの名無しさん
2018/08/29(水) 20:51:13.97ID:zRPnCBM0 このスレではJavaFXをオヌヌメします
JavaFXをオヌヌメしないのはoracleのコウサクイン
JavaFXをオヌヌメしないのはoracleのコウサクイン
714デフォルトの名無しさん
2018/08/29(水) 21:01:34.66ID:CmXgIFV4 JavaでデスクトップのGUI環境自体どうなんだ?
715デフォルトの名無しさん
2018/08/29(水) 21:01:39.61ID:LfUbbQ2v downloadable moduleってなんだろうな。
そもそも後方互換性を捨てて高速リリースとか言ってるのが怖くて仕方ない。
開発者が最新版に対応したって、エンドユーザーが最新版を持ってるか分からない。
どのバージョンに向けて作ればいいんだ?
そもそも後方互換性を捨てて高速リリースとか言ってるのが怖くて仕方ない。
開発者が最新版に対応したって、エンドユーザーが最新版を持ってるか分からない。
どのバージョンに向けて作ればいいんだ?
716デフォルトの名無しさん
2018/08/29(水) 21:02:52.35ID:LfUbbQ2v いやクロスプラットフォームGUIという概念は重要でしょ。
717デフォルトの名無しさん
2018/08/29(水) 21:07:16.02ID:LfUbbQ2v Java8+JavaFXは2022年までサポートされるってかいてあるな
だからもう少し先の話ではあるし、人気のある環境だからそれまでに整備されるだろう。
だからもう少し先の話ではあるし、人気のある環境だからそれまでに整備されるだろう。
718デフォルトの名無しさん
2018/08/29(水) 21:13:19.32ID:LfUbbQ2v AndroidでもJavaFX動くみたいだし、クロスプラットフォーム性という面で
やはり一番優れてるよJavaは
ちなみにJavaやKotlinのコードをネイティブコードにするコンパイラがあって
iPhoneでもJavaやKotlinのソースコードで動かせるみたいだぞ
ちょっと前までiPhone用のJVMもあったんだけどな
やはり一番優れてるよJavaは
ちなみにJavaやKotlinのコードをネイティブコードにするコンパイラがあって
iPhoneでもJavaやKotlinのソースコードで動かせるみたいだぞ
ちょっと前までiPhone用のJVMもあったんだけどな
719デフォルトの名無しさん
2018/08/29(水) 21:16:31.19ID:LfUbbQ2v https://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
Java8 個人ユーザーの公式アップデート終了日 2020-12
このときまでにOpenJDKやGluonのインストーラが登場していなければ困る。
そしてそれが自動アップデータを搭載していなければ。
ところが自動アップデータ搭載されてても、後方互換性を捨てたアップデートを勝手にされると困るw
困りまくりだ
Java8 個人ユーザーの公式アップデート終了日 2020-12
このときまでにOpenJDKやGluonのインストーラが登場していなければ困る。
そしてそれが自動アップデータを搭載していなければ。
ところが自動アップデータ搭載されてても、後方互換性を捨てたアップデートを勝手にされると困るw
困りまくりだ
720デフォルトの名無しさん
2018/08/29(水) 21:22:30.87ID:LfUbbQ2v OpenJDKに自動アップデータが提供されたとする。
OpenJDKのアップデートがアプリのアップデートを先行する
→勝手に互換性を捨てたアップデートが来てアプリが動かなくなる。
アプリを最新版に対応してリリースしてもアプリのアップデータは動かないw
アプリのアップデートが先行する
→エンドユーザーのOpenJDKが古くて動作しない
だから、互換性を捨てて高速リリースとかいってるのはほとんど意図的なJava界隈への攻撃。
OpenJDKのアップデートがアプリのアップデートを先行する
→勝手に互換性を捨てたアップデートが来てアプリが動かなくなる。
アプリを最新版に対応してリリースしてもアプリのアップデータは動かないw
アプリのアップデートが先行する
→エンドユーザーのOpenJDKが古くて動作しない
だから、互換性を捨てて高速リリースとかいってるのはほとんど意図的なJava界隈への攻撃。
721デフォルトの名無しさん
2018/08/29(水) 21:26:20.75ID:LfUbbQ2v 一番欲しいのは、Java8のサポート継続&自動アップデート継続&互換性の維持。
APIを変更するならdeprecatedの期間をある程度とってくれないと無理。
高速リリースがうれしい人が居るのか?
APIを変更するならdeprecatedの期間をある程度とってくれないと無理。
高速リリースがうれしい人が居るのか?
722デフォルトの名無しさん
2018/08/29(水) 21:41:37.34ID:zRPnCBM0 .netと同じ道を歩んでるようにみえて
microsoftの.netはMITライセンス
microsoftの.netはMITライセンス
723デフォルトの名無しさん
2018/08/29(水) 21:46:25.67ID:zRPnCBM0 javaはもうおしまい
724デフォルトの名無しさん
2018/08/29(水) 21:59:08.27ID:LfUbbQ2v OpenJDKのリンク例外つきGPLは十分だろ。
OpenJDKにおいて、互換性を考慮したアップデートが行われ、自動アップデータが提供されるか。
GPLだから誰でもそのプロジェクトをやれる。
OpenJDKにおいて、互換性を考慮したアップデートが行われ、自動アップデータが提供されるか。
GPLだから誰でもそのプロジェクトをやれる。
725デフォルトの名無しさん
2018/08/29(水) 22:00:44.61ID:zRPnCBM0 mitライセンス、bsdライセンス以外は不要
726デフォルトの名無しさん
2018/08/29(水) 22:02:20.50ID:LfUbbQ2v >>720の解決法はこうだ
OpenJDKの次期バージョンで現在のアプリが問題を起こすかチェックする。
→問題があるならOpenJDKがアップデートされる前にアプリをアップデートしておく。
そのアプリの修正は、現在のOpenJDKと次のOpenJDK両方で動作する事を確認する。
OpenJDKの次期バージョンで現在のアプリが問題を起こすかチェックする。
→問題があるならOpenJDKがアップデートされる前にアプリをアップデートしておく。
そのアプリの修正は、現在のOpenJDKと次のOpenJDK両方で動作する事を確認する。
727デフォルトの名無しさん
2018/08/29(水) 22:04:08.95ID:zRPnCBM0 javaを棄てれば解決
728デフォルトの名無しさん
2018/08/29(水) 22:07:18.69ID:LfUbbQ2v もうJavaで書いたアプリがあるし、Javaに慣れてるから。
それに、.NETに移ったとして、同じ事が起こらない保証があるのか?
実は俺はこの問題に対する根本的解決策を知ってる。うまくいくかは知らないが
それも含めて考えると、やはりJavaを続けようと思える。
それに、.NETに移ったとして、同じ事が起こらない保証があるのか?
実は俺はこの問題に対する根本的解決策を知ってる。うまくいくかは知らないが
それも含めて考えると、やはりJavaを続けようと思える。
729デフォルトの名無しさん
2018/08/29(水) 22:13:52.55ID:bGCoQXPI >>726
どうチェックすんの?
どうチェックすんの?
730デフォルトの名無しさん
2018/08/29(水) 22:31:53.32ID:LfUbbQ2v リリース前でもビルドが公開されてるだろうと思ったけど。
プラットフォーム系でプレビューリリースとかアーリーアクセス的なものを提供して
予め対応してもらおうというアイデアは一般的なもので、オラクルがOpenJDKをサポートするなら
たぶんやるだろう、というか既にやってると思うけど。
JDK 11 Early-Access Builds
http://jdk.java.net/11/
プラットフォーム系でプレビューリリースとかアーリーアクセス的なものを提供して
予め対応してもらおうというアイデアは一般的なもので、オラクルがOpenJDKをサポートするなら
たぶんやるだろう、というか既にやってると思うけど。
JDK 11 Early-Access Builds
http://jdk.java.net/11/
731デフォルトの名無しさん
2018/08/30(木) 00:12:55.41ID:2PPyJx3c 大前提の認識が間違ってるぞ。
Java11以降においては無償のスタンドアロンなJREは無くなるんだよ。
デスクトップ用途なら開発者自身がアプリにJavaランタイムを組み込んで配布することが推奨される。
そして、OpenJDKはエンドユーザーが自分で個人端末にインストールするようなことを想定したものではない。
開発者がシステムに元々入っているのOpenJDKに依存してよいのは、業務システムなどで
開発者が完全に実行環境のOpenJDKディストリビューションのバージョンや構成を制御できる場合のみだ。
Java11以降においては無償のスタンドアロンなJREは無くなるんだよ。
デスクトップ用途なら開発者自身がアプリにJavaランタイムを組み込んで配布することが推奨される。
そして、OpenJDKはエンドユーザーが自分で個人端末にインストールするようなことを想定したものではない。
開発者がシステムに元々入っているのOpenJDKに依存してよいのは、業務システムなどで
開発者が完全に実行環境のOpenJDKディストリビューションのバージョンや構成を制御できる場合のみだ。
732デフォルトの名無しさん
2018/08/30(木) 00:46:49.22ID:XYFOdQAI https://docs.oracle.com/javase/jp/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1307236
>自己完結型アプリケーション・パッケージは、プラットフォーム固有で、ビルドしたシステムと同じシステムにのみ作成できます。
各プラットフォーム向けにビルドしなきゃいけないようだ
>自己完結型アプリケーションには、自動更新の組込みサポートがありません。
アプリのアップデータで簡単にアップデートできるなら問題ではない。
アプリへのJREの組み込み手段がサポートされて、
そこでJavaFXがサポートされるなら、問題無い気がする。
JavaFXはそこでサポートされなきゃ意味が無いし。
>自己完結型アプリケーション・パッケージは、プラットフォーム固有で、ビルドしたシステムと同じシステムにのみ作成できます。
各プラットフォーム向けにビルドしなきゃいけないようだ
>自己完結型アプリケーションには、自動更新の組込みサポートがありません。
アプリのアップデータで簡単にアップデートできるなら問題ではない。
アプリへのJREの組み込み手段がサポートされて、
そこでJavaFXがサポートされるなら、問題無い気がする。
JavaFXはそこでサポートされなきゃ意味が無いし。
733デフォルトの名無しさん
2018/08/30(木) 00:57:29.40ID:XYFOdQAI >Java SE 8は、デスクトップ展開を対象とした最後のJava SEリリースです(Java Web StartやスタンドアロンシステムJREなど)。
こういう文言もあるから、Java11以降、OpenJDKでJavaFXみたいな
デスクトップ展開がサポートされるのかどうか。Java8最終版を組み込んで使い続けるか
Gluonに期待するか。
こういう文言もあるから、Java11以降、OpenJDKでJavaFXみたいな
デスクトップ展開がサポートされるのかどうか。Java8最終版を組み込んで使い続けるか
Gluonに期待するか。
734デフォルトの名無しさん
2018/08/30(木) 12:01:02.32ID:rv0GkEtx 初心者だけどJavaFXでFTPサーバーとやりとりして追加したり一覧表示してダウンロードしたりするwindows用アプリを作りたいんだ
apache commons netというライブラリを使ってやろうと思うけどviewにファイルを入れるにはどうすれば良いんだろう?
入れた後はjavaからviewをインスタンス化してその中の変数の値(ファイルのパスかな?)を取り出してって感じでなんとかなりそうだけど...
本当に何も分からない状態で、何か良い勉強方法は無いかな?
FTPサーバーについても素人に近いよ
apache commons netというライブラリを使ってやろうと思うけどviewにファイルを入れるにはどうすれば良いんだろう?
入れた後はjavaからviewをインスタンス化してその中の変数の値(ファイルのパスかな?)を取り出してって感じでなんとかなりそうだけど...
本当に何も分からない状態で、何か良い勉強方法は無いかな?
FTPサーバーについても素人に近いよ
735デフォルトの名無しさん
2018/08/30(木) 12:06:53.68ID:Qomnyyns 素人過ぎて話にならないな
736デフォルトの名無しさん
2018/08/30(木) 12:59:41.93ID:A5Nytyjy そういや今はJavaは標準のライブラリでFTP接続してアップロードとか楽にできるクラスあるのかな?
ダウンロードだけはURLクラスでできるの知ってるが。
ダウンロードだけはURLクラスでできるの知ってるが。
737デフォルトの名無しさん
2018/08/30(木) 21:21:59.87ID:XYFOdQAI viewにファイルを入れるってなに?
TableViewとかTreeViewクラスにアイテムを表示する方法ならチュートリアルあるでしょ
TableViewとかTreeViewクラスにアイテムを表示する方法ならチュートリアルあるでしょ
738デフォルトの名無しさん
2018/08/30(木) 21:23:54.73ID:XYFOdQAI ああ解読できたかも
要するにGUIにアプリから値を設定、ないし
アプリからGUIに値を設定するにはってことでしょ?
てかGUIってそういう使い方しかないし。
そんなのぐぐればいくらでも出てくるのでは。
https://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/table-view.htm
要するにGUIにアプリから値を設定、ないし
アプリからGUIに値を設定するにはってことでしょ?
てかGUIってそういう使い方しかないし。
そんなのぐぐればいくらでも出てくるのでは。
https://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/table-view.htm
739デフォルトの名無しさん
2018/08/30(木) 22:12:54.72ID:XYFOdQAI 訂正
人→GUI→アプリ
アプリ→GUI→人
この流れがやりたいってことだとおもわれる
人→GUI→アプリ
アプリ→GUI→人
この流れがやりたいってことだとおもわれる
740デフォルトの名無しさん
2018/08/30(木) 23:38:43.13ID:8yCH8Wm6741デフォルトの名無しさん
2018/08/31(金) 00:25:08.31ID:tMQ4ovnC Project Loomを急ぐんだ!
はやく第一級継続を書かせるんだ。
どうか限定じゃありませんように
はやく第一級継続を書かせるんだ。
どうか限定じゃありませんように
742デフォルトの名無しさん
2018/08/31(金) 01:00:04.22ID:CSMn2BX4 イメージできんってもなあ・・・
GUI部品クラスが提供されてて、何らかの値の設定方法、取得方法があるだけじゃん。
StageやSceneクラスという、GUI全体を意味するクラスも提供されてる。
そこにGUI部品を積み上げてくだけだぞ。
GUI部品クラスが提供されてて、何らかの値の設定方法、取得方法があるだけじゃん。
StageやSceneクラスという、GUI全体を意味するクラスも提供されてる。
そこにGUI部品を積み上げてくだけだぞ。
743デフォルトの名無しさん
2018/08/31(金) 01:09:01.54ID:CSMn2BX4 起動って・・・IDEのプロジェクトアーキテクチャの選択でfx系選べば何もしなくても
GUI立ち上がるでしょ
GUI立ち上がるでしょ
744デフォルトの名無しさん
2018/08/31(金) 08:28:19.25ID:XwawDSyV745デフォルトの名無しさん
2018/08/31(金) 09:09:35.21ID:G30RIEnt 何かの障害持ちだと理解の過程が通常と違う
彼らにネットは不向きだと思う
彼らにネットは不向きだと思う
746デフォルトの名無しさん
2018/08/31(金) 10:00:14.28ID:lv4qnKPx お前らすぐそうやって……
747デフォルトの名無しさん
2018/08/31(金) 10:43:19.14ID:s5ujzdS3 なんというか、Windowsならftpアプリなんかわざわざ作らんでもWebブラウザやエクスプローラでURL指定して開いちゃえばいいような気がするが・・・
あ、とにかく作ってみたいのか。
あ、とにかく作ってみたいのか。
748デフォルトの名無しさん
2018/08/31(金) 20:47:37.72ID:jQ6ZKbRR >>747
ピュアな ftp ならプロトコルも対して難しくもないからネットワークの練習にはちょうどいい
ピュアな ftp ならプロトコルも対して難しくもないからネットワークの練習にはちょうどいい
749デフォルトの名無しさん
2018/09/01(土) 00:04:26.42ID:kDvfeVra gluonとopenjfxが両方javafx11ビルドしてるけどこれ同じバイナリだろうか?
750デフォルトの名無しさん
2018/09/01(土) 10:46:03.05ID:faUndSgH >>5
8のreplaceは正規表現を使ってて馬鹿みたいに遅いから気をつけろ
8のreplaceは正規表現を使ってて馬鹿みたいに遅いから気をつけろ
751デフォルトの名無しさん
2018/09/01(土) 10:50:10.09ID:8XWt4TWp752デフォルトの名無しさん
2018/09/01(土) 11:18:35.81ID:4jvmXnIZ >>750
それはreplaceFirst()だろ
それはreplaceFirst()だろ
753デフォルトの名無しさん
2018/09/01(土) 13:34:55.66ID:tt1XTLVx 調べてみた
@since 1.5
replace(CharSequence target, CharSequence replacement)
@since 1.4
replaceAll(String regex, String replacement)
@since 1.4
replaceFirst(String regex, String replacement)
replaceは正規表現使ってなかった
@since 1.5
replace(CharSequence target, CharSequence replacement)
@since 1.4
replaceAll(String regex, String replacement)
@since 1.4
replaceFirst(String regex, String replacement)
replaceは正規表現使ってなかった
754デフォルトの名無しさん
2018/09/01(土) 22:52:18.30ID:6Yw3sf7c >>751
元からjavaの一部じゃないから
元からjavaの一部じゃないから
755デフォルトの名無しさん
2018/09/21(金) 23:35:33.58ID:6Tz3djX7 資格に関する質問ってしてもOK?
Oracleの「Java SE 8 Silver」の試験勉強をしようと思うんだけど、参考書に迷ってる
4月からjavaを学習してる程度の人が「徹底攻略 Java SE 8 Silver 問題集」をやるのは難易度高い?
書いてて宣伝っぽい文章になったのはごめん
Oracleの「Java SE 8 Silver」の試験勉強をしようと思うんだけど、参考書に迷ってる
4月からjavaを学習してる程度の人が「徹底攻略 Java SE 8 Silver 問題集」をやるのは難易度高い?
書いてて宣伝っぽい文章になったのはごめん
756デフォルトの名無しさん
2018/09/22(土) 07:41:38.75ID:r0UgUCyq NG
757デフォルトの名無しさん
2018/09/27(木) 05:16:42.90ID:lxTijohv java SE 11 キテター
758デフォルトの名無しさん
2018/09/27(木) 09:12:53.75ID:rZRe7wqK 有料だから注意しろよ
無料で落とせるやつはちゃんとLAに「評価と開発以外の目的に使うな」と書かれてる
そんな大事なことをダウンロードページに明記してなくてLA読まないと分からないようにしてるのは流石天下のオラクル様ですわ
無料で落とせるやつはちゃんとLAに「評価と開発以外の目的に使うな」と書かれてる
そんな大事なことをダウンロードページに明記してなくてLA読まないと分からないようにしてるのは流石天下のオラクル様ですわ
759デフォルトの名無しさん
2018/09/27(木) 23:41:43.99ID:vISpszsR OpenJDK11があるじゃん。そのうちAdapt OpenJDK11もでるだろ。
760デフォルトの名無しさん
2018/09/28(金) 11:03:15.31ID:2WodH1m0 JDK11が多すぎて混乱しそう
761デフォルトの名無しさん
2018/09/29(土) 00:56:04.15ID:kyybLiyB だいたいダウンロードページにOTN開発者ライセンスに変わったって書いてあるし
762デフォルトの名無しさん
2018/09/29(土) 18:23:46.96ID:o+PWeM92 JavaでJson読ませるの、どのライブラリが使い勝手いい?
なんかいろいろありすぎて困る
なんかいろいろありすぎて困る
763デフォルトの名無しさん
2018/09/29(土) 22:43:49.26ID:tgpIib8y764デフォルトの名無しさん
2018/10/03(水) 01:25:23.37ID:9ie+5iaR 質問です。
下記のコードで、
https://ideone.com/0RbRo7
出力が0と0の間で2行開いてしまっているのですが、これはなぜでしょうか?
System.out.printlnをSystem.out.printにすると空白は出ないのですが…。
下記のコードで、
https://ideone.com/0RbRo7
出力が0と0の間で2行開いてしまっているのですが、これはなぜでしょうか?
System.out.printlnをSystem.out.printにすると空白は出ないのですが…。
765デフォルトの名無しさん
2018/10/03(水) 01:59:25.15ID:VtwiWIya 区切り文字を{},の3文字にしてsplitしたからでしょ。
766デフォルトの名無しさん
2018/10/03(水) 07:18:02.71ID:3B507mk5767デフォルトの名無しさん
2018/10/03(水) 20:33:31.74ID:Yoi2jO2M 正規表現か書式を見直したほうがいいんじゃないの?
768764
2018/10/04(木) 00:11:26.33ID:smFA2GkF769デフォルトの名無しさん
2018/10/04(木) 11:58:36.08ID:YAdWzVOj http://acro-engineer.hatenablog.com/entry/2013/10/17/113216
>MyProtocolClientHandler extends ChannelInboundHandlerAdapter
Inbound 受信時に使用される処理
Outbound 送信時に使用される処理
という理解なんだけど、クライアント側のInboundはレスポンスを受信するときに動くということ?
でも送信時のコードが書かれてるようで、分からない。
NettyのInbound, Outboundとは?
>MyProtocolClientHandler extends ChannelInboundHandlerAdapter
Inbound 受信時に使用される処理
Outbound 送信時に使用される処理
という理解なんだけど、クライアント側のInboundはレスポンスを受信するときに動くということ?
でも送信時のコードが書かれてるようで、分からない。
NettyのInbound, Outboundとは?
770デフォルトの名無しさん
2018/10/04(木) 13:51:17.62ID:k+Ofe9B1 Inbound:中国人の観光客
Outbound:日本人の海外旅行
Outbound:日本人の海外旅行
771デフォルトの名無しさん
2018/10/04(木) 14:09:27.89ID:YAdWzVOj ああわかりました
channelActiveは返信等を受け付けれるような状態になった時に呼び出されて、
それはinbound,outbound関係無いってことですね
パイプラインのハンドラーというより、メッセージ送信の
コントローラー的なものがそこに書かれてるということですね
たまたまハンドラのイベントにそういう処理が書かれてる
channelActiveは返信等を受け付けれるような状態になった時に呼び出されて、
それはinbound,outbound関係無いってことですね
パイプラインのハンドラーというより、メッセージ送信の
コントローラー的なものがそこに書かれてるということですね
たまたまハンドラのイベントにそういう処理が書かれてる
772デフォルトの名無しさん
2018/10/06(土) 11:51:41.21ID:mwcXVcDx https://netty.io/4.0/api/io/netty/channel/ChannelDuplexHandler.html
> intercept operations and also state updates
この部分どういう意味ですか?intercept operationとは?
DuplexHandlerはパイプライン上でどういう順序で実行されますか?
受信時と送信時で実行して欲しい順番が異なる場合どうすれば?
> intercept operations and also state updates
この部分どういう意味ですか?intercept operationとは?
DuplexHandlerはパイプライン上でどういう順序で実行されますか?
受信時と送信時で実行して欲しい順番が異なる場合どうすれば?
773デフォルトの名無しさん
2018/10/06(土) 19:22:07.94ID:3cjxIhmP Java SE API & ドキュメント
https://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html
Java11の日本語ドキュメントはいつごろ出てくるのでしょうか?
https://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html
Java11の日本語ドキュメントはいつごろ出てくるのでしょうか?
774デフォルトの名無しさん
2018/10/08(月) 07:44:21.00ID:fU+WK0rO bronzeの問題集やっててイライラしてきたんだけど、問題になるようなコードは基本的に書くなってことでいいんですよね?
&&||の右側にインクリメント演算子書いたから場合によって評価されないとかif文の中身1行しかないからカッコ省略したら読みづらくなってるとか
問題として出されるくらいヒューマンエラーを産みかねないってことでOK?
&&||の右側にインクリメント演算子書いたから場合によって評価されないとかif文の中身1行しかないからカッコ省略したら読みづらくなってるとか
問題として出されるくらいヒューマンエラーを産みかねないってことでOK?
775デフォルトの名無しさん
2018/10/08(月) 08:33:34.55ID:QRotEnod 読めるようになれってことじゃないの?
>&&||の右側にインクリメント演算子書いたから場合によって評価されない
例えばこれは、
if(a != null && a.get()>1)
こんな行があった時に2つ目の演算でNPE起きない事が保証されると分かれ、ということだろう
書くな、じゃないよ。こんなコードたくさんあるし、こう書かないと冗長になる
>&&||の右側にインクリメント演算子書いたから場合によって評価されない
例えばこれは、
if(a != null && a.get()>1)
こんな行があった時に2つ目の演算でNPE起きない事が保証されると分かれ、ということだろう
書くな、じゃないよ。こんなコードたくさんあるし、こう書かないと冗長になる
776デフォルトの名無しさん
2018/10/08(月) 08:56:01.75ID:fU+WK0rO >>775
演算子のほうはちゃんと意味考えて書けよってことですよね?って聞いたつもりだったんです、言葉足らずでした
評価されない場合使って簡潔に書くのはよくあることなんですかね
中身1文ブロックのカッコ省略のメリットがさっぱりわからないんですが見た目がすっきりするだけですかね……?
どこ読んでもあえて推奨されてることがなくて、ブログのコメント欄とかはだいたいケンカになってるんでこれはあまり触れてはいけないアレなんでしょうか
演算子のほうはちゃんと意味考えて書けよってことですよね?って聞いたつもりだったんです、言葉足らずでした
評価されない場合使って簡潔に書くのはよくあることなんですかね
中身1文ブロックのカッコ省略のメリットがさっぱりわからないんですが見た目がすっきりするだけですかね……?
どこ読んでもあえて推奨されてることがなくて、ブログのコメント欄とかはだいたいケンカになってるんでこれはあまり触れてはいけないアレなんでしょうか
777デフォルトの名無しさん
2018/10/08(月) 08:58:46.13ID:QRotEnod まあそれは簡単に言うと
開発時のソースコードはデバッグ出力の行があったりするんだけど
リリース時はデバッグ出力の行を文字列置換で一掃したりする。で、もし
if(...)
debugLog(...);
こういう行があったとして、debugLog(...);を置換で削除したら、エラーになる。
if(...){
debugLog(...);
}
これは置換しても大丈夫。
だから、括弧無しは処理部分を置換する事があるか、による
経験上置換するのはデバッグ系コードだけ
開発時のソースコードはデバッグ出力の行があったりするんだけど
リリース時はデバッグ出力の行を文字列置換で一掃したりする。で、もし
if(...)
debugLog(...);
こういう行があったとして、debugLog(...);を置換で削除したら、エラーになる。
if(...){
debugLog(...);
}
これは置換しても大丈夫。
だから、括弧無しは処理部分を置換する事があるか、による
経験上置換するのはデバッグ系コードだけ
778デフォルトの名無しさん
2018/10/08(月) 09:13:02.08ID:fU+WK0rO 書き換えるつもりがない1行のはカッコ省略で書くと読みやすい、あとあと置換するdebugLog(…)とかは消したときに空のブロックになるように{}書いとく、ってことでしょうか?
779デフォルトの名無しさん
2018/10/08(月) 09:51:13.29ID:UTHfaM17780デフォルトの名無しさん
2018/10/08(月) 09:55:23.16ID:QRotEnod781デフォルトの名無しさん
2018/10/08(月) 10:26:38.83ID:2rmJ0ycQ >>774
落ち着け、深呼吸しろ
落ち着け、深呼吸しろ
782デフォルトの名無しさん
2018/10/08(月) 11:34:11.42ID:H/mp1NsO >>774-776
&&・||の右側に、副作用があったら危険!
副作用とは、何かの状態を変えること
ぱっと見ただけでは、副作用が実行されるかされないのかが、わかりにくい。
右側に、副作用が無ければよいけど
if-else 文なんかより可読性が低いから、誤解しやすい
すべての言語で、言われている。
MISRA-C とか、C言語のルールでも、決められている
&&・||の右側に、副作用があったら危険!
副作用とは、何かの状態を変えること
ぱっと見ただけでは、副作用が実行されるかされないのかが、わかりにくい。
右側に、副作用が無ければよいけど
if-else 文なんかより可読性が低いから、誤解しやすい
すべての言語で、言われている。
MISRA-C とか、C言語のルールでも、決められている
783デフォルトの名無しさん
2018/10/08(月) 12:02:59.41ID:QRotEnod 副作用があるかもしれないから、という理由なら条件分岐関係無くない?
if(a == null)
return;
if(a.get()<=1)
return;
これでget()呼ぶのも副作用あるかもしれないよね?
if(a == null)
return;
if(a.get()<=1)
return;
これでget()呼ぶのも副作用あるかもしれないよね?
784デフォルトの名無しさん
2018/10/08(月) 12:20:29.15ID:tKqgyITq >>783
別スレッドによって a が null にされてしまう可能性はあるな。だいたいの場合はそういうスレッドがないか、
またはあると分かっているならロックしてからアクセスするように作るから問題にならないんだろうけど。
別スレッドによって a が null にされてしまう可能性はあるな。だいたいの場合はそういうスレッドがないか、
またはあると分かっているならロックしてからアクセスするように作るから問題にならないんだろうけど。
785デフォルトの名無しさん
2018/10/08(月) 12:26:37.42ID:QRotEnod ん?こういう理解だけど。参照が渡されてるだけだから
別スレッドが参照を破棄しても関係ないぞ
func1(Object a){
if(a == null)
return;
a.get();//絶対にNPEが起きないマルチスレッド無関係
}
func2(Object a){
a = null;
}
別スレッドが参照を破棄しても関係ないぞ
func1(Object a){
if(a == null)
return;
a.get();//絶対にNPEが起きないマルチスレッド無関係
}
func2(Object a){
a = null;
}
786デフォルトの名無しさん
2018/10/08(月) 12:29:19.11ID:r0dViXxq そもそも式の中で副作用のある関数を呼び出すのは危険
&&や||は評価順序が決まってるからまだマシな方でそれ以外の演算子だと評価順序もどうなるかわからんし
&&や||は評価順序が決まってるからまだマシな方でそれ以外の演算子だと評価順序もどうなるかわからんし
787デフォルトの名無しさん
2018/10/08(月) 12:32:49.91ID:QRotEnod でも副作用がある関数はset,write,update,createとか大体それっぽい名前ついてるし
分かるでしょ?
というか情報処理はCRUDだからcreate,update,delete的な名前が必ずついてる
副作用を広くとらえればログ出力も副作用だけど、そういうのは問題無い
getは副作用無しか問題無い副作用のみ、CRUDのRに相当するものだから
だからコーディング規約を作るなら、CRUDを意識させるようなものであるべきで、
真理式でメソッドを呼び出すなとかいうわけわからん規約を作るべきではない
CRUDのうちRのみ呼び出していい、とすべき
分かるでしょ?
というか情報処理はCRUDだからcreate,update,delete的な名前が必ずついてる
副作用を広くとらえればログ出力も副作用だけど、そういうのは問題無い
getは副作用無しか問題無い副作用のみ、CRUDのRに相当するものだから
だからコーディング規約を作るなら、CRUDを意識させるようなものであるべきで、
真理式でメソッドを呼び出すなとかいうわけわからん規約を作るべきではない
CRUDのうちRのみ呼び出していい、とすべき
788デフォルトの名無しさん
2018/10/08(月) 12:37:02.60ID:QRotEnod ぶっちゃけCUDでも呼び出していい
結局、意味を捉えて間違えないように書けということでしかない
コーディング規約をどういじくってもそこから逃げれるわけじゃない
結局、意味を捉えて間違えないように書けということでしかない
コーディング規約をどういじくってもそこから逃げれるわけじゃない
789デフォルトの名無しさん
2018/10/08(月) 12:43:00.19ID:wqzMNkqt if (a == 0 || b++ < 1) {
}
こういう書き方をすると一見bが常にインクリメントされるように誤解されやすいからやめとけよって言ってるだけでしょ。
}
こういう書き方をすると一見bが常にインクリメントされるように誤解されやすいからやめとけよって言ってるだけでしょ。
790デフォルトの名無しさん
2018/10/08(月) 12:48:22.90ID:QRotEnod 真理式に複数の演算があって、かつ一部に副作用があるとまずい、ってことか
791デフォルトの名無しさん
2018/10/08(月) 13:19:09.60ID:H/mp1NsO 副作用・副作用完了点
評価順序・マクロ
MISRA-C でも、こういう間違いやすい所の、ルールは厳しい
評価順序・マクロ
MISRA-C でも、こういう間違いやすい所の、ルールは厳しい
792デフォルトの名無しさん
2018/10/08(月) 14:53:07.06ID:tKqgyITq >>785
それならないな。
残るは get() して 1 以下なのを検査した直後に別スレッドによって a の状態が変化して get() が返す値が変わるとかかな。
(そんなの想定の範囲内なら問題ないが)。
それならないな。
残るは get() して 1 以下なのを検査した直後に別スレッドによって a の状態が変化して get() が返す値が変わるとかかな。
(そんなの想定の範囲内なら問題ないが)。
793デフォルトの名無しさん
2018/10/10(水) 01:35:05.39ID:gneY7b7h adopt openjdkのjdk11リリースされたじゃん。
ttps://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot
LTSだぞ。
ttps://adoptopenjdk.net/support.html?variant=openjdk11&jvmVariant=hotspot
ttps://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot
LTSだぞ。
ttps://adoptopenjdk.net/support.html?variant=openjdk11&jvmVariant=hotspot
794デフォルトの名無しさん
2018/10/12(金) 06:07:22.65ID:LkXNeCMg Java 11のJREって無いんですか?
795デフォルトの名無しさん
2018/10/12(金) 08:34:35.39ID:kCbZI2NA クライアントJREは廃止された
今現在、要JREとして世に出ているアプリをエンドユーザーが実行する公式な方法は存在しない(自己責任で開発環境を入れるしかない)
今後のクライアントサイドJavaアプリの唯一の配布方法は、JDKに含まれるコマンドラインツールを使用して
プラットフォーム毎に実行環境とアプリを同梱した実行可能なパッケージを作ることである
クライアントサイドに関しては、もはやJavaはバイナリ互換ではない
OracleはクライアントサイドJavaを段階的に廃止しようとしており、新規には決して使ってはならない
今現在、要JREとして世に出ているアプリをエンドユーザーが実行する公式な方法は存在しない(自己責任で開発環境を入れるしかない)
今後のクライアントサイドJavaアプリの唯一の配布方法は、JDKに含まれるコマンドラインツールを使用して
プラットフォーム毎に実行環境とアプリを同梱した実行可能なパッケージを作ることである
クライアントサイドに関しては、もはやJavaはバイナリ互換ではない
OracleはクライアントサイドJavaを段階的に廃止しようとしており、新規には決して使ってはならない
796デフォルトの名無しさん
2018/10/12(金) 09:00:21.36ID:U0bHLz7N >>793
当てにならんよこんなの
こいつらはただのビルド屋で、自分達でソースに手を入れる体制はない
次のバージョンのOpenJDKがリリースされた後もOpenJDK公式リポジトリの旧バージョンのソースに対してLTS向けのパッチが提供されるかどうかは、
オラクル様の温情次第
当てにならんよこんなの
こいつらはただのビルド屋で、自分達でソースに手を入れる体制はない
次のバージョンのOpenJDKがリリースされた後もOpenJDK公式リポジトリの旧バージョンのソースに対してLTS向けのパッチが提供されるかどうかは、
オラクル様の温情次第
797デフォルトの名無しさん
2018/10/12(金) 20:45:34.37ID:LkXNeCMg >>795
サンクス
サンクス
798デフォルトの名無しさん
2018/10/22(月) 16:04:20.83ID:1yTQ4g+U 何時の間にかvar使えるようになってたな
799デフォルトの名無しさん
2018/10/22(月) 23:21:36.65ID:KYkLOyp1 いないいないvar
800デフォルトの名無しさん
2018/10/22(月) 23:32:16.95ID:sd28W5TQ Javaに型推論が無いことをディスられると、意識高い系Javaerさん達は
ローカル変数の型もinterfaceにするべきだからそんなもん要らんと上から目線で反論してたけど
梯子外されちゃって哀れだな
ローカル変数の型もinterfaceにするべきだからそんなもん要らんと上から目線で反論してたけど
梯子外されちゃって哀れだな
801デフォルトの名無しさん
2018/10/23(火) 03:01:58.72ID:IDcT8U1C これ2じゃなくて1が出力される。何で?
@Test
public void mapObjTest() {
Map<Long, Integer> m = new HashMap<>();
Long key = 1L;
m.put(key, 1);
Integer val = m.get(key);
val++;
System.out.println(m.get(key));
}
@Test
public void mapObjTest() {
Map<Long, Integer> m = new HashMap<>();
Long key = 1L;
m.put(key, 1);
Integer val = m.get(key);
val++;
System.out.println(m.get(key));
}
802デフォルトの名無しさん
2018/10/23(火) 03:05:36.61ID:IDcT8U1C 悪く言われるけどクライアントサイドについてJRE同梱は良いんじゃない?
もはやファイルサイズは小さな問題だし、JREのバージョン違いでの誤作動を減らせる。
クライアントサイドJavaがそれで悪くなったと思わないけどな、俺は
JavaFXが外されたのは悪くなったと思うけど、でもどうせ同梱する作業するときに入れるんだし
妥当な変化じゃないの?
もはやファイルサイズは小さな問題だし、JREのバージョン違いでの誤作動を減らせる。
クライアントサイドJavaがそれで悪くなったと思わないけどな、俺は
JavaFXが外されたのは悪くなったと思うけど、でもどうせ同梱する作業するときに入れるんだし
妥当な変化じゃないの?
803デフォルトの名無しさん
2018/10/23(火) 05:51:34.87ID:6lDUuVuA >>801
val++は↓これと同じ
val = val + 1
変数valに値を代入してる
↓こう書けば値は2になる、value.valueはドット演算子を使ってオブジェクトの状態を変えてる
public class Main {
public static void main(String[] args) {
Map<Integer, Value> map = new HashMap<>();
map.put(1, new Value(1));
Value value = map.get(1);
value.value++;
System.out.println(value.value);
}
}
class Value {
int value;
Value(int value) {
this.value = value;
}
}
変数に対する代入と
オブジェクトの状態を変えることとは
異なる操作なんやで
val++は↓これと同じ
val = val + 1
変数valに値を代入してる
↓こう書けば値は2になる、value.valueはドット演算子を使ってオブジェクトの状態を変えてる
public class Main {
public static void main(String[] args) {
Map<Integer, Value> map = new HashMap<>();
map.put(1, new Value(1));
Value value = map.get(1);
value.value++;
System.out.println(value.value);
}
}
class Value {
int value;
Value(int value) {
this.value = value;
}
}
変数に対する代入と
オブジェクトの状態を変えることとは
異なる操作なんやで
804デフォルトの名無しさん
2018/10/23(火) 07:00:55.65ID:6lDUuVuA 変数への操作か、オブジェクトへの操作かを区別する必要があって
それぞれの違いはこんな感じ
https://light.dotup.org/uploda/light.dotup.org554015.png
それぞれの違いはこんな感じ
https://light.dotup.org/uploda/light.dotup.org554015.png
805デフォルトの名無しさん
2018/10/23(火) 07:55:16.19ID:ukFWTvzy806デフォルトの名無しさん
2018/10/23(火) 08:11:13.69ID:ukFWTvzy 要するにval++は↓の省略系
val = new Integer(val.intValue()+1)
val = new Integer(val.intValue()+1)
807デフォルトの名無しさん
2018/10/23(火) 09:23:24.20ID:cDc5Fd7g808デフォルトの名無しさん
2018/10/23(火) 09:42:44.32ID:AS/7ikV7 すごーい
809デフォルトの名無しさん
2018/10/23(火) 23:29:12.49ID:baThXOF4 >>802
動的リンクしまくってるからFullJRE前提だわ。
動的リンクしまくってるからFullJRE前提だわ。
810デフォルトの名無しさん
2018/10/25(木) 05:33:58.31ID:KXlarInO Object#equals()
public boolean equals(Object obj) {
return (this == obj);
}
なんでreturn this == obj;じゃなく括弧で囲ってるの?
public boolean equals(Object obj) {
return (this == obj);
}
なんでreturn this == obj;じゃなく括弧で囲ってるの?
811デフォルトの名無しさん
2018/10/25(木) 09:55:01.19ID:hw/Q19JU 囲ってみたい気分だったのだろう
812デフォルトの名無しさん
2018/10/25(木) 11:06:47.39ID:jwOWZyFv return文に記述された式が複雑なときは括弧で括ったほうがmore readableだから推奨してる人のほうが多いように思うけど、
this == objが複雑かどうかは微妙だね。
でも自分なら括弧つけるかな。
理由は、括弧でくくることで、等式が値を返す数式として使われていることを明示できるから。
this == objが複雑かどうかは微妙だね。
でも自分なら括弧つけるかな。
理由は、括弧でくくることで、等式が値を返す数式として使われていることを明示できるから。
813デフォルトの名無しさん
2018/10/25(木) 11:34:47.74ID:r31i+JfI Javaの最黎期に書かれたものだろうから、コードスタイルが今の基準からすれば変でもおかしくない
今では一般的には括弧はつけないのが主流だね
今では一般的には括弧はつけないのが主流だね
814デフォルトの名無しさん
2018/10/25(木) 12:09:47.24ID:VLidr5ui 最近はアローで書いちゃうから一行だしな
815デフォルトの名無しさん
2018/10/25(木) 14:00:36.81ID:oNBD1gf9 計算がよくわからん時は、まず括弧で囲えって、
今でも教える人がいるからな
今でも教える人がいるからな
816デフォルトの名無しさん
2018/10/25(木) 14:21:09.91ID:6wYT/HJT かっこいい、かっこわるい?
817デフォルトの名無しさん
2018/10/25(木) 18:46:51.45ID:zmVgc+jl818デフォルトの名無しさん
2018/10/27(土) 15:01:56.02ID:1x6RXWmG javaでaccessdbと接続するようなソフト作ってみたいんですが
フレームワークって必要ですか
ちょっとフレームワーク自体よくわかってないです。
規模は社内で5人くらいで使用します。
フレームワークって必要ですか
ちょっとフレームワーク自体よくわかってないです。
規模は社内で5人くらいで使用します。
819デフォルトの名無しさん
2018/10/27(土) 19:11:03.52ID:RbshV9yz 検索すれば出てくるけど
ハマることが多そうだからオススメしない
Javaが要件なのかAccessが要件なのかわからんが
ハマることが多そうだからオススメしない
Javaが要件なのかAccessが要件なのかわからんが
820デフォルトの名無しさん
2018/10/27(土) 19:15:14.94ID:LS+3DLFQ821デフォルトの名無しさん
2018/10/27(土) 19:16:29.43ID:ZlRq8doU Ruby on Rails, Node.js などでは、開発環境では、SQLite を使うけど
822デフォルトの名無しさん
2018/10/27(土) 22:29:57.54ID:229rJcCX823デフォルトの名無しさん
2018/10/28(日) 03:09:10.51ID:7tRDHbkL >>822
バイナリ互換じゃなくなるけどソースコード互換ではあるので・・・
JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
むしろJRE同梱したい、と思うのが普通だよ
JRE同梱によるファイルサイズ増加はもはや問題にならないし
どうせJRE同梱作業するなら、その時にJavaFX入れれば良いので、分離されたのも妥当な気がするし
むしろクライアントサイドで進歩してると言っても良いのでは
バイナリ互換じゃなくなるけどソースコード互換ではあるので・・・
JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
むしろJRE同梱したい、と思うのが普通だよ
JRE同梱によるファイルサイズ増加はもはや問題にならないし
どうせJRE同梱作業するなら、その時にJavaFX入れれば良いので、分離されたのも妥当な気がするし
むしろクライアントサイドで進歩してると言っても良いのでは
824デフォルトの名無しさん
2018/10/28(日) 03:59:58.74ID:WcIuuSyz >JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
JRE同梱だと回避できて、JARだけだとダメな問題ってどういうのがあるん?
実際にクライアントの環境が異なってたらどうやって提供しようが辛さは一緒におもえる
だいたいJRE同梱なんかされたら何仕込まれてもわからん
サンドボックスのしっかりした仕組みがあるわけじゃなし
そもそもWindowsとかOS側が信用できない
共通のJavaだから信頼感あったのに
JRE同梱だと回避できて、JARだけだとダメな問題ってどういうのがあるん?
実際にクライアントの環境が異なってたらどうやって提供しようが辛さは一緒におもえる
だいたいJRE同梱なんかされたら何仕込まれてもわからん
サンドボックスのしっかりした仕組みがあるわけじゃなし
そもそもWindowsとかOS側が信用できない
共通のJavaだから信頼感あったのに
825デフォルトの名無しさん
2018/10/28(日) 04:08:51.40ID:z9u8vCUJ 今どき.NETですらランタイム同梱する流れだからな
826デフォルトの名無しさん
2018/10/28(日) 04:22:29.53ID:WcIuuSyz MSはユーザーの個人情報盗みたい側だし
827デフォルトの名無しさん
2018/10/28(日) 04:26:41.29ID:7tRDHbkL >>824
何言ってるか良く分からんが、JRE同梱すればJREのバージョン違いによる問題が無くなるだろう。
いちいちJREをインストールしてもらう手間も無くなる。
例えば一部のJREはJavaFXを同梱しているが、一部はそうではない。
何仕込まれても、ってのは良く分からんが
スタンドアロンアプリでもセキュリティマネージャーは動くはず
何言ってるか良く分からんが、JRE同梱すればJREのバージョン違いによる問題が無くなるだろう。
いちいちJREをインストールしてもらう手間も無くなる。
例えば一部のJREはJavaFXを同梱しているが、一部はそうではない。
何仕込まれても、ってのは良く分からんが
スタンドアロンアプリでもセキュリティマネージャーは動くはず
828デフォルトの名無しさん
2018/10/28(日) 04:32:23.62ID:7tRDHbkL 確かにこれまでと比べると、オラクルのサイトからJRE落としてそれで動かしてたのに比べると
アプリ毎にJRE同梱されちゃうとおかしなネイティブ実行ファイルが同梱されてないか、という問題はある
しかし同梱されたプラットフォーム固有の実行ファイルはハッシュ値とかで適切なファイルかを照合できるはず
あとそもそもバイトコード部分でも相当な処理が可能だから、さほどセキュリティリスクが変わると思わない
ネットからプログラムを落とすなら、オープンソースか信頼できる大御所か
これまでと変わらないのでは
アプリ毎にJRE同梱されちゃうとおかしなネイティブ実行ファイルが同梱されてないか、という問題はある
しかし同梱されたプラットフォーム固有の実行ファイルはハッシュ値とかで適切なファイルかを照合できるはず
あとそもそもバイトコード部分でも相当な処理が可能だから、さほどセキュリティリスクが変わると思わない
ネットからプログラムを落とすなら、オープンソースか信頼できる大御所か
これまでと変わらないのでは
829デフォルトの名無しさん
2018/10/28(日) 04:34:29.37ID:z9u8vCUJ >>826
ランタイム同梱の意味わかってる?
ランタイム同梱の意味わかってる?
830デフォルトの名無しさん
2018/10/28(日) 04:36:35.55ID:WcIuuSyz 問題はJREのバージョンか
たしかに多少の問題はあるが
JRE同梱必須にしたらJavaの目指していた未来と可能性そのものを切り捨てることになる
そうできるってのとそうしなきゃいけないってのはえらい違い
たしかに多少の問題はあるが
JRE同梱必須にしたらJavaの目指していた未来と可能性そのものを切り捨てることになる
そうできるってのとそうしなきゃいけないってのはえらい違い
831デフォルトの名無しさん
2018/10/28(日) 04:42:15.05ID:7tRDHbkL JREを同梱しないと、10年経ったら動かなくなってると思う
クライアントサイドはJRE同梱で作れと強制する事は、そんな悪い事じゃないと思う
そうしないとJavaがバージョンアップしづらい問題もあるから、オラクルはそうしたいんだろう
クライアントサイドはJRE同梱で作れと強制する事は、そんな悪い事じゃないと思う
そうしないとJavaがバージョンアップしづらい問題もあるから、オラクルはそうしたいんだろう
832デフォルトの名無しさん
2018/10/28(日) 04:46:39.09ID:vBzuIBdi 元々Write once,Test anywhere
って失望されてたじゃ無いか。。。
HTML5も同じだけど、理想と現実は遥かに遠い隔たりがある。
って失望されてたじゃ無いか。。。
HTML5も同じだけど、理想と現実は遥かに遠い隔たりがある。
833デフォルトの名無しさん
2018/10/28(日) 04:48:23.37ID:GS4HIDpq スタティックリンクの肥大した実行ファイルと一緒だよね
Write Onceで全プラットフォームで動いたら開発者としては理想じゃないかな
Write Onceで全プラットフォームで動いたら開発者としては理想じゃないかな
834デフォルトの名無しさん
2018/10/28(日) 04:49:04.83ID:7tRDHbkL オラクルはJavaを高速バージョンアップしたいみたいな事も言ってるが、
一連の話は整合性がある
サーバーサイドはエンジニアが管理しててJRE固定できる、
クライアントサイドはJRE同梱。
現状だとJavaから古いAPIを削除したら多くのアプリが動かなくなるから、
移行期間を作ってそのようなアプリが減るのを待つ。
そうしないとJavaに未来が無いという判断は、理解できなくない。
一連の話は整合性がある
サーバーサイドはエンジニアが管理しててJRE固定できる、
クライアントサイドはJRE同梱。
現状だとJavaから古いAPIを削除したら多くのアプリが動かなくなるから、
移行期間を作ってそのようなアプリが減るのを待つ。
そうしないとJavaに未来が無いという判断は、理解できなくない。
835デフォルトの名無しさん
2018/10/28(日) 05:01:48.54ID:WcIuuSyz じぶんとこのOracleDBは枯れまくってても平気なくせに
836デフォルトの名無しさん
2018/10/28(日) 05:47:19.26ID:D9Gt7gmT 改変されたJREを同梱されたら終わりではないか?
837デフォルトの名無しさん
2018/10/28(日) 05:51:56.29ID:7tRDHbkL だから、同梱されたファイルのハッシュ値調べればわかるし、
アンチウイルスだって有名な実行ファイルについてハッシュ値を知識として持っておくべき。
オープンソースは誰かが検証すべき。
で、もともとバイトコード部分でも相当な事ができるからセキュリティリスクは変化してない。
アンチウイルスだって有名な実行ファイルについてハッシュ値を知識として持っておくべき。
オープンソースは誰かが検証すべき。
で、もともとバイトコード部分でも相当な事ができるからセキュリティリスクは変化してない。
838デフォルトの名無しさん
2018/10/28(日) 14:47:49.66ID:Ii5bdv+P クラス変数にもvar使わせてほしいよな
無名クラスにリフレクションで値を代入するフレームワークとかでてきそうだし
class Hoge {
public var xyz = new Object() { int x, y, x };
}
無名クラスにリフレクションで値を代入するフレームワークとかでてきそうだし
class Hoge {
public var xyz = new Object() { int x, y, x };
}
839デフォルトの名無しさん
2018/10/28(日) 23:50:32.90ID:vn58j50+ それをやると型を特定するために延々先を辿らなきゃいけなくなるんだ…
840デフォルトの名無しさん
2018/10/28(日) 23:52:24.19ID:qcVVu7B5 Class#forNameで動的リンクするときjlinkとかは依存するクラス検出できないから
結局手動で全部依存関係調べるかfull jre使うかの二択になる。
>>838
互換性が保証できなくなるからやらないだろ。
実行時の型と推論された型は違うから。
結局手動で全部依存関係調べるかfull jre使うかの二択になる。
>>838
互換性が保証できなくなるからやらないだろ。
実行時の型と推論された型は違うから。
841デフォルトの名無しさん
2018/10/29(月) 00:01:40.82ID:k1+zlMbU というかあれだぞ。
javapackagerなくなったからjava11ではjre同梱したパッケージ作れないし、
なくなったのはpublic jreだけでjreのビルド自体はadopt openjdkがやってるからjre自体はあるぞ。
javapackagerなくなったからjava11ではjre同梱したパッケージ作れないし、
なくなったのはpublic jreだけでjreのビルド自体はadopt openjdkがやってるからjre自体はあるぞ。
842デフォルトの名無しさん
2018/10/29(月) 00:06:53.79ID:RWf1bRTo >>838
コンパイラの仕組み上困難
Javaコンパイラはまず、メンバのシグネチャだけを解析してクラスごとにメンバのお品書きを作る
そして、それが一通り終わった後に各メソッド本体やフィールド代入元の式を解析する
ところがフィールドの型にvarを許してしまうと、お品書きを作る段階でフィールド代入元の式を解析しなきゃいけなくなる
それによりコンパイラのパスが増えてしまうから、コンパイル速度が大きく低下する
コンパイラの仕組み上困難
Javaコンパイラはまず、メンバのシグネチャだけを解析してクラスごとにメンバのお品書きを作る
そして、それが一通り終わった後に各メソッド本体やフィールド代入元の式を解析する
ところがフィールドの型にvarを許してしまうと、お品書きを作る段階でフィールド代入元の式を解析しなきゃいけなくなる
それによりコンパイラのパスが増えてしまうから、コンパイル速度が大きく低下する
843デフォルトの名無しさん
2018/10/29(月) 01:24:28.42ID:Cn2rCt1V844デフォルトの名無しさん
2018/10/29(月) 02:54:18.59ID:doCXynSY >>841
Java 11でクライアントサイドはどういう扱いになってるの?
Java 11でクライアントサイドはどういう扱いになってるの?
845デフォルトの名無しさん
2018/10/29(月) 03:02:24.77ID:doCXynSY 新しいパッケージングツールの要件はJavaFX未対応とされている
http://openjdk.java.net/jeps/343
JavaFX由来のパッケージングツールが削除された
じゃあ、JavaFXアプリをエンドユーザーに配布したい場合、どうするの?
現在見つかる情報は、非JavaFXの自己完結型パッケージャ、
JavaFXのビルド方法だけで、JavaFXの自己完結型パッケージャが行方不明なんだけど
http://openjdk.java.net/jeps/343
JavaFX由来のパッケージングツールが削除された
じゃあ、JavaFXアプリをエンドユーザーに配布したい場合、どうするの?
現在見つかる情報は、非JavaFXの自己完結型パッケージャ、
JavaFXのビルド方法だけで、JavaFXの自己完結型パッケージャが行方不明なんだけど
846デフォルトの名無しさん
2018/10/29(月) 04:02:15.84ID:doCXynSY847デフォルトの名無しさん
2018/10/29(月) 22:22:22.37ID:Cn2rCt1V アウト、セーフ、よよいのよい
848デフォルトの名無しさん
2018/10/29(月) 23:23:48.16ID:KWB0XUD6849デフォルトの名無しさん
2018/10/30(火) 14:22:42.63ID:ySliw7Bj public synchronized void method1(){}
こういうメソッドレベルでsynchronizedした場合、
synchronized(this){}ということですか?
つまり他のところでsynchronized(this)が書かれていたら、どちらかが待機になるんでしょうか
こういうメソッドレベルでsynchronizedした場合、
synchronized(this){}ということですか?
つまり他のところでsynchronized(this)が書かれていたら、どちらかが待機になるんでしょうか
850デフォルトの名無しさん
2018/10/30(火) 15:22:20.46ID:E+8/TrgC >>849
その通り
thisをロックするのはパフォーマンスの低下やデッドロックの原因になるため、現代では一般には悪手とされている
synchronizedがデフォルトでthisをロックするのはJavaがまだオモチャでカジュアルに排他制御してた時代の名残で、
ちゃんと作るなら排他制御には private メンバを使って外に漏らさないようにした方が安全
その通り
thisをロックするのはパフォーマンスの低下やデッドロックの原因になるため、現代では一般には悪手とされている
synchronizedがデフォルトでthisをロックするのはJavaがまだオモチャでカジュアルに排他制御してた時代の名残で、
ちゃんと作るなら排他制御には private メンバを使って外に漏らさないようにした方が安全
851デフォルトの名無しさん
2018/10/31(水) 12:34:18.73ID:6PFXXFSS thisをロックするのとロック専用オブジェクトをロックするのは
性能の違いがあるんですか?
性能の違いがあるんですか?
852デフォルトの名無しさん
2018/10/31(水) 14:41:22.75ID:3SYFbLW8 >>851
thisはクラス外からも当然見えているわけで、他のクラスも同じオブジェクトを同時にロックしている可能性がある
どえせ内部的に同期してるんなら他のクラスが同時にアクセスしてくることは何の問題もないはずで、これは完全に無駄なブロックだ
クラス外から見えるオブジェクトをロックするのはパフォーマンスだけではなくてデッドロックの可能性を高める非常に悪い行為
thisはクラス外からも当然見えているわけで、他のクラスも同じオブジェクトを同時にロックしている可能性がある
どえせ内部的に同期してるんなら他のクラスが同時にアクセスしてくることは何の問題もないはずで、これは完全に無駄なブロックだ
クラス外から見えるオブジェクトをロックするのはパフォーマンスだけではなくてデッドロックの可能性を高める非常に悪い行為
853デフォルトの名無しさん
2018/10/31(水) 15:22:21.60ID:6PFXXFSS デッドロックの可能性は分かるんですが、
その性能の劣化というのは、クラス外でたまたまロックに使われていた場合、
待機時間が生じるから、ということですか?
待機時間以外に構造的に複雑なオブジェクトをロックすることでの性能劣化はありえますか?
その性能の劣化というのは、クラス外でたまたまロックに使われていた場合、
待機時間が生じるから、ということですか?
待機時間以外に構造的に複雑なオブジェクトをロックすることでの性能劣化はありえますか?
854デフォルトの名無しさん
2018/10/31(水) 15:45:06.31ID:3SYFbLW8855デフォルトの名無しさん
2018/10/31(水) 15:58:04.06ID:lmDzWSZe 意味不明なエラーで苦しめw
856デフォルトの名無しさん
2018/10/31(水) 16:17:19.41ID:SePuugIe ロック可能なのは全部ロックしたら苦しんだ黒歴史・・・
857デフォルトの名無しさん
2018/10/31(水) 17:20:43.08ID:6PFXXFSS 専用オブジェクトでロックしても結局プログラマーが入念にチェックする以外
無い気がするんですが合ってますか?
よく言われてるようなロック順序云々では解決しない気がするんですが
無い気がするんですが合ってますか?
よく言われてるようなロック順序云々では解決しない気がするんですが
858デフォルトの名無しさん
2018/10/31(水) 17:23:06.92ID:xpjrbgPR Javaはいつかなくなるんですか
859デフォルトの名無しさん
2018/10/31(水) 19:25:31.36ID:ZwMW2kAu いつか
860デフォルトの名無しさん
2018/10/31(水) 19:27:08.55ID:iY3LkiS1 きっとどこかで生き残る
861デフォルトの名無しさん
2018/10/31(水) 19:30:32.81ID:umCB7ism 俺のディスクの上で生き残る
862デフォルトの名無しさん
2018/10/31(水) 19:48:34.38ID:umCB7ism デッドロックと言えば、サーバをまたいだロックを掛けててデッドロックになった時は原因究明が大変だったなあ。
863デフォルトの名無しさん
2018/10/31(水) 20:18:06.23ID:YzLC1QbG864デフォルトの名無しさん
2018/10/31(水) 21:04:23.41ID:6PFXXFSS >>863
クラスA#method1() method3呼び出し
クラスA#method2()
クラスB#method3() method2呼び出し
この状況でmethod1,3を異なるスレッドが呼び出したらデッドロックになりうるのでは?
クラスA,Bがそれぞれ専用のロックオブジェクトを持っていて
method1,2,3の内部でロックオブジェクトでロックしているとして
クラスA#method1() method3呼び出し
クラスA#method2()
クラスB#method3() method2呼び出し
この状況でmethod1,3を異なるスレッドが呼び出したらデッドロックになりうるのでは?
クラスA,Bがそれぞれ専用のロックオブジェクトを持っていて
method1,2,3の内部でロックオブジェクトでロックしているとして
865デフォルトの名無しさん
2018/10/31(水) 21:13:55.51ID:umCB7ism そういやJavaVMって実行時にデッドロックを見つけ出す機能はないのかな?
OSのファイルロックだと見つけてくれたりするよな。NFS絡むと無理だけど。
(あ、でも2プロセスでロック掛け合った場合だけかな?)
OSのファイルロックだと見つけてくれたりするよな。NFS絡むと無理だけど。
(あ、でも2プロセスでロック掛け合った場合だけかな?)
866デフォルトの名無しさん
2018/10/31(水) 21:30:17.03ID:6PFXXFSS デッドロックを通知する仕組みはあるようです。JConsole
安全なsynchronizedというものは、そのメソッドがどこから呼び出されているか、
どれを呼び出しているかというような依存関係で決まって、
単純な記述方法で安全性を確保する事はできないのではと思いました。
どのオブジェクトをロックしてもこの問題は残ります。
https://www.jpcert.or.jp/java-rules/lck07-j.html
これなんかもそうですが、ロック順序だけで解決できると考えてしまっていますが、
synchronizedブロック内のロジックが他のメソッドを呼び出している場合、
まだデッドロックが発生する可能性があると思います。
派生していくメソッド呼び出しのどこかにsynchronizedブロックがあれば。
もちろん、多くの場合、プログラムは様々なメソッドを呼び出します。
>>857はこの理解で正しいかという意味です
安全なsynchronizedというものは、そのメソッドがどこから呼び出されているか、
どれを呼び出しているかというような依存関係で決まって、
単純な記述方法で安全性を確保する事はできないのではと思いました。
どのオブジェクトをロックしてもこの問題は残ります。
https://www.jpcert.or.jp/java-rules/lck07-j.html
これなんかもそうですが、ロック順序だけで解決できると考えてしまっていますが、
synchronizedブロック内のロジックが他のメソッドを呼び出している場合、
まだデッドロックが発生する可能性があると思います。
派生していくメソッド呼び出しのどこかにsynchronizedブロックがあれば。
もちろん、多くの場合、プログラムは様々なメソッドを呼び出します。
>>857はこの理解で正しいかという意味です
867デフォルトの名無しさん
2018/10/31(水) 21:40:58.89ID:KdCoWYCo 頑張れぼうやw
868デフォルトの名無しさん
2018/10/31(水) 22:59:47.53ID:GrkkoIKB >>864のケースで仮にAがthisをロックしていたとしたら、B#method3がA#method2を呼ばずともB#method3内で直接または間接的にAのロックを試みただけでデッドロックするだろう。
privateなロックオブジェクトを用いたからといってデッドロックの可能性はゼロにはならないが、thisを使うのに比べれば確実に可能性は低くなる。
あえてリスクの大きくパフォーマンスの低下する方を選択する積極的な理由がない。
privateなロックオブジェクトを用いたからといってデッドロックの可能性はゼロにはならないが、thisを使うのに比べれば確実に可能性は低くなる。
あえてリスクの大きくパフォーマンスの低下する方を選択する積極的な理由がない。
869デフォルトの名無しさん
2018/10/31(水) 23:05:48.35ID:VI6I+9K/ >>866
何を言いたいのか理解できないが、どこの誰がどんなタイミングでロックを取りに来ようとも、ロックの順番さえ守ってれば絶対にデッドロックは起こらないよ。
何を言いたいのか理解できないが、どこの誰がどんなタイミングでロックを取りに来ようとも、ロックの順番さえ守ってれば絶対にデッドロックは起こらないよ。
870デフォルトの名無しさん
2018/10/31(水) 23:43:17.95ID:QZT9zuHU DB などほとんどのアプリでは、デッドロックでタイムアウトする。
絶対に回避できない
ロックする順番は、2プロセスの場合、
プロセスAがX, Y、
プロセスBがY, X
3プロセスの場合、
プロセスAがX, Y、
プロセスBがY, Z、
プロセスCがZ, X
絶対に回避できない
ロックする順番は、2プロセスの場合、
プロセスAがX, Y、
プロセスBがY, X
3プロセスの場合、
プロセスAがX, Y、
プロセスBがY, Z、
プロセスCがZ, X
871デフォルトの名無しさん
2018/11/01(木) 00:20:30.29ID:IO/IeQZr >>870
ロックの順番があべこべなのだからデッドロックするのは当然だろう
ロックの順番があべこべなのだからデッドロックするのは当然だろう
872デフォルトの名無しさん
2018/11/01(木) 06:39:30.81ID:MRwfHAbj873デフォルトの名無しさん
2018/11/01(木) 07:11:11.17ID:m171VN/W874デフォルトの名無しさん
2018/11/01(木) 07:11:48.43ID:m171VN/W >>868
>どのオブジェクトをロックしてもこの問題は残ります。
>どのオブジェクトをロックしてもこの問題は残ります。
875デフォルトの名無しさん
2018/11/01(木) 07:13:39.94ID:m171VN/W 現在している話は、普通のプログラムにおいてロックの順番を守る妥当な方法は存在しないという話です。
synchronizedブロック内でメソッド呼び出しがあった時点でそうなります。
それに対してロックの順番を守ればいいとかthisをロックしろとか言い続けているのは話が分かっていません。
synchronizedブロック内でメソッド呼び出しがあった時点でそうなります。
それに対してロックの順番を守ればいいとかthisをロックしろとか言い続けているのは話が分かっていません。
876デフォルトの名無しさん
2018/11/01(木) 07:17:18.61ID:m171VN/W もう少し分かり易い説明を思いつきました。
ここにある問題は、synchronizedブロックで一旦ロック順序を守ったとしても、
そのブロック内から呼び出されているメソッド及びそこから派生的に呼び出されている全てのメソッドにおいて
synchronziedブロックを使う場合デッドロックが生じうるという問題で、
リファクタリング等において恒久的に懸念が残り続けるという問題です。
これは一時ロック順序を守ったコードを書いても解決しません。
ここにある問題は、synchronizedブロックで一旦ロック順序を守ったとしても、
そのブロック内から呼び出されているメソッド及びそこから派生的に呼び出されている全てのメソッドにおいて
synchronziedブロックを使う場合デッドロックが生じうるという問題で、
リファクタリング等において恒久的に懸念が残り続けるという問題です。
これは一時ロック順序を守ったコードを書いても解決しません。
877デフォルトの名無しさん
2018/11/01(木) 07:20:14.51ID:m171VN/W すみません、経験上凡人レベルの人に話しても理解されなくて、辛い思いをするだけです。
話を終わります。
話を終わります。
878デフォルトの名無しさん
2018/11/01(木) 07:36:25.75ID:PBz6MbCm そうや。情報処理資格のテキストに書いてある。
楽観的とか、ああいうやつ
何も知らない奴が、ギャアギャア言ってるだけ
楽観的とか、ああいうやつ
何も知らない奴が、ギャアギャア言ってるだけ
879デフォルトの名無しさん
2018/11/01(木) 07:55:33.73ID:MRwfHAbj ID:QZT9zuHU = ID:m171VN/W
バカのまま永遠にデッドロックしとけ
バカのまま永遠にデッドロックしとけ
880デフォルトの名無しさん
2018/11/01(木) 08:23:01.98ID:Tn1c1okn 例題とかじゃなくて、どういう時にロックが必要になるか考えて実際にやってみたらいいんじゃないか
そんな複雑なsynchronizedの使い方をしたことはしないだろう
そんな複雑なsynchronizedの使い方をしたことはしないだろう
881デフォルトの名無しさん
2018/11/01(木) 09:20:12.40ID:AYHv18S/ >すみません、経験上凡人レベルの人に話しても理解されなくて、辛い思いをするだけです。
世間は俺のことを分かってくれない(馬鹿のFAQ)w
世間は俺のことを分かってくれない(馬鹿のFAQ)w
882デフォルトの名無しさん
2018/11/01(木) 09:30:29.97ID:KWvf1ga0 ID:m171VN/Wは天才すぎる故に凡人レベルの嫉妬を買ってしまった
883デフォルトの名無しさん
2018/11/01(木) 09:40:00.51ID:mQsUQM4b いや本当。凡人レベルの人には話が通じませんよね。
という具合にみんなして同調しておけばいいのに。
という具合にみんなして同調しておけばいいのに。
884デフォルトの名無しさん
2018/11/01(木) 09:41:09.33ID:VmLiOLMi 凡人にも理解出来る様に説明出来る能力を持ってるのが、天才の条件だな
説明出来ない人は紙一重の方
説明出来ない人は紙一重の方
885デフォルトの名無しさん
2018/11/01(木) 09:47:33.79ID:DtT8Cv0d まあ責任と前提の問題だな
正常な頭してたらクラスAとクラスBが相互に密結合するような設計をすることはありえないから、
似た状況が起こりうるのはBがAに自身を登録してAがBをinterface経由で「コールバック」するようなパターンだろう
その場合、BのメソッドがAのコンテキストから呼び出されることはBを作る側は当然知っているはずで、Aを更に別のスレッドから呼ぶような基地外的行為をしないという人間としての最低限度の責任はB側にある
そしてA側はそのようなリスクのある拡張ポイントをなるべく作るべきではないし、やむを得ないときはドキュメントに明記するべき
正常な頭してたらクラスAとクラスBが相互に密結合するような設計をすることはありえないから、
似た状況が起こりうるのはBがAに自身を登録してAがBをinterface経由で「コールバック」するようなパターンだろう
その場合、BのメソッドがAのコンテキストから呼び出されることはBを作る側は当然知っているはずで、Aを更に別のスレッドから呼ぶような基地外的行為をしないという人間としての最低限度の責任はB側にある
そしてA側はそのようなリスクのある拡張ポイントをなるべく作るべきではないし、やむを得ないときはドキュメントに明記するべき
886デフォルトの名無しさん
2018/11/01(木) 10:30:23.17ID:Tn1c1okn あれだ
スレッドを知った初心者が無駄に使いたくなってる状態に近いんじゃないか
スレッドを知った初心者が無駄に使いたくなってる状態に近いんじゃないか
887デフォルトの名無しさん
2018/11/01(木) 10:34:13.85ID:x+OioMtW888デフォルトの名無しさん
2018/11/01(木) 11:38:29.67ID:mQsUQM4b889デフォルトの名無しさん
2018/11/01(木) 14:20:26.28ID:aGO292A7 馬鹿は死ななきゃ治らない
890デフォルトの名無しさん
2018/11/01(木) 15:10:14.12ID:Nl3jEz8g javaの資格のsilverやgoldはどの程度の実力で受かりますか?
デザインパターンやリファクタリングをちゃんと理解しているレベルなら余裕で受かる?
デザインパターンやリファクタリングをちゃんと理解しているレベルなら余裕で受かる?
891デフォルトの名無しさん
2018/11/01(木) 15:35:43.13ID:mUSj63Sn892デフォルトの名無しさん
2018/11/01(木) 15:58:36.20ID:Nl3jEz8g893デフォルトの名無しさん
2018/11/01(木) 16:03:52.20ID:OxvwXsOa 受けようと思ったことすらないのでわからない。
894デフォルトの名無しさん
2018/11/01(木) 16:11:52.48ID:Nl3jEz8g 職歴にプログラミングがないのでしかたなく資格でもアピールする必要があるのですが
Java資格はGoldを取るとして
あとなにがあったほうがよいでしょうか?
データベース関連やUML関連やネットワーク関連の資格ですか?具体的にはなにが印象いいでしょうか?
Java資格はGoldを取るとして
あとなにがあったほうがよいでしょうか?
データベース関連やUML関連やネットワーク関連の資格ですか?具体的にはなにが印象いいでしょうか?
895デフォルトの名無しさん
2018/11/01(木) 16:12:24.17ID:Nl3jEz8g デザインパターン関連の資格ってないのかな?
896デフォルトの名無しさん
2018/11/01(木) 16:23:14.20ID:DtT8Cv0d >>894
まずはIPAのデスペとデスペ
まずはIPAのデスペとデスペ
897デフォルトの名無しさん
2018/11/01(木) 16:33:52.56ID:Nl3jEz8g デスペとデスペですか。
同じものなのになぜ2回も言うのですか。
同じものなのになぜ2回も言うのですか。
898デフォルトの名無しさん
2018/11/01(木) 16:41:11.79ID:RfEd9OxR 大事なことなので
899デフォルトの名無しさん
2018/11/01(木) 17:12:47.17ID:Nl3jEz8g そうですか。
なにか忘れてそうなのですが
プログラミングあるいは関連分野で、あったほうがいい資格はありませんか?
なにか忘れてそうなのですが
プログラミングあるいは関連分野で、あったほうがいい資格はありませんか?
900デフォルトの名無しさん
2018/11/01(木) 18:05:14.35ID:OxvwXsOa わからない。資格何もなしで何十年も働いちゃったもので。
一時期は学校でC言語教えてたりもしたが、資格はなかった。
あ、一太郎も教えてたことあったよ。もちろん資格なしで。
一時期は学校でC言語教えてたりもしたが、資格はなかった。
あ、一太郎も教えてたことあったよ。もちろん資格なしで。
901デフォルトの名無しさん
2018/11/01(木) 19:13:26.95ID:Nl3jEz8g902デフォルトの名無しさん
2018/11/01(木) 19:15:26.25ID:1Z/ZXoar まあ実務をやる上では資格は特に必要ではない
ただ採用する立場だと資格ない奴とある奴ならある奴を取る
ただ採用する立場だと資格ない奴とある奴ならある奴を取る
903デフォルトの名無しさん
2018/11/01(木) 19:25:15.27ID:q4rSVTZi 馬鹿なんだろう
904デフォルトの名無しさん
2018/11/01(木) 19:39:49.82ID:OxvwXsOa >>901
なんでって、MS-DOS時代のWORDは漢字扱えなかったからじゃないか?
なんでって、MS-DOS時代のWORDは漢字扱えなかったからじゃないか?
905デフォルトの名無しさん
2018/11/01(木) 23:44:32.35ID:kQnTnj4P ブロンズは持っても意味ないしシルバーもゴールドの受験資格みたいなもんだぞ。
そんで中身の言語部分はJVMSもJLSも一切読まなくても答えられる程度でどちらかと言うと
ありふれたライブラリの宣伝兼再確認みたいな内容。
そんで中身の言語部分はJVMSもJLSも一切読まなくても答えられる程度でどちらかと言うと
ありふれたライブラリの宣伝兼再確認みたいな内容。
906デフォルトの名無しさん
2018/11/02(金) 10:24:58.44ID:VhXZ8KFR907デフォルトの名無しさん
2018/11/02(金) 16:44:03.61ID:TVanRjUQ もしかしなくてもsilverとかより基本情報技術者取ったほうがいいんでしょうか
908デフォルトの名無しさん
2018/11/02(金) 16:53:15.88ID:3EaYIZ29 当然
Javaの重箱の隅に付いてる食べカスの色知ってる奴よりIPアドレスの計算できる奴の方が遥かに役に立つ
Javaの重箱の隅に付いてる食べカスの色知ってる奴よりIPアドレスの計算できる奴の方が遥かに役に立つ
909デフォルトの名無しさん
2018/11/02(金) 17:17:06.84ID:0QIYfvOa IPアドレスの計算って?
何か計算必要か?
何か計算必要か?
910デフォルトの名無しさん
2018/11/02(金) 21:03:28.28ID:mJ2e4zOQ インターネットキングならIPアドレスの計算くらい朝飯前だよ
911デフォルトの名無しさん
2018/11/02(金) 22:48:40.06ID:ejOlj3tt サブネットマスクとかの話ちゃうの
912デフォルトの名無しさん
2018/11/03(土) 00:34:57.85ID:8dUCHJOu 世の中に無駄なものなんかないよ
ジャヴァの資格もIPアドレスの計算も全て社会の役に立ってる
ジャヴァの資格もIPアドレスの計算も全て社会の役に立ってる
913デフォルトの名無しさん
2018/11/03(土) 18:14:19.75ID:b5iwDuZ8 java11, 12にはくだらない機能しか入らないのか
914デフォルトの名無しさん
2018/11/04(日) 11:32:05.48ID:hQdPSgHl ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
915デフォルトの名無しさん
2018/11/06(火) 00:08:12.73ID:GjqHOKec for文ブロックの後にループカウンタ変数の値でif文を書きたい
でもループカウンタ変数のスコープの問題で使えない
for文実行前にカウンタ変数用意するのは悔しいし誤動作を招きそうな気がするのでやりたくない
for文の中にif文を書いちゃえばいいんだけど毎回実行されるのは無駄で気持ちが悪いしそもそも本来やりたいことと違う
これはどう解決すれば良いんでしょうか、初歩的ですいません……
でもループカウンタ変数のスコープの問題で使えない
for文実行前にカウンタ変数用意するのは悔しいし誤動作を招きそうな気がするのでやりたくない
for文の中にif文を書いちゃえばいいんだけど毎回実行されるのは無駄で気持ちが悪いしそもそも本来やりたいことと違う
これはどう解決すれば良いんでしょうか、初歩的ですいません……
916デフォルトの名無しさん
2018/11/06(火) 00:14:58.15ID:ShoHBAGo >>915
forループに入る前にループカウンタとは別の変数を用意して、ループの最後にカウンタの値をその変数にコピーするようにしよう
そうすればループカウンタをfor文の外で宣言しなくて済むし悔しくない
forループに入る前にループカウンタとは別の変数を用意して、ループの最後にカウンタの値をその変数にコピーするようにしよう
そうすればループカウンタをfor文の外で宣言しなくて済むし悔しくない
917デフォルトの名無しさん
2018/11/06(火) 00:22:51.13ID:GjqHOKec918デフォルトの名無しさん
2018/11/06(火) 01:56:42.62ID:BD76rR44 >>915
それってループしている最中に if で何らかの条件により break するってことだよね?
それならその if ブロックの中で別の変数に代入すれば良い。
int j = -1;
for (int i = 0; i < max; i++) {
if (f(i)) {
j = i;
break;
}
}
if (j >= 0) {
...
}
もし上記のように途中でbreakして抜けるのでないなら max の値そのまま使えば良い。
それってループしている最中に if で何らかの条件により break するってことだよね?
それならその if ブロックの中で別の変数に代入すれば良い。
int j = -1;
for (int i = 0; i < max; i++) {
if (f(i)) {
j = i;
break;
}
}
if (j >= 0) {
...
}
もし上記のように途中でbreakして抜けるのでないなら max の値そのまま使えば良い。
919デフォルトの名無しさん
2018/11/06(火) 11:11:50.23ID:I/7NgPjD while使えば?
920デフォルトの名無しさん
2018/11/06(火) 11:38:48.82ID:4wD9lBDw 時間の掛かるファイル読込処理を非同期実行して、その処理中にファイル読込具合に応じてJavaFXのプログレスバーを更新してるんだけど、
たまにプログレスバーが更新されない場合がある。なんで?
そのファイル読込処理とプログレスバー更新はインターフェースの継承メソッドに記述していて、
Threadクラスに登録するRunnableクラスのrunメソッド中でインターフェースの抽象メソッドを叩いて呼び出している。
1)イベントトリガが、JavaFXのFileChooserの選択完了時 → プログレスバー更新される
2)イベントトリガが、別のJavaFXの子Scene上のJavaFXボタン押下時(子Sceneのhide後) → プログレスバー更新されない
setImplicitExitをどうたらこたらするというのは一通り試した
簡単に解決したいんだがなあ
たまにプログレスバーが更新されない場合がある。なんで?
そのファイル読込処理とプログレスバー更新はインターフェースの継承メソッドに記述していて、
Threadクラスに登録するRunnableクラスのrunメソッド中でインターフェースの抽象メソッドを叩いて呼び出している。
1)イベントトリガが、JavaFXのFileChooserの選択完了時 → プログレスバー更新される
2)イベントトリガが、別のJavaFXの子Scene上のJavaFXボタン押下時(子Sceneのhide後) → プログレスバー更新されない
setImplicitExitをどうたらこたらするというのは一通り試した
簡単に解決したいんだがなあ
921デフォルトの名無しさん
2018/11/06(火) 12:01:52.02ID:nXssBivk922デフォルトの名無しさん
2018/11/06(火) 12:19:26.12ID:4wD9lBDw 回答できんのなら黙ってろよな。回答できないくせに黙ってられないから池沼なのか
923デフォルトの名無しさん
2018/11/06(火) 14:10:58.07ID:FYsrzIPK と逆切れするアホ
924デフォルトの名無しさん
2018/11/06(火) 14:23:17.36ID:V4FwzPmz 逆ではない
925デフォルトの名無しさん
2018/11/06(火) 14:23:55.76ID:V4FwzPmz 順切れ
926デフォルトの名無しさん
2018/11/06(火) 14:24:46.93ID:V4FwzPmz >>921
おいお前
おいお前
927デフォルトの名無しさん
2018/11/06(火) 14:25:09.98ID:V4FwzPmz 死ね
928デフォルトの名無しさん
2018/11/06(火) 14:28:34.10ID:V4FwzPmz >>923
おいお前
おいお前
929デフォルトの名無しさん
2018/11/06(火) 14:29:02.76ID:V4FwzPmz ハゲろ
930デフォルトの名無しさん
2018/11/06(火) 14:43:02.48ID:B+7Pp6SO フサフサが羨ましいのかw
931デフォルトの名無しさん
2018/11/06(火) 14:45:10.57ID:V4FwzPmz >>930
おいお前
おいお前
932デフォルトの名無しさん
2018/11/06(火) 14:45:32.38ID:V4FwzPmz スレ違いだ
933デフォルトの名無しさん
2018/11/06(火) 19:07:34.12ID:13CfGTjW どう見ても君がスレチ大魔王
934デフォルトの名無しさん
2018/11/07(水) 00:26:50.27ID:s4BPycKf substance.jarでswingの見た目変えるの好きだった
javafxは評判悪かった覚えがあるけどswing使用者はみんな移行したのかな
javafxは評判悪かった覚えがあるけどswing使用者はみんな移行したのかな
935920
2018/11/07(水) 12:34:31.16ID:LJxZYzuZ 解決したったわ
しかしここはクソの役にも立たねえな
たまに書き込むけど、光合成も出来ない原始生命を相手にしているようで、ただただ孤独しか感じられねえわ
次はジュラ紀になったら来てやるから、それまでに精々、自然淘汰されておけよ
しかしここはクソの役にも立たねえな
たまに書き込むけど、光合成も出来ない原始生命を相手にしているようで、ただただ孤独しか感じられねえわ
次はジュラ紀になったら来てやるから、それまでに精々、自然淘汰されておけよ
936デフォルトの名無しさん
2018/11/07(水) 12:52:14.01ID:bimd4khF FXのスレは本当にあるんだけどね。
937デフォルトの名無しさん
2018/11/07(水) 13:18:13.99ID:ti/H8oE6 >>935
そんなお前にピッタリのスレがあるぞ
こんな低レベルのところじゃお前ほどの力は評価されないんだよ
上級プログラマの雑談部屋☆2
https://medaka.5ch.net/test/read.cgi/prog/1524240229/
そんなお前にピッタリのスレがあるぞ
こんな低レベルのところじゃお前ほどの力は評価されないんだよ
上級プログラマの雑談部屋☆2
https://medaka.5ch.net/test/read.cgi/prog/1524240229/
938デフォルトの名無しさん
2018/11/07(水) 14:02:24.18ID:+HyKX3eQ939デフォルトの名無しさん
2018/11/07(水) 14:05:19.70ID:1QLpYBJt プグレスバーがジュラ紀を示したらまたおいでw
940デフォルトの名無しさん
2018/11/08(木) 12:06:43.94ID:QSZi8e/Z Javaの仕事に転職したいのだけど
年収の交渉でプロ野球の契約更改のように代理人にお願いして年収アップの交渉をしてもらうシステムはないかな?
もちろん高収入になったらその1%は代理人に払うことにしたらその代理人もものすごくがんばってくれるからwin-winの関係になる。
年収の交渉でプロ野球の契約更改のように代理人にお願いして年収アップの交渉をしてもらうシステムはないかな?
もちろん高収入になったらその1%は代理人に払うことにしたらその代理人もものすごくがんばってくれるからwin-winの関係になる。
941デフォルトの名無しさん
2018/11/08(木) 12:17:54.62ID:Cbg63GbQ 君がなれ
942デフォルトの名無しさん
2018/11/08(木) 12:20:00.08ID:cbRquK1Y943デフォルトの名無しさん
2018/11/08(木) 12:25:50.93ID:Cbg63GbQ 1000万の1%が10万円。とすると月に10人以上成立させないとうまくいかんのではないか?
944デフォルトの名無しさん
2018/11/08(木) 12:28:16.32ID:QSZi8e/Z945デフォルトの名無しさん
2018/11/08(木) 12:31:21.50ID:fwzjEtEg946デフォルトの名無しさん
2018/11/08(木) 12:34:40.88ID:Cbg63GbQ そういやさっきツイッターの広告でAIとチャットして何をやりたいかとか聞き出して人を募集している企業とのマッチングすのが出てきたよ。
やる前からAIに仕事奪われたようだなw
やる前からAIに仕事奪われたようだなw
947デフォルトの名無しさん
2018/11/08(木) 14:09:45.21ID:Ub+FCVlD アホ参上
948デフォルトの名無しさん
2018/11/08(木) 14:44:18.93ID:mJwNlcze 代理人の相場は10%が基本だぞ
949デフォルトの名無しさん
2018/11/08(木) 16:13:10.74ID:cbRquK1Y >>946
それ従来の検索フォームをチャットに変えただけだろ
それ従来の検索フォームをチャットに変えただけだろ
950デフォルトの名無しさん
2018/11/08(木) 17:07:12.88ID:o3TwcDma 人工無脳でも対応向上だと騙される奴がいるんだから有効だと言わざる得ないな
どうせブラック紹介されるなら萌えキャラにでも紹介された方がいいだろう?
どうせブラック紹介されるなら萌えキャラにでも紹介された方がいいだろう?
951デフォルトの名無しさん
2018/11/09(金) 16:17:59.93ID:o+E2GY7o このスレの少し前にもオラクルの認定試験の話題がありましたが、
Java Silverは持っていると役に立つでしょうか?
Java Bronzeは既に取得しています。
Java Silverは持っていると役に立つでしょうか?
Java Bronzeは既に取得しています。
952デフォルトの名無しさん
2018/11/09(金) 16:29:29.33ID:OW/zGENl 履歴書に書くことが出来る
953デフォルトの名無しさん
2018/11/09(金) 16:30:54.51ID:OW/zGENl そして面接の時にJavaの質問をされ墓穴を掘る
954デフォルトの名無しさん
2018/11/09(金) 16:59:59.72ID:Jo0ooGHD マ板へ逝けと既に書かれていた
955デフォルトの名無しさん
2018/11/09(金) 22:48:54.87ID:zMMfYdX4 総称型を使った抽象クラスがあって、その具象クラス全部を処理するコードを書きたいんだけど
以下のようにするとコンパイルエラーになるのでできません。
いちいちTest2の具象クラスをinstanceof等で特定して書かなければならないということでしょうか?
public class GenericsTest {
public void test() {
Test2<? extends Test> t = null;
t.f(new TestConcrete());
}
public static class Test {
}
public static class TestConcrete extends Test {
}
public abstract static class Test2<A extends Test> {
public void f(A a) {
}
}
}
以下のようにするとコンパイルエラーになるのでできません。
いちいちTest2の具象クラスをinstanceof等で特定して書かなければならないということでしょうか?
public class GenericsTest {
public void test() {
Test2<? extends Test> t = null;
t.f(new TestConcrete());
}
public static class Test {
}
public static class TestConcrete extends Test {
}
public abstract static class Test2<A extends Test> {
public void f(A a) {
}
}
}
956デフォルトの名無しさん
2018/11/09(金) 22:51:18.43ID:zMMfYdX4 修正しますこうでした。Testも抽象クラスです。
public class GenericsTest {
public void test() {
Test2<? extends Test> t = null;
Test a = null;
t.f(a);
}
public abstract static class Test {
}
public abstract static class Test2<A extends Test> {
public void f(A a) {
}
}
}
public class GenericsTest {
public void test() {
Test2<? extends Test> t = null;
Test a = null;
t.f(a);
}
public abstract static class Test {
}
public abstract static class Test2<A extends Test> {
public void f(A a) {
}
}
}
957951
2018/11/09(金) 23:58:00.70ID:o+E2GY7o ありがとうございました。
958デフォルトの名無しさん
2018/11/10(土) 00:57:56.92ID:XE+BpAI8 こんな記述を見かけたんですが
>Java11からはJavaFXは、ただのライブラリになったので、JavaFX側がMavenのCentral Repositoryにjarを置いてくれていたりするので、 OpenJDK11でJavaFX11を使うのであればpom.xmlのdependencyに入れるだけの話である。
JavaFXはネイティブDLLを使っていますか?
使っている場合、pom.xmlで入れられるライブラリになったというのは、
全環境用のネイティブコードが同梱されるということですか?
ほとんどのJavaライブラリは純粋なJavaコードで環境非依存だと思いますが
環境依存したライブラリはどういう扱いになるんでしょう
>Java11からはJavaFXは、ただのライブラリになったので、JavaFX側がMavenのCentral Repositoryにjarを置いてくれていたりするので、 OpenJDK11でJavaFX11を使うのであればpom.xmlのdependencyに入れるだけの話である。
JavaFXはネイティブDLLを使っていますか?
使っている場合、pom.xmlで入れられるライブラリになったというのは、
全環境用のネイティブコードが同梱されるということですか?
ほとんどのJavaライブラリは純粋なJavaコードで環境非依存だと思いますが
環境依存したライブラリはどういう扱いになるんでしょう
959デフォルトの名無しさん
2018/11/10(土) 01:36:26.97ID:XE+BpAI8 >>956のコードですが
fの引数は? extends Testだから、Testを受け取れても良くないですか?
? extends Testで期待できるのはTestのインターフェースであり、
TestはTestのインターフェースを持っています。
しかしコンパイルエラーになります
fの引数は? extends Testだから、Testを受け取れても良くないですか?
? extends Testで期待できるのはTestのインターフェースであり、
TestはTestのインターフェースを持っています。
しかしコンパイルエラーになります
960デフォルトの名無しさん
2018/11/10(土) 02:07:52.87ID:XE+BpAI8 少し調べました。状況は、
A extends Test と Test が非変であり、親子関係が完全に無視される。
f(A a)はConsumerであり、PECS原則から、? super Aを指定できるとよいが、
総称型ではないので指定できない。
Test2<A super Test>も記述不可
f(Test a)にすれば解決するが、Test2の子クラスはfの引数の型を限定したいかもしれない。
A extends Test と Test が非変であり、親子関係が完全に無視される。
f(A a)はConsumerであり、PECS原則から、? super Aを指定できるとよいが、
総称型ではないので指定できない。
Test2<A super Test>も記述不可
f(Test a)にすれば解決するが、Test2の子クラスはfの引数の型を限定したいかもしれない。
961デフォルトの名無しさん
2018/11/10(土) 02:33:26.87ID:XE+BpAI8 なぜか一度ワイルドカードを経由する+キャストという方法で解決できました。
public class GenericsTest {
@org.junit.Test
public void test() {
Func<?> funcTmp = new FuncConcrete();
Func<Arg> func = (Func<Arg>) funcTmp;
Arg arg = null;
func.f(arg);
}
@org.junit.Test
public void test2() {
Func<Arg> func = (Func<Arg>) new FuncConcrete();
Arg arg = null;
func.f(arg);
}
public abstract static class Arg {}
public static class ArgConcrete extends Arg {}
public static class FuncConcrete extends Func<ArgConcrete> {}
public abstract static class Func<A extends Arg> {
public void f(A a) {}
}
}
public class GenericsTest {
@org.junit.Test
public void test() {
Func<?> funcTmp = new FuncConcrete();
Func<Arg> func = (Func<Arg>) funcTmp;
Arg arg = null;
func.f(arg);
}
@org.junit.Test
public void test2() {
Func<Arg> func = (Func<Arg>) new FuncConcrete();
Arg arg = null;
func.f(arg);
}
public abstract static class Arg {}
public static class ArgConcrete extends Arg {}
public static class FuncConcrete extends Func<ArgConcrete> {}
public abstract static class Func<A extends Arg> {
public void f(A a) {}
}
}
962デフォルトの名無しさん
2018/11/10(土) 23:27:50.60ID:49ccZS6D >>958
環境ごとにjar分けて共有ライブラリ含めるだけだけど。joglとか昔からそうじゃん。
環境ごとにjar分けて共有ライブラリ含めるだけだけど。joglとか昔からそうじゃん。
963デフォルトの名無しさん
2018/11/10(土) 23:46:19.83ID:6id28qN8 JVMは環境ごとに用意されてるから、その部分で対応してるんでしょう
わかってると思うが当然標準ライブラリとして提供してるAPI自体は環境に依存してない
まぁ internal なコードに環境による場合分けくらいは書いてあるかもしれんけど、
JVMにはその環境用のコードさえあればいいから、全環境のネイティブコードは必要ない
わかってると思うが当然標準ライブラリとして提供してるAPI自体は環境に依存してない
まぁ internal なコードに環境による場合分けくらいは書いてあるかもしれんけど、
JVMにはその環境用のコードさえあればいいから、全環境のネイティブコードは必要ない
964デフォルトの名無しさん
2018/11/10(土) 23:55:28.83ID:6id28qN8 あぁごめん、Java11からの話か
そうだね、環境依存のjarと環境依存してないjarを2つ別々にダウンロードするんだろうね多分
swt+JFaceの、swt部分だけ環境依存してるのと一緒
使ったこと無いけど 上で言われてるJOGLもそんな感じかな
まぁ軽めのデータベースのjarとか環境依存のファイル全部ぶっこんでくることもあったりするけど
そうだね、環境依存のjarと環境依存してないjarを2つ別々にダウンロードするんだろうね多分
swt+JFaceの、swt部分だけ環境依存してるのと一緒
使ったこと無いけど 上で言われてるJOGLもそんな感じかな
まぁ軽めのデータベースのjarとか環境依存のファイル全部ぶっこんでくることもあったりするけど
965デフォルトの名無しさん
2018/11/11(日) 11:11:28.64ID:6MwZdEZT javaとDB(oracle)のデータについて。
javaプログラム内のある変数Xに対して、DBのある列の値に存在しているかどうか
チェックしたいのですが、どうすればよいでしょうか。
1.String sqlStr = "SELECT * FROM fruit";
2.ResultSet result = st.executeQuery( sqlStr );
3.while( result.next() ) {
4. String str1 = result.getString( "price" );
5. System.out.println(str1);
}
2行目でSQLを実行して、4行目でPRICE列の値を取得していると
思うのですが、X=1000と定義していた場合、PRICE列の値に対してXの
値が存在するチェックはどのようにコーディングすれば良いでしょうか。
一致すれば出力で一致しなければエラーにしたい。
なお、PRICEデータは例として1000としていますが、ランダム数値です。
javaプログラム内のある変数Xに対して、DBのある列の値に存在しているかどうか
チェックしたいのですが、どうすればよいでしょうか。
1.String sqlStr = "SELECT * FROM fruit";
2.ResultSet result = st.executeQuery( sqlStr );
3.while( result.next() ) {
4. String str1 = result.getString( "price" );
5. System.out.println(str1);
}
2行目でSQLを実行して、4行目でPRICE列の値を取得していると
思うのですが、X=1000と定義していた場合、PRICE列の値に対してXの
値が存在するチェックはどのようにコーディングすれば良いでしょうか。
一致すれば出力で一致しなければエラーにしたい。
なお、PRICEデータは例として1000としていますが、ランダム数値です。
966デフォルトの名無しさん
2018/11/11(日) 11:27:22.91ID:wM/j3zKs967デフォルトの名無しさん
2018/11/11(日) 12:00:45.21ID:6MwZdEZT "SELECT * FROM fruit WHERE PRICE = X"だと
Xが文字列になってしまうと。
Str1とXを比較すればよいと考えていましたが難しい
Xが文字列になってしまうと。
Str1とXを比較すればよいと考えていましたが難しい
968デフォルトの名無しさん
2018/11/11(日) 13:07:00.71ID:iJkGWVs5 プレースホルダ
969デフォルトの名無しさん
2018/11/11(日) 18:24:10.42ID:0F8Q4Ddx >>967
prepare にするかそのまんまSQL文の中に文字列で埋め込まれるようにするか、だな。
prepare の場合はこんな感じね。PreparedStatement クラス使うやつ。"?" の部分が置き換え部分。
https://qiita.com/ika_katsuo/items/dfbf9ed227ca08256760
prepare にするかそのまんまSQL文の中に文字列で埋め込まれるようにするか、だな。
prepare の場合はこんな感じね。PreparedStatement クラス使うやつ。"?" の部分が置き換え部分。
https://qiita.com/ika_katsuo/items/dfbf9ed227ca08256760
970デフォルトの名無しさん
2018/11/11(日) 18:43:06.39ID:KBFxC5Cm もし変数xの値が一つしかないなら
プリペアドステートメントでいちいち事前コンパイルする必要がない
ふつうにSQL問い合わせの文字列作るほうが速い簡単お手軽
プリペアドステートメントでいちいち事前コンパイルする必要がない
ふつうにSQL問い合わせの文字列作るほうが速い簡単お手軽
971デフォルトの名無しさん
2018/11/11(日) 21:38:36.99ID:3JRsWB+V 今時直接データ埋め込みとかあり得んだろ…
972デフォルトの名無しさん
2018/11/11(日) 22:00:57.21ID:KBFxC5Cm 知能が低いと
文字列の加工すらできないのか
なるほどな
文字列の加工すらできないのか
なるほどな
973デフォルトの名無しさん
2018/11/11(日) 22:26:11.35ID:cBZ/CGbZ それが何を意味するのかも考えずどっかからコピペしてるからそういう質問が出るんだろうけど、技術書見ればプリペアードステートメントとか順序を追って書いてあるもんでもないのかね
974デフォルトの名無しさん
2018/11/11(日) 22:28:33.94ID:VPyBQ4Rk 質問スレで質問に対して煽るやつの知能も大概だとおもうぞ
975デフォルトの名無しさん
2018/11/11(日) 22:31:24.54ID:3JRsWB+V 文字列の加工程度でドヤるとか w
976デフォルトの名無しさん
2018/11/11(日) 22:32:01.58ID:4KGbvnyj 何も調べずに質問する方が大概だろ、質問者は神様ですってかw
977デフォルトの名無しさん
2018/11/11(日) 23:35:34.02ID:infpFr5m >>963
> わかってると思うが当然標準ライブラリとして提供してるAPI自体は環境に依存してない
>
> まぁ internal なコードに環境による場合分けくらいは書いてあるかもしれんけど、
> JVMにはその環境用のコードさえあればいいから、全環境のネイティブコードは必要ない
そんなことないから。java6以降環境依存な標準API追加してるからjava側で場合分けする必要ある。
> わかってると思うが当然標準ライブラリとして提供してるAPI自体は環境に依存してない
>
> まぁ internal なコードに環境による場合分けくらいは書いてあるかもしれんけど、
> JVMにはその環境用のコードさえあればいいから、全環境のネイティブコードは必要ない
そんなことないから。java6以降環境依存な標準API追加してるからjava側で場合分けする必要ある。
978デフォルトの名無しさん
2018/11/12(月) 00:34:16.10ID:MtlIUxHY >>970
prepare にしとくとSQLインジェクション防止になるというのもある。
https://blogs.oracle.com/sec/042_sqlinjection_1
もちろんどうやってもそんなことは起こり得ないし1回しか同じSQL文使わないみたいな場合は埋め込めばいい。
prepare にしとくとSQLインジェクション防止になるというのもある。
https://blogs.oracle.com/sec/042_sqlinjection_1
もちろんどうやってもそんなことは起こり得ないし1回しか同じSQL文使わないみたいな場合は埋め込めばいい。
979デフォルトの名無しさん
2018/11/12(月) 16:56:20.13ID:ayEXvCJf spring frameworkはMVCですか?
980デフォルトの名無しさん
2018/11/12(月) 17:14:22.45ID:cpYKEuEA spring frameworkはフレームワークで、MVCはプログラムの一つのモデルです。
981デフォルトの名無しさん
2018/11/12(月) 17:37:37.98ID:xaL5+kQv982デフォルトの名無しさん
2018/11/12(月) 17:50:53.29ID:ayEXvCJf >>980
どのモデルを採用してるのですか?
どのモデルを採用してるのですか?
983デフォルトの名無しさん
2018/11/12(月) 22:41:38.37ID:JKEbmYKN >>981
awtのDesktop、nio2(more nio)のファイルパーミッション等、apple javaのeawt移植。
あと6以前からのjava soundもjreに含まれてるのは単なるRIで仕様と実装は別物で、
実装部分のLineの挙動はプラットフォーム依存。7以降MIDIのソフトシンセはクロスプラットフォームになったけど。
awtのDesktop、nio2(more nio)のファイルパーミッション等、apple javaのeawt移植。
あと6以前からのjava soundもjreに含まれてるのは単なるRIで仕様と実装は別物で、
実装部分のLineの挙動はプラットフォーム依存。7以降MIDIのソフトシンセはクロスプラットフォームになったけど。
984デフォルトの名無しさん
2018/11/12(月) 23:02:27.75ID:THHCGQKY Javaのメモリ管理に関して教えてください!
例えば、PCのメモリが32GBあるPCで、
インスタンスを大量生成するプログラムを動かすとします。
また、このプログラムの起動引数に、ヒープ最大使用量=2GB
を設定して起動していたとします。
この場合、大量のインスタンスを生成していった場合ですが...
ヒープ最大使用量=2GBを超えてヒープを使用することはありますか?
それと、ヒープサイズがヒープ最大使用量に近付いた場合、
ガベージコレクションが発生するようになりますか?
例えば、PCのメモリが32GBあるPCで、
インスタンスを大量生成するプログラムを動かすとします。
また、このプログラムの起動引数に、ヒープ最大使用量=2GB
を設定して起動していたとします。
この場合、大量のインスタンスを生成していった場合ですが...
ヒープ最大使用量=2GBを超えてヒープを使用することはありますか?
それと、ヒープサイズがヒープ最大使用量に近付いた場合、
ガベージコレクションが発生するようになりますか?
985デフォルトの名無しさん
2018/11/13(火) 06:25:54.30ID:qPPBH0nu986デフォルトの名無しさん
2018/11/13(火) 06:56:40.27ID:t6QPVwz9 >>984
> ヒープ最大使用量=2GBを超えてヒープを使用することはありますか?
ないよ、ヒープ最大使用量を超えるとOutOfMemoryErrorが投げられる
> ヒープサイズがヒープ最大使用量に近付いた場合、
> ガベージコレクションが発生するようになりますか?
なるよ、サーバを管理してるけどたまにアプリにメモリリークがあって
メモリが解放されなくてGCが頻発して最終的にOutOfMemoryErrorになる
ことがある、急速にメモリを消費してGCが稼働する間もなくエラーになることもある
> ヒープ最大使用量=2GBを超えてヒープを使用することはありますか?
ないよ、ヒープ最大使用量を超えるとOutOfMemoryErrorが投げられる
> ヒープサイズがヒープ最大使用量に近付いた場合、
> ガベージコレクションが発生するようになりますか?
なるよ、サーバを管理してるけどたまにアプリにメモリリークがあって
メモリが解放されなくてGCが頻発して最終的にOutOfMemoryErrorになる
ことがある、急速にメモリを消費してGCが稼働する間もなくエラーになることもある
987デフォルトの名無しさん
2018/11/13(火) 08:44:10.18ID:z+WaWgDc >> 985
Object o = new Object();
とかです!
>> 986
ありがとうございます!
ということは、PCのメモリを全部食い潰すことはないのですね。
助かります。
Object o = new Object();
とかです!
>> 986
ありがとうございます!
ということは、PCのメモリを全部食い潰すことはないのですね。
助かります。
988デフォルトの名無しさん
2018/11/13(火) 09:22:02.07ID:3SCk9MN5 あほやな
989デフォルトの名無しさん
2018/11/13(火) 16:13:23.72ID:BO12xGFO 参照にnull渡してもすぐに廃棄してくれないから
メモリぎりぎりの処理をするとGC発生せずに落ちる
OutOfMemoryErrorの前に1度はフルGCしろよと思う
メモリぎりぎりの処理をするとGC発生せずに落ちる
OutOfMemoryErrorの前に1度はフルGCしろよと思う
990デフォルトの名無しさん
2018/11/13(火) 23:42:29.05ID:u0U8MmUH hotspotはやってるだろ?今やってないのか?
991デフォルトの名無しさん
2018/11/18(日) 19:34:14.79ID:pZxF/iWK java11に移行しようとすると、ライブラリ類が対応してるのか不安
自分のアプリだけテストしても不十分だ
例えばNettyもjava11で少し問題が出たようだ
自分のアプリだけテストしても不十分だ
例えばNettyもjava11で少し問題が出たようだ
992デフォルトの名無しさん
2018/11/18(日) 19:51:16.43ID:pZxF/iWK java8からの移行を考えてたけど、やっぱり一部パッケージが削除されたせいで
動作しないものが出るようだ
移行作業はまずビルドが成功するかという問題があって、
失敗したら最悪ライブラリを自分で修正しないといけなくて、
ビルドに成功したとしてもライブラリはjava11でテストされていないという状況
ほんの1年ちょい前はjava8が最新だったんだが・・・
こんなの新規プロジェクト間に合わないだろ
移行作業しつつ開発進めないといけない
動作しないものが出るようだ
移行作業はまずビルドが成功するかという問題があって、
失敗したら最悪ライブラリを自分で修正しないといけなくて、
ビルドに成功したとしてもライブラリはjava11でテストされていないという状況
ほんの1年ちょい前はjava8が最新だったんだが・・・
こんなの新規プロジェクト間に合わないだろ
移行作業しつつ開発進めないといけない
993デフォルトの名無しさん
2018/11/18(日) 21:06:07.68ID:pZxF/iWK https://builder.japan.zdnet.com/sp_oracle/35095997/2/
>Java Policy Tool
これの代替手段はありますか?
>時代遅れとなったセキュリティAPI
これはjava.securityのことですか?java11でそのパッケージが無くなるんですか?
>Java Policy Tool
これの代替手段はありますか?
>時代遅れとなったセキュリティAPI
これはjava.securityのことですか?java11でそのパッケージが無くなるんですか?
994デフォルトの名無しさん
2018/11/18(日) 23:08:00.76ID:JqgRfJJT >>993
>これの代替手段はありますか?
ない。どうせpolicy toolはカスタムポリシー対応してないからポリシーファイルは手書きする必要がある。
そもそも、これ技術デモだから。
>これはjava.securityのことですか?java11でそのパッケージが無くなるんですか?
非ポリシーベースのsecurity apiのうち1.1時代のだけ。
>これの代替手段はありますか?
ない。どうせpolicy toolはカスタムポリシー対応してないからポリシーファイルは手書きする必要がある。
そもそも、これ技術デモだから。
>これはjava.securityのことですか?java11でそのパッケージが無くなるんですか?
非ポリシーベースのsecurity apiのうち1.1時代のだけ。
995デフォルトの名無しさん
2018/11/18(日) 23:39:07.26ID:pZxF/iWK java8から11に移行する場合、security apiは特に変わってないと考えていいですか?
996デフォルトの名無しさん
2018/11/19(月) 00:09:28.48ID:MZ1FDVWs あー1.1のAPIを8で使ってたらそうじゃないのか
997デフォルトの名無しさん
2018/11/19(月) 00:35:10.50ID:7qQcp7Oe 正確にはcheckPermissionに転送してるだけのSecurityManagerの一部のメソッドだけどね。
今のところ削除予定なのは特殊なやつだけだけど1.1/1.2時代のapi削除するのは時間の問題だと思うよ。
今のところ削除予定なのは特殊なやつだけだけど1.1/1.2時代のapi削除するのは時間の問題だと思うよ。
998デフォルトの名無しさん
2018/11/19(月) 00:47:13.92ID:MZ1FDVWs 何で最初から理想的なAPIにできないんだろう?
999デフォルトの名無しさん
2018/11/19(月) 11:00:29.57ID:C68x9bSi1000デフォルトの名無しさん
2018/11/19(月) 11:04:42.70ID:X6/A5UND >>998
バグと同じで改修に次ぐ改修で無理が想定外や見落としが出て、結果継ぎ接ぎになるんだろ。
バグと同じで改修に次ぐ改修で無理が想定外や見落としが出て、結果継ぎ接ぎになるんだろ。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 281日 17時間 15分 2秒
新しいスレッドを立ててください。
life time: 281日 17時間 15分 2秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★2 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 【震度6強】政府 危機管理センターに官邸対策室を設置 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★3 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 皇后陛下62歳のお誕生日 被災地に「心寄せて」 [少考さん★]
- 地震 ★2
- 【速報】高市早苗、起床 [779938112]
- 高市すごい勢大発生 [256556981]
- 巨大地震 [957955821]
- 大地震
- 【🏡】岩手ビックウェーブ🏄うおおおおおおおおおおお🌊
