第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

語言規(guī)范是如何創(chuàng)建的

語言規(guī)范是如何創(chuàng)建的

蕪湖不蕪 2023-02-23 10:08:29
我想問一下,java是用什么寫的,結(jié)果在stackexchange上找到了一個(gè)答案,說, 你不用語言寫語言,它是一個(gè)規(guī)范,但是JDK是用C寫的?,F(xiàn)在,我的問題是,如果 JDK 是用 C 編寫的,那么 Java 是否基本上是 C 語言的一種不同形式,例如擴(kuò)展或其他東西,添加了更多功能?這個(gè)規(guī)范是如何創(chuàng)建的,這三件事之間的關(guān)系是什么:解釋規(guī)范的工具(如 JDK)規(guī)范本身創(chuàng)建工具所用的語言。
查看完整描述

1 回答

?
天涯盡頭無女友

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊

我認(rèn)為您誤解了一些事情,所以讓我們先了解基礎(chǔ)知識(shí):


計(jì)算機(jī)程序只不過是一組由處理器讀取然后執(zhí)行的指令。一個(gè)接一個(gè)執(zhí)行的任務(wù)列表。


Java 使用稱為 Java 運(yùn)行時(shí)環(huán)境 (JRE) 的東西。JRE 有點(diǎn)(不完全是)虛擬處理器,它有自己的指令集,稱為 java 字節(jié)碼。這個(gè)“虛擬處理器”在您的操作系統(tǒng)內(nèi)部運(yùn)行。


Java 運(yùn)行時(shí)環(huán)境是用某種語言編寫的。Sun JRE 是用 C 語言編寫的。C 代碼又被編譯成您的真實(shí)處理器的機(jī)器代碼(您的處理器可以理解的代碼)。


Java被編譯成java字節(jié)碼。


所以回答你的問題:規(guī)范只不過是對(duì)java編程語言應(yīng)該如何表現(xiàn)以及它看起來像什么的描述?;旧鲜且粋€(gè)普通的文本文檔,你可以用類似 word 的東西來寫。


有了這個(gè)規(guī)范,程序員就可以構(gòu)建一個(gè)編譯器。編譯器是一個(gè)像這樣更改 java 代碼的程序:


for (int i = 2; i < 1000; i++) {

    for (int j = 2; j < i; j++) {

        if (i % j == 0)

            continue outer;

    }

    System.out.println (i);

}

進(jìn)入看起來像這樣的字節(jié)碼


0:   iconst_2

1:   istore_1

2:   iload_1

3:   sipush  1000

6:   if_icmpge       44

9:   iconst_2

10:  istore_2

11:  iload_2

12:  iload_1

13:  if_icmpge       31

16:  iload_1

17:  iload_2

18:  irem

19:  ifne    25

22:  goto    38

25:  iinc    2, 1

28:  goto    11

31:  getstatic       #84; // Field java/lang/System.out:Ljava/io/PrintStream;

34:  iload_1

35:  invokevirtual   #85; // Method java/io/PrintStream.println:(I)V

38:  iinc    1, 1

41:  goto    2

44:  return

執(zhí)行此操作的編譯器程序可以用任何語言編寫,但建議將其編寫為 C++ 等低級(jí)語言,以使編譯過程更快。


查看完整回答
反對(duì) 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)