最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java JDBC數(shù)據(jù)庫(kù)連接失敗的7種常見原因及解決方案

 更新時(shí)間:2025年11月24日 09:50:23   作者:GatherTide  
Java JDBC(Java Database Connectivity)是Java平臺(tái)中用于執(zhí)行SQL語(yǔ)句的標(biāo)準(zhǔn)API,它為開發(fā)者提供了與各種關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行交互的能力,本文為大家介紹了Java JDBC數(shù)據(jù)庫(kù)連接失敗的7種常見原因及解決方案,需要的朋友可以參考下

第一章:Java JDBC數(shù)據(jù)庫(kù)連接概述

Java JDBC(Java Database Connectivity)是Java平臺(tái)中用于執(zhí)行SQL語(yǔ)句的標(biāo)準(zhǔn)API,它為開發(fā)者提供了與各種關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行交互的能力。JDBC通過統(tǒng)一的接口屏蔽了底層數(shù)據(jù)庫(kù)的差異,使得應(yīng)用程序可以在不修改代碼的情況下切換不同的數(shù)據(jù)庫(kù)系統(tǒng)。

JDBC的核心組件

  • DriverManager:負(fù)責(zé)管理JDBC驅(qū)動(dòng)程序,在建立數(shù)據(jù)庫(kù)連接時(shí)選擇合適的驅(qū)動(dòng)。
  • Connection:代表與數(shù)據(jù)庫(kù)的會(huì)話連接,用于創(chuàng)建執(zhí)行SQL語(yǔ)句的對(duì)象。
  • Statement:用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回結(jié)果。
  • PreparedStatement:預(yù)編譯SQL語(yǔ)句,支持參數(shù)化查詢,有效防止SQL注入。
  • ResultSet:封裝了SQL查詢的結(jié)果集,提供逐行訪問數(shù)據(jù)的方法。

建立JDBC連接的基本步驟

  1. 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(如MySQL的com.mysql.cj.jdbc.Driver)。
  2. 通過DriverManager獲取Connection對(duì)象。
  3. 創(chuàng)建Statement或PreparedStatement執(zhí)行SQL。
  4. 處理ResultSet結(jié)果集(如果是查詢操作)。
  5. 關(guān)閉資源以釋放數(shù)據(jù)庫(kù)連接。

示例:連接MySQL數(shù)據(jù)庫(kù)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JdbcExample {
    public static void main(String[] args) {
        // 數(shù)據(jù)庫(kù)連接URL(MySQL示例)
        String url = "jdbc:mysql://localhost:3306/testdb";
        String username = "root";
        String password = "password";

        try {
            // 加載驅(qū)動(dòng)(新版JDBC可省略)
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立連接
            Connection conn = DriverManager.getConnection(url, username, password);
            System.out.println("數(shù)據(jù)庫(kù)連接成功!");

            // 在此處可執(zhí)行SQL操作

            conn.close(); // 關(guān)閉連接
        } catch (ClassNotFoundException e) {
            System.err.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)未找到:" + e.getMessage());
        } catch (SQLException e) {
            System.err.println("數(shù)據(jù)庫(kù)連接失?。? + e.getMessage());
        }
    }
}
數(shù)據(jù)庫(kù)類型JDBC驅(qū)動(dòng)類連接URL格式
MySQLcom.mysql.cj.jdbc.Driverjdbc:mysql://host:port/database
PostgreSQLorg.postgresql.Driverjdbc:postgresql://host:port/database
Oracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@host:port:service

第二章:JDBC連接異常的常見類型與診斷

2.1 驅(qū)動(dòng)類未找到異常(ClassNotFoundException)原理與實(shí)戰(zhàn)排查

異常成因分析

`ClassNotFoundException` 發(fā)生在 JVM 試圖加載某類但無法在 classpath 中定位該類時(shí),常見于數(shù)據(jù)庫(kù)驅(qū)動(dòng)、第三方庫(kù)缺失或依賴版本不一致。

