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

Java使用文本塊(Text Blocks)處理多行字符串的操作方法

 更新時(shí)間:2026年05月21日 08:50:56   作者:希望永不加班  
本文介紹了Java文本塊(TextBlocks)語(yǔ)法,它簡(jiǎn)化多行字符串的處理,保留文本格式、減少錯(cuò)誤、提升代碼可讀性,本文詳細(xì)解釋了文本塊的語(yǔ)法、縮進(jìn)規(guī)則、常用轉(zhuǎn)義符及常見(jiàn)使用場(chǎng)景,同時(shí)注意事項(xiàng),需要的朋友可以參考下

在Java開(kāi)發(fā)中,多行字符串的處理曾是每個(gè)開(kāi)發(fā)者的“日常痛點(diǎn)”。無(wú)論是編寫(xiě)復(fù)雜的SQL查詢(xún)語(yǔ)句、格式化的JSON字符串、HTML郵件模板,還是多行日志、接口說(shuō)明,傳統(tǒng)方式都需要手動(dòng)拼接字符串、添加換行符、轉(zhuǎn)義特殊字符,不僅代碼冗長(zhǎng)雜亂,還極易出現(xiàn)語(yǔ)法錯(cuò)誤,后期維護(hù)更是舉步維艱。

為徹底解決這一問(wèn)題,Java官方推出了「文本塊(Text Blocks)」語(yǔ)法,它無(wú)需手動(dòng)拼接、無(wú)需額外換行符,僅用簡(jiǎn)單的標(biāo)記就能實(shí)現(xiàn)多行字符串的優(yōu)雅編寫(xiě),大幅提升開(kāi)發(fā)效率和代碼可讀性。

一、什么是文本塊?

文本塊(Text Blocks)是Java用于處理多行字符串的專(zhuān)用語(yǔ)法,本質(zhì)上是普通字符串(java.lang.String)的簡(jiǎn)化寫(xiě)法,并非全新的數(shù)據(jù)類(lèi)型。它通過(guò)「三個(gè)雙引號(hào)(""")」作為起始和結(jié)束標(biāo)記,包裹多行文本內(nèi)容,自動(dòng)保留文本的換行、空格格式,無(wú)需手動(dòng)添加換行符(n)、無(wú)需用+拼接字符串,也無(wú)需頻繁轉(zhuǎn)義雙引號(hào)等特殊字符。

核心優(yōu)勢(shì):

  • 簡(jiǎn)潔高效:無(wú)需手動(dòng)拼接、無(wú)需換行符,直接按真實(shí)格式編寫(xiě)多行文本;
  • 可讀性強(qiáng):保留文本原始格式,SQL、JSON、HTML等代碼片段一目了然;
  • 減少錯(cuò)誤:避免拼接遺漏、轉(zhuǎn)義錯(cuò)誤、換行符缺失等常見(jiàn)問(wèn)題;
  • 無(wú)縫兼容:與普通字符串完全等價(jià),可直接使用所有String類(lèi)的API(如length()、replace()、substring()等)。

二、基礎(chǔ)語(yǔ)法與硬性規(guī)則

文本塊的語(yǔ)法看似簡(jiǎn)單,但有幾個(gè)硬性規(guī)則必須嚴(yán)格遵守,否則會(huì)直接編譯報(bào)錯(cuò),這也是新手最容易踩坑的地方。

2.1 基礎(chǔ)語(yǔ)法格式

文本塊的核心語(yǔ)法只有一個(gè):用三個(gè)雙引號(hào)(""")包裹多行文本,具體格式要求如下:

// 標(biāo)準(zhǔn)格式(推薦)
String 文本塊變量名 = """
        第一行文本內(nèi)容
        第二行文本內(nèi)容
        第三行文本內(nèi)容
        """;

拆解說(shuō)明:

