問題タブ [java-8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
netbeans - Netbeans で JavaFx プラットフォームをセットアップできません
Windows で Netbeans 7.3 とともに JDK 8 アーリー アクセス (ビルド 90) を使用していますが、Java プラットフォームで JavaFx を有効にすると、JavaFx プラットフォームが正しく定義されていないと表示されます。jre8 パスを指定しようとしましたが、それでもエラーが続きます。JavaFx ランタイムを JRE 1.7 に設定するとエラーは表示されませんが、その場合、私の JavaFx コードは JDK8 でコンパイルされますが、JRE7 を使用して実行しようとすると、比較できないクラス バージョン エラーが発生します。
いくつかの最新機能を必要とする実験プロジェクトには JDK 8 を使用する必要があるため、JDK 7 に戻すことはできません。また、netbeans を使用してコンパイルするたびに、コマンド ラインで jar を個別に実行すると、生産性が低下します。
netbeans - JavaFx 8 が Netbeans Dev Build でエラーを出す
netbeans dev ビルドをダウンロードし、JDK 8 で JavaFx を使用してプロジェクトをセットアップしようとしました
まず、JDK 8 フォルダーを選択すると、netbeans のフラットフォーム ダイアログに JavaFx タブが表示されません。さらに、新しいJavaFxプロジェクトを作成したとき、プロジェクトのプロパティ->ライブラリで、以前の4つのjarファイルが表示されず、環境変数のみが表示されます。プロジェクトの実行中に、新しいバージョンの JDK が必要であると表示されます。lib/ext/jfxrt.jar を手動で追加すると、それのみが機能します
それは期待されていますか?
functional-programming - jdk8でリストとマップを操作する機能関数はどこにありますか
数日前に JDK8.0 アーリー アクセス リリースをダウンロードしました (ファイル名: jdk-8-ea-bin-b82-linux-x64-21_mar_2013.tar.gz
)
java.util.function
パッケージが見つかります。(インターフェイスのみが含まれています)、ラムダを完全に実行します。(わかった)
しかし、検索しても見つからなかったのは、リスト/マップ操作関数 ( forEach
、filter
、map
、 ... など) です。
そのため、チュートリアルではjava.util.List
インターフェイスで見つけると言っており、他のチュートリアルでは存在しないjava.util.Stream
クラスを参照しています。しかし、インターフェイスに新しいメソッドが見つからず、この新しいクラスも見つかりませんでした。
java - 配列ソートと parallelSort のパフォーマンス比較
リリースをダウンロードjava8-ea
し、 と をすばやく比較Array.sort
しましたArrays.parallelSort
。
そして、これが結果でした:
praralleSort は、少なくとも Plain oldsort
と同じくらい速く動作するはずだと理解できます..しかし、これは起こったことではありません。
次の仕様で行われた比較:
Intel Core i5
バージョンの JDK を搭載し4G RAM
たHP ProBook Ubuntu 13.04 Linux
:Java HotSpot(TM) 64-Bit Server VM (build 25.0-b23, mixed mode)
この方法で 3 つのフィールドのカスタム オブジェクトの配列を作成しました (予約順にオブジェクトを追加します)。
また、別の実行では、Parallel はリストに 10,000,000 が含まれている場合にのみパッドを実行し、それ以外の場合はすべて見栄えが良いことを示しています。
java - IntelliJ IDEA プロジェクト SDK の設定方法
IntelliJ IDEA をインストールしたばかりで、最初のプロジェクトを作成しようとすると、プロジェクト SDK をセットアップするように求められます。「JDK」をクリックすると、この画像に示すように、JDK のホーム ディレクトリを選択するよう求められます。
どこにあるか分からなくて困っています。
java - Java 8 java.util.stream.Streams
多くのブログ投稿で Streams クラスについて言及しているのを目にしますが、これはかつてラムダ ブランチ API の一部であったことがわかります。現在は非公開 API のようで、以前の実装とは一致しません。Streams.concat()
ストリームに複数の値を追加する、または追加する別の方法はありますか?
java - 「Apache Harmony を使用する理由」または「Android で Java 8 を使用する方法」
私たちのほとんどは、Java 8 がもたらすクールな機能について聞いたことがあるかもしれませんが、Android はそれをサポートしていません。これは、Googleが Android 用のApache Harmonyを使用しているためです。これが、私たち (Android アプリの開発者) が、ラムダ、インターフェイスのデフォルト実装、文字列の切り替えなどを使用してコードを改善することを妨げているものです。確かに、しばらくは対処しますが、アプリで使用する一部のライブラリが Java 8 機能を使用し始めたらどうなるでしょうか? 私の知る限り、これは機能しません (間違っている場合は修正してください)。これにより、標準のJava とAndroidの Java の間に互換性がなくなります。それは Google の意図するものではありませんし、少なくとも、広く採用されているオペレーティング システムを開発している企業が、永久にそのオペレーティング システムにとどまりたくない理由が思いつきません。古いJava バージョン。
質問:
- Apache Harmony を使用する理由
- 新しいバージョンの Java を採用できないのはなぜですか?
- 彼らが Oracle の Java を必要としないのであれば、OpenJDKのサブセットを使用できないのはなぜですか (ライセンス noob here)。
- 使用している Java のバージョンを更新する予定はありますか?
- 現在の Android システムで Java 8 クラスを使用する方法を知っていますか?
java - Java8 でのラムダの導入によって変更または影響を受ける GoF 設計パターンはどれですか?
多くの人が、GoF 設計パターンの大部分は、ファースト クラス関数が存在しないための回避策にすぎないと主張しています。Java がラムダ式を取得しようとしている今、これらのパターンのどれがそれらの影響を受けるでしょうか? 劇的に単純化または一般化できるものはどれですか? そして、どれが基本的に同じままですか? 実用的な例は大歓迎です。
java - Java 8 拡張メソッド - mixin または trait と呼ばれないのはなぜですか?
私の知る限り、Groovy には既に mixin があり、Scala には trait があります。C ファミリーには多重継承があります。では、なぜ Java の新しい機能が「拡張メソッド」と呼ばれるのでしょうか。同じものの名前が違うだけなのか、それとも別の理由があったのか。トレイトやミックスインとの違いは何ですか? 彼らは何を追加し、何を欠いているのでしょうか?
個人的には、それらを「拡張メソッド」というよりも「実装メソッド」と見なしています。
java - null 値の jdk8 ストリームをどのように管理する必要がありますか
in advance
JDK8 はまだリリースされていないため (とにかく今のところはそうではありません..)、この件名は少し難しいかもしれませんが、Lambda 式に関するいくつかの記事、特に Stream として知られる新しいコレクション API に関連する部分を読んでいました。
以下は、Java Magazine の記事に記載されている例です (これはカワウソ個体群アルゴリズムです..):
私の質問は、セットの内部反復の途中で、カワウソの 1 つが null の場合はどうなるかということです。
NullPointerException がスローされることを期待しますが、以前の開発パラダイム (非機能) にまだとどまっている可能性があります。
これが実際に NullPointerException をスローする場合、この機能は非常に危険であることがわかり、以下のようにのみ使用する必要があります。
- null 値がないことを確認する開発者 (おそらく以前の .filter(o -> o != null) を使用)
- 開発者は、アプリケーションが null otter または処理する特別な NullOtter オブジェクトを生成しないようにします。
最良の選択肢、または他の選択肢は何ですか?