Javaの学習カタログ - 技術概要

技術概要

Javaプログラミング言語

Javaプログラミング言語は、高級言語で、次の特徴があります。

  • シンプル(単純)
  • オブジェクト指向(オブジェクト指向)
  • 分散(分散)
  • マルチスレッド(マルチスレッド)
  • ダイナミック(動的)
  • プラットフォームに依存しない(アーキテクチャ中立)
  • ポータブル(ポータブル)
  • 高性能(高パフォーマンス)
  • 堅牢(堅牢)
  • セキュリティ(安全)

参考リンク:

Javaの白皮书
Java言語と仮想マシンの仕様
Java(登録商標)言語仕様のJava SE 8版

Javaプラットフォーム

プラットフォームは、Microsoftは、Windows、Linux、SolarisのOSおよびMac OSとして、実行されているハードウェアまたはソフトウェア環境です。ほとんどのプラットフォームでは、オペレーティング・システムおよび基礎となるハードウェアの組み合わせとして記述することができます。
それはハードウェア・プラットフォームに基づいて、他のプラットフォーム上で実行されている純粋なソフトウェアであるため、Javaプラットフォームは、ほとんどの他のプラットフォームとは異なります。

Javaプラットフォームには、2つの要素があります。

  • Java仮想マシン(Java仮想マシン - JVM)
    • Java仮想マシン(JVM)は、Javaプラットフォームの基盤であり、様々なハードウェアベースのプラットフォームに移植されます。
  • Javaのアプリケーション・プログラミング・インターフェース(Javaアプリケーション・プログラミング・インタフェース - API)
    • Javaアプリケーションプログラミングインタフェース(API)既製の部品の多くを提供可能な機能の集合です。それは、関連するクラスおよびインタフェースのライブラリにグループ化され、これらのライブラリーは、パッケージと呼ばれます。

次のようにJava仮想マシンおよびJavaアプリケーション・プログラミング・インターフェース及びハードウェアの単離図です。

+-------------------------+
|     JavaProgram.java    |
+---------+---------------+
|   API   |               |     +---------------+
+---------+               +---->+ Java Platform |
|  Java Virtual Machine   |     +---------------+
+-------------------------+
| Hardware-Based Platform |
+-------------------------+

プラットフォームに依存しない環境として、Javaプラットフォームは、ネイティブコードよりも少し遅くなることがあります。しかし、移植性に影響を与えることなく、ネイティブコードのパフォーマンスへの近い性能のコンパイラと仮想マシン技術の進歩。

Java関数

GMの高度なJavaプログラミング言語は、強力なソフトウェアプラットフォームです。それぞれの完全なJavaプラットフォームは、次の機能を提供します:

  • 開発ツール:開発ツールを使用すると、コンパイルし、実行し、監視、デバッグとロギングアプリケーションに必要なすべてを提供します。新しい開発者として、主なツールは、あなたが使用するのjavacコンパイラは、のJavaランチャーとのjavadocドキュメントツールを。
  • アプリケーションプログラミングインターフェイス(API):APIは、Javaプログラミング言語のコア機能を提供します。それはあなたがあなた自身のアプリケーションで使用できる、便利なクラスの多くを提供します。これは、XMLの生成とデータベースへのアクセスにというように、基本的なオブジェクトからのネットワークおよびセキュリティにすべてをカバーしています。詳細はを参照してくださいするためにコアAPIは、非常に大規模であるJavaプラットフォームのStandard Edition 8ドキュメント
  • 展開技術:JDKソフトウェアは、エンドユーザーのJava Web StartソフトウェアとJavaプラグインソフトウェアにアプリケーションをデプロイするためなどの標準的なメカニズムを提供します。
  • ユーザインタフェースツールキット:JavaFXの、スイングおよびJava 2Dのツールキットには、可能な限り、洗練されたグラフィカル・ユーザー・インターフェース(GUI)を作成します。
  • 統合ライブラリ:統合ライブラリは、データベースへのアクセスをサポートし、JavaのIDLのAPI、JDBCのAPI、Javaのネーミングおよびディレクトリインタフェース(JNDI)APIなどのインターネットORB間プロトコル技術(JavaのRMI-IIOPテクノロジ)、オーバーJavaリモート・メソッド呼び出しなどのリモートオブジェクトを操作します。

