JavaのShangxue唐西安は何ですか

あなたはJavaはまだ比較的困難であるかを説明人物について何を知りたい場合は、はい、それはプログラミング言語ですが、今日に、用語リモートJava言語の定義を超えて、具体的には、Javaがあります、C言語と同様に、仮想マシン環境を含むライブラリを含むとソフトウェアをサポートしている、それは、オペレーティング・システム・プラットフォーム、コンピュータ、デバイスおよびドメインのさまざまな実行できるように、以下の技術を含む:
デスクトップのJava SEのための
サーバーおよび企業向けJava EEのソリューションは、
モバイルデバイスや組み込み用のMEをJavaの
リアルタイムのJava(リアルタイムのJava)の一時的なニーズのためのアプリケーション
、(PC、テレビ、モバイルデバイス用のJavaFX RIAアプリケーションを構築するためのセットトップボックスを上のBlu-rayプレーヤーやその他のメディア・アプリケーション)
誰かが、言うのであれば、「私は、Java開発者よ、」彼らは正確にJavaフィールドが何であるかを明確にする必要があります。私は、Java SE、Java EEの、JavaのMEを含め、プラットフォームの面でのJavaの将来を議論するためにここにいる 、JavaFXの、 ツールや言語。
?Javaの方法大きな市場
、次のようにOracleは、Javaは最も人気の高い、ユビキタス技術があると言うによると、1月に2010年の統計は以下のとおりです。
900万人のJava開発者はJavaの8.4億デスクトップのインストール、100 Duozhongは、異なるハードウェアプラットフォーム上で万人には、Javaデスクトップインストールサポート
A)2万のが毎日のダウンロード
はすべてのJavaを使用フォーチュン100社を
55億カードJavaの
26億Java対応携帯電話は持っている
b)の250個の携帯電話事業者のパートナー
C)10万人のJava MEアプリケーション
4000万テレビやBlu-rayプレーヤー
Javaはまだ最も広く使用されているプログラミング言語で、スクリプト言語によるJavaプラットフォームよりも多くのすべての総数が実行する別のスクリプト言語で記述されたアプリケーションをサポートしているよりも、これらの番号が重複します。たとえば、Java仮想マシン(JVM)は、Java、Rexxは、ルビー、JavaScriptを用いて行うことができるのPython、PHP、Groovyの、Clojureのとスカラ座を。プログラムが書き込ま。多くの場合、日のHotSpot JVMはJIT(リアルタイム)コンパイラは、コンパイルされたコードを再最適化するため、これらのアプリケーションを実行するほうが良いでしょう。
Javaは、Java開発者は、これらのオーラがあるが、また、プログラミング言語のカリキュラムとしてのJavaを選択し、多くの大学のコンピュータ部門を自由に使用することが、まだほとんどのエンタープライズWebアプリケーション開発の優先言語/プラットフォームであり、かつ成長を続けますそれはSunが買収された後、我々は、特にこの期間では、Javaの将来の方向性を再検討すべきではないという意味ではありません。
SEのJava
OracleがJavaの将来戦略を発表した、目標は、より多くの、Javaアプリケーションの新たな分野に拡大簡素化、最適化、および新しい構造に組み込まれたJavaプラットフォームを展開し、Javaコミュニティへの投資を増やすために強化し、継続することで、コミュニティを可能に参加。
トーマス・クリアン、オラクルの製品開発の上級副社長は、Oracleは、より多くの組み込み機器でのJavaの利用を促進する、最大の、最も効率的かつ世界で最も人気のあるプログラミングプラットフォームになるためのJavaの利用を促進します。Kurian氏は、Javaの開発を促進するために(JCP、Javaのコミュニティプロセス)それは、Java Community Processのを維持するだろうと言ったが、私は近年では多くの問題を暴露したため、Oracleは、JCPプロセスを変えていくと思われる、非協力的な参加者は、Java仕様を遅らせる可能性要求(Javaの仕様要求、JSR)。
Kurian氏はまた、Javaエンタープライズの古いバージョンのJavaプログラムのための伝統を維持するために、Oracleは、それはJVMの現在のバージョンのための長期的なサポートを提供するサポートだけでなく、すべての主要なオペレーティングシステムのための一般的なJavaビジネス支援プログラムを提供していきます、確認および有効期限が切れ以下のために、セキュリティパッチを取得し、その他のサポートが不可欠です。
最も興味深いのは、ほとんど常に周りKurian氏を話すことで、最近リリースされたJava SE 7、OracleのJRockitのとSunのHotSpot仮想マシンの統合が拡大し、計画中のOracleのJava SE 7次の新機能が含まれています
モジュラーVMを:我々目標は、アプリケーションで使用される小片VMに分割され、Javaアプリケーションの起動時間が短くなり、その結果であるインターネットに要求することで、VMがターゲットマシンでない場合は、ダウンロード時間が短く、 A。
追加の言語サポート:Javaプラットフォームは、異なる言語で書かれたアプリケーションをサポートし、今もちろん、より多くの言語のサポートが追加され、また、これはレオナルド・ダ・ヴィンチや多言語の仮想マシンと呼ばれる動的言語のサポートを含み、 JSR-292を参照。
より多くの言語のサポートを追加するために気にしないので、JVMは、動的言語のサポートを追加し、その前に、影響を受けたJava言語は静的要件、Javaコンパイラを達成するために追加のコーディングが必要であることを指摘すべき動的言語のサポートは、これは増加のJITコンパイル時間が発生しますし、メモリ消費量が通常よりもはるかに大きいので、ガベージコレクションの数が増加します。
Java SEの7でこの機能拡張により、あなたはそう永続が少ないスペースを消費し、実行時のバイトコードで既存のクラスを変更することができ、ガベージコレクションの数も減少し、JITコンパイラは、より多くを最適化することができるようにコードの後。
強化されたマルチコアサポート:新規および既存のJavaアプリケーションは、マルチコアハードウェアの利点をより効率的に使用する、Javaのスレッドモデルは簡単なタスクのスレッドの並列実行を作成することができます助けるために構築されたツール、ライブラリ、および施設の助けが必要ですが、どのようになります単一のタスクは、それを強制するために平行複数のスライスに分割されますか?
例えば、ダグ・リーは、フレームワークに参加/ Javaのフォークを変更し、サードパーティ製のソフトウェアパッケージは、このような広汎DataRush製品として、私たちを助けることができますがありますが、Javaはこの機能を追加し、フレームjava.util.concurrentパッケージに直接加え、それ再帰的に平行でサブタスク、フレーム処理スレッドと協調タスクにタスク、最終的な結果すべてのサブタスクの組成物を分解する。
その他の改良点は、例外をキャッチし続け、パフォーマンスの向上だけでなく、言語の拡張機能の多くの側面、増加閉鎖、switch文の文字列のサポートを含む、だけでなく、マルチブロックが含まれ、クロージャは匿名の使用によるもので物議機能です内部Javaクラス。
日のHotSpotとOracle JRockitは、マージ
、はるかに、私の意見では合併のHotSpotとJRockitのの最も驚くべきニュースを。長年にわたり、JVM前SunとBEA JVMは、パフォーマンスと管理機能に悩まされているが、今王は最終的にパフォーマンスベンチマークで最高の結果を達成するために再び戻り、全体的なガベージコレクション技術を遅らせます。
多くの人々は、SunのHotSpot JITコンパイラの技術は最高ですが、その優れた技術を持つのJRockitガベージコレクションおよびその他の目標性能の強化など金融部門などの一部のアプリケーションのための最初の選択をすると思いますが、それをたくさん使用する必要があります。実際には、JROCの
SunのJava RTS製品の優位性よりもキットリアルタイム機能、RTSは、多くの場合、コード変更の適用を必要とするため。しかし、SunのHotSpotのが最も信頼性の高いJVMとみなされ、より多くのオペレーティングシステムやハードウェアプラットフォームを組み合わせ、同時にホットスポットのサポートより速度よりも重要と信頼できるものでなければなりません。
両方のJVMは、より良い結果をもたらすでしょう、両方の長所を組み合わせた独自の利点を持っていることを考えると、これまでのところ、Oracle JVMは、以下の目的の統合が表しています。
強化された管理とモニタリング:ホットスポットはそのVisualVMのをもたらし、あなたが視覚的にJavaアプリケーションは、その使用状況とパフォーマンスメモリを含む、検査や分析で実行して、設定することができますvisualgcのツール。オラクルのJRockit Mission Controlは、IOまたはメモリ関連の問題を報告するアプリケーション実行、GC活性およびスレッドの同期による遅延、可視化を実現するためのツールセットを提供します。また、のJRockit Mission Control機能は、監視と報告虚偽を提供します。
ハイパーバイザー上でローカルに実行:両社の前にBEAとSunのOracleの買収の共通の目標である、伝統的なオペレーティングシステムの限界を超え、ハードウェア上で直接Java仮想マシンを実行しています。この設計は、Javaアプリケーションとハードウェア自体との間のソフトウェア層の多数を排除することができます。実際には、アズール会社は何年も前の伝統的なオペレーティングシステムを排除し、仕事に特化したハードウェアおよびJava仮想マシンを構築するために、この試みを始めました。ハイパーバイザーを追加することで、Oracleは、JVMは、インテル、AMDおよびSPARCベースのシステムとして、既にデータセンターに配置されているすべてのハードウェアプラットフォーム上で実行することができます聞かせて、専用のハードウェアの制限がなくなります。
また、別途日(のJava SE 6パラレルコレクタ)の質的な飛躍、リアルタイム動作とスループットがなければならないと言うためにどのようにして、ガベージコレクション内のOracle / BEAとSunの技術の降水量の組み合わせ、そして今:高度なガベージコレクションこれは、GC(JavaのRTSリアルタイムガベージコレクション)を実装しています。Jrcokitはあまり回復をサポートしていますが、それはあなたが動作モードを指定することができます。また、実行時のコレクタのダイナミックモードのサポートは、最高のガーベジコレクションのポリシーを選択することができます。双方は(仕事の製品は、SunのG1コレクタである)面白い努力と多くの作業を行っている、双方は今より良いガベージコレクタを作成するために一緒に動作するはずです。
マルチコアシステムのNUMAサポート:不均等メモリ・アクセス(NUMA)は、メモリアクセス時間は、マルチコアプロセッサ技術の分野におけるプロセッサのコードの実行の物理的な位置へのメモリ位置の相対的に依存することができホットな話題です。例えば、マルチコアプロセッサでは、各コアはそれ自身のローカル・データ・キャッシュを有し、プロセッサは、共有レベル2キャッシュを持っています
別の設計は、すべてのプロセッサコア共有レベルのキャッシュであるが、これは必ずしもよりよい設計ではありません。例えば、共有キャッシュはコアあたりの物理的なキャッシュ、典型的には、アクセスがカーネル間で調整する必要があります。
しかし、チーフエンジニアによるオラクルのJava SEのMark Reinhold氏は、Java仮想マシンの統合は非常に長い時間が続く可能性が、1は非常に難しく、そして第二に、安定性を確保するために、彼が完了するまでに2年以上と推定された、ラインホルトにも結合することを願って両側のすべての利点は、スーパーの製品を作成します。
何が起こっても、最高の性能と最小の遅延を達成するために、JVMは知っているとNUMAアーキテクチャをサポートする必要がありません。例えば、ハードで
メンバーを扱う、JVMはカーネル上でコードを実行するために、「ホットキャッシュ」を使用しようとすることができ、いわゆる熱バッファはあなたが必要とするデータがそれに格納されています。
Java EEの
OracleがJavaのlong、10年前、同社はJava EE仕様書の作成に携わってきましたJCP、最大のメンバーの一人のサポーターとなっているので、捕食者は、OracleのJavaミドルウェア市場は驚いてはいけませんとなります。
自分の努力と合併や買収を通じて、Oracle Fusion Middlewareのは、完全なJava EEスタック、SOAベースのサービス、ESB、Transaction Serverおよび開発ツールおよびその他のコンポーネントで構成され、独自のプラットフォームを、収束します。日の買収後、OracleはJava EEのリファレンス実装であるGlassfishのソフトウェアスイートを持っています。Oracleはまた、別のJava EEプラットフォームのWeblogicを持っているので、最新の製品ロードマップによると、Oracleの融合ミドルウェア・スタックは、WebLogic、Glassfishのを使用すると、埋め込まれた態様において使用することができます。
Java EEの将来については、Oracleは次の分野で努力すると述べました。
モジュラー、規格開発:JavaのEE 6モジュール化するJava EE定義された設定ファイル(プロファイル)を介しては、メーカーは、特定のニーズに応じてコストをするJava EEスタックの小さなサブセットを作成し、Java EEを使用して複雑な問題を解決することができます。モジュラー設計とJava EEを簡素化するための標準を定義し、それがアプリケーションのより広範な分野です。
Web構成ファイル(サーブレット、JSPやJSF)とJava EEエンタープライズプロファイル:・のJava EE 6には、2つの設定ファイルを指定します。もちろん、あなたはまた、セッション開始プロトコル(SIP)が定義され、通信サーバ設定ファイルをサポートするために、例えば、より多くのコンフィギュレーションファイルタイプを定義することができます。
プロファイルに加えて、他のデバイスにモジュラーミドルウェアを展開するため、例えば、Java EEの埋込部分は、セキュリティカメラ、RFIDリーダ、またはあなたが考えることができる任意の他のインテリジェントデバイス、オープンなどのモバイル機器にスタック標準のJavaプログラミングモデルの後に、それはより広い範囲を使用しています。
・UIやRIAを:HTMLは静的で、あなたはAjax技術を使用することができ、アカウントにWebページの制作を取って、まだ通常のJavaサーブレット、JSPやJSF世代を使用してJava EEアプリケーションのUI暗黙の合意、ですが、それは、Java EEを超えていますカテゴリ。
AjaxとCometの方法は、動的な、非常に強力であることが証明されているが、Webアプリケーションがより使いやすさせるが、基準と優れたJavaScriptの開発ツールが不足しています。
Oracleは、この点で明確かつ具体的な計画はありませんが、私は将来的には私の、AjaxとJavaFXのLarry Ellison氏の2009年のJavaOneカンファレンスの声明によると、実際には、問題のAjaxのJavaFXとJava EEの統合を解決すると思いますが、推測は正しいはずです。
JavaのME
SunのJava MEは大成功で、また数多くの消費電力の組み込みソリューションに合わせた第三者が、携帯電話の様々な種類の十億のために使用されてきました。具体的には、Java(登録商標)MEは、2つの主要な製品で構成されています接続が限られた装置構成(接続限定デバイス構成、CLDC)と接続されたデバイスの設定(接続機器設定、CDC)。両者の違いは、それらの能力、CLDCは、小さいサブセットで非常に小さな仮想マシン(VM)を有し、したがって、限られた容量を有するデバイス上で実行されます。CDCは、
より強力なデバイス設計で、より完全なJava実装、。CDCおよびJava SE、CDC JVM上で実行されているJava SEコンパイルの.classファイルと互換性のあるバイトコードが、CLDCはできません。
この問題を解決するために、オラクルは本日、それは、Java MEとJava SEのAPIを統一することを発表による制限とJava ME(CDCとCLDC)、およびJava SEとの違いに、開発部門の結果のJava APIとライブラリの面で違いが、ありますスプリットのJava市場の完全な排除。
また、オラクルはまた、モバイルデバイスの起動時間とJava MEの全体的なパフォーマンス、改善された電源管理を改善するための計画、および新興の組み込みデバイス(MID、メディアプレーヤーなど)だけでなく、改善のJavaFXとJavaFXのモバイルをサポートするための取り組みを発表しました。
JavaFXの
Larry Ellison氏と(例えばトーマス・クリアンなど)他の幹部の声明によると、OracleはJavaFXのをサポートし、開発していきます、JavaFXのは、RIAアプリケーションを構築する開発者のためのJavaを容易にするために強力なランタイム、スクリプト言語やツールのセットです競争の分野におけるプログラム、フラッシュ/ FlexとSilverlightのRIAも、しかし、加えて、JavaFXのとJavaベースのビルドを人生のアプリケーションの側面を満たすためにJavaFXアプリケーション、あなたはJavaFXのプログラムでは、既存のJavaコードを統合して使用することができます。
あなたが直接Webページに埋め込まれたデスクトップコンピュータ、上、またはJava WebStartのサポートを通じてJavaFXアプリケーションは、モバイル・ワールド・コングレス(モバイル・ワールド・コングレス、MWC)2009でのJavaFX Mobileデバイスで実行することができ、携帯電話メーカーやオペレータの数が発表されました?自分の携帯電話は、JavaFXのをサポートしますが、OracleのJavaFXのは、それを計画する方法である
Oracleが、それは次のように焦点を当て、RIAアプリケーションのための比類のない体験を提供する、JavaFXのへの投資を増やすと述べた:
•設計パラダイムに基づく可視化コンポーネントを作成し
たJavaFXへ・アプリケーションをプログラムの豊富なUI拡張ライブラリの作成
・すべてのプラットフォーム用のJavaFXのパフォーマンスのアップグレードを
強化クロスデバイスJavaFXアプリケーションの移行機能は、
Javaの、JavaScriptとHTML 5のシームレスな統合に・
新しいデバイスやUIパラダイムのサポート(マルチタッチ)
のコースエリソン自身がクラウドベースのJavaOneの道になりますOpenOfficeのは、この理由のために、私もエリソンは、自分自身とクラウド場合は、JavaFXのOracleが彼らのクラウド戦略の主要なコンポーネントを行います推測変換昨年の会議で示唆しました寒さではありません。
開発ツール
すべてのJavaコンポーネントでは、NetBeansのの将来が最も不確実で、Oracleはその軽量プラットフォームですが、NetBeansは軽量IDEのJava開発者であり続けることだけ言って、具体的な計画を発表したが、それはなかったですフォーカスはまた、モバイル及び動的プログラミング言語の開発を含む、Java(登録商標)ME、Java EEおよびスクリプトベースの開発に残ります。
しかし、まだOracle JDeveloperのとは戦略的なレベルのEclipseのJava開発プラットフォームの焦点である、JDeveloperはOracle Fusion Middlewareのスイートの一部であり、オラクルは、Eclipse IDE Eclipseの11グラム製品事業パッケージの一部として継続されます。
私はOracleはJavaFXのコンテンツ、UI、展開、JavaおよびJavaFXアプリケーションの管理を中心に構築された新しいツールの開発に注力すると思います。個人的に私は2006年からNetBeansは、Oracleはできるだけ早くIDE具体的な計画を明らかにしたいと考えて、それを使用し始めたように。

おすすめ

転載: blog.51cto.com/14512197/2438554