## 基本知識 ##
1.重載和重寫的區別
1.靜態代碼塊,還有靜態的作用,靜態代碼塊的特點
1.講一講代理是什 ? 么?如何運用
1.內部類(這個面試比較重要)
1.java的特點是什么?
2.類與接口的區別
3.JDK1.5的新特性有哪些
4.主方法中main(String [] args) 加String [] args有什么現實意義
String[] args :是保存運行main函數時輸入的參數的字符串數組,
當你在cmd運行時??輸入: java test a b c
這個數組就會將abc保存起來: args[0] = a; args[1] = b; args[2] = c;
這些變量在程序中是可以調用的~ 不過平時應該沒人會這么用...
=.= main方法是整個程序的入口,大家都用習慣了就算是死規定吧~ 記住就好
## 面向對象 ##
1.談談對面向對象的理解
1.詳細說明面向對象的三大特征及其特點
1.用生活子的例子描述下什么是面向對象
## 集合 ##
1.談談集合框架
1.如何取出Map中的元素
1.List和Set集合的區別
1.List和Set當中的一些類及區別
1.數組和集合有什么區別?
2.HashMap和Hashtable的區別?
1.HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。
2.Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
3.Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
1.遍歷Map的兩種方式
2.集合框架中哪些是線程不安全的
3.HashTable和HashMap哪個不能傳null值
## 多線程 ##
1.如何實現多線程,如何開啟多線程
1.多線程的創建方式
1.如何實現多線程的?
2.線程實現的兩種方式,并談談你對線程池的理解
3.Sleep和wait的區別
4.線程的幾種狀態
5.線程池的理解
6.你認為線程重要的方面有哪些?(我把線程牽扯到的問題都說出來了)
## 反射 ##
1.反射及暴力反射
1.反射的概念應用
2.類加載器
所謂類加載器: 就是加載類的工具.類加載器也是java類,類加載器的委托機制:
java中的所有類加載器采用具有父子關系的樹形結構進行組織,在實例化每個類加載器對象時,
需要為其指定一個父級類加載器對象或者默認采用系統類加載器為其父級類加載.
每個類類加載器加載時,又先委托給其上級加載器,叫做類加載器的委托機制.
(我面試的時候定義沒有具體說那么清楚,但是大概就是這個意思)
系統默認的有哪幾個類加載器?
1.BootStrap 類不是java類,是用C++編寫的,我們在Java中看不到它,是null.他是加載java類的工具.
2.Extension ClassLoader 用來加載擴展類.
3.AppClassLoader 是加載Classpath路徑的.
3.動態代理的概念
JVM可以在運行期動態生成類的字節碼,這種動態生成往往被用作代理類,即為動態代理.
4.動態代理機制
其實動態代理機制最核心的就是InvocationHandler(調用處理器)這個接口
InvocationHandler 是代理實例的調用處理程序 實現的接口。
每個代理實例都具有一個關聯的調用處理程序。對代理實例調用方法時,
將對方法調用進行編碼并將其指派到它的調用處理程序的 invoke 方法。
1.反射獲取Class對象三種實現
1.代理的作用
2.動態代理的三種實現
## 設計模式 ##
1.單例設計模式
1.你還知道其他的設計模式么?分別介紹一下
2.枚舉和單例設計模式的區別
## IO流 ##
1.復制一個文件夾該怎么操作
1.為什么使用字符流
1.如何獲得字節碼文件?
①. 這個字節碼文件已經加載到內存中來了,直接找到該字節碼文件,返回就可以了.
②. 在虛擬機里還沒有這個字節碼文件,用類加載器Class.forName("java.lang.String")加載進來,把字節碼緩存起來
,同時方法Class.forName("java.lang.String")返回該字節碼文件.
Class.forName的作用:返回字節碼文件.
1.如何使用字節流的?
1.什么時候會用到轉換流呢?
1.復制文件和復制文件夾的區別
1.有一個文件夾(假如為A),下面有一個文件為A.java,然后把這個文件夾下的A.java文件,復制到本磁盤下文件為B的文件夾下,然后改擴展名為B.txt.??這個題目要求自己判斷文件夾下是不是有子文件夾,然后實現自己的思路.
2.將C盤下某個文件中的全部內容(文本、MP3、文件夾等)復制到D盤下某個文件夾
3.字節流是否需要關流,是否需要刷新,為什么
4.復制文件夾的流程(牽扯到遞歸的知識)
## 枚舉 ##
1.在枚舉中,可以使用抽象方法么?
1.枚舉中能不能定義抽象方法?
不能,因為枚舉中都為固定常量,定義抽象方法沒什么意義(有爭論)
1.枚舉中的靜態方法
2.枚舉是否可以繼承類
## 泛型 ##
1.什么時候會用到泛型?舉例說明下
## 異常 ##
1.try-catch-finally實現方式