典型場(chǎng)景示例

Class.forName("com.mysql.cj.jdbc.Driver");

若未引入 mysql-connector-java 依賴,則拋出 `ClassNotFoundException`。需確保 Maven 中包含:

  1. 檢查 pom.xml 是否聲明正確依賴
  2. 驗(yàn)證運(yùn)行時(shí) classpath 是否包含驅(qū)動(dòng) JAR

排查流程圖

開始 → 檢查依賴配置 → 驗(yàn)證類路徑 → 查看類加載器 → 定位缺失類 → 結(jié)束

解決方案匯總

步驟操作
1確認(rèn)依賴已添加至構(gòu)建文件(Maven/Gradle)
2執(zhí)行 mvn dependency:tree 檢查依賴樹是否完整

2.2 數(shù)據(jù)庫(kù)連接失敗異常(SQLException)的根源分析與解決

數(shù)據(jù)庫(kù)連接失敗是應(yīng)用開發(fā)中常見的運(yùn)行時(shí)問題,通常由網(wǎng)絡(luò)配置、認(rèn)證信息錯(cuò)誤或驅(qū)動(dòng)不兼容引發(fā)。

常見觸發(fā)原因

  • 數(shù)據(jù)庫(kù)服務(wù)未啟動(dòng)或端口被防火墻屏蔽
  • URL格式錯(cuò)誤,如主機(jī)名或端口號(hào)拼寫失誤
  • 用戶名或密碼無效
  • JDBC驅(qū)動(dòng)版本與數(shù)據(jù)庫(kù)不匹配

代碼示例與診斷

String url = "jdbc:mysql://localhost:3306/mydb";
try (Connection conn = DriverManager.getConnection(url, "user", "pass")) {
    // 執(zhí)行操作
} catch (SQLException e) {
    System.err.println("SQLState: " + e.getSQLState());
    System.err.println("Error Code: " + e.getErrorCode());
    System.err.println("Message: " + e.getMessage());
}

上述代碼通過捕獲 SQLException 并輸出 SQLState 和錯(cuò)誤碼,有助于區(qū)分是連接拒絕(SQLState: 08S01)還是認(rèn)證失敗(SQLState: 28000)。

排查建議流程

連接測(cè)試 → 憑證驗(yàn)證 → 驅(qū)動(dòng)檢查 → 網(wǎng)絡(luò)連通性確認(rèn)

2.3 連接超時(shí)異常(ConnectTimeoutException)的網(wǎng)絡(luò)層面排查與優(yōu)化

當(dāng)應(yīng)用拋出 `ConnectTimeoutException` 時(shí),通常意味著客戶端在指定時(shí)間內(nèi)未能完成與目標(biāo)服務(wù)端的 TCP 連接建立。該問題多源于網(wǎng)絡(luò)鏈路不穩(wěn)定、防火墻策略限制或目標(biāo)服務(wù)負(fù)載過高。

常見觸發(fā)場(chǎng)景

  • 目標(biāo)服務(wù)器帶寬飽和,無法響應(yīng) SYN 請(qǐng)求
  • 中間代理或 NAT 網(wǎng)關(guān)丟棄連接包
  • 本地 socket 出口連接數(shù)耗盡

TCP 連接超時(shí)參數(shù)調(diào)優(yōu)示例

# 調(diào)整 Linux 系統(tǒng)級(jí)連接嘗試超時(shí)(默認(rèn)約 20-30 秒)
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3

# 啟用快速回收(僅適用于 NAT 環(huán)境需謹(jǐn)慎)
net.ipv4.tcp_tw_reuse = 1

上述內(nèi)核參數(shù)可縮短連接重試周期,減少等待時(shí)間。`tcp_syn_retries=3` 表示最多重試 3 次 SYN 包,對(duì)應(yīng)實(shí)際超時(shí)約為 7 秒(1+2+4 秒),顯著低于默認(rèn)值。

