概要
最近這幾天開始進入java的學習,接觸到了好多不是很瞭解的概念,像JDK、JRE、JVM、GC等等這些,放到這裡來進行下掃盲。
java
java是一種物件導向程式設計語言和java平台的總稱,即java包括java語言和java平台。
java語言
java語言跟我們以前接觸過的C#、C++語言一樣都是物件導向的語言,擁有物件導向語言的基本特點,java語言也有它自身的特點,例如增加了記憶體回收的一些特點。同時java語言的編程風格跟C#、C++也特別的相似,所有java語言是比較易學的。
JDK
JDK是英文Java Development Kit的縮寫,是java的一種軟體開發套件,他的特點是每個程式都是從命令列調用開始的。除了JDK還有java IDE,java IDE包括Eclipse、Myeclipse、IntelliJ、Jbuilder、Jdeveloper、Netbeans、JCreator等。
JRE
JRE是Java RuntimeEnvironment的英文縮寫,是指java的運行環境,java程式運行所必須的環境的集合,包括jvm和java的類庫。
JVM
JVM俗稱虛擬機器,是JavaVirtual Machine的英文縮寫,虛擬機器它是一種用於電腦裝置的規範,即虛擬機器是一個想象中的機器,擁有自己完事的硬體架構如處理器、堆棧、寄存器等,還具有相應的指令系統,在實際的電腦上是通過軟體來類比電腦軟硬體實現的,所以我目前理解為虛擬機器為一個軟體,這個軟體就像電腦一樣,它實現了電腦裝置的規範,使java程式可以在上運行。
JVM是java最具吸引力的特性之一,Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機器是實現這一特點的關鍵。一般的進階語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機器後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機器屏蔽了與具體平台相關的資訊,使得Java語言編譯器只需產生在Java虛擬機器上啟動並執行目標代碼(位元組碼),就可以在多種平台上不加修改地運行。
GC
GC是垃圾收集機制,是GarbageCollection英文縮寫,gc是jvm提供的能力,用於釋放那些沒有任何引用的對象即不再使用的對象所佔用的記憶體,這裡需要注意的是記憶體回收回收的是沒有任何引用的對象佔據的記憶體空間而不是那些不再使用的對象本身。
java平台
java平台由Java虛擬機器(JavaVirtual Machine)和Java應用編程介面(ApplicationProgrammingInterface、簡稱API)構成。Java應用編程介面提供了一個獨立於作業系統的標準介面。
java平台包括三個體系J2SE即JavaSE(Java2 Platform StandardEdition,java平台標準版), j2EE即JavaEE(Java2 Platform,Enterprise Edition,java平台企業版), J2ME即JavaME(Java 2 Platform Micro Edition,java平台微型版)。
這三個都是java平台,都是java開發的標準,只是不同的標準應用程式的範圍不一樣,J2SE為標準版、J2EE為企業版、J2ME為微縮版
總結
以上這些內容有些是在學習中遇到的,有些是經常聽大家提起的,通過本篇文章,希望自己可以對這些知識有個感性的認識,原理這些方面還沒有進行深入的研究,主要就是解決“就怕不知道”的問題。