一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初學(xué)者:講解Java程序的開發(fā)與運行原理

如意 ? 來源:博學(xué)谷 ? 作者:照照 ? 2020-08-13 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

初學(xué)者:講解Java程序的開發(fā)與運行原理

1、編寫源文件

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

2、編譯

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

3、運行

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

初學(xué)者:講解Java程序的開發(fā)與運行原理

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109821
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    83001
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    68399
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    電路基礎(chǔ)學(xué)習(xí)資料

    不可多得的電路基礎(chǔ)知識學(xué)習(xí)資料,作者郝銘先生具有深厚的電路功底,且講解的非常通俗易懂,非常適合初學(xué)者。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~)
    發(fā)表于 05-17 15:01

    如何使用CYUSB3KIT-003使用GPIO訪問SRAM的應(yīng)用程序?

    你好。我是CYUSB3的初學(xué)者。 我想創(chuàng)建一個使用 CYUSB3KIT-003 使用 GPIO 訪問 SRAM 的應(yīng)用程序。 目前我已經(jīng)在我的電腦上安裝了SDK,但是有什么參考資料嗎?
    發(fā)表于 05-14 06:51

    Java開發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發(fā)者在用?

    Perforce JRebel是一款Java開發(fā)效率工具,旨在幫助java開發(fā)人員更快地編寫更好的應(yīng)用程序。JRebel可即時重新加載對代碼
    的頭像 發(fā)表于 04-27 13:44 ?263次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>開發(fā)</b>者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b><b class='flag-5'>開發(fā)</b>者在用?

    AI端側(cè)部署案例(SC171開發(fā)套件V3)

    AI端側(cè)部署案例(SC171開發(fā)套件V3) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 初學(xué)者入門手寫數(shù)字識別案例 20分02秒 https://t.elecfans.com
    發(fā)表于 04-16 18:33

    從單片機初學(xué)者邁向單片機工程師

    從單片機初學(xué)者邁向單片機工程師,對初學(xué)者非常適用。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~)
    發(fā)表于 04-15 14:06

    linux初學(xué)者,用這樣的開發(fā)板合適嗎?

    這款是深圳市九鼎創(chuàng)展科技有限公司的全志A40I開發(fā)板,適合linux初學(xué)者嗎? 先用開發(fā)板調(diào)試,調(diào)試成功后,就可以單獨用核心板,再配合自己做的底板就可以做產(chǎn)品了。 做核心板還是難度太大了,
    發(fā)表于 04-10 11:11

    12V開關(guān)電源制作_適合初學(xué)者制作的TOP22X系列開關(guān)電源

    TOP22X系列雖然出來得比較早,但外圍簡單、高效,適合初學(xué)者制作。圖下面的是量產(chǎn)的真實數(shù)據(jù)。變壓器都是PC40材質(zhì)。同樣適合100KHZ的其它芯片驅(qū)動的單端反激式開關(guān)電源 需要完整版資料可下載附件查看哦!
    發(fā)表于 04-02 14:39

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?757次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和<b class='flag-5'>運行</b>Python<b class='flag-5'>程序</b>?

    EE-269:以太網(wǎng)802.3初學(xué)者指南

    電子發(fā)燒友網(wǎng)站提供《EE-269:以太網(wǎng)802.3初學(xué)者指南.pdf》資料免費下載
    發(fā)表于 01-05 09:48 ?1次下載
    EE-269:以太網(wǎng)802.3<b class='flag-5'>初學(xué)者</b>指南

    SSM框架在Java開發(fā)中的應(yīng)用 如何使用SSM進行web開發(fā)

    SSM框架,即Spring、SpringMVC和MyBatis的整合,是Java Web開發(fā)中常用的技術(shù)棧。它通過分層架構(gòu),實現(xiàn)了視圖、控制、業(yè)務(wù)邏輯和數(shù)據(jù)訪問的分離,提高了代碼的可維護性和可擴展性
    的頭像 發(fā)表于 12-16 17:28 ?1593次閱讀

    XD08M3232紅外感應(yīng)單片機開發(fā)板適合初學(xué)者嗎?

    XD08M3232是一款國產(chǎn)8位高性能Flash的接近感應(yīng)單片機,具有較大的內(nèi)存、恒流驅(qū)動電路、內(nèi)置運算放大器和模擬比較器等特點。對于初學(xué)者來說,選擇合適的開發(fā)板是非常重要的,因為它將直接影響
    發(fā)表于 12-07 14:55

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨特的優(yōu)勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常適合初學(xué)者。 動態(tài)類型系統(tǒng)
    的頭像 發(fā)表于 11-15 09:31 ?1112次閱讀

    ?介紹一款Java開發(fā)的開源MES系統(tǒng)

    ?介紹一款Java開發(fā)的開源MES系統(tǒng),萬界星空科技開源的MES系統(tǒng)。該系統(tǒng)基于Java開發(fā),具有廣泛的適用性和高度的可定制性,能夠滿足不同行業(yè)、不同規(guī)模企業(yè)的智能制造需求。
    的頭像 發(fā)表于 09-05 17:39 ?1412次閱讀
    ?介紹一款<b class='flag-5'>Java</b><b class='flag-5'>開發(fā)</b>的開源MES系統(tǒng)

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦?

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦? 比如我電路用的是AO3400的NMOS,但是在multisim14.0軟件自帶的元件庫里面沒找到類似的,開啟電壓是1.5v的nmos,請教大家,應(yīng)該怎么辦?
    發(fā)表于 08-23 10:59

    三十分鐘入門基礎(chǔ)Go Java小子版

    語法與 C 相近,但功能上有:內(nèi)存安全,GC,結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計算。 適用范圍 本篇文章適用于學(xué)習(xí)過其他面向?qū)ο笳Z言(Java、Php),但沒有學(xué)過Go語言的初學(xué)者。文章 主要從Go
    的頭像 發(fā)表于 08-12 14:32 ?992次閱讀
    三十分鐘入門基礎(chǔ)Go <b class='flag-5'>Java</b>小子版