應(yīng)用層客戶端配置建議

合理設(shè)置 HTTP 客戶端連接超時(shí)閾值,避免無限等待:

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.example.com"))
    .timeout(Duration.ofSeconds(5)) // 顯式設(shè)置連接超時(shí)
    .build();

通過設(shè)置 5 秒超時(shí),可在網(wǎng)絡(luò)異常時(shí)快速失敗,提升整體服務(wù)彈性。

2.4 用戶名或密碼錯(cuò)誤異常的驗(yàn)證機(jī)制與安全配置實(shí)踐

在身份認(rèn)證系統(tǒng)中,對(duì)“用戶名或密碼錯(cuò)誤”異常的合理處理至關(guān)重要,既要防止信息泄露,又要抵御暴力 破解攻擊。

統(tǒng)一錯(cuò)誤提示增強(qiáng)安全性

應(yīng)避免返回具體失敗原因(如“用戶不存在”或“密碼錯(cuò)誤”),統(tǒng)一提示“用戶名或密碼錯(cuò)誤”,防止攻擊者枚舉有效賬戶。

// Go 示例:統(tǒng)一認(rèn)證失敗響應(yīng)
func authenticate(username, password string) error {
    user := findUserByUsername(username)
    if user == nil || !checkPassword(user, password) {
        return fmt.Errorf("invalid credentials") // 統(tǒng)一錯(cuò)誤信息
    }
    return nil
}

該代碼通過合并判斷條件,確保無論用戶是否存在,均返回相同錯(cuò)誤,增加攻擊成本。

登錄失敗限制策略

  • 連續(xù)5次失敗后鎖定賬戶15分鐘
  • 或啟用指數(shù)延遲(首次1秒,第二次2秒,依此類推)

安全配置建議

配置項(xiàng)推薦值說明
最大嘗試次數(shù)5觸發(fā)鎖定閾值
鎖定時(shí)長(zhǎng)900秒防止自動(dòng)化攻擊

2.5 空連接異常(NullPointerException)在資源管理中的典型場(chǎng)景與規(guī)避策略

常見觸發(fā)場(chǎng)景

在資源管理中,空連接異常常出現(xiàn)在未正確初始化數(shù)據(jù)庫(kù)連接、文件流或網(wǎng)絡(luò)套接字時(shí)。例如,配置加載失敗導(dǎo)致數(shù)據(jù)源為 null,后續(xù)調(diào)用 getConnection() 將直接拋出 NullPointerException。

代碼示例與分析

DataSource dataSource = Config.getDataSource();
// 可能返回 null
Connection conn = dataSource.getConnection(); 
// 觸發(fā) NullPointerException

上述代碼未對(duì) dataSource 做非空校驗(yàn)。若配置缺失或解析失敗,dataSource 為 null,調(diào)用其方法將引發(fā)運(yùn)行時(shí)異常。

規(guī)避策略

  • 使用 Optional 包裝可能為空的對(duì)象
  • 在資源獲取后立即進(jìn)行 null 檢查并拋出有意義的異常
  • 采用依賴注入框架(如 Spring)管理資源生命周期

第三章:核心異常處理機(jī)制與最佳實(shí)踐

3.1 try-catch-finally 模式在JDBC中的規(guī)范應(yīng)用

在JDBC編程中,資源泄漏是常見問題。使用 `try-catch-finally` 模式可確保數(shù)據(jù)庫(kù)連接、語(yǔ)句和結(jié)果集被正確釋放。

資源管理的典型結(jié)構(gòu)

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
    conn = DriverManager.getConnection(url, user, password);
    stmt = conn.prepareStatement("SELECT * FROM users");
    rs = stmt.executeQuery();
    while (rs.next()) {
        System.out.println(rs.getString("name"));
    }
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    if (rs != null) try { rs.close(); } catch (SQLException e) {}
    if (stmt != null) try { stmt.close(); } catch (SQLException e) {}
    if (conn != null) try { conn.close(); } catch (SQLException e) {}
}

