日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 面试题 简书_java面试题

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 面试题 简书_java面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.面向對象的三大基本特性:

封裝:也就是把客觀事物封裝成抽象的類(向上抽象),并且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏(訪問權限)。

繼承:是指這樣一種能力:它可以使用現有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進行擴展。

多態:是指父類的引用指向子類的對象(向上轉型),需要子類的特有功能時就向下轉型。

2.多態的兩種表現形式

重載:是發生在同一類中,具有相同的方法名,參數的個數,類型,順序不同

重寫:是發生在兩個類中(父類和子類),具有相同的方法名,參數的個數,參數,類型相同

3.常見排序算法

冒泡排序

/**

* 比較相鄰的元素,如果前一個比后一個大,就把它們兩個調換位置

*

* @param arr

* @return

*/

private int[] bubbleSort(int[] arr) {

for (int i = 0; i < arr.length; i++) {

for (int j = 0; j < arr.length - 1; j++) {

if (arr[j] > arr[j + 1]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

return arr;

}

選擇排序

/**

* 遍歷整個序列,將最小的數放在最前面

*

* @param arr

* @return

*/

private int[] selectionSort(int[] arr) {

for (int i = 0; i < arr.length; i++) {

int temp = arr[i];

int tempPosition = i;

for (int j = i + 1; j < arr.length; j++) {

if (arr[j] < temp) {

temp = arr[j];

tempPosition = j;

}

}

arr[tempPosition] = arr[i];

arr[i] = temp;

}

return arr;

}

插入排序

/**

* 將第一個數和第二個數排序,然后構成一個有序序列將第三個數插入進去,構成一個新的有序序列。對第四個數、第五個數……直到最后一個數,重復第二步。

*

* @param arr

* @return

*/

private int[] insertSort(int[] arr) {

int temp;

for (int i = 1; i < arr.length; i++) {

temp = arr[i];

int j = i - 1;

while (j < 0 && arr[j] > temp) {

arr[j + 1] = arr[j];

j--;

}

arr[j + 1] = temp;

}

return arr;

}

4.String StringBuffer StringBuilder

這三個類之間的區別主要是在兩個方面,即運行速度和線程安全這兩方面。運行速度快慢為:StringBuilder > StringBuffer > String,因為String為字符串常量,而StringBuilder和StringBuffer均為字符串變量,即String對象一旦創建之后該對象是不可更改的,但后兩者的對象是變量,是可以更改的。 在線程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的

String:適用于少量的字符串操作的情況

StringBuffer:適用多線程下在字符緩沖區進行大量操作的情況

StringBuilder:適用于單線程下在字符緩沖區進行大量操作的情況

5.List Set Map

List 提供了一個有序且有索引的容器,它允許重復值的出現。Set 提供了一個無序的唯一對象的容器,也就是說,Set 不允許重復值,而 Map 提供的則是一個基于鍵值對以及哈希的數據結構。

Java 中 List 接口最流行的幾個實現類是 ArrayList、LinkedList 和 Vector。

Set 接口最流行的幾個實現類是 HashSet、LinkedHashSet 以及 TreeSet。

Map 接口最流行的幾個實現類是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。

如果你經常會使用索引來對容器中的元素進行訪問,那么 List 是你的正確的選擇。如果你已經知道索引了的話,那么 List 的實現類比如 ArrayList 可以提供更快速的訪問。

如果你想容器中的元素能夠按照它們插入的次序進行有序存儲,那么還是 List,因為 List 是一個有序容器,它按照插入順序進行存儲。

如果你想保證插入元素的唯一性,也就是你不想有重復值的出現,那么可以選擇一個 Set 的實現類,比如 HashSet、LinkedHashSet 或者 TreeSet。所有 Set 的實現類都遵循了統一約束比如唯一性,而且還提供了額外的特性比如 TreeSet 還是一個 SortedSet,所有存儲于 TreeSet 中的元素可以使用 Java 里的 Comparator 或者 Comparable 進行排序。LinkedHashSet 也按照元素的插入順序對它們進行存儲。

如果你以鍵和值的形式進行數據存儲那么 Map 是你正確的選擇。你可以根據你的后續需要從 Hashtable、HashMap、TreeMap 中進行選擇。

6.抽象類和接口的區別

一個類只能繼承一個抽象類,而一個類可以實現多個接口

抽象類中可以含有抽象方法和非抽象的方法,而接口中都是抽象的方法

抽象類中可以有各種類型的變量和方法而接口中的成員變量只能是public static final類型的

抽象類中可以有靜態代碼塊和靜態方法,接口中不能有靜態代碼塊和靜態方法

7.java四種引用類型(怎樣理解gc垃圾回收機制)

強引用(必不可少) 垃圾回收器絕對不會回收它。如Object obj = new Object(); obj便是內存不足時,java虛擬機寧愿拋出OutofMemorryError錯誤導致程序崩潰異常終止,也 不會回收強引用的對象。

軟引用(可有可無)如果內存空間足夠,垃圾回收就不會回收它,如果內存空間不足了,就會回收這些對象的內存

弱引用(可有可無)垃圾回收器一旦發現了只具有弱引用的對象,不管當前內存空間足夠與否,都會回收它的內存,當發生GC的時候,弱引用的對象總是被回收

虛引用 當垃圾回收器準備回收一個對象時,如果發現它還有虛引用,就會在回收對象的內存之前把這個虛引用加入到與之前關聯的引用隊列中。與弱引用不同點就是虛引用必須和引用隊列聯合使用。

8.單例種類和各自優缺點

餓漢式單例類,在類初始化時,已經自行實例化

此類加載時就初始化,單例對象較大時會影響系統加載速度

public class Singleton {

private Singleton() {}

private static final Singleton singleton = new Singleton();

public static Singleton getInstance() {

return singleton;

}

}

懶漢式單例類,只有訪問到單例對象的時候才去檢查和實例化單例對象

多線程訪問需要加同步鎖影響訪問效率

public class Singleton {

private Singleton() {}

private static Singleton singleton = null;

public synchronized static Singleton getInstance() {

if (singleton == null) {

singleton = new Singleton();

}

return singleton;

}

}

登記式單例類,使用靜態內部類作為Singleton容器

特點:能延遲加載,又能保證線程安全 原理是直接用classLoader(jvm類加載機制) 進行異步加鎖的問題,并減少了內存消耗保證了初始化instance時只有一個線程,所以是線程安全的

public class Singleton {

private Singleton() {}

private static class SingletonHolder {

private static Singleton singleton = new Singleton();

}

public static Singleton getInstance() {

return SingletonHolder.singleton;

}

}

總結

以上是生活随笔為你收集整理的java 面试题 简书_java面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 韩国禁欲系高级感电影 | 日韩欧美二区 | 欧洲亚洲一区 | 澳门黄色网 | 欧美一区二区福利 | 樱花视频在线免费观看 | 日日射日日操 | 少妇网站在线观看 | jlzzjlzz亚洲女人18| 亚洲一级二级三级 | 精品久久久99 | 91精品国产综合久久久久 | 中国女人内谢69xxxxⅹ视频 | 在线天堂www在线国语对白 | 91射| 中文字幕精品一区二区精 | 中文在线√天堂 | 91精品国产综合久久久久久久 | 日本人妻换人妻毛片 | 女性裸体瑜伽无遮挡 | 国产精品999999 | 亚洲综合激情在线 | av国产精品 | 99热这里只有精品99 | 黄色网一级片 | 亚洲私人影院 | 日韩激情视频在线观看 | 久久综合亚洲色hezyo国产 | 国产xxxxx视频 | 国产又黄又猛又爽 | 欧美午夜精品一区二区三区电影 | 青娱乐av在线 | 99热这里只有精品18 | 精品视频免费在线观看 | 欧美另类视频在线观看 | 嫩草午夜少妇在线影视 | 天堂久久网 | 伊人久久中文字幕 | 午夜视频免费观看 | 欧美亚洲精品天堂 | 久久精品在线播放 | 人人艹视频| 在线成人观看 | 国产原创精品 | 中文字幕一区二区三区人妻电影 | 日干夜操| 欧美在线视频不卡 | 成人在线免费看片 | 高潮videossex高潮 | 久久久久黄色 | 国模精品一区 | 葵司免费一区二区三区四区五区 | 日韩欧美在线一区二区三区 | 欧美人体一区二区三区 | 日韩国产欧美综合 | 在线观看www视频 | 校园春色亚洲激情 | 深夜福利电影 | 日韩一级在线 | 少妇的激情 | 欧美性教育视频 | 日韩经典一区二区三区 | 免费国产成人 | 可以免费看毛片的网站 | 欧美在线免费 | 亚洲熟妇中文字幕五十中出 | 女人的洗澡毛片毛多 | 性欧美久久久 | 日本中文字幕在线视频 | 成人一区二区电影 | 亚洲精品一区二区潘金莲 | 精品人妻一区二区三区蜜桃 | 国产亚洲精品久久久久婷婷瑜伽 | 国产麻豆一区 | 五级 黄 色 片 | 国产精品毛片久久久久久 | 国产男男一区二区三区 | 亚洲午夜福利在线观看 | 韩国福利一区 | 在线看日韩 | 成年人视频免费在线观看 | 国产精品美女久久久免费 | 网站免费黄色 | 亚洲欧洲免费无码 | 成人午夜免费福利视频 | 日韩中文字幕在线视频 | 中文字幕在线观看欧美 | 91影院在线播放 | 久久成人黄色 | 亚洲成人精品在线播放 | 亚洲精品水蜜桃 | 五月婷久久 | 91偷拍精品一区二区三区 | 日韩精品电影网 | 制服丝袜在线看 | 一级做a爱片久久 | 三级视频网址 | 一本视频| 国产网红在线观看 |