検索
ホームページJava&#&チュートリアルJava がどのように動作するかの詳細な分析

Java

は、1995年にSUNによって発売された高級プログラミング言語です。これはインターネット指向の言語であり、WEBアプリケーション(Androidの最下層、ビッグデータHadoopフレームワークはJavaで書かれており、SparkはScala で書かれ、Scala は Java で書かれています)、(他の言語と比較して) シンプルで習得が簡単、安全で信頼性が高く、完全にオブジェクト指向、クロスプラットフォーム (オペレーティング システム、オペレーティング システムを完全に無視し、どのオペレーティング システムでも実行可能)書き込んでから使用してください)。

Java に仮想マシンの概念が導入されました。これは、マシンとコンパイラの間に仮想マシンの抽象層を追加します。この仮想マシンは、あらゆるプラットフォーム上のコンパイラに共通のインターフェイスを提供します。コンパイラは仮想マシンに合わせて、仮想マシンが理解できるコードを生成するだけで済みます。その後、インタプリタが仮想マシン コードを特定のシステム用のマシン コードに変換して実行します。 Java では、仮想マシンが理解できるこの種のコードはバイトコード (ByteCode) (クラス ファイルの内容) と呼ばれます。これは特定のプロセッサではなく、仮想マシンのみを対象としています。各プラットフォームのインタープリタは異なりますが、実装される仮想マシンは同じです。 Java ソース プログラムはコンパイラによってコンパイルされ、バイトコードになり、仮想マシンによって解釈されて実行されます。仮想マシンは、実行する各バイトコードをインタプリタに送信し、インタプリタによって特定のマシン上のマシンに変換されます。コードを作成し、特定のマシンで実行します。

クロスプラットフォームの原則

そういえば、北京では一般的に北京語を話し、上海では一般的に上海語、広東語、広東語を話します...
公式文書が発行されており、それは全国的に実施する必要がある。何をすべきか? ——まず北京語に翻訳します。さまざまな場所で北京語版を地元の方言に翻訳しています。

ここで、北京と上海は異なる種類のマシン、Windows、Linux...
コンパイル (javac) は公式文書を北京語に翻訳するプロセスであり、コンパイルされた .class ファイルは公式文書の中国語版です。
実行中、さまざまな場所のトランスレーターは jvm であり、.class を実行のためにローカル領域で理解できる方言に変換する役割を果たします。

Java 仮想マシン --- Java 仮想マシン --- JVM は、さまざまなオペレーティング システム用に開発されています。 Java プログラムは、コンピュータ上で直接実行されるのではなく、Java 仮想マシン上で実行されます。 Java プログラムを現在のシステムが認識できるコマンドに変換します。 Java 言語はクロスプラットフォームですが、Java 仮想マシンはクロスプラットフォームではありません。

Javaの技術構造

J2SE---スタンダード版

J2EE---エンタープライズ版

J2ME---モバイル版(初期には誰かが使っていましたが、現在はほとんど使われなくなりました)

JDK/JRE/JVM

JVM ---Javaがクロスプラットフォームであることが前提

JRE---Java実行環境---Java実行環境---JVM+コアクラスライブラリ

JDK---Java開発キット --- Java 開発キット -- - 開発ツール + JRE

java.sun.com

www.oracle.com

1994 年には、Oak --- Oak

と呼ばれ、後に Java -- に変更されました。 -Java

JDK1.0 (-JDK1.1-1.2 (アプレット/スイング---GUIは後に廃止)-1.3-1.4-1.5 (JDK5.0、10の機能)---JDK6---JDK7.0 ---JDK8 (1.8/10 機能とも呼ばれます) 1.8 までに 3,000 を超えるクラスとインターフェイス メソッドがあります

(Jdk1.7.0_75 の後の 75 は 75 の更新を意味します。どのバージョンがインストールされているかに関係なく、使用しないようにしてください)最初の 50 のマイナー バージョン)

C:\Program Files (X86)

注: インストール パスにスペースや漢字を含めないでください。

コンパイル

Java コードを、コンピュータは理解できます

1. クラスファイルのファイル名はクラス名に対応します

2. 各クラスがコンパイルされると、パブリックのクラス名が生成されます。クラスは Java ファイルのファイル名と一致している必要があります

4. Java プログラムを実行するためのエントリ ポイントは、main 関数がなくても Java プログラムはコンパイルできます

環境変数

を参照します。オペレーティングシステムに指定された一部の動作パラメータの量

(1) New->変数名「JAVA_HOME」、変数値「C:Javajdk1.8.0_05」(つまり、JDKのインストールパス)

(2)編集→変数名「Path」、元の変数値の末尾に「;%JAVA_HOME%bin;%JAVA_HOME%jrebin」を追加

(3) 新規作成→変数名「CLASSPATH」、変数値「.;%」 JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar"



キーワード

は、Java で特別な意味を与えられる単語を指します

合計 53 個のキーワードがあり、そのうち 51 個はuse、および 2 は現在使用されていません---const、goto---予約語

データ型の定義に使用されるキーワードclassfloat

注: すべてのキーワードは小文字です。

識別子

プログラムでカスタマイズされた名前

定義ルール: 5点

1は文字、数字、_、$で構成できます---$記号の使用は推奨されません

2純粋な数字と数字は使用できません 先頭として使用できません

3 キーワードは使用できません

4Java は大文字と小文字を厳密に区別する言語です

5 プログラムの可読性を高めるために、できるだけ明確にするようにしてください

中国語の名前はサポートされていますが、推奨されていません

class A{}

class a{} はこのように記述できますが、Windows では大文字と小文字が区別されません

キャメルケースの命名法

クラス名/インターフェイス名前

複数の単語で構成される場合、各単語の最初の文字 大文字 HelloWorld

