行業動态

了(le/liǎo)解最新公司動态及行業資訊

當前位置:首頁>新聞中心>行業動态
全部 471 公司動态 136 行業動态 173

Java初級開發必背面試題(一(yī / yì /yí))(java開發)java開發面試題及答案csdn,

時(shí)間:2025-03-30   訪問量:1004

一(yī / yì /yí)、Java基礎語法

1. JDK和(hé / huò)JRE的(de)區别

JDK

(Java開發工具包):包含JRE + 編譯器(javac)、調試工具(jdb)、文檔生成工具(javadoc)等開發工具,适合程序員編寫代碼。

JRE

(Java運行環境):僅包含Java虛拟機(JVM)和(hé / huò)核心類庫,适合普通用戶運行Java程序。

通俗理解:JDK是(shì)「廚房全套工具」,JRE是(shì)「微波爐加熱剩飯」的(de)簡單工具。

2. Java基本數據類型

類型

關鍵字

大(dà)小

示例值

整型

int

4字節

42

長整型

long

8字節

100000L

浮點型

float

4字節

3.14f

雙精度型

double

8字節

3.1415926

字符型

char

2字節

A

布爾型

boolean

1位

true/false

3. 自動裝箱與拆箱

裝箱:基本類型 → 包裝類(如 intInteger

Integer num = 10; // 自動裝箱

拆箱:包裝類 → 基本類型(如 Integerint

int value = num; // 自動拆箱

常見坑點:Integer比較用equals()而(ér)非==,因爲(wéi / wèi)==比較的(de)是(shì)對象地(dì / de)址。

二、面向對象編程

1. 類與對象的(de)關系

:模闆(如「汽車設計圖」),定義屬性和(hé / huò)方法。

對象:實例(如「一(yī / yì /yí)輛特斯拉Model 3」),根據類創建的(de)具體實體。

2. 面向對象三大(dà)特性

1. 封裝:隐藏内部細節(如用private修飾屬性,通過get/set方法訪問)。2. 繼承:子(zǐ)類複用父類功能(如Dog extends Animal)。3. 多态:同一(yī / yì /yí)方法不(bù)同實現(如Animal a = new Dog(); a.sound()調用狗的(de)叫聲)。

3. 抽象類與接口的(de)區别

特性

抽象類

接口

方法

可包含具體方法

JDK8前隻能有抽象方法

變量

可包含非final變量

默認public static final

繼承

單繼承

多實現

設計目的(de)

代碼複用

定義行爲(wéi / wèi)規範

三、集合框架

1. ArrayList vs LinkedList

對比項

ArrayList

LinkedList

底層結構

動态數組

雙向鏈表

随機訪問

O(1)(快)

O(n)(慢)

插入/删除

O(n)(尾部快)

O(1)(任意位置快)

适用場景:頻繁查詢用ArrayList,頻繁增删用LinkedList。

2. HashMap工作原理

存儲結構

:數組+鏈表/紅黑樹(JDK8後鏈表長度≥8時(shí)轉紅黑樹)。

哈希沖突:通過hashCode()計算桶位置,不(bù)同對象可能哈希值相同,用equals()

判斷是(shì)否重複。

擴容機制:默認負載因子(zǐ)0.75,當元素數量超過容量*負載因子(zǐ)時(shí)擴容爲(wéi / wèi)2倍。

四、異常處理

1. try-catch-finally執行順序

try { // 可能出(chū)錯的(de)代碼 } catch (IOException e) { // 處理IO異常 } finally { // 無論是(shì)否異常都會執行(常用于(yú)關閉資源) }

注意:若try或catch中有return,finally會在(zài)返回前執行。

2. 自定義異常

class MyException extends Exception { public MyException(String message) { super(message); } } // 使用示例 throw new MyException("自定義錯誤信息");

五、多線程基礎

1. 創建線程的(de)兩種方式

1. 繼承Thread類class MyThread extends Thread { public void run() { System.out.println("線程執行"); } } new MyThread().start();2. 實現Runnable接口(更推薦,避免單繼承限制)Runnable task = () -> System.out.println("線程執行"); new Thread(task).start();

2. synchronized關鍵字

作用

:保證同一(yī / yì /yí)時(shí)間隻有一(yī / yì /yí)個(gè)線程執行代碼塊。

• 示例: public synchronized void add() { count++; } // 同步方法 synchronized (lock) { count++; } // 同步代碼塊

六、數據庫與JDBC

1. JDBC連接步驟

1. 加載驅動:Class.forName("com.mysql.jdbc.Driver");2. 建立連接:Connection conn = DriverManager.getConnection(url, user, pwd);3. 創建Statement:Statement stmt = conn.createStatement();4. 執行查詢:ResultSet rs = stmt.executeQuery("SELECT * FROM table");5. 處理結果:while (rs.next()) { ... }6. 關閉資源:rs.close(); stmt.close(); conn.close();

2. 事務的(de)ACID特性

原子(zǐ)性

(Atomicity):事務要(yào / yāo)麽全部完成,要(yào / yāo)麽全部回滾。

一(yī / yì /yí)緻性

(Consistency):事務前後數據庫狀态合法。

隔離性

(Isolation):并發事務互不(bù)幹擾。

持久性(Durability):事務提交後數據永久保存。

七、框架基礎(Spring)

1. Spring的(de)IoC和(hé / huò)DI

IoC(控制反轉)

:對象的(de)創建權交給Spring容器。

DI(依賴注入)

:通過構造函數、Setter方法或注解自動注入依賴。

示例:用@Autowired注解自動裝配Service層到(dào)Controller。

2. Spring Boot自動配置原理

1. 啓動時(shí)加載META-INF/spring.factories文件中的(de)配置類。2. 通過條件注解(如@ConditionalOnClass)判斷是(shì)否生效。3. 自動創建并裝配Bean到(dào)Spring容器。

以(yǐ)上(shàng)爲(wéi / wèi)Java初級面試的(de)核心考點。建議結合實際代碼練習,例如手寫單例模式、實現線程安全的(de)計數器等,加深理解。

上(shàng)一(yī / yì /yí)篇:軟件測試的(de)定義與意義(軟件測試)軟件測試的(de)目的(de)和(hé / huò)準則怎麽寫,

下一(yī / yì /yí)篇:京東方A獲得發明專利授權:“Java應用運行方法、裝置、介質及電子(zǐ)設備”蜀漢亡後,關二爺家族被滅門,爲(wéi / wèi)何張飛家族平安無事?(java開發)京東方a是(shì)什麽公司在(zài)哪裏,

在(zài)線咨詢

點擊這(zhè)裏給我發消息 售前咨詢專員

點擊這(zhè)裏給我發消息 售後服務專員

在(zài)線咨詢

免費通話

24小時(shí)免費咨詢

請輸入您的(de)聯系電話,座機請加區号

免費通話

微信掃一(yī / yì /yí)掃

微信聯系
返回頂部