Java三大版本&JDK、JRE、JVM
Java三大版本
Write Once、Run Anywhere(一次編寫,隨處運行)
- JavaSE:標準版(桌面程序、控制臺開發......),Java的基礎與核心,也是JavaEE和JavaME技術的基礎。
- JavaME:嵌入式開發(手機、小家電......),應用范圍較小
- JavaEE:E企業級開發(web端、服務器開發......),是Java技術應用最廣泛的領域,JavaSE是JavaEE的基礎。
JDK、JRE、JVM之間的關系
關系:JDK包含JRE,JRE包含JVM
- JDK(Java Development Kit):Java開發工具包,用于Java程序的開發。
- JRE(Java Runtime Environment):Java運行時環境,只能運行.class文件,不能編譯。
- JVM(Java Virtual Machine):Java虛擬機,Java運行時環境。
一、JDK
JDK(Java Development Kit),Java開發工具包,用于Java程序的開發,針對開發者。
JDK是整個Java的核心,包括了Java運行環境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基本的類庫(即Java API包括rt.jar)。
JavaAPI是Java的應用程序接口,里面有很多已經寫好的Java Class,包括一些重要的語言結構以及基本圖形,網絡和文件I/O等等,我們可以直接調用使用。
二、JRE
JRE(Java Runtime Environment),Java運行時環境,只能運行.class文件,不能編譯,針對用戶。JRE,包含了一個JVM(Java虛擬機),與Java核心類庫與其所支持的文件。與JDK不同,它不包含開發工具——編譯器、調試器和其它工具。
將Java源程序(擴展名為.java的文件)
JRE,是運行Java程序必不可少的,編寫好的Java程序必須要JRE才能運行,如果想運行一個開發好的Java程序,計算機中只需要安裝JRE即可。
包含關系:
JDK—>JRE、JAVA基礎類庫
JRE—>JVM、Java核心類庫
三、JVM
JVM(Java Virtual Machine),Java虛擬機,Java運行時環境。
Java虛擬機,是一種虛擬出來的計算機,是通過在實際的計算機上模擬仿真各種計算機功能實現的。
JVM功能:將字節碼文件(擴展名為.class的文件)解釋成具體系統平臺的機器指令。
JVM,是整個Java實現跨平臺的最核心的部分,所有的Java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行,也就是說class并不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。
每日三道Java面試題
1.Java有哪幾種基本數據類型?
Java有4類8種數據類型,它們分別是
1.整形:byte、short、int、long
2.浮點型:float、double
3.字符型:char
4.布爾型:boolean
2.==和equals比較有什么區別?
==:
如果比較的對象是基本數據類型,則比較的是數值是否一致;
如果比較的是引用數據類型,則比較的是對象的地址是否一致。
equals():
equals()默認用來比較對象的地址是是否一致,不能用于比較基本數據類型,如果對象和自身進行比較,則equals()方法與==的作用是一樣的。
那為什么常用equals()來比較String字符串的內容相等是為什么呢?
那是因為對于String、Date、Integer等類型重寫了equals方法,使其比較的是存儲對象的內容是否相等,而不是內存地址。
如String類,已經重寫了equals方法:
3.Java支持xx ≠ null 不等于寫法嗎?
不支持,正常的不等于寫法是:!=
?本文轉載自微信公眾號「崔九八」,作者「崔九八」,可以通過以下二維碼關注。
轉載本文請聯系「崔九八」公眾號。