偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java程序的開發(fā)與運(yùn)行原理解析

開發(fā) 后端
可能剛剛接觸編程的初學(xué)者會(huì)發(fā)現(xiàn),編寫一個(gè)Java程序其實(shí)很簡(jiǎn)單,但是Java程序的運(yùn)行過程卻是非常復(fù)雜的。關(guān)于Java程序工作原理這部分知識(shí),雖然不要求編程學(xué)習(xí)者完全掌握,你但是至少需要了解它的大致過程。

 

可能剛剛接觸編程的初學(xué)者會(huì)發(fā)現(xiàn),編寫一個(gè)Java程序其實(shí)很簡(jiǎn)單,但是Java程序的運(yùn)行過程卻是非常復(fù)雜的。關(guān)于Java程序工作原理這部分知識(shí),雖然不要求編程學(xué)習(xí)者完全掌握,你但是至少需要了解它的大致過程。下面小編將好好介紹一下Java程序的開發(fā)與運(yùn)行原理,大致分為以下三步:編寫源文件、編譯以及運(yùn)行。

 

Java程序的開發(fā)與運(yùn)行原理

 

1、編寫源文件

編寫的代碼,稱為“源代碼”或“源碼”。一般情況下,我們會(huì)把源代碼保存到后綴名為.java的文本文件里,這樣的文件叫源文件。 為了方便,我們會(huì)保持文件名與類的名字一致(包括大小寫)。

2、編譯

源文件是程序員編寫的,我們能夠輕松識(shí)別每一行代碼的意思,但是,在計(jì)算機(jī)中,CPU只能識(shí)別二進(jìn)制指令。所以,現(xiàn)在要做的工作就是,需要在源文件和計(jì)算機(jī)指令之間進(jìn)行轉(zhuǎn)換。由于Java語言的結(jié)構(gòu)和特性,設(shè)計(jì)者們先將源文件轉(zhuǎn)換成一種特殊的二進(jìn)制文件,然后將這個(gè)二進(jìn)制文件交給Java運(yùn)行時(shí)環(huán)境(JRE)去執(zhí)行。轉(zhuǎn)換成二進(jìn)制文件的過程,叫做編譯(這個(gè)過程使用了 javac 命令),生成的二進(jìn)制文件,叫做字節(jié)碼文件(后綴名是 .class )。如Test.java經(jīng)過編譯就會(huì)生成Test.class。這個(gè)過程全部由Java編譯器自動(dòng)完成,不需要程序員進(jìn)行任何特殊操作。

3、運(yùn)行

Java程序的開與運(yùn)行原理,并不是將字節(jié)碼文件(.class文件)簡(jiǎn)單的交給操作系統(tǒng)去執(zhí)行,那是因?yàn)椴煌牟僮飨到y(tǒng)中數(shù)據(jù)的大小、范圍和計(jì)算方式有很大不同,會(huì)導(dǎo)致同一段代碼在不同系統(tǒng)之間運(yùn)行效果差別很大,這不是設(shè)計(jì)者們想要看到的。

 

Java程序的開發(fā)與運(yùn)行原理

 

Java的設(shè)計(jì)者們想到了一個(gè)聰明的辦法,就是針對(duì)不同的操作系統(tǒng),分別編寫了一個(gè)可以正確執(zhí)行Java程序的虛擬機(jī)(JVM),然后把這個(gè)虛擬機(jī)內(nèi)置到 Java 的運(yùn)行時(shí)環(huán)境(JRE)中,這樣,同一段Java代碼,就可以在不同的操作系統(tǒng)上運(yùn)行出相同的效果了。將字節(jié)碼文件(.class)交給Java運(yùn)行時(shí)環(huán)境(JRE)執(zhí)行的過程,叫做Java程序的運(yùn)行(這個(gè)過程使用了 java 命令)。

總的來說,Java程序的開發(fā)與運(yùn)行原理就是把源文件編譯成字節(jié)碼文件,然后運(yùn)行,在終端顯示結(jié)果。因此,從編寫源代碼,到程序輸出結(jié)果,這個(gè)過程看似簡(jiǎn)單,其實(shí)需要大家學(xué)習(xí)和掌握的內(nèi)容還有很多~

責(zé)任編輯:華軒 來源: 博學(xué)谷
相關(guān)推薦

2019-12-06 10:59:20

JavaScript運(yùn)行引擎

2017-05-31 13:16:35

PHP運(yùn)行機(jī)制原理解析

2010-02-26 13:17:24

Python開發(fā)程序

2022-03-09 23:02:30

Java編程處理模型

2023-02-28 09:07:18

ChatGPTAI

2025-03-07 10:23:46

2021-07-12 09:45:36

NameServer 核心Conusmer

2021-01-12 14:46:34

Kubernetes開發(fā)存儲(chǔ)

2021-07-05 07:51:43

JVM底層Python

2024-07-05 10:59:26

2010-06-11 08:52:17

并行計(jì)算

2022-12-28 10:50:34

AI訓(xùn)練深度學(xué)習(xí)

2010-09-17 16:54:26

Java運(yùn)行環(huán)境

2020-05-21 13:25:43

Spring組件架構(gòu)

2023-08-11 07:44:40

TCP滑動(dòng)窗口數(shù)據(jù)

2021-12-01 18:36:35

屬性

2024-08-14 18:18:47

2021-05-19 15:40:54

HTTPS前端加密

2024-08-27 12:32:32

2024-10-12 10:29:11

計(jì)算機(jī)圖形
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)