Javaのメリット

  • クイックスタート:Javaプログラミング言語は、強力なオブジェクト指向言語であるが、特にCまたはC ++プログラマですでにおなじみのために、学ぶことは非常に簡単ですが。
  • 少ない書き込みコード:比較のプログラムメトリクス(クラス数カウント方法、等)は、Javaプログラミング言語で書かれたプログラムは、C ++で書かれた同じプログラムよりも4倍小さいことを示しています。
  • より良いコードを書く:Javaプログラミング言語は、良いコーディング慣行を奨励するために、自動ガベージコレクションを使用すると、メモリリークを回避できます。既存のコードを再利用し、少ないエラーを導入テストできるように、オブジェクト指向、JavaBeansの™コンポーネントアーキテクチャとAPIと拡張性の広い範囲です。
  • 迅速な開発プロセス:Javaプログラミング言語は、それを書いたときにそのため、開発時間が倍の速度であってもよいし、C ++よりも簡単です。あなたのプログラムは、以下のコードが必要です。
  • プラットフォーム依存性を避ける:他の言語で書かれたライブラリの使用を避けることにより、移植プログラムを維持することができます。
  • 一度書き、どこでも実行:アプリケーションは、マシンに依存しないバイトコードのために書かれたJavaプログラミング言語コンパイラを使用しているので、ので、彼らは常に、任意のJavaプラットフォーム上で実行することができます。
  • もっと簡単にソフトウェアを配布します。Java Web Startソフトウェアを、ユーザーが簡単にアプリケーションを起動します。起動時に自動バージョンチェックは、ユーザーがソフトウェアの最新バージョンの後れを取らないことを保証します。アップデートが利用可能な場合は、Java Web Startソフトウェアが自動的にインストールを更新します。

Javaテクノロジシステム

Javaプラットフォーム、標準版(JavaのSE)

Javaプラットフォーム、Standard Editionの(JavaのSE)は、デスクトップおよびサーバ上でJavaアプリケーションを開発してデプロイすることができます。
Javaは、今日のリッチなユーザーインターフェース、パフォーマンス、汎用性、移植性とセキュリティに必要なアプリケーションを提供しています。

Java SEのコンポーネント:

OpenJDKのリリース:

Javaプラットフォーム、Enterprise Editionの(のJava EE)

Javaプラットフォーム、Enterprise Editionの(のJava EE)は、標準的なコミュニティ主導の企業向けソフトウェアです。
使用して、Java EE のJavaコミュニティコミュニティプロセス(JCP基準)は、標準的な貢献者は、業界の専門家、商用およびオープンソース、Javaユーザーグループと無数の個人を持って開発しました。各バージョンには、アプリケーションの移植性、および増加した開発者の生産性を向上させ、業界のニーズに沿った新機能が組み込まれています。
今日では、Java EEのは、エンタープライズ・ソフトウェア・プラットフォームの富を提供し、より多くのJava EE互換の20を実感から選択します。

参考リンク:

オラクルのJava™EE 8つのSDK
のJava EEリソース

1. JVM 是什么?为什么 Java 是独立于平台的编程语言?

JVM 指 Java 虚拟机,是运行 Java 字节码的虚拟机。
每个 Java 源文件都被编译成 Java 虚拟机可以执行的字节码文件。
Java 虚拟机有针对各个平台的实现,从而实现相同的字节码执行可以得到相同的结果,最终实现一次编译,到处执行。 
字节码和 Java 虚拟机是 Java独立于平台的编程语言的根本原因。

2. JDK 和 JRE 有什么不同?

JRE = JVM + Java 核心类库与支持文件
JDK = JRE + Java 开发工具

3. Oracle JDK 和 OpenJDK 异同?

- Oracle JDK版本将每三年发布一次,而OpenJDK版本每三个月发布一次;
- OpenJDK 是一个参考模型并且是完全开源的,而Oracle JDK是OpenJDK的一个实现,并不是完全开源的;
- Oracle JDK 比 OpenJDK 更稳定。
  OpenJDK 和 Oracle JDK 的代码几乎相同,但 Oracle JDK 有更多的类和一些错误修复。
  因此,如果您想开发企业/商业软件,我建议您选择 Oracle JDK,因为它经过了彻底的测试和稳定。
  某些情况下,有些人提到在使用 OpenJDK 可能会遇到了许多应用程序崩溃的问题,但是,只需切换到Oracle JDK就可以解决问题;
- 在响应性和 JVM 性能方面,Oracle JDK 与 OpenJDK 相比提供了更好的性能;
- Oracle JDK 不会为即将发布的版本提供长期支持,用户每次都必须通过更新到最新版本获得支持来获取最新版本;
- Oracle JDK 根据二进制代码许可协议获得许可,而 OpenJDK 根据GPL v2许可获得许可。

4.  Java 和 C++ 的区别?

- Java 和 C++ 都是面向对象的语言,都支持封装、继承和多态
- Java 不提供指针来直接访问内存,程序内存更加安全
- Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。
- Java 有自动内存管理机制,不需要程序员手动释放无用内存 

Javaプラットフォーム、マイクロエディション(JavaのME)

組み込みやモバイル機器の運転上のモノのインターネットのためのJavaプラットフォーム、マイクロエディション(JavaのME)アプリケーションの強力かつ柔軟な環境を提供します:マイクロコントローラ、センサー、ゲートウェイ、携帯電話、携帯情報端末(PDA)セットトップボックス、プリンタのように。
JavaのMEは、柔軟なユーザーインターフェース、堅牢なセキュリティ、ネットワークプロトコルのサポートを内蔵しており、動的にダウンロードすることができネットワーキングおよびオフラインアプリケーションを含んでいます。JavaのMEベースのアプリケーションは、多くのデバイスに移植することができますが、各デバイスのネイティブ機能を最大限に活用することができます。

おすすめ

転載: www.cnblogs.com/acmeryblog/p/11115915.html