JVMLS 2016:Java Virtual Machine Language Summitの要約
2016 Java Virtual Machine Language Summit:jvmの未来を探しています
2016 Java Virtual Machine Language Summit(JVMLS)は、言語デザイナーとJVMエンジニアを集めて、JVMの将来の開発とJava言語への影響について議論します。サミットは、Project Jigsaw、Project Valhalla、Virtual Machinesの未来などの重要な問題に焦点を当てています。
モジュラー:プロジェクトジグソー
プロジェクトJigsawは、Java 9のコア機能であり、Java言語のモジュラーメカニズムを導入しています。開発者は、信頼性の高い構成、強力なパッケージング、スケーラビリティ、セキュリティ、パフォーマンスの向上を可能にするモジュールを作成できます。 Java 9では、モジュール(基本的に新しい構造 - モジュール記述子を含むJARパッケージ)を作成できます。モジュール記述子は、モジュール名を指定し、必要なモジュールをリストし、パッケージをエクスポートすることにより、モジュールを記述します。実行時に、モジュールは主に(読みやすさ)に依存するモジュールのみを表示し、モジュールが読み取られ、モジュールがそのタイプを含むパッケージをエクスポートする場合、他のモジュールのタイプ(アクセシビリティ)のみにアクセスできます。これは、コンパイラとJVMが最終的にすべてのコードと依存関係を組み込んだ大きな泥ボールパターンを放棄し、ソフトウェア構造の理解に近い実際のマップに置き換えたことを意味します。コンパイラとJVMの両方がこのグラフを理解しているため、欠落しているモジュール、同じモジュールの複数のバージョン、または複数のモジュールがコンピレーションまたは起動中に同じパッケージをエクスポートし、検出が困難なランタイムエラーまたは微妙なエラーを回避します。
値タイプ:Project Valhalla Project Valhallaは、ユーザー定義のプリミティブタイプとして要約できる値タイプを導入するように設計されています。値タイプは原始タイプと同じであり、メモリオーバーヘッドまたは間接的なアドレス指定を負いません。 2つのINTフィールドxとyを含むカスタムポイントは、その使用場所にインラキングされ、2つのINTに必要なメモリのみが必要であり、ポイントの配列は本質的にx/yペアの配列です。元のタイプと同様に、そのようなポイントは識別されません - 5の値を持つ2つの異なる整数オブジェクトがありますが、5の2つの異なるINT値はできません。クラスと同様に、値タイプにはメソッドとフィールドを持ち、インターフェイスを実装できます。したがって、そのスローガンは、「クラスのようにコーディングし、intのように機能する」です。これにより、優先抽象化と必要なパフォーマンスの間でトレードオフすることができなくなります。
しかし、プロジェクトはすぐにトラックから逸脱しました。私たち全員が知っているように、ジェネリックはプリミティブタイプで動作しません - arrayList
は作成できません。これは、8つの原始的なタイプではすでに苦痛です(StreamやTroveなどのライブラリのプリミティブタイプの専門化を参照)が、開発者がより多くのタイプを定義できる場合は耐えられなくなります。 (今日のプリミティブタイプのように)ジェネリックと対話するために値の種類をボックス化する必要がある場合、それらの使用は非常に限られており、開始されません。したがって、値タイプのジェネリックを使用できる必要があります。プリミティブタイプを一緒に使用することもできます。最終的には、ArrayList
仮想マシンFuture
ジョン・ローズは、仮想マシンを未来に引き付けるいくつかの方向について話しました:オブジェクト、値、配列、メソッドなどの統一されたモデル
- 密度の向上と共有によるメモリ効率の向上、ホットスポットパスの継続的な最適化など、パフォーマンスを継続的に改善します
- コア抽象としてスレッドを超越する繊維を使用した微調整された並行性
- より有用で互換性があり、相互運用可能になります - それとネイティブ言語で実行されている言語のために、それらの間のギャップを埋める スタックは具体化されています。スタックは、文字列としてだけでなく、クラスとメソッドを実際のオブジェクトとして保持し、各フレームの完全なコンテキスト(ローカル変数、モニターなど)が表示され、プログラムがスタックを編集できます
- 多くのコンテンツは私の理解を超えていますが、彼のスピーチを聞くことは、たとえそれが彼の情熱を感じるだけであっても、まだ多くの利益をもたらしました。
概要
JVMは、多くの賢い人々がその複雑さを制御しながらそれをより強くするために取り組んでいる強力なツールです。
2016 JVM言語サミットに関するFAQ
(この部分は元のテキストと同じ、省略)以上がJVMLS 2016:Java Virtual Machine Language Summitの要約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

ARM64アーキテクチャのオープンソースソフトウェアのCI/CDパズルとソリューション ARM64アーキテクチャにオープンソースソフトウェアを展開するには、強力なCI/CD環境が必要です。ただし、ARM64のサポートレベルと従来のX86プロセッサアーキテクチャには違いがありますが、これはしばしば不利な点にあります。複数のアーキテクチャのインフラストラクチャコンポーネント開発者は、職場環境に一定の期待を持っています。 一貫性:プラットフォーム間で使用されるツールとメソッドは一貫しており、人気の少ないプラットフォームの採用により開発プロセスを変更する必要性を回避します。 パフォーマンス:プラットフォームとサポートメカニズムは、複数のプラットフォームをサポートする際に展開シナリオが不十分な速度によって影響を受けることを保証するための優れたパフォーマンスを備えています。 テストカバレッジ:効率、コンプライアンス、および

カスタマイズされた通信ソフトウェア開発は、間違いなくかなりの投資です。ただし、長期的には、このようなプロジェクトは、市場で既製のソリューションのように生産性を向上させる可能性があるため、より費用対効果が高い可能性があることに気付くかもしれません。カスタマイズされた通信システムを構築することの最も重要な利点を理解してください。 必要な正確な機能を取得します あなたが購入できる既製の通信ソフトウェアには2つの潜在的な問題があります。生産性を大幅に向上させることができる有用な機能が欠けているものもあります。いくつかの外部統合でそれらを強化することができることもありますが、それは常にそれらを素晴らしいものにするのに十分ではありません。 他のソフトウェアには機能が多すぎて、使用できないほど複雑すぎます。おそらくこれらのいくつかを使用しないでしょう(決して!)。通常、多くの機能が価格に追加されます。 あなたのニーズに基づいています
