私は長い間Javaプラットフォームを使用してきましたが、その長所と短所をよく知っています。この記事では、もしそうでなかったら、物語がどのようになっていたかをお話ししたいと思います。結局のところ、ドッカーシステムの代わりにJavaマシンを使用することができます。そして、Javaマシン自体がOSを完全に置き換えることができます。
これは概要記事です。いくつかの考慮事項の概要を説明します。それらの完全な分析は多くのスペースを占めるでしょう。
つまり、JavaマシンはOSです。所々OSよりもさらに涼しい。実際、これはそれほどとんでもない発言ではありません。結局のところ、誰もが本格的なOSの例を知っており、(最初は)Javaに大きく基づいています-Android。さらに、完全にJVMに基づいた古典的な意味のOSがあります。
では、JVMにはどのようなOS機能がありますか?メモリ管理-それについては間違いありません。スレッド制御-はい。ただし、通常、基盤となるOSの既存のローカルスレッドに基づいています。ただし、スレッドは重要で本質的で高度に開発されたマシンのサブシステムであり、基盤となるOSスレッドよりもはるかに多くのサービス機能を提供します。
I / Oは、すべてのサーバーとライブラリを含むJavaインフラストラクチャ全体の点でも非常に高度です。この意味で、ベースOSのI / Oは、後者の古いBIOSとほぼ同じように、低レベルの操作を実行します。
Javaには哲学があります。Unixではすべてがファイルであり、Javaでは(ほぼ)すべてがオブジェクトです。
多くの人が知らないか忘れているシステムの重要な部分があります。Javaは、強力なアクセス制御手段を備えた環境です。そのため、とりわけ銀行部門で広く使用されています。
これらのツールの存在は、言語レベルでの本格的なマルチスレッドと相まって、マルチタスクおよびマルチユーザー環境を作成するための前提条件を作成します。多くの人がマルチスレッドについて知っています。アクセス制御については、もう少し詳しく見ていきましょう。
-, JVM – (managed) . . , . .. , - ( ) . . - , . - - -.
, - ( ) – . . , , . , , , . ( private, protected ..) – , . . . (SecurityManager) , , . . , , - ( ) - + . - ?
. , , , .. . - OSGi.
, . , . -, – . , .
- ? , , – – - -. , (). . . , – , , ( ), - – ejb, , protoBuf & gRPC – RMI Corba & RMI-IIOP. .
足りないのは、美しい写真とグラフ(ここでの実装によって異なりますが)と、描かれた図からのインフラストラクチャの展開だけです。しかし、誰も後者をKuberと一緒に無料で箱に入れることはありません。
説明のために、アプリケーションサーバーの標準的なモジュール性を見てみましょう。読み込み階層があります:システム->サーバー->アプリケーション->アプリケーションモジュール。
さて、今のところこれですべてです。Jakarta EE 9の次のバージョンのリリースを喜んでおり、それらの成功を祈っています。