本文目錄一覽:
如何在cmd下執行java程序?謝謝
如圖新建一個hello.java文件,寫上你的代碼。
2.在文件的目錄下打開cmd,輸入命令 javac hello.java
3.編譯成功會生成hello.class文件
4.運行編譯好的文件,輸入命令javac hello (不需要文件後綴)。
拓展:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程 。
java程序不能執行?
Java程序的運行過程(執行流程)分析
1、編寫:是指在 Java 開發環境中進行程序代碼的輸入,最終形成後綴名為 .java 的 Java 源文件。
2、編譯:是指使用 Java 編譯器對源文件進行錯誤排査的過程,編譯後將生成後綴名為 .class 的字節碼文件,不像C語言那樣生成可執行文件。
3、運行:是指使用 Java 解釋器將字節碼文件翻譯成機器代碼,執行並顯示結果。
字節碼文件是一種和任何具體機器環境及操作系統環境無關的中間代碼。它是一種二進制文件,是 Java 源文件由 Java 編譯器編譯後生成的目標代碼文件。編程人員和計算機都無法直接讀懂字節碼文件,它必須由專用的 Java 解釋器來解釋執行,因此 Java 是一種在編譯基礎上進行解釋運行的語言。
Java 解釋器負責將字節碼文件翻譯成具體硬件環境和操作系統平台下的機器代碼,以便執行。因此 Java 程序不能直接運行在現有的操作系統平台上,它必須運行在被稱為 Java 虛擬機的軟件平台之上。
Java 虛擬機(JVM)是運行 Java 程序的軟件環境,Java 解釋器是 Java 虛擬機的一部分。在運行 Java 程序時,首先會啟動 JVM,然後由它來負責解釋執行 Java 的字節碼程序,並且 Java 字節碼程序只能運行於 JVM 之上。這樣利用 JVM 就可以把 Java 字節碼程序和具體的硬件平台以及操作系統環境分隔開來,只要在不同的計算機上安裝了針對特定平台的 JVM,Java 程序就可以運行,而不用考慮當前具體的硬件平台及操作系統環境,也不用考慮字節碼文件是在何種平台上生成的。
JVM 把這種不同軟、硬件平台的具體差別隱藏起來,從而實現了真正的二進制代碼級的跨平台移植。JVM 是 Java 平台架構的基礎,Java 的跨平台特性正是通過在 JVM 中運行 Java 程序實現的。Java 的這種運行機制可以通過下圖來說明。
Java 語言這種“一次編寫,到處運行”的方式,有效地解決了目前大多數高級程序設計語言需要針對不同系統來編譯產生不同機器代碼的問題,即硬件環境和操作平台的異構問題,大大降低了程序開發、維護和管理的開銷。
提示:Java 程序通過 JVM 可以實現跨平台特性,但 JVM 是不跨平台的。也就是說,不同操作系統之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。
在哪兒執行java
可以有多種方式執行java程序,一般常用以下兩種方式:
1、直接在控制台上編譯執行
java程序的運行有三個步驟:編寫–編譯–執行。
可以在控制台上運行:windows鍵+R,輸入“cmd”進入到控制台。然後顯示找到java文件的位置,然後編譯文件–執行文件
2、在相應軟件上編寫執行
一般用eclipse和myeclipse來編寫java程序。可以直接編寫完代碼保存後,直接點擊運行即可。
java如何運行,從哪運行?
jdk安裝好配置環境變量後,系統就承認了 java,javac等命令,當編譯好java文件,就可以在開始——運行——cmd的dos系統下運用指定命令運行java文件。
JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。
JDK包含的基本組件包括:
javac – 編譯器,將源程序轉成字節碼
jar – 打包工具,將相關的類文件打包成一個文件
javadoc – 文檔生成器,從源碼注釋中提取文檔
jdb – debugger,查錯工具
java – 運行編譯後的java程序(.class後綴的)
appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。 Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。 Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。 Jconsole: Java進行系統調試和監控的工具
總之,jdk並不是一個應運軟件,並不能從哪裡運行。編譯時在任何可輸入文本的軟件中均可(通常用.txt記事本編譯),編譯好後改名.java文件,在dos系統中用 javac命令編譯連接 java命令 .運行。
java程序運行的五個步驟
1、Java程序從源文件創建到程序運行要經過兩大步驟:1、源文件由編譯器編譯成字節碼(ByteCode) 2、字節碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( “semi-interpreted” language)。
第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點像make。如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報“cant find symbol”的錯誤。
編譯後的字節碼文件格式主要分為兩部分:常量池和方法字節碼。常量池記錄的是代碼出現過的所有token(類名,成員變量名等等)以及符號引用(方法引用,成員變量引用等等);方法字節碼放的是類中各個方法的字節碼。
第二步(運行):java類運行的過程大概可分為兩個過程:1、類的加載 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去加載該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都加載到內存中,而是到不得不用的時候才把它加載進來,而且只加載一次。
2、下面是程序運行的詳細步驟:
在編譯好java程序得到Main.class文件後,在命令行上敲java Main。系統就會啟動一個jvm進程,jvm進程從classpath路徑中找到一個名為Main.class的二進制文件,將Main的類信息加載到運行時數據區的方法區內,這個過程叫做Main類的加載。
然後JVM找到Main的主函數入口,開始執行main函數。
main函數的第一條命令是Animal animal = new Animal(“Puppy”);就是讓JVM創建一個Animal對象,但是這時候方法區中沒有Animal類的信息,所以JVM馬上加載Animal類,把Animal類的類型信息放到方法區中。
加載完Animal類之後,Java虛擬機做的第一件事情就是在堆區中為一個新的Animal實例分配內存, 然後調用構造函數初始化Animal實例,這個Animal實例持有着指向方法區的Animal類的類型信息(其中包含有方法表,java動態綁定的底層實現)的引用。
當使用animal.printName()的時候,JVM根據animal引用找到Animal對象,然後根據Animal對象持有的引用定位到方法區中Animal類的類型信息的方法表,獲得printName()函數的字節碼的地址。
開始運行printName()函數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304851.html