亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JAVA虛擬機技術(shù)研究與實踐思考

        2015-04-20 21:42:43劉冠梅
        科技創(chuàng)新與應用 2015年11期

        摘 要:針對傳統(tǒng)類裝載器裝載完成后的二進制數(shù)據(jù)流不易理解的問題,文章首先分為五個模塊介紹了JAVA虛擬機技術(shù)的體系結(jié)構(gòu),重點對JAVA虛擬機的類裝載器模塊進行研究和改進,改進后的類裝載器與傳統(tǒng)類裝載器相比較,具有class文件數(shù)據(jù)顯示功能,以及可以完成文件查找和解析。

        關(guān)鍵詞:JAVA;JAVA虛擬機;類裝載器

        1 JAVA技術(shù)簡介

        隨著Internet技術(shù)的高速發(fā)展,JAVA技術(shù)在我國應用已經(jīng)日趨成熟。作為JAVA技術(shù)的核心是JAVA虛擬機,虛擬機與編程接口(API)共同構(gòu)建成JAVA平臺[1],JAVA平臺上的程序能夠在不同類型的軟件上運行,這說明JAVA平臺具有無關(guān)性。JAVA語言編程環(huán)境,分為編譯環(huán)境和運行環(huán)境,使用JAVA語言編寫好的程序通過應用接口傳遞編譯完成的class文件,JAVA程序的class文件的運行環(huán)境就是在JAVA虛擬機中,經(jīng)過調(diào)用class文件實現(xiàn)程序的調(diào)用[2]。JAVA技術(shù)除了具有平臺無關(guān)性,還具備網(wǎng)絡移動性和安全性,因此研究JAVA語言以及JAVA虛擬機技術(shù)具有重要意義。

        2 JAVA虛擬機技術(shù)體系結(jié)構(gòu)

        作為JAVA技術(shù)的核心,JAVA虛擬機的體系結(jié)構(gòu)包括五個部分:類裝載器、運行環(huán)境下的數(shù)據(jù)區(qū)、執(zhí)行環(huán)境下的引擎、本地方法應用接口以及垃圾收集部分[3]。

        類裝載器主要的功能是從JAVA應用程序接口裝載class文件,類裝載器裝載文件時,必須按照正確的順序進行裝載,正確的順序為:查找、裝載——鏈接(先驗證、再準備、后解析)——初始化。在運行程序時,數(shù)據(jù)區(qū)主要用來存儲程序中包含的信息,例如參數(shù)值、局部變量、返回值、字節(jié)碼等。JAVA虛擬機中運行程序主要包含方法區(qū)、堆、PC寄存器和JAVA棧的數(shù)據(jù)區(qū)[4]。執(zhí)行引擎執(zhí)行包括解釋、動態(tài)編譯等技術(shù),JAVA程序中線程整個生命周期都屬于執(zhí)行實例。JAVA虛擬機中本地方法接口模塊與內(nèi)部工作聯(lián)系緊密,任何JAVA虛擬機實現(xiàn)都支持本地接口,本地方法與JAVA虛擬機的內(nèi)部狀態(tài)進行交互,允許執(zhí)行傳遞、查詢變量、調(diào)用類方法等[5]。垃圾收集主要是為了空間回收再利用,方便堆空間的分配。垃圾收集可以提升JAVA程序的性能,保證了JAVA程序的完整性。

        3 類裝載器設計與實現(xiàn)

        由第二節(jié)可以知道類裝載器是從JAVA應用程序接口裝載class文件,傳統(tǒng)類裝載器裝載完成后所生成的數(shù)據(jù)結(jié)構(gòu)為規(guī)范的二進制數(shù)據(jù)流,程序員無法讀懂數(shù)據(jù)流的含義。針對這一問題,文章將對傳統(tǒng)類裝載器進行改進。

        3.1 類裝載器功能設計

        文章主要介紹改進類裝載器的功能設計,文章所設計的類裝載器提供了class文件字節(jié)碼顯示功能,如圖1所示,為class文件字節(jié)碼顯示流程圖。

        圖1 字節(jié)碼顯示流程圖

        完成字節(jié)碼顯示后,要進行系統(tǒng)文件查找,文件名包含java以及javax開頭的,CLASSPATH環(huán)境下對目錄集進行遍歷搜索,搜索得到的文件會找到JRE安裝目錄,進而可以搜索到JAR包,如果找到JAR包則可以進行相應的文件處理。如圖2所示,為JAR文件處理流程圖,通過利用aunzip32.dll和azip32.dll進行壓縮和解壓縮,文件處理中需要調(diào)用addUNZIP_ArchiveName和addUNZIP_ExtractTo函數(shù)[6]。

        圖2 JAR文件處理流程

        3.2 改進功能的實現(xiàn)

        通過JAVA class文件可以完成對一個類或接口的描述, class文件的格式定義要求相對嚴格,文章改進后的類裝載器具有字節(jié)碼顯示功能,在執(zhí)行過程中查看日志文件功能等。

        通過ClassLoader程序的運行,可以顯示功能界面,其中就包含Bytecode Display功能。用戶可以選擇一個指定的class文件,運行程序可以顯示class文件的字節(jié)碼[6]。字節(jié)碼所包含的信息包含文件字段、屬性、常量等。文件的查找功能也是通過ClassLoader程序下解析class文件,查找成功后包含文件的基本信息,包括文件大小、文件路徑等。文件解析過程中要依據(jù)JAVA虛擬機規(guī)范從中獲得有用二進制流信息,解析完成后可以將文件信息的內(nèi)存數(shù)據(jù)結(jié)構(gòu)顯示給用戶。

        4 結(jié)束語

        作為JAVA技術(shù)的核心部分,JAVA虛擬機的體系結(jié)構(gòu)包括類裝載器、運行環(huán)境下的數(shù)據(jù)區(qū)、執(zhí)行引擎、本地方法應用接口以及垃圾收集五個部分,文章分別討論了五個部分的具體功能,并且對JAVA虛擬機中傳統(tǒng)類裝載器模塊進行研究和改進,改進后的類裝載器與傳統(tǒng)類裝載器相比較,類裝載器具有顯示、查找和解析等功能。

        參考文獻

        [1]劉艷賢,楊凱.Java平臺上裝載遠程類文件的實現(xiàn)[J].河北理工學院學報,2003,25(4):100-105.

        [2]李風云.Java虛擬機性能及關(guān)鍵技術(shù)分析[J].山東交通學院學報,2004,12(2):68-71

        [3]諶寧,覃證.基于嵌入式Java虛擬機的垃圾回收算法[J].計算機應用,2005,25(1):218-223

        [4]黃廣君,王萬城.java虛擬機的研究與設計[J].控制工程,2003,10(5):444-446.

        [5]倪紅波,谷建華,周興社.嵌入式系統(tǒng)中Java虛擬機的研究與移植[J].計算機工程,2004,30(24):52-54.

        [6]楊燦群,張曉軍,沈志宇.Java語言環(huán)境實現(xiàn)技術(shù)探討[J].計算機工程和科學,2001(2).

        作者簡介:劉冠梅(1982,10-),女,漢族,江西南昌人,碩士,講師,單位:江西省公安廳信息中心。

        国产精品一区av在线| 搡女人真爽免费视频大全| 观看在线人视频| 亚洲va韩国va欧美va| 五月综合缴情婷婷六月| 亚洲精品久久久久高潮| 亚洲 国产 韩国 欧美 在线 | 成人女同av在线观看网站| 精品国产三级a∨在线| 337人体做爰大胆视频| 精品少妇人妻成人一区二区| 在线视频亚洲一区二区三区| 国产婷婷成人久久av免费| 精品乱人伦一区二区三区| 国产成人免费一区二区三区| 亚洲AV成人无码久久精品在| 亚洲中文字幕在线精品2021| 日本一区二区三区视频免费观看 | 黄片午夜免费观看视频国产| 久久中文字幕一区二区| 日韩av无码一区二区三区不卡| 无码国产69精品久久久孕妇| 在线国产视频精品视频| 精品一区二区三区老熟女少妇| 在线a亚洲视频播放在线播放| 人妻无码一区二区不卡无码av| 日本少妇人妻xxxxx18| 国产a级精精彩大片免费看| 日韩有码中文字幕av| 青青草小视频在线观看| 挺进邻居丰满少妇的身体| 无码一区二区三区亚洲人妻| 青青草国产成人99久久| 久久国产精品一区二区| 青青草在线这里只有精品| 精品国内在视频线2019| 欧性猛交ⅹxxx乱大交| 亚洲av天堂久久精品| 国产av一级片在线观看| 亚洲va无码va在线va天堂| 无码 制服 丝袜 国产 另类|