計算機二級考試《Java技術》的3大特性
計算機二級主要考覈計算機基礎知識和使用一種高級計算機語言編寫程序以及上機調試的基本技能,下面本站小編爲大家搜索整理了關於《Java技術》的3大特性,歡迎參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
1、虛擬機
Java 虛擬機 JVM(Java Virtual Machine)在 Java 編程裏面具有非常重要的地位,約相當於前面學到的 Java 運行環境,虛擬機的基本功能如下:
(1):通過 ClassLoader 尋找和裝載 class 文件
(2):解釋字節碼成爲指令並執行,提供 class 文件的運行環境
(3):進行運行期間垃圾回收
(4):提供與硬件交互的平臺
Java虛擬機是在真實機器中用軟件模擬實現的一種想象機器。Java虛擬機代碼被存儲在 s文件中; 每個文件都包含最多一個public類。 Java 虛擬機規範爲不同的硬件平臺提供了一種編譯Java技術代碼的規範,該規範使Java 軟件獨立於平臺,因爲編譯是針對作爲虛擬機的“一般機器”而做。這個“一般機器”可用軟件模擬並運行於各種現存的計算機系統,也可用硬件來實現。編譯器在獲取Java應用程序的源代碼後,將其生成字節碼,它是爲JVM生成的一種機器碼指令。每個Java解釋器,不管它是Java技術開發工具,還是可運行applets 的Web瀏覽器,都可執行JVM。
JVM 爲下列各項做出了定義
- 指令集(相當於中央處理器[CPU] )
- 寄存器
- 類文件格式
- 棧
- 垃圾收集堆
- 存儲區
JVM 的代碼格式由緊縮有效的`字節碼構成。 由 JVM 字節碼編寫的程序必須保持適當的類型約束。大部分類型檢查是在編譯時完成。任何從屬的 Java 技術解釋器必須能夠運行任何含有類文件的程序,這些類文件應符合 Java 虛擬機規範中所指定的類文件格式。
1.1 虛擬機是 Java 平臺無關的保障
正是因爲有虛擬機這個中間層,Java 才能夠實現與平臺無關。 虛擬機就好比是一個 Java運行的基本平臺,所有的 Java 程序都運行在虛擬機上,如下圖所示:
2、垃圾回收
2.1 什麼是垃圾
在程序運行的過程中,存在被分配了的內存塊不再被需要的情況,那麼這些內存塊對程序來講就是垃圾。
產生了垃圾,自然就需要清理這些垃圾,更爲重要的是需要把這些垃圾所佔用的內存資源,回收回來,加以再利用,從而節省資源,提高系統性能。
2.2 垃圾回收
- 不再需要的已分配內存應取消分配(釋放內存)
- 在其它語言中,取消分配是程序員的責任
- Java 編程語言提供了一種系統級線程以跟蹤內存分配
- 垃圾收集
- 可檢查和釋放不再需要的內存
- 可自動完成上述工作
- 可在 JVM 實現週期中,產生意想不到的變化
許多編程語言都允許在程序運行時動態分配內存,分配內存的過程由於語言句法不同而有所變化,但總是要將指針返回到內存的起始位置,當分配內存不再需要時(內存指針已溢出範圍),程序或運行環境應釋放內存。
在 C,C++ 或其它語言中,程序員負責釋放內存。有時,這是一件很困難的事情。因爲你並不總是事先知道內存應在何時被釋放。 當在系統中沒有能夠被分配的內存時,可導致程序癱瘓,這種程序被稱作具有內存漏洞。
Java 編程語言解除了程序員釋放內存的責任。它可提供一種系統級線程以跟蹤每一次內存的分配情況。在 Java 虛擬機的空閒週期,垃圾收集線程檢查並釋放那些可被釋放的內存。垃圾收集在 Java 技術程序的生命週期中自動進行,它解除了釋放內存的要求,這樣能夠有效避免內存漏洞和內存泄露(內存泄露就是程序運行期間,所佔用的內存一直往上漲,很容易造成系統資源耗盡而降低性能或崩潰)。
2.3 提示
(1):在 Java 裏面,垃圾回收是一個自動的系統行爲,程序員不能控制垃圾回收的功能和行爲。比如垃圾回收什麼時候開始,什麼時候結束,還有到底哪些資源需要回收等,都是程序員不能控制的。
(2):有一些跟垃圾回收相關的方法,比如:() , 記住一點,調用這些方法,僅僅是在通知垃圾回收程序,至於垃圾回收程序運不運行,什麼時候運行,都是無法控制的。
(3):程序員可以通過設置對象爲 null(後面會講到)來標示某個對象不再被需要了,這只是表示這個對象可以被回收了,並不是馬上被回收。
3、代碼安全
Java 如何保證編寫的代碼是安全可靠的呢?
(1):第一關:編寫的代碼首先要被編譯成爲 class 文件,如果代碼寫得有問題,編譯期間就會發現,然後提示有編譯錯誤,無法編譯通過。
(2):第二關:通過編譯關後,在類裝載的時候,還會進行類裝載檢查,把本機上的類和網絡資源類相分離,在調入類的時候進行檢查,因而可以限制任何“特洛伊木馬”的應用。
(3):第三關:類裝載後,在運行前,還會進行字節碼校驗,以判斷你的程序是安全的。
(4):第四關:如果你的程序在網絡上運行,還有沙箱 (Sand Box)的保護,什麼是沙箱呢?
就是如果你的程序沒有獲得授權,只能在沙箱限定的範圍內運行,是不能夠訪問本地資源的,從而保證安全性。
如下圖所示:
相關文章
-
計算機二級JAVA考試構建JAVA程序2017
很多人一見到說要編程就以爲很難,其實只有一點一滴學知識點也不難,下面是小編整理的計算機二級JAVA考試構建JAVA程序介紹,歡迎閱讀! 第一個java applicationjava程序分爲java application(java 應用程序)和java applet -
計算機二級《Java語言程序設計》考試大綱
全國計算機等級考試(National Computer Rank Examination,以下簡稱 NCRE),是經原國家教育委員會(現教育部)批准,由教育部考試中心主辦,面向社會,用於考查應試人員計算機應用知識與技能的全國性計算機水平考試體系。以下是 -
計算機二級《JAVA》考試練習題
1、下列方法中能完成主類實例初始化工作的是( )。t( )( )( )t( )2、 AWT中用來表示顏色的類是( )。rlog3、在軟件開發中,需求分析階段可以使用的工具是( )。A.N—S圖圖圖D.程序流程圖4、下列事件 -
計算機二級考試《Java》試題及答案
選擇題(每小題2分,共50分)下列各題A、B、C、D、 四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應的位置上,答在試卷上不得分。(11)下列對Java語言的敘述中,錯誤的是()虛擬機解釋執行字節碼的庫文件目錄 -
計算機二級考試《Java》代碼的基本知識
Java語言程序設計是計算機二級考試中的科目之一,是一種可以撰寫跨平臺應用程序的面向對象的程序設計語言。下面本站小編爲大家搜索整理了關於《Java》代碼的基本知識,歡迎參考學習,希望對大家有所幫助!想了解更多相關信 -
2016上海市計算機二級《Java程序設計》考試大綱
Java是一種可以撰寫跨平臺應用程序的面向對象的程序設計語言。《Java程序設計》是計算機二級考試科目之一,下面是本站小編爲大家搜索整理了關於上海市計算機二級《Java程序設計》考試大綱,歡迎參考複習,希望對大家有所幫 -
全國計算機二級考試《Java》真題練習
爲了幫助同學們更好更全面的做好複習和迎考準備,以下是本站小編搜索整理的一份全國計算機二級考試《Java》真題練習,供參考練習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!1、下列敘述中,錯 -
2016年計算機二級《Java》機考試題及答案
無論是身處學校還是步入社會,大家總少不了接觸作文吧,作文是由文字組成,經過人的思想考慮,通過語言組織來表達一個主題意義的文體。那麼你知道一篇好的作文該怎麼寫嗎?下面是小編爲大家收集的傳統文化春節作文400字4篇,歡迎 -
計算機二級考試《JAVA》衝刺試題及答案
2017年9月計算機二級考試越來越近了,不知道考生們都複習得怎麼樣了呢?以下是本站小編搜索整理的一份計算機二級考試《JAVA》衝刺試題及答案,供參考練習,預祝考生們考出自己理想的成績!想了解更多相關信息請持續關注我們 -
全國計算機二級《Java》備考試題及答案
1). grid[9][5]描述的是( )。A.二維數組B.一維數組C.五維數組D.九維數組正確答案:A答案解析:這是一個二維數組,[]中的數字是每一維的大小。2). 在Java 中,實現用戶界面功能的包是( )。etsaction正確答案:D答案解析:本題考查