java編譯運行,java編譯運行異常舉例

本文目錄一覽:

簡述JAVA程序的編輯編譯和運行過程

第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。

如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。

第二步(運行):java類運行的過程大概可分為兩個過程:1、類的加載 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去加載該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都加載到內存中,而是到不得不用的時候才把它加載進來,而且只加載一次。

特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法clinit都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。

擴展資料:

Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。

Java代碼編譯:是由Java源碼編譯器來完成;

Java位元組碼的執行:是由JVM執行引擎來完成

Java程序從源文件創建到程序運行要經過兩大步驟:

1、源文件由編譯器編譯成位元組碼(ByteCode)

2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( “semi-interpreted” language)。

如何在CMD編譯和運行JAVA代碼?

cd到你java文件存放的目錄,比如你的java文件的名稱為HelloWorld.java,在cmd中輸入javac HelloWorld.java 敲擊回車.

這個命令會將你的java文件編譯成class文件,然後在cmd框中輸入java HelloWorld敲擊回車就能運行你的java文件輸出結果.

java優點:

java是純面向對象編程的語言;

平台無關性 (一次編譯,到處運行;Write Once,Run Anywhere);

java提供了許多內置的類庫,通過這些類庫,簡化了開發人員的設計工作,同時縮短了項目開發時間;

提供了對Web應用開發的支持,例如,Applet,Servlet,和JSP可以用來開發Web應用程序,,Socket,RMI可以用來開發分佈式應用程序的類庫。

如何編譯運行一個簡單的java程序

通常開發一個java應用程序可分為三個步驟:

1.創建一個帶有文件擴展名 *.java 的源文件

1).使用編輯器(如記事本,小編使用的是notepad++),輸入以下6行文本:

1 //一個簡單的application例子:打印一行文本

2 class Hello {

3 public static void main (String args[]){

4 System.out.println(“Hello Java,This is my first Java Application!”);

5     }

6 }

輸入完成,如下圖所示

2).把文件名命名為Hello.java ,並保存,

2.使用java編輯器javac.exe編譯源文件生成一個帶有文件擴展 *.class 的位元組碼文件

1).win+R,在文本框輸入cmd,回車,進入DOS窗口。

2).使用cd命令將路徑轉入源文件「Hello.java」所在路徑(cd用法可參照DOC窗口之cd命令),輸入「javac Hello.java」命令,回車。

同時,我們在源文件「Hello.java」所在文件夾可以發現多了一個位元組碼文件(編輯器javac.exe編譯的結果),這就對了。

3.使用java解釋器 java.exe 運行位元組碼

在當前路徑下,輸入 「java Hello」 命令,回車。運行結果如下

爪哇之路開啟成功。

原創文章,作者:YANG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134457.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YANG的頭像YANG
上一篇 2024-10-04 00:06
下一篇 2024-10-04 00:06

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論