Java の main メソッドは、Java アプリケーションへの入り口です。Java アプリケーションがどれほど複雑であっても、規模が大きくても小さくても、実行できる Java プログラムであるため、main メソッドが存在する必要があります。
#main メソッドの定義形式は通常、次のように固定されています。 (推奨学習: java コース)
public class Demo { public static void main(String[] args) { System.out.println("Hello Word"); }}
1. なぜ public なのか
ans1: Java は、private、protected、public などのアクセス可能な修飾子をいくつか指定しています。各修飾子には対応するアクセス許可があり、public が最も高いアクセス許可を持っています。問題を説明するために、main メソッドが private で変更されていると仮定します。その場合、main メソッドの Demo クラスは外部からは見えません。 この場合、JVM は main メソッドにアクセスできません。したがって、JVM がどのような状況でも main メソッドにアクセスできるようにするには、パブリック変更を使用します。 ans2: Java は、private、protected、public などのいくつかのアクセス修飾子を設計しました。 Java で public として宣言されたメソッドまたは変数は、クラスの外部からアクセスできます。 JVM の main メソッドへのアクセスは明らかにクラス内ではないため、main メソッドはパブリック メソッドとして定義する必要があります。2. なぜ静的なのか?
静的を使用すると、JVM がオブジェクトを介さずに main メソッドを呼び出すことがより便利になります。 static キーワードについてわかっていることは、static キーワードによって変更されたメソッドには、インスタンスを作成せずにクラス名を介して直接アクセスできるということです。また、静的に変更されたメソッドと変数は、ヒープ メモリではなく、仮想マシンのメソッド領域に保存されます。 次に、仮想マシンについても同じことが当てはまります。 main メソッドは静的として定義されているため、仮想マシンの場合、プログラムの開始後に main メソッドを呼び出すためにインスタンスを作成する必要はありません。3. 戻り値がない理由 (void)
void は、main メソッドに戻り値がないことを意味します。 Java では、main メソッドがオペレーティング システムに報告する必要がなく、終了情報を返します。 main メソッドが正常に終了すると、Java アプリケーション層シーケンスの終了コードは 0 となり、プログラムが正常に実行されたことを示します。4. main
JVM がプログラム実行の開始点を識別できるように、main の名前を変更することはできません。main メソッドはオーバーロードできますが、オーバーロードされた main メソッドは実行されません。 main メソッドはプログラムの初期スレッドの開始点として機能し、他のスレッドはすべてこのスレッドによって開始されます。 JVM 内には、非デーモン スレッドとデーモン スレッドの 2 種類のスレッドがあります。メイン メソッドは非デーモン スレッドに属します。デーモン スレッドは、通常、JVM 自体によって使用されます。Java プログラムは、また、そのスレッドがデーモン スレッドであることも示します。プログラム内のすべての非デーモン スレッドが終了すると、JVM は終了します。 Runtime クラスまたは System.exit() を使用して終了することもできます。5. String [] args
String[] args は、main メソッド内で変更できる唯一の場所です。 args はarguments の略で、変数のデフォルト名です。これを記述するのが一般的ですが、変更することもできます。命名規則に従っている限り、自由に記述できます。 統合開発ツールを使用する今日の世界では、String[] args は装飾のようなものです。多くの初心者はその役割を知りません。実際、これはプログラムの実行時に渡されるパラメータ グループです。以上がJavaのメインメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









