Java基礎概念知識
簡述Java程式碼從編寫到執行的全過程
- 編寫程式碼: 將需求通過程式碼實現
- 編譯成位元組碼檔案:將編碼後的源程式編譯成位元組碼檔案 .class
- 類裝載(classloader): 為執行程式尋找或裝載所需要的類
- 位元組碼校驗(bytecode verifier): 校驗class的程式碼,保證安全性,比如物件型別,物件訪問許可權
- 解釋(interprter):機器不認識位元組碼檔案,需要被直譯器解釋後才能執行
- 執行: 最後程式碼可以在執行環境中進行執行
簡述虛擬機器的工作機制
同 【簡述Java程式碼從執行到執行的全過程】
簡述回收機制
垃圾回收是指JVM通過一些垃圾回收演算法回收分配出去且未被使用的記憶體空間,提高程式執行效率,防止出現記憶體洩露。由於回收記憶體空間需要耗費時間,頻繁的進行垃圾回收會影響程式的執行效率,因此當出現未被引用的物件,JVM不會立即進行回收,而是選擇在合適的時候進行回收。所以在程式中使用system.gc()不會立馬進行垃圾回收,而是通知JVM需要進行垃圾回收
簡述java安全機制
- 類裝載器結構(class loader): 裝載和尋找程式執行所需要的類
- class檔案檢查器(the class file verifier): 虛擬機器校驗裝載的位元組碼檔案的完整性,通過四趟進行校驗
第一趟:檢查檔案結構,比如檢查檔案是否符合JavaClass檔案的節本結構
第二趟:型別資料的語義檢查,例如檢查final類有沒有被子化等
第三趟:位元組碼驗證,確保運算元棧總是包含正確的數值以及正確的型別。
第四趟:符號引用的驗證,由於Java程式是動態連結的,所以Class檔案檢查器在進行第四次掃描中,必須檢查相互引用類之間的相容性。 - 內建於JVM的一些安全特性:
a) 型別安全的引用轉換
b) 自動垃圾回收機制
c) 空引用檢查
d) 結構化的記憶體訪問 - Java管理器以及java api
簡述java物件導向的三大特性
- 封裝: 將屬性私有化只有類內部才能使用,提供對外使用的公有方法,就像常見的java bean,屬性都是priavte,set和get方法都是共有的。
為什麼不直接將類的屬性設定為public供外部使用,因為直接使用的話,無法對屬性進行相應的處理再獲取,或者有些共有屬性只讀,不能修改,就不能直接將屬性設定為公有供外部使用。 - 繼承: 子類繼承父類的方法和屬性,並且可以重寫父類方法或者可以擴充套件新方法。java是單繼承語言,就是一個子類,只能繼承一個父類。java的繼承屬提高了java的程式複用性和擴充套件性
- 多型: 指java不同類的物件可以對同一函式呼叫進行響應,也就是函式呼叫可以根據傳送物件的不同而採用不同的行為方式。java多型分為執行時多型和編譯時多型,編譯時多型指方法的過載,即在編譯時就可以確定使用哪個方法,執行時多型是指Java在執行時個根據呼叫方法的例項型別來決定呼叫哪個方法。所以多型是指在繼承的基礎上,對父類的引用可以指向子類物件,呼叫子類重寫的方法,就是子類向上轉型成父類,但是子類特有的擴充套件方法無法使用,可以通過強制型別轉換實現呼叫特有方法
方法的按值傳遞和按引用傳遞
- 按值傳遞:方法的形參型別不是引用型別,則是按值傳遞,那麼呼叫該方法時,形參將實參拷貝一份進行運算,不會改變實參的值。
- 按引用傳遞:方法的形參型別為引用型別,則是按引用傳遞,那麼呼叫該方法時,傳遞的是實參的地址,形參的運算會改變實參的值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69950400/viewspace-2659522/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VCS基礎知識與概念
- IO基礎知識與概念
- Java基礎知識Java
- 初識Java Java基礎知識Java
- javaScript基礎概念小知識點集JavaScript
- java基礎知識點Java
- Java基礎知識(二)Java
- Java SE 基礎知識Java
- Java併發--基礎知識Java
- Java基礎知識點梳理Java
- Java基礎知識——異常Java
- Java基礎知識總結Java
- Java基礎知識面試題Java面試題
- Java基礎知識七——方法Java
- Java 基礎面試知識點Java面試
- Java基礎知識回顧Java
- java之路,基礎知識1Java
- JAVA基礎知識補漏Java
- 《java程式設計基礎》java的基礎知識(三)Java程式設計
- 【Java基礎知識】Java流程控制Java
- java基礎知識-序列化/反序列化-gson基礎知識Java
- Java基礎知識_記憶體Java記憶體
- Java代審:Maven基礎知識JavaMaven
- 整理Java基礎知識--Calendar 類Java
- Java基礎知識整理之this用法Java
- Java基礎知識點總結Java
- Java基礎知識回顧 -SQLJavaSQL
- Java基礎知識總結-1Java
- Java基礎知識之概述(一)Java
- Java基礎知識入門-JDKJavaJDK
- Java入門基礎知識點Java
- Java基礎知識題集(1)Java
- Java基礎知識題集(2)Java
- JAVA與tomcat基礎知識JavaTomcat
- Java基礎知識篇05——方法Java
- 【Java基礎知識】Java陣列與集合Java陣列
- Java基礎知識篇——Java基本介紹Java
- Java基礎——程式設計之路的開始,Java基礎知識Java程式設計