1. 起始標(biāo)記:三個(gè)雙引號(hào)("""),必須單獨(dú)一行,不能與任何文本內(nèi)容在同一行(這是硬性要求,違反會(huì)編譯報(bào)錯(cuò));

2. 文本內(nèi)容:緊跟起始標(biāo)記,每行文本可自由編寫(xiě),換行無(wú)需手動(dòng)添加n,文本中的空格、縮進(jìn)會(huì)被自動(dòng)保留;

3. 結(jié)束標(biāo)記:三個(gè)雙引號(hào)("""),可與最后一行文本在同一行,也可單獨(dú)一行(推薦單獨(dú)一行,與起始標(biāo)記對(duì)齊,保證格式整潔);

4. 縮進(jìn)要求:文本內(nèi)容的縮進(jìn)以「結(jié)束標(biāo)記的縮進(jìn)位置」為準(zhǔn),結(jié)束標(biāo)記縮進(jìn)多少,文本內(nèi)容左側(cè)的多余縮進(jìn)就會(huì)自動(dòng)去除多少(重點(diǎn),后面單獨(dú)詳解)。

2.2 正確與錯(cuò)誤示例對(duì)比

// 正確示例1:結(jié)束標(biāo)記單獨(dú)一行(推薦)
String json = """
        {
          "id": 1001,
          "username": "zhangsan",
          "age": 28
        }""";
// 正確示例2:結(jié)束標(biāo)記與最后一行文本同一行
String html = """
        <h1>Java文本塊</h1>
        <p>優(yōu)雅處理多行字符串</p>""";
// 錯(cuò)誤示例1:起始標(biāo)記與文本內(nèi)容同一行(編譯報(bào)錯(cuò))
String error1 = """Hello World"""; // 報(bào)錯(cuò):非法表達(dá)式開(kāi)始
// 錯(cuò)誤示例2:起始標(biāo)記后無(wú)換行(編譯報(bào)錯(cuò))
String error2 = """ 第一行文本
        第二行文本"""; // 報(bào)錯(cuò):文本塊起始標(biāo)記后必須換行
// 錯(cuò)誤示例3:結(jié)束標(biāo)記缺失(編譯報(bào)錯(cuò))
String error3 = """
        第一行文本
        第二行文本; // 報(bào)錯(cuò):未閉合的字符串字面量""";

2.3 文本塊與普通字符串的等價(jià)性

