TCL
創維
康佳
快速搜索:

Java虛擬機用于數字電視機頂盒的研究

2013年07月30日 11:06  來源:中國有線電視  作者:劉俊 張萍 姚莉 于鴻洋  字體【   

【中國數字視聽網訊】隨著有線廣播電視網向數字化、網絡化、產業化方向發展,利用有線電視網絡作為傳輸平臺的數字電視機頂盒除了能夠讓用戶在現有模擬電視機上觀看數字電視節目之外,廣播和交互式多媒體應用功能的要求也應運而生,互動電視成為數字電視發展的方向。

引言

眾多程序員熟悉的為網絡廣泛運用的Java語言能很好地滿足機頂盒一些服務應用的要求,因此提出了包含Java虛擬機的數字電視機頂盒中間件的系統架構,該虛擬機用來執行Java應用程序,并且中間件將應用程序和底層操作系統、硬件細節隔離開,使上層的數字電視的服務應用不必考慮過多的底層細節。本文主要介紹了J2ME中主要用于數字電視領域的CDC的移植,其中又著重介紹了本地方法(nativemethod)的實現過程。

結構及工作原理

Java虛擬機工作原理

圖1Java虛擬機的工作過程

圖1Java虛擬機的工作過程

Java虛擬機處于機器和編譯程序之間,在任何平臺上都提供給編譯程序一個共同的接口。Java源程序經過編譯器編譯后變成字節碼,字節碼由虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然后在特定的機器上運行。

Java虛擬機的主要任務是裝載class文件并且執行其中的字節碼。Java虛擬機包含一個類裝載器,它可以從程序和API中裝載class文件。字節碼由執行引擎來執行,具體過程如圖1所示。

Java虛擬機結構

類裝載器的體系結構是Java虛擬機在安全性和網絡移動性上發揮重要作用的一個方面,圖中所示的類裝載器可以包含多個類裝載器的子系統,Java應用程序能夠在運行時決定需要安裝的類,并且將被不同的類裝載器裝載的類存放在不同的命名空間。

執行引擎處于Java虛擬機的核心位置,它的行為由指令集所決定,其主要作用就是解釋字節碼(即運行經過編譯后的Java程序的class文件),不同的執行引擎實現可能非常不同。由軟件實現的虛擬機的執行引擎分為一次性解釋字節碼、即時編譯器和自適應優化器,由硬件芯片構成的虛擬機用本地方法執行Java字節碼,它的執行引擎是內嵌在芯片里。

Java虛擬機相當于一個堆棧計算機,它在指令間傳送信息時不使用任何物理寄存器,而使用堆棧的幀來表示方法的狀態、字節碼的操作對象、方法的參數空間及局部變量的空間,它的“程序計數器”為一個偽寄存器,是當前所執行指令的字節碼數組的一個指針。

上一頁123下一頁
本文導航
[華為]C2510(BCF:G30)
[華為]C2510(BCF:G30)
價格:面議
[華為]DC3560
[華為]DC3560
價格:面議
[康佳]HDC970
[康佳]HDC970
價格:面議
[康佳]HDT299
[康佳]HDT299
價格:面議
[康佳]SDT400
[康佳]SDT400
價格:面議
明基
MAXHUB
快捷
產品關注排行
a天堂中文在线88