上述代碼通過 finally 塊確保所有JDBC資源在使用后被關(guān)閉,即使發(fā)生異常也能執(zhí)行清理邏輯。每個(gè)關(guān)閉操作都包裹在獨(dú)立的 try-catch 中,防止一個(gè)關(guān)閉異常影響其他資源釋放。

異常處理的分層策略

  • SQLException 可能發(fā)生在連接、執(zhí)行或遍歷結(jié)果集階段
  • finally 塊中的異常應(yīng)被單獨(dú)捕獲,避免掩蓋主業(yè)務(wù)異常
  • 推薦記錄日志而非僅打印堆棧

3.2 使用try-with-resources實(shí)現(xiàn)自動(dòng)資源釋放

在Java中,資源管理是開發(fā)過程中不可忽視的重要環(huán)節(jié)。傳統(tǒng)的try-finally方式雖然能確保資源被關(guān)閉,但代碼冗長(zhǎng)且易出錯(cuò)。Java 7引入的try-with-resources機(jī)制,極大簡(jiǎn)化了這一流程。

語(yǔ)法結(jié)構(gòu)與核心優(yōu)勢(shì)

該語(yǔ)句要求資源實(shí)現(xiàn)AutoCloseable接口,聲明在try后的括號(hào)內(nèi),JVM會(huì)自動(dòng)調(diào)用其close()方法。

try (FileInputStream fis = new FileInputStream("data.txt");
     BufferedInputStream bis = new BufferedInputStream(fis)) {
    int data;
    while ((data = bis.read()) != -1) {
        System.out.print((char) data);
    }
} // 自動(dòng)關(guān)閉fis和bis

上述代碼中,FileInputStreamBufferedInputStream均實(shí)現(xiàn)了AutoCloseable。JVM按聲明逆序自動(dòng)關(guān)閉資源,避免了資源泄漏。

異常處理行為

當(dāng)try塊和自動(dòng)關(guān)閉過程均拋出異常時(shí),try塊中的異常會(huì)被優(yōu)先拋出,關(guān)閉異常則被抑制并可通過getSuppressed()方法獲取。

3.3 自定義異常封裝提升代碼可維護(hù)性

在大型系統(tǒng)開發(fā)中,統(tǒng)一的錯(cuò)誤處理機(jī)制是保障代碼可維護(hù)性的關(guān)鍵。通過自定義異常類,可以精準(zhǔn)標(biāo)識(shí)業(yè)務(wù)場(chǎng)景中的特定錯(cuò)誤,提升調(diào)試效率。

自定義異常類設(shè)計(jì)

以 Java 為例,封裝一個(gè)業(yè)務(wù)異常:

public class BusinessException extends RuntimeException {
    private final String errorCode;

    public BusinessException(String message, String errorCode) {
        super(message);
        this.errorCode = errorCode;
    }

    public String getErrorCode() {
        return errorCode;
    }
}

該類繼承 RuntimeException,添加了 errorCode 字段用于追蹤錯(cuò)誤類型,便于日志分析和前端識(shí)別。

異常分類管理

  • 參數(shù)校驗(yàn)異常:InvalidParamException
  • 權(quán)限異常:UnauthorizedException
  • 資源未找到:ResourceNotFoundException

第四章:典型數(shù)據(jù)庫(kù)連接問題實(shí)戰(zhàn)解決方案

4.1 MySQL驅(qū)動(dòng)版本不兼容問題的識(shí)別與升級(jí)方案

在Java或Python等應(yīng)用連接MySQL數(shù)據(jù)庫(kù)時(shí),驅(qū)動(dòng)版本與數(shù)據(jù)庫(kù)服務(wù)器版本不匹配常導(dǎo)致連接失敗或功能異常。典型表現(xiàn)為拋出“Unknown system variable 'tx_isolation'”或“Connection refused”等錯(cuò)誤。

