1.JDK 和 JRE 有什麼區別?java
JRE是運行時環境 給須要運行Java程序的人使用數組
JDK是Java開發工具包 包含JRE 給開發人員使用安全
2.== 和 equals 的區別是什麼?多線程
==比較的是內存地址框架
equals比較的是值jvm
3.兩個對象的 hashCode()相同,則 equals()也必定爲 true,對嗎?函數
不對,equals爲true時hashcode必定爲true工具
4.final 在 java 中有什麼做用?開發工具
能夠修飾類 方法 變量測試
修飾類時 類不能夠被繼承 Striing類就是final修飾的類
修飾方法時 方法不能夠被子類重寫 但能夠重載
修飾基本數據類型時 初始話賦值以後值不能被改變 修飾引用類型時初始化以後不能夠指向其餘對象
5.java 中的 Math.round(-1.5) 等於多少?
round方法的做用是四捨五入 須要注意的是負5是舍 且是往大了入 -1
6.String 屬於基礎的數據類型嗎?
String不是基本的數據類型,是final修飾的java類,java中的基本類型一共有8個,它們分別爲:字符類型:byte,char基本整型:short,int,long浮點型:float,double 布爾類型:boolean
7.java 中操做字符串都有哪些類?它們之間有什麼區別?
主要是一下三種:String、StringBuffer、StringBuilder
String是不可變的對象,對每次對String類型的改變時都會生成一個新的對象,
StringBuffer和StringBuilder是能夠改變對象的。 對於操做效率:StringBuilder > StringBuffer > String 對於線程安全:StringBuffer 是線程安全,可用於多線程;StringBuilder 是非線程安全,用於單線程不頻繁的字符串操做使用 String。反之,StringBuffer 和 StringBuilder 都優於String
因此,若是在項目中須要拼接字符串最好是採用StringBuffer 而非String
8.String str="i"與 String str=new String(「i」)同樣嗎?
不同 String str="i"是把i的地址賦給str,由於string是final修飾的 因此i是在常量池中
而String str=new String(「i」)是新建立了一個對象 即新開闢了一個內存空間 再把這個地址賦值給str
9.如何將字符串反轉?
使用StringBuiler的reverse()的方法,方便快捷
也能夠遞歸遍歷
10.String 類的經常使用方法都有那些?
length獲取字符串長度;charAt獲取指定位置的字符;toCharArray將字符串變成字符數組;indexOf查找字符串,存在返回位置不存在返回-1;lastIndexOf獲得指定內容最後一次出現的位置;equals返回字符串值是否相等
11.抽象類必需要有抽象方法嗎?
不是必須的,可是有抽象方法的類確定是抽象類,而且抽象方法不能有方法體。
12.普通類和抽象類有哪些區別?
抽象類不能被實例化;抽象類能夠有構造函數,抽象方法不能被聲明爲靜態;抽象方法只需申明,而無需實現,抽象類中能夠容許普通方法有主體;含有抽象方法的類必須申明爲抽象類;抽象的子類必須實現抽象類中全部抽象方法,不然這個子類也是抽象類。
13.抽象類能使用 final 修飾嗎?
不能,抽象類是被用於繼承的,final修飾表明不可修改、不可繼承的。
14.接口和抽象類有什麼區別?
15.java 中 IO 流分爲幾種?
字符流和字節流
16.conllection和conllections的區別
conllection是Java的集合,conllections至關於一個工具類,服務於Java的Conllection框架
17.Files的經常使用方法都有哪些?
建立:
createNewFile()在指定位置建立一個空文件,成功就返回true,若是已存在就不建立,而後返回false。
mkdir() 在指定位置建立一個單級文件夾。
mkdirs() 在指定位置建立一個多級文件夾。
renameTo(File dest)若是目標文件與源文件是在同一個路徑下,那麼renameTo的做用是重命名, 若是目標文件與源文件不是在同一個路徑下,那麼renameTo的做用就是剪切,並且還不能操做文件夾。
刪除:
delete() 刪除文件或者一個空文件夾,不能刪除非空文件夾,立刻刪除文件,返回一個布爾值。
deleteOnExit()jvm退出時刪除文件或者文件夾,用於刪除臨時文件,無返回值。
判斷:
exists() 文件或文件夾是否存在。
isFile() 是不是一個文件,若是不存在,則始終爲false。
isDirectory() 是不是一個目錄,若是不存在,則始終爲false。
isHidden() 是不是一個隱藏的文件或是不是隱藏的目錄。
isAbsolute() 測試此抽象路徑名是否爲絕對路徑名。
獲取:
getName() 獲取文件或文件夾的名稱,不包含上級路徑。
getAbsolutePath()獲取文件的絕對路徑,與文件是否存在不要緊
length() 獲取文件的大小(字節數),若是文件不存在則返回0L,若是是文件夾也返回0L。
getParent() 返回此抽象路徑名父目錄的路徑名字符串;若是此路徑名沒有指定父目錄,則返回null。
lastModified()獲取最後一次被修改的時間。
文件夾相關:static File[] listRoots()列出全部的根目錄(Window中就是全部系統的盤符)list() 返回目錄下的文件或者目錄名,包含隱藏文件。對於文件這樣操做會返回null。listFiles() 返回目錄下的文件或者目錄對象(File類實例),包含隱藏文件。對於文件這樣操做會返回null。list(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操做會返回null。listFiles(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操做會返回null。