プログラミング言語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★★
■ このスレッドは過去ログ倉庫に格納されています
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
683デフォルトの名無しさん
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()呼ぶのも副作用あるかもしれないよね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 「3.11の余震とは別か」「長時間避難できる場所を」 識者の見方 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 膝掛け使ってる男いるでしょ
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- 今煮込みラーメン食べながら飲んでる