常見異常日志分析

此類問題多出現(xiàn)在MySQL 8.0+環(huán)境中使用5.x系列驅(qū)動(dòng)時(shí)。MySQL 8.0將默認(rèn)認(rèn)證插件從`mysql_native_password`更改為`caching_sha2_password`,舊版驅(qū)動(dòng)無法識(shí)別。

驅(qū)動(dòng)版本對(duì)照表

MySQL Server 版本推薦 JDBC 驅(qū)動(dòng)版本
5.7 及以下mysql-connector-java 5.1.x
8.0+mysql-connector-java 8.0.x

升級(jí)示例(Maven)

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

該配置將驅(qū)動(dòng)升級(jí)至8.0.33,兼容MySQL 8.0及以上版本,支持新的認(rèn)證協(xié)議和系統(tǒng)變量處理機(jī)制。

4.2 連接池配置不當(dāng)導(dǎo)致的連接泄漏修復(fù)(以HikariCP為例)

連接泄漏的常見誘因

在高并發(fā)場(chǎng)景下,若未正確配置 HikariCP 的最大連接數(shù)或連接超時(shí)時(shí)間,容易引發(fā)連接泄漏。典型表現(xiàn)為數(shù)據(jù)庫(kù)連接數(shù)持續(xù)增長(zhǎng),最終耗盡資源。

關(guān)鍵配置優(yōu)化

HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20);
config.setLeakDetectionThreshold(60000); // 啟用連接泄漏檢測(cè)(單位:毫秒)
config.setIdleTimeout(30000);
config.setMaxLifetime(1800000);

上述配置中,leakDetectionThreshold 設(shè)置為 60 秒,當(dāng)連接持有時(shí)間超過該閾值時(shí),HikariCP 將記錄警告日志,幫助定位未關(guān)閉的連接。

  • maximumPoolSize 避免過高,防止壓垮數(shù)據(jù)庫(kù)
  • maxLifetime 宜小于數(shù)據(jù)庫(kù)側(cè)連接超時(shí)時(shí)間
  • 啟用 leakDetectionThreshold 是診斷泄漏的關(guān)鍵手段

4.3 SSL連接拒絕異常的配置調(diào)整與證書信任鏈處理

在建立SSL/TLS連接時(shí),常見因證書信任鏈不完整或配置不當(dāng)導(dǎo)致連接被拒絕。此時(shí)需檢查服務(wù)端證書是否包含完整的中間證書鏈。

證書鏈完整性驗(yàn)證

使用OpenSSL命令驗(yàn)證遠(yuǎn)程服務(wù)證書鏈:

openssl s_client -connect api.example.com:443 -showcerts

輸出中需確認(rèn)服務(wù)器返回了葉證書及所有中間CA證書,缺失中間證書將導(dǎo)致客戶端無法構(gòu)建完整信任鏈。

Java應(yīng)用的信任庫(kù)配置

Java應(yīng)用依賴cacerts信任庫(kù),若自簽或私有CA證書未被收錄,需手動(dòng)導(dǎo)入:

keytool -import -alias internal-ca -file ca.crt -keystore $JAVA_HOME/lib/security/cacerts

執(zhí)行后輸入密鑰庫(kù)密碼(默認(rèn)為changeit),確保JVM運(yùn)行時(shí)能驗(yàn)證證書路徑。

常見修復(fù)措施

  • 合并證書鏈:將葉證書與中間證書按順序拼接至.crt文件
  • 啟用SNI:確??蛻舳嗽谖帐謺r(shí)指定主機(jī)名
  • 更新CA Bundle:定期同步系統(tǒng)級(jí)信任根證書

4.4 多環(huán)境(開發(fā)/測(cè)試/生產(chǎn))連接參數(shù)動(dòng)態(tài)化管理實(shí)踐

