freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]軟件設(shè)計(jì)-理論課-文庫(kù)吧

2024-12-20 20:00 本頁(yè)面


【正文】 JVM ? 在執(zhí)行具體的 class代碼之前, JVM需要 針對(duì)特定的 OS環(huán)境 , 做 以下 的事情: ?Load and store ?Type conversion ?Object creation and manipulation ?Operand stack management (push / pop) ?Control transfer (branching) ?Method invocation and return ?Throwing exceptions 17 基于 JVM的 Java程序開(kāi)發(fā)與執(zhí)行過(guò)程 18 2. 解釋器( Interpreter) 19 MSDOS的命令解釋器 用戶的命令行請(qǐng)求 (., dir *.jsp /a /p) 操作系統(tǒng)內(nèi)核的 執(zhí)行指令? 20 解釋器 ? 解釋器 是一個(gè)用來(lái)執(zhí)行其他程序的程序 ?解釋器針對(duì)不同的硬件平臺(tái)實(shí)現(xiàn)了一個(gè)虛擬機(jī) ?將高抽象層次的程序翻譯為低抽象層次所能理解的指令,以消除在程序語(yǔ)言與硬件之間存在的語(yǔ)義差異 源代碼 解釋器 宿主系統(tǒng) (OS、硬件 ) 解釋執(zhí)行 21 解釋器 ? 解釋器通常用來(lái) 在程序語(yǔ)言定義的計(jì)算和有效硬件操作確定的計(jì)算之間建立對(duì)應(yīng)和聯(lián)系 ?簡(jiǎn)單和小規(guī)模的解釋器只完成基本的 信息識(shí)別和轉(zhuǎn)換 ?復(fù)雜的解釋器需要 從詞法到句法、到語(yǔ)法的復(fù)雜識(shí)別和處理 ? 作為一種體系結(jié)構(gòu)風(fēng)格,解釋器已經(jīng)被廣泛應(yīng)用在從系統(tǒng)軟件到應(yīng)用軟件的各個(gè)層面 ?包括 各類語(yǔ)言環(huán)境、 Inter瀏覽器、數(shù)據(jù)分析與轉(zhuǎn)換 等 ?LISP、 Prolog、 JavaScript、 VBScript、 HTML、 Matlab、數(shù)據(jù)庫(kù)系統(tǒng)( SQL解釋器) 、 各種 通信協(xié)議 等 。 22 解釋器的組成 被解釋執(zhí)行的程序 程序執(zhí)行的當(dāng)前狀態(tài) 解釋器引擎 解釋器引擎 的內(nèi)部狀態(tài) 23 解釋器風(fēng)格 ? 基本構(gòu)件: ?解釋器引擎 ?存儲(chǔ)區(qū) : ? 被解釋的源代碼 ? 解釋器引擎當(dāng)前的內(nèi)部控制狀態(tài)的表示:在某個(gè)時(shí)刻需要執(zhí)行哪些指令 ? 程序當(dāng)前執(zhí)行狀態(tài)的表示 ? 連接器 : ?對(duì)存儲(chǔ)區(qū)的數(shù)據(jù)訪問(wèn) 24 解釋器 Vs. 編譯器 ? 解釋器在軟件中的應(yīng)用由來(lái)已久,早期的程序語(yǔ)言環(huán)境就分為 編譯 ( Compilation) 和 解釋 (Interpretation) 兩大類。 ? 編譯器 ? 解釋器 25 源代碼 (.c++) 編譯器 目標(biāo)碼 (.obj) 可執(zhí)行文件 (.exe) 宿主系統(tǒng) (OS、硬件 ) 編譯 鏈接 執(zhí)行 源代碼 解釋器 宿主系統(tǒng) (OS、硬件 ) 解釋執(zhí)行 解釋器 Vs. 編譯器 編譯 鏈接 執(zhí)行 解釋執(zhí)行 分析程序結(jié)構(gòu) 源代碼 ?目標(biāo)碼 確定內(nèi)存分配與訪問(wèn)方案 分析程序結(jié)構(gòu) 確定內(nèi)存分配與訪問(wèn)方案 分配內(nèi)存 解釋并執(zhí)行程序 分配內(nèi)存 執(zhí)行目標(biāo)碼 (機(jī)器碼 ) 編譯器 解釋器 26 解釋器 Vs. 編譯器 ? 解釋器的 執(zhí)行速度 要慢于編譯器產(chǎn)生的目標(biāo)代碼的執(zhí)行速度,但是卻 低于 編譯器 “ 編譯 +鏈接 +執(zhí)行 ” 的 總時(shí)間 ? 解釋器通常 省略了鏈接與編譯 的步驟,從而降低編程時(shí)間 ?編輯源代碼 解釋 調(diào)試 ?編輯源代碼 編譯 鏈接 運(yùn)行 調(diào)試 27 解釋器 Vs. 編譯器 ? 解析器執(zhí)行速度之所以慢,是因?yàn)槊看谓忉寛?zhí)行的時(shí)候,都需要 分析程序的結(jié)構(gòu) ,而編譯代碼則直接執(zhí)行而無(wú)需重復(fù)編譯 ? 解釋器 對(duì)內(nèi)存的分配 是在解釋時(shí)才進(jìn)行的;而編譯器則是在編譯時(shí)進(jìn)行,因此運(yùn)行時(shí)直接將程序代碼裝入內(nèi)存并執(zhí)行即可 28 解釋器的三種策略 ? 傳統(tǒng)解釋器 ?純粹的解釋執(zhí)行 ? 基于字節(jié)碼的解釋器 ?編譯 ?解釋執(zhí)行 ? JustinTime ( JIT)實(shí)時(shí)編譯器 ?編譯 ||解釋執(zhí)行 29 傳統(tǒng)解釋器 ? 解釋器直接讀取源代碼并加以執(zhí)行; ?ASP ?Excel ?JavaScript ?MATLAB ?… … 源代碼 解釋器 宿主系統(tǒng) (OS、硬件 ) 解釋執(zhí)行 30 基于 字節(jié)碼 的 解釋器 ? 在該類解釋器下, 源代碼首先被“編譯”為高度壓縮和優(yōu)化的字節(jié)碼 ,但并不是真正的機(jī)器目標(biāo)代碼,因而與硬件平臺(tái)無(wú)關(guān) 。 ? 編譯后得到的 字節(jié)碼 然后被解釋器加以解釋 ? 例如: ?Java、 Perl、 PHP、 Python、 … … 源代碼 (.java) 編譯器 字節(jié)碼 (.class) 宿主系統(tǒng) (OS、硬件 ) 編譯 解釋執(zhí)行 解釋器 31 JVM中的解釋器 ? Java的源程序不是直接交給解釋器解釋,而是先經(jīng)過(guò)一個(gè)編譯過(guò)程
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1