最近由於一個朋友想要學習Java,在幫助他找教程的過程當中回想到了我本身當年學習Java的那段歲月,故寫了此篇文章總結了一下初學Java所必需要掌握的知識點,而後把一部分常見的面試題羅列出來。給予剛剛開始學習Java的同窗作一個參考。java
最初由0,1組成的機器語言變成了簡單指令的彙編語言,最後纔是高級語言。而高級語言又分爲面向過程語言與面嚮對象語言兩種。而Java就是典型的面嚮對象語言。mysql
你知道哪些高級語言?面試
他們分別是面向過程仍是面向對象呢?sql
由於計算機只認識機器語言,因此咱們寫出的代碼想要被計算機執行必須有一個轉換的過程。這個轉換的過程分爲兩種:編譯執行,解釋執行。數組
你知道什麼是編譯執行和解釋執行麼?bash
你知道他們各自的好處麼?多線程
你知道Java是如何執行的麼?框架
Java語言的發展歷程、Java這個名字的來歷、J2EE、J2SE、J2ME。還有最經典的一句話:Compile once and run everywherejsp
你知道J2EE、J2SE、J2ME分別適用於什麼場景麼?學習
爲何Java能夠一次編譯處處運行呢?
Java語言的特性都是有什麼?
JDK的下載和安裝,環境變量的配置,HelloWord代碼,javac、java命令,Java程序的基本結構
12345複製代碼 |
public class HelloJava { public static void main(String[] args){ System.out.println("Hello world!"); } }複製代碼 |
你知道JDK每一個文件夾的做用是什麼嗎?
jdk和jre的區別是什麼?
public static void main(String[] args)每一個關鍵字是什麼意思?
常量、變量、標識符、數據類型、保留字、溢出、命名規則、變量類型轉換
8大基本數據類型都有什麼?
8大基本類型的數值範圍是什麼?
8大基本類型所佔的內存空間分別是多少?
什麼是強制類型轉換和自動轉換?
算術運算符、邏輯運算符、關係運算符、遞增遞減運算符、三目運算符、運算符的順序
多級運算符組合使用計算結果你會了麼?
++i和i++的區別是什麼?
if、else if、else、switch、case、continue、break、label
continue和break的做用是什麼?
if後面不加括號的話會如何?
switch都是支持什麼數據類型?
do-while、while、for、嵌套循環
do-while和while的區別是什麼?
一維數組、二維數組、數組下標、數組下標越界
數組的下標從什麼開始的?
什麼狀況下會引發數組下標越界?
類的概念、對象的概念、類的成員變量和方法、static關鍵字、建立使用清除對象、構造
方法、重載、方法調用參數和返回值、訪問控制符、內部類
一個方法是void表示什麼?
Java方法中參數傳遞是值傳遞仍是引用傳遞?
static變量和方法是何時初始化的?
訪問修飾符都是有哪些?
怎麼樣進行方法重載?
繼承、重寫、抽象類、多態、this關鍵字、super關鍵字、對象的轉型、接口
重載和重寫的區別是什麼?
抽象類和接口的區別是什麼?
一個類能夠繼承多個類麼?
子類會繼承父類全部的成員變量和方法麼?
面向對象的三大特徵是什麼?
異常的層次結構、異常處理過程、Error和Exception、try-catch-finally、throw、throws
常見的異常都有什麼?
異常流程中包含多個return時的程序處理流程
Error和Exception的區別是什麼?
throw和throws的區別是什麼?
InputStream、OutputStream、FileInputStream、FileOutputStream、File、FileReader 、FileWriter
字節流和字符流的區別?
什麼是序列化?
如何實現序列化?
Thread、Runnable 、start、run、主線程、系統線程、用戶線程、線程的生命、週期、優先級
字節流和字符流的區別?
什麼是序列化?
如何實現序列化?
mysql的安裝、mysql基礎命令、jdbc基本API
jdbc的操做步驟是什麼?
相對於Statement,PreparedStatement的優勢是什麼?
以上全部內容僅僅是學習Java的最最基礎的知識,若是你是Java初學者,當你完成了以上內容的學習的時候請你保持自我繼續堅持下去,由於後面還有不少知識在等待着你。例如:jsp、servlet、SSM框架、Linux基礎等等。