一、Java入门和环境安装
@Author : By Runsen
本專欄是零基礎(chǔ)學(xué)java的第一篇
Java入門和環(huán)境安裝(一)
文章目錄
- 1、Java入門
- 1.1 了解Java
- 1.2 選擇Java版本
- 1.3 下載jdk
- 2、Java面試題
- 2.1 JVM JDK 和 JRE的區(qū)別
- 2.2 Oracle JDK 和 OpenJDK 的對比
1、Java入門
1.1 了解Java
Java 本身是一種面向?qū)ο蟮恼Z言,最顯著的特性有兩個方面,一是所謂的“書寫一次,到處運行”(Write once, run anywhere),能夠非常容易地獲得跨平臺能力;另外就是垃圾收集(GC, Garbage Collection),Java 通過垃圾收集器(Garbage Collector)回收分配內(nèi)存,大部分情況下,程序員不需要自己操心內(nèi)存的分配和回收。
我先把Java特性:都列舉出來,下面專欄的文章都是基于Java特性的
- 面向?qū)ο?#xff08;封裝,繼承,多態(tài))
- 平臺無關(guān)性(JVM運行.class文件)
- 語言(泛型,Lambda)
- 類庫(集合,并發(fā),網(wǎng)絡(luò),IO/NIO)
- JRE(Java運行環(huán)境,JVM,類庫)
- JDK(Java開發(fā)工具,包括JRE,javac,診斷工具)
1.2 選擇Java版本
Java 8是于2014年3月14號發(fā)布。從Java 8開始開發(fā)代號已經(jīng)棄用了,所以從Java 8之后已經(jīng)沒有官方的開發(fā)代號了。
我們來看看Java SE的歷史:
- JDK Beta - 1995JDK 1.0 -
- 1996年1月JDK 1.1
- 1997年2月J2SE 1.2
- 1998年12月J2SE 1.3
-
- 2000年5月J2SE 1.4
- 2002年2月J2SE 5.0
- 2004年9月Java SE 6
- 2006年12月Java SE 7
- 2011年7月Java SE 8(LTS)
- 2014年3月Java SE 9
- 2017年9月Java SE 10(18。3)
- 2018年3月Java SE 11(18.9 LTS)
- 2018年9月Java SE 12(19。3)
目前Java 14 GA(General Availability) 版本已經(jīng)于2020年3月17日發(fā)布。
Java的一共有三個版本,分別是JavaSE,JavaME和JavaEE。
- JavaSE:標(biāo)準(zhǔn)版(桌面應(yīng)用程序)
- JavaME:嵌入式開發(fā)(手機(jī)、家電)(不是很了解)
- JavaEE:企業(yè)級開發(fā)(服務(wù)器開發(fā)、web開發(fā))(Out了)
我們使用的JavaSE,你可以下面Java11或者Java8版本進(jìn)行學(xué)習(xí),不建議下載Java14進(jìn)行學(xué)習(xí)。
1.3 下載jdk
下載jdk這個很簡單,你可以查看百度教程: https://jingyan.baidu.com/article/e75aca85b29c3b142edac6a8.html
菜鳥教程:https://www.runoob.com/java/java-environment-setup.htm
這兩個教程不錯。
這里提下需要設(shè)置環(huán)境變量,
JAVA_HOME :C:\Program Files\Java\jdk1.7.0_04 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;設(shè)置完成后,直接java -version查看Java版本。
2、Java面試題
下面寫下Java面試題,經(jīng)常出現(xiàn),大家需要搞定。
2.1 JVM JDK 和 JRE的區(qū)別
我們?nèi)粘佑|到 JRE(Java Runtime Environment)或者 JDK(Java Development Kit)。 JRE,也就是 Java 運行環(huán)境,包含了 JVM 和 Java 類庫,以及一些模塊等。而 JDK 可以看作是 JRE 的一個超集,提供了更多工具,比如編譯器、各種診斷工具等。
Java虛擬機(jī)(JVM)是運行 Java 字節(jié)碼的虛擬機(jī)。JVM有針對不同系統(tǒng)的特定實現(xiàn)(Windows,Linux,macOS),目的是使用相同的字節(jié)碼,它們都會給出相同的結(jié)果。
什么是字節(jié)碼?采用字節(jié)碼的好處是什么?
在 Java 中,JVM可以理解的代碼就叫做字節(jié)碼(即擴(kuò)展名為 .class 的文件),它不面向任何特定的處理器,只面向虛擬機(jī)。Java 語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點。所以 Java 程序運行時比較高效,而且,由于字節(jié)碼并不針對一種特定的機(jī)器,因此,Java程序無須重新編譯便可在多種不同操作系統(tǒng)的計算機(jī)上運行。
Java 程序從源代碼到運行一般有下面3步:
Java虛擬機(jī)(JVM)是運行 Java 字節(jié)碼的虛擬機(jī)。JVM有針對不同系統(tǒng)的特定實現(xiàn)(Windows,Linux,macOS),目的是使用相同的字節(jié)碼,它們都會給出相同的結(jié)果。字節(jié)碼和不同系統(tǒng)的 JVM 實現(xiàn)是 Java 語言“一次編譯,隨處可以運行”的關(guān)鍵所在。
JDK是Java Development Kit,它是功能齊全的Java SDK。它擁有JRE所擁有的一切,還有編譯器(javac)和工具(如javadoc和jdb)。它能夠創(chuàng)建和編譯程序。
JRE 是 Java運行時環(huán)境。它是運行已編譯 Java 程序所需的所有內(nèi)容的集合,包括 Java虛擬機(jī)(JVM),Java類庫,java命令和其他的一些基礎(chǔ)構(gòu)件。但是,它不能用于創(chuàng)建新程序。
簡單來說,JRE可以支撐Java程序的運行,包括JVM虛擬機(jī)(java.exe等)和基本的類庫(rt.jar等),JDK可以支持Java程序的開發(fā),包括編譯器(javac.exe)、開發(fā)工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的類庫(如tools.jar)等。
2.2 Oracle JDK 和 OpenJDK 的對比
上面我們安裝的是Oracle JDK ,也就是sunjdk。
Oracle JDK版本將每三年發(fā)布一次,而OpenJDK版本每三個月發(fā)布一次;
OpenJDK是Java SE Platform Edition的免費開源實現(xiàn)。它最初于2007年發(fā)布,是Sun Microsystems于2006年開始開發(fā)的結(jié)果。
OpenJDK主要用于linux系統(tǒng),在響應(yīng)性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能;
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的一、Java入门和环境安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三十、开始前端Vue.js的学习之路
- 下一篇: 想给家里囤货,健力宝的产品有推荐吗?