1.Java的數據類型怎么分類的?
Java的數據類型 分為:基本數據類型和引用類型。
Java基本數據類型:整數類型(byte,short,int,long),浮點類型(float,double) ,字符類型(char),布爾類型(boolean)
Java引用數據類型:類(class),接口(interface),數組,enum(枚舉),注解(@interface.
基本數據類型轉換
2. Java標識符命名規范,給類名,方法 名,變量名起名字的原則。
3.Java面向對象的特征?
3.1封裝 什么是封裝? 為什么要封裝?
封裝是對類中的屬性私有,private修飾。作用或者是目的:提高數據訪問的安全性,那么不能夠直接去訪問類中的私有 的屬性,
而是通過方法間接的去訪問。可以通過方法記錄訪問的相關信息。(日志,權限).
在多線程情況下,我們對數據的安全性,是通過同步方法或同步塊來完成,【ThreadLocal,lock】 ,保證數據的安全性。
繼續發揮,講解 同步方法或同步塊的優缺點。
3.2繼承
java的繼承是子類繼承父類的 屬性和方法,減少代碼的冗余,父類抽取子類的屬性和方法,在項目 中,你怎么用的?。要注意的是:子類和父類具有同步變量,父類的同名變量子類將不再繼承。
java的繼承是單繼承。(炫耀下: python是多繼承,繼承的原則是:廣度優先).
java的繼承是方法級的抽取,減少冗余。
java減少冗余代碼,可以通過aop面向切面編程,減少業務控制代碼冗余,屬于方法內的冗余代碼的抽取。【沒學】
3.3多態
java的多態,是指同一個方法名,不同的實現結果,就比如:語文中的多音字,同一個字,不同的讀音。
具體的體現是什么?
1. 在一個類中,叫做方法重載,也叫做編譯型多態。調用哪個重載的方法,是有方法的參數來決定的。
2.在繼承關系中 ,也叫做方法重寫,方法覆蓋,也叫做運行時多態。調用哪個重寫的方法,是由new 的那個對象來決定的。
new 對象是 寫在代碼中的, 這個對象是在代碼中控制的,也就是對象的生成權是由代碼控制的。對象生成的控制器有代碼來控制轉移給Spring容器通過xml,注解來生成的。
3.4抽象
java的抽象是為了增強動態綁定(一個父類指向多個子類的現象),為了增強多態,為了方法重寫,具體的實現是抽象類和接口。
4. java一個類的生命周期?
靜態塊------------------------------根據main函數的代碼的順序來決定調用的順序。 (匿名塊,靜態方法,構造方法,實例方法).
5.繼承關系的類的生命周期?
父類的靜態塊--子類的靜態塊-----------------根據main函數的代碼的順序來決定調用的順序。 (匿名塊,靜態方法,構造方法,實例方法).
6.java的塊有哪些?
靜態塊,匿名塊,同步塊, finally 塊
7.方法的參數傳遞,基本數據類型和引用類型的區別?可以寫代碼練習。
8.super和this區別?
super是訪問父類,
this是訪問本類,
在構造函數中必須在第一行。
9.設計模式 可以寫代碼練習。
單例模式,工廠模式....
10.接口和抽象類的區別.
4.Java異常
4.0什么叫java錯誤,
編譯不能通過錯誤,編譯成功運行時錯誤(異常),邏輯錯誤()
內存泄漏,直接宕機,程序員沒有辦法處理。
4.1 你遇到過哪些異常?怎么解決的?至少10個
空指針異常(),類沒有發現的異常(),sql異常(),線程狀態異常(),數組下標越界異常()
類型轉換異常() , 文件找不到的異常(), 流異常(), 算術異常() ,端口綁定異常(), 序列化異常()
4.2 垃圾回收器 (GC,四種引用) 沒有講。
4.3 final和finall的區別?
final修飾變量,修飾方法,修飾類。
finally 塊:始終執行。不管什么情況下,都會執行。
4.4 數據結構你知道有哪些?特點
數組,鏈表,哈希,棧,隊列,二叉樹。
4.5Java集合的分類?哪些是同步的?各自特點?過濾重復?排序?在項目中怎么用的?
4.6創建線程方式?線程生命周期?線程安全?線程通信?線程交替?定時線程?線程池?在項目中怎么用的?
創建線程方式:繼承Thread,實現Runnable,定時線程,返回值線程,線程池。
線程生命周期:創建,可運行,運行,在運行期間的調度,死亡。
線程安全:synchronized同步方法,同步塊,它是以性能換安全。
ThreadLocal 線程本地變量 它是以內存換安全。
lock鎖。
線程通信:主線程向子線程 構造函數
子線程向主線程,子線程和子線程 wait和notify 必須用在synchronized環境下。
定時線程:TimerTask
線程池:自定義和JDK自帶的線程池
在項目中怎么用的線程,和線程池????????
4.7java流?流的分類?序列化和反序列化?流的性能。
4.8套接字?在項目中怎么用的?
4.9什么是RMI?名字解釋 什么是SPI?名字解釋
4.10 Collection和Collections的區別?什么是枚舉類型?transient關鍵字表示什么?【沒有講】.
4.11 java內部類作用?內部類分類?
java內部類作用:為了加強封裝。
內部類的分類:普通內部類 靜態內部類 局部內部類 匿名內部類