在微服務(wù)架構(gòu)中,不同環(huán)境的數(shù)據(jù)庫(kù)、緩存等連接參數(shù)差異顯著。為避免硬編碼帶來的維護(hù)成本,推薦采用配置中心或環(huán)境變量實(shí)現(xiàn)動(dòng)態(tài)加載。

配置文件結(jié)構(gòu)設(shè)計(jì)

通過環(huán)境變量指定當(dāng)前運(yùn)行環(huán)境,加載對(duì)應(yīng)配置:

{
  "development": {
    "database_url": "localhost:5432",
    "redis_host": "127.0.0.1"
  },
  "production": {
    "database_url": "prod-db.cluster.xyz",
    "redis_host": "cache.prod.internal"
  }
}

該結(jié)構(gòu)便于擴(kuò)展,結(jié)合 NODE_ENV 或 SPRING_PROFILES_ACTIVE 動(dòng)態(tài)讀取。

優(yōu)先級(jí)策略

  • 環(huán)境變量?jī)?yōu)先于本地配置文件
  • 配置中心(如Nacos、Consul)用于集中管控生產(chǎn)參數(shù)
  • 本地配置僅用于開發(fā)調(diào)試

第五章:總結(jié)與進(jìn)階學(xué)習(xí)建議

持續(xù)構(gòu)建項(xiàng)目以鞏固技能

真實(shí)項(xiàng)目是檢驗(yàn)技術(shù)掌握程度的最佳方式。例如,使用 Go 構(gòu)建一個(gè)輕量級(jí) REST API 服務(wù),并集成 JWT 認(rèn)證和 PostgreSQL 數(shù)據(jù)庫(kù):

package main

import (
    "net/http"
    "github.com/gorilla/mux"
    "github.com/dgrijalva/jwt-go"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/api/login", loginHandler).Methods("POST")
    r.Handle("/api/data", jwtMiddleware(dataHandler)).Methods("GET")
    http.ListenAndServe(":8080", r)
}

參與開源與社區(qū)協(xié)作

貢獻(xiàn)開源項(xiàng)目能顯著提升代碼質(zhì)量和工程思維。推薦從以下方向入手:

  • 在 GitHub 上為 Go-Kit 或 Gin Web Framework 提交文檔修正
  • 參與 CNCF 項(xiàng)目的測(cè)試用例編寫
  • 修復(fù)他人報(bào)告的簡(jiǎn)單 bug,學(xué)習(xí)大型項(xiàng)目結(jié)構(gòu)

系統(tǒng)化學(xué)習(xí)路徑推薦

學(xué)習(xí)領(lǐng)域推薦資源實(shí)踐目標(biāo)
分布式系統(tǒng)《Designing Data-Intensive Applications》實(shí)現(xiàn)簡(jiǎn)易版分布式鍵值存儲(chǔ)
Kubernetes 擴(kuò)展KubeBuilder 文檔開發(fā)自定義 Operator

建立性能調(diào)優(yōu)習(xí)慣

在生產(chǎn)環(huán)境中,應(yīng)定期執(zhí)行 profiling 分析。使用 pprof 工具收集 CPU 和內(nèi)存數(shù)據(jù):

  1. 在服務(wù)中啟用 /debug/pprof 端點(diǎn)
  2. 通過 go tool pprof http://localhost:8080/debug/pprof/heap 獲取內(nèi)存快照
  3. 分析熱點(diǎn)函數(shù)并優(yōu)化數(shù)據(jù)結(jié)構(gòu)或并發(fā)模型

