1.String是基本資料型別么?
不是基本資料型別,byte int char long flout duable boolem short
2.int 和integer區別
int是基本資料型別,integer 是一個包裝類
3..JAVA中幾種集合(List、Set和Map)的區別?
list 和set 都繼承了colletion 介面
lis里包含arraylist 和linklist ,
區別:arrarylist 采用陣列形式保存物件的,物件在連續的位置中,缺點就是插入洗掉非常麻煩,
linklist 雙鏈表,物件存在獨立的空間中,保存下一個連接的索引,但查詢非常麻煩,從第一個索引開始擦尋,
4.HashMap和Hashtable的區別?
HashMap執行緒不安全,效率高,可以存盤null鍵值對,鏈表中的元素超過了8個后, 會將鏈表轉換為紅黑樹
Hashtable執行緒安全(每個方法中都加入了synchronized),效率低,不可以存盤null鍵值
5.list中常用的方法
remove (移除) add ,adds 添加陣列
6.public,friendly,protected,private的區別?
public權限最大
protect不同包的其他類不可用
friendly子類不能呼叫
(什么都不寫的時候) private只能本類呼叫
7.方法多載和重寫的區別?
多載在一個類里面方法名相同,引數不同的兩個方法
重寫是在不同類里面的而且必須是集成關系,回傳值型別和引數必須相同
8.equals方法跟==有什么區別
equals ():用來檢測兩個物件是否相等,即兩個物件的內容是否相等,.
==:用于比較參考和比較基本資料型別時具有不同的功能
9.靜態變數和實體變數的區別
類的靜態變數在記憶體中只有一個,而實體變數取決于類的實體,
每創建一個實體,就會生成一個實體變數,而且生命周期也不同
10.final,finally,finalize,friend的區別?
friend表示在碧昂輛中沒有任何修飾符
final是一個關鍵字,定義完變數就不能改變了,
finally是處理 例外用到的,
finalize是一個垃圾回收器準備釋放記憶體方法
11.String能否被繼承?
不能被繼承,因為它是final,常量
12.Final類有什么特點?
屬性常量 方法不可以overridding類 不可以繼承
13.例外和錯誤的區別
Error表示系統級的錯誤和程式不必處理的例外,
Exception表示需要捕捉或者需要程式進行處理的例外
14..super()與this()的區別?
this呼叫本類的物件,super()呼叫父類的物件,
15.java的核心優勢是什么?
電腦和電腦之間通過互聯網連在了一起,但是沒個電腦的系統都不一樣,
這個時候我們需要一個語言可以在任何的系統上面跑,就出了java語言跨平臺么,
而且java發展悠久所以java遇到的問題比較完善,
16.解釋一下執行緒和行程?
一個程式員需要最少需要一個行程,而一個行程最少需要一個執行緒,所以執行緒是程式執行的最小單位,
17.普通類和抽象類有哪些區別?
普通類不能包含抽象?法,抽象類可以包含抽象?法,
抽象類不能直接實體化,普通類可以直接實體化,
18.String,Stringbuffer,StringBuilder的區別
String:
String類是一個不可變的類,一旦創建就不可以修改,
String是final類,不能被繼承
String實作了equals()方法和hashCode()方法
StringBuffer:
繼承自AbstractStringBuilder,是可變類,
StringBuffer是執行緒安全的
可以通過append方法動態構造資料,
StringBuilder:
繼承自AbstractStringBuilder,是可變類,
StringBuilder是非線性安全的,
執行效率比StringBuffer高,
19.Java獲取反射的三種方法:
第一種,使用 Class.forName 靜態方法,
第二種,使用類的.class 方法
第三種,使用實體物件的 getClass() 方法,
20.Java 中 hash 值的含義
hash 值主要是用來在散列存盤結構中確定物件的存盤地址的,提高物件的查詢效率,如HashMap、
HashTable等;
如果兩個物件相同,那么這兩個物件的 hash 值一定相等;
如果要重寫物件的 equals 方法,那么盡量重寫物件的 hashCode 方法;
兩個物件的 hash 值相等,并不一定表示兩個物件相同,
21.hashmap 原理
資料結構是陣列和鏈表的結合,key和value值都允許為空,key為null的鍵值對永遠放在以table【0】
為結點的鏈表中,
22.java多執行緒中sleep和wait的4個區別
sleep是執行緒中的方法,但是wait是Object中的方法,sleep方法不會釋放lock,但是wait會釋放,
而且會加入到等待佇列中,
sleep不需要被喚醒,但是wait需要
23.MVC
MVC是一種設計模式,將軟體分為三層,分別是模型層,視圖層,控制器層,其中模型層代表的是資料,
視圖層代表的是界面,
控制器層代表的是邏輯處理,是連接視圖與模型之前的橋梁,降低耦合,便于代碼的維護
24什么是多執行緒?
多執行緒是指程式中包含多個流,即在一個程式中可以同時進行多個不同的執行緒來執行不同的任務
25.多執行緒的優劣?
? 優點:可以提高CPU利用率, 提高了程式的效率, 單個程式可以創建多個不同的執行緒來完成各自的任務
? 缺點:執行緒也是程式,需要占據記憶體.多執行緒需要協調和管理,所以需要CPU跟蹤執行緒
26.并發和并行的區別
并發:多個任務在同一個CPU上,按照細分的時間片段輪流交替執行.
? 并行:單位時間內,多個處理器或者多核處理器同時處理多個任務,真正意義上的同時進行
27.創建執行緒的四種方式
? 繼承Thread類
? 實作Runnable介面
? 實作Callable介面
? Executors工具類創建執行緒池
28.run()方法和start()方法有什么區別
? start()方法用于啟動執行緒, run()方法用于執行執行緒的運行代碼, run()可以反復呼叫, 而start() 方法只能被呼叫一次
? 呼叫start()方法啟動執行緒可以使執行緒進入就緒狀態, 等待運行; run()方法只是thread的一個普通方法呼叫, 還是在主執行緒里執行.
29.sleep()和wait()有什么區別
? 相同:兩者都可以使執行緒進入等待狀態
? 不同:sleep()是Thread類下的靜態方法, wait()是Object類下的方法
? sleep()不釋放鎖, wait()釋放鎖
? wait()常用語執行緒之間的通信, sleep()常用語暫停執行
30.IO流是用來處理設備之間傳輸資料,下載檔案,上傳檔案
輸入流:程式從輸入流中讀取資料,
輸出流:程式向輸出流寫入資料,程式將資料輸出到外界
31.SpringMVC運行原理
客戶端請求提交到DispatcherServlet
由DispatcherServlet控制器查詢HandlerMapping,找到并分發到指定的Controller中,
Controller呼叫業務邏輯處理后,回傳ModelAndView
DispatcherServlet查詢一個或多個ViewResoler視圖決議器,找到ModelAndView指定的視圖
視圖負責將結果顯示到客戶端
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499405.html
標籤:Java
上一篇:程式控制
下一篇:零基礎學Java(6)控制流程