重要提醒:文本塊本質(zhì)上就是普通字符串,與用單個(gè)雙引號(hào)(")包裹的字符串完全等價(jià),可無(wú)縫銜接所有String API,運(yùn)行時(shí)性能也完全一致。

// 文本塊
String textBlock = """
        Hello World
        Java Text Blocks""";
// 普通字符串(等價(jià)于上面的文本塊)
String normalStr = "Hello World\nJava Text Blocks";
// 兩者完全等價(jià)
System.out.println(textBlock.equals(normalStr)); // true
System.out.println(textBlock.length() == normalStr.length()); // true
// 無(wú)縫使用String API
String upperStr = textBlock.toUpperCase(); // 轉(zhuǎn)為大寫(xiě)
String subStr = textBlock.substring(0, 5); // 截取子串
boolean contains = textBlock.contains("Java"); // 判斷包含關(guān)系

三、縮進(jìn)規(guī)則

文本塊的縮進(jìn)處理是最容易出錯(cuò)的地方,很多開(kāi)發(fā)者編寫(xiě)的文本塊格式混亂,本質(zhì)上都是沒(méi)掌握縮進(jìn)規(guī)則。核心原則:文本塊最終的縮進(jìn) = 編寫(xiě)時(shí)的縮進(jìn) - 結(jié)束標(biāo)記的縮進(jìn)。

3.1 縮進(jìn)規(guī)則詳解

Java編譯器在處理文本塊時(shí),會(huì)自動(dòng)“去除多余縮進(jìn)”,去除的縮進(jìn)量由「結(jié)束標(biāo)記的縮進(jìn)位置」決定,具體分為3種情況:

1. 結(jié)束標(biāo)記與起始標(biāo)記縮進(jìn)一致(推薦):文本內(nèi)容會(huì)去除與起始/結(jié)束標(biāo)記相同的縮進(jìn)量,保留文本內(nèi)部的相對(duì)縮進(jìn);

2. 結(jié)束標(biāo)記縮進(jìn)比起始標(biāo)記少:文本內(nèi)容會(huì)去除與結(jié)束標(biāo)記相同的縮進(jìn)量,剩余的縮進(jìn)會(huì)被保留;

3. 結(jié)束標(biāo)記無(wú)縮進(jìn):文本內(nèi)容會(huì)保留編寫(xiě)時(shí)的全部縮進(jìn),容易導(dǎo)致格式混亂(不推薦)。

3.2 示例

// 示例1:結(jié)束標(biāo)記與起始標(biāo)記縮進(jìn)一致(推薦)
// 起始標(biāo)記縮進(jìn)4個(gè)空格,結(jié)束標(biāo)記也縮進(jìn)4個(gè)空格
String str1 = """
    第一行文本(無(wú)縮進(jìn))
      第二行文本(縮進(jìn)2個(gè)空格)
    第三行文本(無(wú)縮進(jìn))
    """;
// 最終輸出(去除4個(gè)空格,保留內(nèi)部相對(duì)縮進(jìn)):
// 第一行文本(無(wú)縮進(jìn))
//   第二行文本(縮進(jìn)2個(gè)空格)
// 第三行文本(無(wú)縮進(jìn))
// 示例2:結(jié)束標(biāo)記縮進(jìn)比起始標(biāo)記少(2個(gè)空格)
// 起始標(biāo)記縮進(jìn)4個(gè)空格,結(jié)束標(biāo)記縮進(jìn)2個(gè)空格
String str2 = """
    第一行文本
      第二行文本
  """; // 結(jié)束標(biāo)記縮進(jìn)2個(gè)空格
// 最終輸出(去除2個(gè)空格,剩余2個(gè)空格縮進(jìn)):
//   第一行文本
//     第二行文本
// 示例3:結(jié)束標(biāo)記無(wú)縮進(jìn)(不推薦)
// 起始標(biāo)記縮進(jìn)4個(gè)空格,結(jié)束標(biāo)記無(wú)縮進(jìn)
String str3 = """
    第一行文本
      第二行文本
"""; // 結(jié)束標(biāo)記無(wú)縮進(jìn)
// 最終輸出(保留全部4個(gè)空格縮進(jìn)):
//     第一行文本
//       第二行文本

始終保持「起始標(biāo)記、結(jié)束標(biāo)記縮進(jìn)一致」,且與代碼塊的縮進(jìn)對(duì)齊(如在方法內(nèi)部,與方法體的縮進(jìn)保持一致),這樣能最大程度保證文本塊的格式整潔,避免出現(xiàn)不必要的縮進(jìn)混亂。

四、轉(zhuǎn)義字符的使用

文本塊支持所有Java普通字符串的轉(zhuǎn)義字符(如n、t、"等),同時(shí)新增了2個(gè)專(zhuān)屬轉(zhuǎn)義符,專(zhuān)門(mén)用于優(yōu)化文本塊的格式處理,解決特殊場(chǎng)景下的格式問(wèn)題。

4.1 常用轉(zhuǎn)義字符匯總

轉(zhuǎn)義符

作用

適用場(chǎng)景

示例

n

手動(dòng)換行(可省略,文本塊自動(dòng)識(shí)別換行)

需要強(qiáng)制換行,或在單行文本中插入換行

"""HellonWorld""" → 輸出Hello換行World

t

制表符(等價(jià)于按一次Tab鍵)

格式化表格、代碼片段,實(shí)現(xiàn)整齊縮進(jìn)

"""姓名:t張三n年齡:t25"""

"

轉(zhuǎn)義雙引號(hào),避免與文本塊的"""沖突

文本中包含雙引號(hào)(如JSON、HTML標(biāo)簽)

"""{"name": "Java"TextBlocks""}"""

轉(zhuǎn)義反斜杠,避免被解析為轉(zhuǎn)義符

文本中包含反斜杠(如文件路徑、正則表達(dá)式)

"""C:Program FilesJava"""

s

代表一個(gè)空格(文本塊專(zhuān)屬,Java 14+ 支持)

需要固定空格,避免手動(dòng)輸入多個(gè)空格導(dǎo)致格式混亂

"""姓名:ss張三""" → 姓名: 張三

取消換行(文本塊專(zhuān)屬,Java 14+ 支持)

將多行文本合并為一行,避免自動(dòng)換行

"""SELECT id FROM user""" → SELECT id FROM user

4.2 示例:轉(zhuǎn)義字符的常見(jiàn)用法

// 1. 轉(zhuǎn)義雙引號(hào)(JSON場(chǎng)景)
String json = """
        {
          "id": 1001,
          "username": "zhangsan",
          "desc": "Java\"文本塊\"實(shí)戰(zhàn)" // 轉(zhuǎn)義雙引號(hào),避免與"""沖突
        }""";
// 2. 取消換行(SQL場(chǎng)景,將多行SQL合并為一行)
String sql = """
        SELECT id, name, age \
        FROM user \
        WHERE age > 18 \
        ORDER BY age DESC""";
// 最終輸出:SELECT id, name, age FROM user WHERE age > 18 ORDER BY age DESC
// 3. \s 固定空格(格式化輸出)
String userInfo = """
        姓名:\s\s張三
        年齡:\s\s25
        職業(yè):\s\s程序員
        地址:\s\s北京市海淀區(qū)""";
// 4. 轉(zhuǎn)義反斜杠(文件路徑場(chǎng)景)
String filePath = """
        C:\\Program Files\\Java\\jdk1.8.0_301
        """;

五、開(kāi)發(fā)場(chǎng)景

文本塊的核心價(jià)值的是簡(jiǎn)化多行字符串編寫(xiě),以下是企業(yè)開(kāi)發(fā)中最常見(jiàn)的5個(gè)場(chǎng)景,覆蓋JSON、SQL、HTML、日志、模板等,直接復(fù)制就能用于項(xiàng)目開(kāi)發(fā)。

場(chǎng)景1:編寫(xiě)JSON字符串

傳統(tǒng)寫(xiě)法需要手動(dòng)拼接、轉(zhuǎn)義雙引號(hào),代碼冗長(zhǎng)且易出錯(cuò);文本塊可直接編寫(xiě)JSON格式,保留縮進(jìn)和換行,可讀性和可維護(hù)性大幅提升。

// 文本塊寫(xiě)法(優(yōu)雅簡(jiǎn)潔)
String userJson = """
        {
          "id": 1001,
          "username": "zhangsan",
          "password": "123456",
          "age": 28,
          "gender": "male",
          "address": "北京市海淀區(qū)",
          "hobbies": ["coding", "reading", "running"],
          "status": 1
        }""";
// 結(jié)合Jackson解析JSON(無(wú)縫銜接)
ObjectMapper objectMapper = new ObjectMapper();
User user = objectMapper.readValue(userJson, User.class);
System.out.println(user.getUsername()); // 輸出:zhangsan

場(chǎng)景2:編寫(xiě)復(fù)雜SQL語(yǔ)句

復(fù)雜SQL(多表關(guān)聯(lián)、子查詢(xún)、條件篩選)通常需要換行排版,文本塊可保留SQL的原始格式,避免拼接錯(cuò)誤,后期修改時(shí)只需調(diào)整對(duì)應(yīng)行即可。

// 文本塊編寫(xiě)復(fù)雜SQL(多表關(guān)聯(lián))
String sql = """
        SELECT 
            u.id, 
            u.username, 
            u.age, 
            d.department_name, 
            d.department_address
        FROM 
            user u
        LEFT JOIN 
            department d ON u.department_id = d.id
        WHERE 
            u.age > 18 
            AND d.department_name LIKE '%技術(shù)%'
            AND u.status = 1
        ORDER BY 
            u.age DESC
        LIMIT 10""";
// 執(zhí)行SQL(與普通字符串無(wú)區(qū)別)
PreparedStatement pstmt = connection.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

場(chǎng)景3:生成HTML模板(郵件/靜態(tài)頁(yè)面)

在后端生成HTML頁(yè)面(如驗(yàn)證碼郵件、通知郵件、靜態(tài)頁(yè)面)時(shí),文本塊可直接編寫(xiě)HTML標(biāo)簽,保留頁(yè)面結(jié)構(gòu),無(wú)需手動(dòng)拼接標(biāo)簽和換行。

// 文本塊編寫(xiě)HTML郵件模板
String emailTemplate = """
        <!DOCTYPE html>
        <html lang="zh-CN">
        <head>
            <meta charset="UTF-8">
            <title>驗(yàn)證碼通知</title>
            <style>
                .container { width: 600px; margin: 0 auto; border: 1px solid #eee; padding: 20px; }
                .code { font-size: 36px; color: #007bff; font-weight: bold; margin: 20px 0; }
            </style>
        </head>
        <body>
            <div class="container">
                <h1>您的驗(yàn)證碼已生成</h1>
                <p>尊敬的用戶(hù),您好!您的驗(yàn)證碼為:</p>
                <div class="code">$[code]</div>
                <p>驗(yàn)證碼有效期為10分鐘,請(qǐng)及時(shí)使用,請(qǐng)勿泄露給他人。</p>
                <p>本郵件無(wú)需回復(fù),如有疑問(wèn),請(qǐng)聯(lián)系客服。</p>
            </div>
        </body>
        </html>""";
// 替換模板變量(結(jié)合String.format)
String emailContent = String.format(emailTemplate, "123456");

場(chǎng)景4:輸出多行日志

對(duì)于復(fù)雜的操作日志,文本塊可保留日志的換行和格式,比傳統(tǒng)的單行日志更清晰,便于問(wèn)題排查和日志分析。

// 文本塊輸出多行日志
LocalDateTime now = LocalDateTime.now();
log.info("""
        用戶(hù)操作日志詳情:
        操作時(shí)間:{}
        操作人:zhangsan
        操作ID:OP20240519001
        操作類(lèi)型:查詢(xún)用戶(hù)信息
        操作參數(shù):{id: 1001}
        操作結(jié)果:成功
        響應(yīng)時(shí)間:50ms
        備注:無(wú)異常""", now);

場(chǎng)景5:編寫(xiě)多行注釋/接口說(shuō)明

對(duì)于復(fù)雜的接口說(shuō)明、方法注釋?zhuān)谋緣K可保留換行和格式,比傳統(tǒng)的多行注釋?zhuān)?* */)更靈活,也可用于生成接口文檔的描述信息。

// 文本塊編寫(xiě)接口說(shuō)明
String apiDesc = """
        接口名稱(chēng):查詢(xún)用戶(hù)信息接口
        接口路徑:/api/user/getById
        請(qǐng)求方式:GET
        請(qǐng)求參數(shù):
            id:Integer,必填,用戶(hù)ID
        響應(yīng)參數(shù):
            id:Integer,用戶(hù)ID
            username:String,用戶(hù)名
            age:Integer,年齡
            address:String,地址
        異常說(shuō)明:
            1. ID為null或小于0,返回400參數(shù)錯(cuò)誤
            2. ID不存在,返回404用戶(hù)不存在
            3. 系統(tǒng)異常,返回500服務(wù)器錯(cuò)誤
        備注:該接口需登錄后訪(fǎng)問(wèn),攜帶Token""";

六、注意事項(xiàng)

文本塊語(yǔ)法簡(jiǎn)單,但細(xì)節(jié)容易出錯(cuò),以下是開(kāi)發(fā)中最常見(jiàn)的5個(gè)坑點(diǎn),附帶錯(cuò)誤示例和正確寫(xiě)法,幫你避開(kāi)所有陷阱。

1:起始標(biāo)記與文本內(nèi)容同一行(編譯報(bào)錯(cuò))

// 錯(cuò)誤示例
String error = """Hello World"""; 
// 編譯報(bào)錯(cuò):illegal start of expression(非法表達(dá)式開(kāi)始)
// 原因:文本塊的起始標(biāo)記(""")必須單獨(dú)一行,不能與文本內(nèi)容同行
// 正確示例
String correct = """
        Hello World""";

2:縮進(jìn)處理不當(dāng),導(dǎo)致格式混亂

// 錯(cuò)誤示例(結(jié)束標(biāo)記無(wú)縮進(jìn))
String str = """
        第一行文本
          第二行文本
"""; // 結(jié)束標(biāo)記無(wú)縮進(jìn)
// 最終輸出(保留全部4個(gè)空格縮進(jìn)):
//     第一行文本
//       第二行文本
// 正確示例(結(jié)束標(biāo)記與起始標(biāo)記縮進(jìn)一致)
String str = """
        第一行文本
          第二行文本
        """; // 起始、結(jié)束標(biāo)記均縮進(jìn)4個(gè)空格
// 最終輸出(去除4個(gè)空格,格式整潔):
// 第一行文本
//   第二行文本

3:忘記轉(zhuǎn)義雙引號(hào),導(dǎo)致語(yǔ)法沖突

// 錯(cuò)誤示例(文本中包含雙引號(hào),未轉(zhuǎn)義) String json = """         {           "name": "Java"TextBlocks"" // 雙引號(hào)未轉(zhuǎn)義,與"""沖突         }"""; // 編譯報(bào)錯(cuò):unclosed string literal(未閉合的字符串字面量) // 正確示例(轉(zhuǎn)義雙引號(hào)) String json = """         {           "name": "Java"TextBlocks""         }""";

4:誤認(rèn)為文本塊支持直接變量插值

Java文本塊不支持直接的變量插值(如 、variable),很多開(kāi)發(fā)者習(xí)慣了其他語(yǔ)言的變量插值,會(huì)誤以為文本塊也支持,導(dǎo)致變量無(wú)法替換。

// 錯(cuò)誤示例(變量插值無(wú)效)
String name = "zhangsan";
String str = """
        姓名:${name}
        年齡:25"""; // 輸出:姓名:${name},不會(huì)替換變量
// 正確示例(結(jié)合String.format()替換變量)
String str = String.format("""
                          姓名:%s
                          年齡:%d""", name, 25);
// 輸出:
// 姓名:zhangsan
// 年齡:25
// 進(jìn)階:結(jié)合Apache Commons Text的StringSubstitutor實(shí)現(xiàn)更靈活的變量替換
StringSubstitutor substitutor = new StringSubstitutor(Map.of("name", "zhangsan", "age", "25"));
String str = substitutor.replace("""
        姓名:${name}
        年齡:${age}""");

5:文本塊末尾多留空行

如果結(jié)束標(biāo)記單獨(dú)一行,且與最后一行文本之間有空白行,那么這個(gè)空白行會(huì)被保留在文本塊中,可能導(dǎo)致格式異常(如JSON解析失敗、SQL語(yǔ)法錯(cuò)誤)。

// 錯(cuò)誤示例(結(jié)束標(biāo)記前多留空行)
String json = """
        {
          "id": 1001,
          "name": "zhangsan"
        }"""; // 最后一行文本與結(jié)束標(biāo)記之間有空白行
// 最終輸出會(huì)包含一個(gè)空白行,可能導(dǎo)致JSON解析失敗
// 正確示例(結(jié)束標(biāo)記與最后一行文本緊密銜接,無(wú)空白行)
String json = """
        {
          "id": 1001,
          "name": "zhangsan"
        }""";

八、全文總結(jié)

Java文本塊是一款“小而美”的語(yǔ)法,核心價(jià)值在于「簡(jiǎn)化多行字符串編寫(xiě)」,無(wú)需手動(dòng)拼接、無(wú)需換行符、無(wú)需頻繁轉(zhuǎn)義,讓SQL、JSON、HTML等多行文本的編寫(xiě)變得優(yōu)雅、高效。

掌握文本塊的關(guān)鍵的是:牢記起始標(biāo)記單獨(dú)一行、縮進(jìn)規(guī)則、轉(zhuǎn)義技巧,避開(kāi)常見(jiàn)坑點(diǎn);同時(shí)明確文本塊與普通字符串的等價(jià)性,無(wú)縫銜接現(xiàn)有String API。

在實(shí)際開(kāi)發(fā)中,只要涉及多行字符串,優(yōu)先使用文本塊,既能減少代碼量、降低錯(cuò)誤率,也能提升代碼的可讀性和可維護(hù)性,是Java開(kāi)發(fā)者必備的實(shí)用語(yǔ)法。

以上就是Java使用文本塊(Text Blocks)處理多行字符串的操作方法的詳細(xì)內(nèi)容,更多關(guān)于Java文本塊處理多行字符串的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java實(shí)現(xiàn)單機(jī)版五子棋

    java實(shí)現(xiàn)單機(jī)版五子棋

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)單機(jī)版五子棋源碼,以及五子棋游戲需要的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 淺談JVM內(nèi)存溢出原因和解決思路

    淺談JVM內(nèi)存溢出原因和解決思路

    本文主要介紹了淺談JVM內(nèi)存溢出原因和解決思路,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 在idea中顯示springboot面板的方法

    在idea中顯示springboot面板的方法

    這篇文章主要介紹了在idea中顯示springboot面板的方法方便啟動(dòng)調(diào)試,本文通過(guò)代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Spring在代碼中獲取bean的方法小結(jié)

    Spring在代碼中獲取bean的方法小結(jié)

    在工作中有時(shí)候我們需要在非spring依賴(lài)注入或管理的類(lèi)中獲取service、dao等bean對(duì)象,這時(shí)候用@Autowired和@Resource顯然是不行的,那么下面這篇文章就給大家了整理幾種獲取bean的方式,對(duì)大家的學(xué)習(xí)和工作具有一定的參考借鑒,下面來(lái)一起看看吧。
    2016-11-11
  • Mybatis框架中Interceptor接口的使用說(shuō)明

    Mybatis框架中Interceptor接口的使用說(shuō)明

    這篇文章主要介紹了Mybatis框架中Interceptor接口的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中Stream流的使用示例詳解

    Java中Stream流的使用示例詳解

    Stream流提供了一種高效且易于使用的方式來(lái)對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、映射、排序、聚合等操作,使代碼更加簡(jiǎn)潔和可讀,接下來(lái)通過(guò)本文給大家介紹Java中Stream流的使用,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • springMVC4之強(qiáng)大類(lèi)型轉(zhuǎn)換器實(shí)例解析

    springMVC4之強(qiáng)大類(lèi)型轉(zhuǎn)換器實(shí)例解析

    本篇文章主要介紹了springMVC4之強(qiáng)大類(lèi)型轉(zhuǎn)換器實(shí)例解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java之int數(shù)組聲明與初始化方式

    Java之int數(shù)組聲明與初始化方式

    這篇文章主要介紹了Java之int數(shù)組聲明與初始化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Springcloud Config支持本地配置文件的方法示例

    Springcloud Config支持本地配置文件的方法示例

    這篇文章主要介紹了Springcloud Config支持本地配置文件的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 詳解Java編程中統(tǒng)一資源定位符URL的相關(guān)使用

    詳解Java編程中統(tǒng)一資源定位符URL的相關(guān)使用

    這篇文章主要介紹了Java編程中統(tǒng)一資源定位符URL的相關(guān)使用,是Java網(wǎng)絡(luò)編程中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10

最新評(píng)論

额济纳旗| 东乡族自治县| 普宁市| 嫩江县| 濉溪县| 秦安县| 沁阳市| 丰镇市| 新安县| 伽师县| 凉城县| 余江县| 故城县| 鸡东县| 定日县| 清水县| 吉木萨尔县| 葫芦岛市| 龙南县| 德化县| 新郑市| 金堂县| 高要市| 韶山市| 崇仁县| 常州市| 七台河市| 凉城县| 马关县| 周口市| 万全县| 甘洛县| 阜南县| 隆林| 六盘水市| 衡东县| 隆德县| 青岛市| 康定县| 商南县| 乌海市|