以上就是Java JDBC數(shù)據(jù)庫(kù)連接失敗的7種常見原因及解決方案的詳細(xì)內(nèi)容,更多關(guān)于Java JDBC數(shù)據(jù)庫(kù)連接失敗的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringCloud LoadBalancer負(fù)載均衡策略與緩存機(jī)制詳解

    SpringCloud LoadBalancer負(fù)載均衡策略與緩存機(jī)制詳解

    這篇文章主要介紹了SpringCloud LoadBalancer負(fù)載均衡策略與緩存機(jī)制詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • MyBatis Plus中執(zhí)行原生SQL語(yǔ)句方法常見方案

    MyBatis Plus中執(zhí)行原生SQL語(yǔ)句方法常見方案

    MyBatisPlus提供了多種執(zhí)行原生SQL語(yǔ)句的方法,包括使用SqlRunner工具類、@Select注解和XML映射文件,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),本文給大家介紹MyBatis Plus中執(zhí)行原生SQL語(yǔ)句方法常見方案,感興趣的朋友一起看看吧
    2025-11-11
  • java中List接口的方法詳解

    java中List接口的方法詳解

    這篇文章主要介紹了java中List接口的方法詳解,List接口是繼承Collection接口,所以Collection集合中有的方法,List集合也繼承過來,本文主要介紹一下list下的方法,需要的朋友可以參考下
    2023-10-10
  • IDEA導(dǎo)出暫存區(qū)(Shelf)的代碼的完整過程

    IDEA導(dǎo)出暫存區(qū)(Shelf)的代碼的完整過程

    IDEA 有一個(gè)很好用的功能,Shelve Changes...,可以將代碼暫時(shí)存起來,方便切換分支,或暫存代碼,先處理其他事情,本文就給大家介紹如何將暫存區(qū)的代碼,導(dǎo)出來,導(dǎo)入到另一個(gè)項(xiàng)目或者另一臺(tái)電腦上,需要的朋友可以參考下
    2025-10-10
  • elasticsearch插件開發(fā)教程

    elasticsearch插件開發(fā)教程

    這篇文章主要為大家詳細(xì)介紹了elasticsearch插件開發(fā)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 詳解在Java的Struts2框架中配置Action的方法

    詳解在Java的Struts2框架中配置Action的方法

    這篇文章主要介紹了詳解在Java的Struts2框架中配置Action的方法,講解了包括struts.xml中的action配置及基于注解方式Action配置的兩個(gè)方式,需要的朋友可以參考下
    2016-03-03
  • SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能

    SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能

    這篇文章主要為大家詳細(xì)介紹了SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java泛型 <T> T、 T、<T>的用法小結(jié)

    Java泛型 <T> T、 T、<T>的用法小結(jié)

    T在Java泛型中,被稱作類型變量, 有的方法返回值是<T> T,有的是T,區(qū)別在哪里,本文主要介紹了Java泛型 <T> T、 T、<T>的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解下
    2023-12-12
  • JAXB解析xml轉(zhuǎn)換成類的實(shí)現(xiàn)方式

    JAXB解析xml轉(zhuǎn)換成類的實(shí)現(xiàn)方式

    本文主要介紹了如何使用JAXB將XML配置項(xiàng)轉(zhuǎn)換為Java類,JAXB提供了多種注解,如@XmlRootElement、@XmlElement、@XmlElementWrapper、@XmlAttribute等,可以方便地將XML元素映射為Java對(duì)象,并且可以控制生成的XML結(jié)構(gòu),同時(shí),文章也提到了一些需要注意的問題
    2025-11-11
  • springboot+thymeleaf+shiro標(biāo)簽的實(shí)例

    springboot+thymeleaf+shiro標(biāo)簽的實(shí)例

    這篇文章主要介紹了springboot+thymeleaf+shiro標(biāo)簽的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評(píng)論

灌南县| 宁阳县| 土默特右旗| 明水县| 砚山县| 来安县| 建瓯市| 辽阳县| 平乡县| 甘德县| 邵阳市| 绍兴县| 阿城市| 泾源县| 阿克| 平山县| 探索| 广州市| 桓台县| 乌什县| 大兴区| 三亚市| 泗阳县| 呈贡县| 哈尔滨市| 化隆| 安阳市| 高台县| 营山县| 磴口县| 会同县| 石景山区| 永福县| 时尚| 灵武市| 清水河县| 陆川县| 白朗县| 安图县| 沂源县| 永福县|