変数名/メソッド名

複数の単語で構成される場合、最初の単語の最初の文字は小文字、残りの単語は大文字になります playGame

パッケージ名

複数の単語で構成される場合、すべての文字はすべて小文字で、.で区切られます

定数名

複数の単語で構成される場合、すべての文字は大文字で、_

で区切られます

コメント

プログラム内でプログラムの解説や説明に使用するテキスト

フォーマット

//注釈テキスト 単行コメント

/*&*/ 複数行コメント

/**& */ ドキュメント コメント --- クラス、メソッド、または定数に注釈を付けるためによく使用されます

javadoc -d. \document Demo.java ---このコマンドは、パブリック クラスのドキュメント コメントの内容を抽出するためにのみ使用できます

interface

byte

short

int

long

double

char

boolean

void

enum

データ型値の定義に使用されるキーワード

本当

null

プロセス制御の定義に使用されるキーワード

if

else

スイッチ

ケース

デフォルト

しながら

のために

休憩

続ける

戻る

使用されるキーワードアクセス修飾子の定義

private

protected

public

は、クラス、関数、変数修飾子のキーワードを定義するために使用されます

要約

最終

静的

同期

は、クラスとクラス間の関係のキーワードを定義するために使用されます

拡張

実装

インスタンスの生成と判定 キーワード

new

この

スーパー

例外処理のキーワード

トライ

キャッチ

やっと

throw

throws

パッケージ

インポート

のキーワード

その他の修飾キーワード

ネイティブ

strictfp

transient

volatile

断言

以上がJava がどのように動作するかの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java開発のどの側面がプラットフォームに依存していますか?Java開発のどの側面がプラットフォームに依存していますか?Apr 26, 2025 am 12:19 AM

javadevelopmentisnotentirelylylypratform-IndopentDuetoseveralfactors.1)jvmvariationsaffectperformanceandbehavioracrossdifferentos.2)nativeLibrariesviajniintroducePlatform-specificissues.3)giaiasystemsdifferbeTioneplateplatifflics.4)

さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?Apr 26, 2025 am 12:15 AM

Javaコードは、さまざまなプラットフォームで実行するときにパフォーマンスの違いがあります。 1)JVMの実装と最適化戦略は、OracleJDKやOpenJDKなどとは異なります。 2)メモリ管理やスレッドスケジューリングなどのオペレーティングシステムの特性もパフォーマンスに影響します。 3)適切なJVMを選択し、JVMパラメーターとコード最適化を調整することにより、パフォーマンスを改善できます。

Javaのプラットフォームの独立性の制限は何ですか?Javaのプラットフォームの独立性の制限は何ですか?Apr 26, 2025 am 12:10 AM

java'splatformindepentedencehaslimitationsincludingporformanceoverhead、versioncompatibulisisues、changleSwithnativeLibraryIntegration、プラットフォーム固有の機能、およびjvminStallation/maintenation。

プラットフォームの独立性とクロスプラットフォーム開発の違いを説明します。プラットフォームの独立性とクロスプラットフォーム開発の違いを説明します。Apr 26, 2025 am 12:08 AM

PlatformEndependEncealLowsProgramStorunonAnyPlatformWithOdification、whilecross-platformdevelopmentReadreessomeplatform-specificAdjustments.platformindependence、explifiedByjava、unableSiversAlexecutionButMayCompromperformance

ジャストインタイム(JIT)コンピレーションは、Javaのパフォーマンスとプラットフォームの独立性にどのような影響を与えますか?ジャストインタイム(JIT)コンピレーションは、Javaのパフォーマンスとプラットフォームの独立性にどのような影響を与えますか?Apr 26, 2025 am 12:02 AM

jitcompalilationinjavaenhancesperformance whelemaintaining formindepence.1)itdynamicallyTrantesiNTODENATIVEMACHINECODEATRUNTIME、最適化されたコードを最適化すること、

Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Javaがクロスプラットフォームデスクトップアプリケーションを開発するための人気のある選択肢なのはなぜですか?Apr 25, 2025 am 12:23 AM

javaispopularforsoss-platformdesktopapplicationsduetoits "writeonce、runaynay" philosophy.1)itusesbytecodatiTatrunnanyjvm-adipplatform.2)ライブラリリケンディンガンドジャヴァフククレアティック - ルルクリス

Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Javaでプラットフォーム固有のコードを作成する必要がある場合がある状況について話し合います。Apr 25, 2025 am 12:22 AM

Javaでプラットフォーム固有のコードを作成する理由には、特定のオペレーティングシステム機能へのアクセス、特定のハードウェアとの対話、パフォーマンスの最適化が含まれます。 1)JNAまたはJNIを使​​用して、Windowsレジストリにアクセスします。 2)JNIを介してLinux固有のハードウェアドライバーと対話します。 3)金属を使用して、JNIを介してMacOSのゲームパフォーマンスを最適化します。それにもかかわらず、プラットフォーム固有のコードを書くことは、コードの移植性に影響を与え、複雑さを高め、パフォーマンスのオーバーヘッドとセキュリティのリスクをもたらす可能性があります。

プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?プラットフォームの独立性に関連するJava開発の将来の傾向は何ですか?Apr 25, 2025 am 12:12 AM

Javaは、クラウドネイティブアプリケーション、マルチプラットフォームの展開、および言語間の相互運用性を通じて、プラットフォームの独立性をさらに強化します。 1)クラウドネイティブアプリケーションは、GraalvmとQuarkusを使用してスタートアップ速度を向上させます。 2)Javaは、埋め込みデバイス、モバイルデバイス、量子コンピューターに拡張されます。 3)Graalvmを通じて、JavaはPythonやJavaScriptなどの言語とシームレスに統合して、言語間の相互運用性を高めます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール