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

Java類和對(duì)象超詳細(xì)講解(看這一篇就夠了!)

 更新時(shí)間:2026年07月01日 10:34:23   作者:星子yu  
這篇文章主要介紹了Java類和對(duì)象超詳細(xì)講解的相關(guān)資料,包括類的定義、創(chuàng)建及使用,對(duì)象的創(chuàng)建和使用,成員變量與局部變量的區(qū)別,以及成員方法與普通方法的區(qū)別,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

?? 類和對(duì)象是 Java 面向?qū)ο缶幊痰暮诵母拍?/p>

理解了類和對(duì)象,就理解了 Java 的靈魂

前言

本文將系統(tǒng)講解 Java 面向?qū)ο缶幊痰幕A(chǔ):對(duì)象 的概念、定義、使用,以及構(gòu)造方法、this 關(guān)鍵字、封裝等核心知識(shí)點(diǎn)。適合 Java 初學(xué)者閱讀

什么是面向?qū)ο?/h2>

1.1 面向?qū)ο?vs 面向過程

特點(diǎn)面向過程面向?qū)ο?/th>
關(guān)注點(diǎn)過程、步驟對(duì)象、實(shí)體
思維方式「怎么做」「誰來做」
代碼組織函數(shù)為單位類為單位
典型語(yǔ)言CJava、C++、Python

舉個(gè)栗子:洗衣服

  • 面向過程:拿衣服 → 放盆里 → 加水 → 加洗衣粉 → 搓洗 → 晾干
  • 面向?qū)ο?/strong>:找洗衣機(jī) → 放衣服 → 按按鈕 → 等待 → 晾干

?? 面向?qū)ο蟀褟?fù)雜的問題拆分成多個(gè)對(duì)象,每個(gè)對(duì)象負(fù)責(zé)自己的事情,降低耦合,提高復(fù)用

類和對(duì)象的基本概念

2.1 什么是類?

類(Class) 是對(duì)一類事物的抽象描述,是創(chuàng)建對(duì)象的模板

比如:「學(xué)生」是一個(gè)類,它有屬性(姓名、年齡)和行為(學(xué)習(xí)、吃飯)

// 定義一個(gè)學(xué)生類
public class Student {
    // 屬性(成員變量)
    String name;    // 姓名
    int age;        // 年齡
    
    // 行為(成員方法)
    public void study() {
        System.out.println(name + "正在學(xué)習(xí)");
    }
    
    public void eat() {
        System.out.println(name + "正在吃飯");
    }
}

2.2 什么是對(duì)象?

對(duì)象(Object) 是類的具體實(shí)例,是類的具體化/實(shí)例化

比如:「張三」是學(xué)生類的一個(gè)對(duì)象,「李四」是另一個(gè)對(duì)象

public class Test {
    public static void main(String[] args) {
        // 創(chuàng)建對(duì)象
        Student s1 = new Student();
        s1.name = "張三";
        s1.age = 18;
        s1.study();  // 張三正在學(xué)習(xí)
        
        Student s2 = new Student();
        s2.name = "李四";
        s2.age = 20;
        s2.study();  // 李四正在學(xué)習(xí)
    }
}

2.3 類與對(duì)象的關(guān)系

類的定義

3.1 類的完整結(jié)構(gòu)

[訪問修飾符] class 類名 {
    // 1. 成員變量(屬性)
    數(shù)據(jù)類型 變量名;
    
    // 2. 構(gòu)造方法
    [訪問修飾符] 類名(參數(shù)列表) {
        // 初始化代碼
    }
    
    // 3. 成員方法(行為)
    [訪問修飾符] 返回值類型 方法名(參數(shù)列表) {
        // 方法體
    }
}

3.2 實(shí)例:定義一個(gè) Person 類

public class Person {
    // 成員變量
    String name;    // 姓名
    int age;        // 年齡
    String gender;  // 性別
    
    // 無參構(gòu)造方法
    public Person() {
        System.out.println("創(chuàng)建了一個(gè)Person對(duì)象");
    }
    
    // 有參構(gòu)造方法
    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
    
    // 成員方法
    public void introduce() {
        System.out.println("我是" + name + ",今年" + age + "歲,性別" + gender);
    }
    
    public void eat(String food) {
        System.out.println(name + "正在吃" + food);
    }
}

對(duì)象的創(chuàng)建和使用

4.1 創(chuàng)建對(duì)象的語(yǔ)法

類名 對(duì)象名 = new 類名(參數(shù));
public class Test {
    public static void main(String[] args) {
        // 使用無參構(gòu)造創(chuàng)建對(duì)象
        Person p1 = new Person();
        p1.name = "張三";
        p1.age = 18;
        p1.gender = "男";
        p1.introduce();  // 我是張三,今年18歲,性別男
        
        // 使用有參構(gòu)造創(chuàng)建對(duì)象
        Person p2 = new Person("李四", 20, "女");
        p2.introduce();  // 我是李四,今年20歲,性別女
        p2.eat("火鍋");   // 李四正在吃火鍋
    }
}

4.2 對(duì)象內(nèi)存分析

Person p = new Person();

內(nèi)存結(jié)構(gòu):

?? 內(nèi)存要點(diǎn):

  • p 存儲(chǔ)在棧中,保存對(duì)象的地址
  • new Person() 創(chuàng)建的對(duì)象在堆中
  • 成員變量有默認(rèn)值:int → 0,boolean → false,引用類型 → null

成員變量 vs 局部變量

5.1 區(qū)別對(duì)比

對(duì)比項(xiàng)成員變量局部變量
定義位置類中,方法外方法內(nèi)、參數(shù)、代碼塊
默認(rèn)值有默認(rèn)值無默認(rèn)值,必須先賦值
作用范圍整個(gè)類定義它的代碼塊
生命周期對(duì)象創(chuàng)建到銷毀方法調(diào)用到結(jié)束
存儲(chǔ)位置堆內(nèi)存棧內(nèi)存

5.2 示例說明

public class Demo {
    // 成員變量:有默認(rèn)值
    int a;          // 默認(rèn) 0
    String name;    // 默認(rèn) null
    boolean flag;   // 默認(rèn) false
    
    public void test() {
        // 局部變量:必須初始化
        int b;      // 編譯錯(cuò)誤!使用前必須賦值
        b = 10;     // 初始化后才能使用
        
        // 同名情況:就近原則
        int a = 100;        // 局部變量 a
        System.out.println(a);      // 100(局部變量)
        System.out.println(this.a); // 0(成員變量)
    }
}

構(gòu)造方法

6.1 什么是構(gòu)造方法?

構(gòu)造方法(Constructor) 用于創(chuàng)建對(duì)象并初始化成員變量。

[訪問修飾符] 類名(參數(shù)列表) {
    // 初始化代碼
}

6.2 構(gòu)造方法的特點(diǎn)

特點(diǎn)說明
方法名與類名相同必須完全一致
沒有返回值類型void 都沒有
自動(dòng)調(diào)用創(chuàng)建對(duì)象時(shí)自動(dòng)執(zhí)行
可以重載可以定義多個(gè)構(gòu)造方法

6.3 默認(rèn)構(gòu)造方法

?? 如果沒有定義任何構(gòu)造方法,編譯器會(huì)自動(dòng)生成一個(gè)無參構(gòu)造方法

如果已定義構(gòu)造方法,編譯器不再提供默認(rèn)構(gòu)造。

public class Dog {
    String name;
    
    // 手動(dòng)定義了有參構(gòu)造,無參構(gòu)造不再自動(dòng)生成
    public Dog(String name) {
        this.name = name;
    }
}

public class Test {
    public static void main(String[] args) {
        Dog d1 = new Dog("旺財(cái)");  // 正確
        Dog d2 = new Dog();        // 編譯錯(cuò)誤!沒有無參構(gòu)造
    }
}

6.4 構(gòu)造方法重載

public class Book {
    String name;
    String author;
    double price;
    
    // 無參構(gòu)造
    public Book() {
        System.out.println("創(chuàng)建了一本書");
    }
    
    // 一個(gè)參數(shù)
    public Book(String name) {
        this.name = name;
    }
    
    // 兩個(gè)參數(shù)
    public Book(String name, String author) {
        this.name = name;
        this.author = author;
    }
    
    // 三個(gè)參數(shù)
    public Book(String name, String author, double price) {
        this.name = name;
        this.author = author;
        this.price = price;
    }
}

this 關(guān)鍵字

7.1 this 的作用

this 代表當(dāng)前對(duì)象的引用,用于區(qū)分成員變量和局部變量。

public class Student {
    String name;
    int age;
    
    public Student(String name, int age) {
        this.name = name;  // this.name 是成員變量,name 是參數(shù)
        this.age = age;
    }
    
    public void introduce() {
        System.out.println("我是" + this.name + ",今年" + this.age + "歲");
    }
}

7.2 this 的三種用法

用法示例說明
訪問成員變量this.name區(qū)分同名變量
調(diào)用成員方法this.introduce()調(diào)用本類的方法
調(diào)用其他構(gòu)造this(參數(shù))必須在構(gòu)造方法第一行

7.3 this 調(diào)用其他構(gòu)造方法

public class Employee {
    String name;
    int age;
    double salary;
    
    // 無參構(gòu)造 → 調(diào)用三參構(gòu)造
    public Employee() {
        this("未知", 0, 0.0);  // 必須在第一行
    }
    
    // 兩參構(gòu)造 → 調(diào)用三參構(gòu)造
    public Employee(String name, int age) {
        this(name, age, 3000.0);  // 默認(rèn)工資
    }
    
    // 三參構(gòu)造(最終初始化)
    public Employee(String name, int age, double salary) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }
}

?? this() 調(diào)用必須放在構(gòu)造方法的第一行,否則編譯錯(cuò)誤。

封裝

8.1 什么是封裝?

封裝:隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),只提供公共訪問方式。

好處:

  • 提高安全性(防止非法賦值)
  • 提高復(fù)用性
  • 降低耦合度

8.2 封裝的實(shí)現(xiàn)步驟

1. 屬性私有化(private)
2. 提供公共的 getter 方法(取值)
3. 提供公共的 setter 方法(賦值)

8.3 封裝示例

public class BankAccount {
    // 1. 私有化屬性
    private String owner;
    private double balance;
    
    // 2. 無參構(gòu)造
    public BankAccount() {}
    
    // 3. 有參構(gòu)造
    public BankAccount(String owner, double balance) {
        this.owner = owner;
        this.balance = balance;
    }
    
    // 4. getter 方法
    public String getOwner() {
        return owner;
    }
    
    public double getBalance() {
        return balance;
    }
    
    // 5. setter 方法(帶驗(yàn)證邏輯)
    public void setOwner(String owner) {
        this.owner = owner;
    }
    
    public void setBalance(double balance) {
        if (balance >= 0) {
            this.balance = balance;
        } else {
            System.out.println("余額不能為負(fù)數(shù)!");
        }
    }
    
    // 6. 業(yè)務(wù)方法
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
            System.out.println("存款成功,當(dāng)前余額:" + balance);
        }
    }
    
    public void withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
            System.out.println("取款成功,當(dāng)前余額:" + balance);
        } else {
            System.out.println("取款失敗,余額不足!");
        }
    }
}

訪問修飾符

9.1 四種訪問權(quán)限

修飾符本類同包子類(不同包)其他
public????
protected????
默認(rèn)(無修飾符)????
private????

9.2 使用建議

[!TIP]

?? 設(shè)計(jì)原則:

  • 屬性:一般用 private(封裝)
  • 方法:一般用 public(對(duì)外提供服務(wù))
  • 構(gòu)造方法:一般用 public
  • 常量:用 public static final
public class Student {
    // 私有屬性
    private String name;
    private int age;
    
    // 公共常量
    public static final String SCHOOL = "清華大學(xué)";
    
    // 公共方法
    public void study() { }
    
    // 私有方法:輔助方法
    private void helper() { }
}

static 關(guān)鍵字

10.1 什么是 static?

static(靜態(tài)):屬于類本身,不屬于任何對(duì)象,被所有對(duì)象共享。

public class Student {
    // 實(shí)例變量:每個(gè)對(duì)象獨(dú)有
    String name;
    int age;
    
    // 靜態(tài)變量:所有對(duì)象共享
    static String school = "清華大學(xué)";
    static int count = 0;  // 統(tǒng)計(jì)創(chuàng)建了多少學(xué)生
    
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        count++;  // 每創(chuàng)建一個(gè)對(duì)象,count+1
    }
}

10.2 static 的特點(diǎn)

特點(diǎn)說明
屬于類隨類加載而加載,早于對(duì)象創(chuàng)建
共享被所有對(duì)象共享
訪問方式類名.靜態(tài)成員(推薦)或 對(duì)象名.靜態(tài)成員

10.3 static 的使用場(chǎng)景

public class Demo {
    // 1. 靜態(tài)變量:共享數(shù)據(jù)
    static int count = 0;
    
    // 2. 靜態(tài)方法:工具方法,不依賴對(duì)象
    public static int add(int a, int b) {
        return a + b;
    }
    
    // 3. 靜態(tài)代碼塊:類加載時(shí)執(zhí)行一次
    static {
        System.out.println("類加載了");
    }
}

// 使用
public class Test {
    public static void main(String[] args) {
        // 靜態(tài)成員通過類名訪問
        System.out.println(Demo.count);
        System.out.println(Demo.add(1, 2));
    }
}

10.4 static 注意事項(xiàng)

?? 靜態(tài)方法只能訪問靜態(tài)成員,不能直接訪問實(shí)例成員。

因?yàn)殪o態(tài)方法屬于類,不依賴對(duì)象,而實(shí)例成員屬于對(duì)象。

public class Demo {
    int a = 10;          // 實(shí)例變量
    static int b = 20;   // 靜態(tài)變量
    
    public static void test() {
        // System.out.println(a);  // 編譯錯(cuò)誤!
        System.out.println(b);     // 正確
        
        // 如果要訪問實(shí)例變量,需要?jiǎng)?chuàng)建對(duì)象
        Demo d = new Demo();
        System.out.println(d.a);   // 正確
    }
}

代碼塊

11.1 代碼塊的分類

類型位置執(zhí)行時(shí)機(jī)作用
普通代碼塊方法中方法調(diào)用時(shí)執(zhí)行控制變量作用域
實(shí)例代碼塊類中,方法外每次創(chuàng)建對(duì)象時(shí)執(zhí)行初始化實(shí)例成員
靜態(tài)代碼塊類中,方法外,加 static類加載時(shí)執(zhí)行一次初始化靜態(tài)成員
同步代碼塊方法中,加 synchronized方法調(diào)用時(shí)執(zhí)行線程同步(多線程部分講)

11.2 普通代碼塊

public class Demo {
    public void test() {
        // 普通代碼塊:控制變量作用域
        {
            int x = 10;
            System.out.println("普通代碼塊:" + x);
        }
        // System.out.println(x);  // 編譯錯(cuò)誤,x 已超出作用域
    }
}

11.3 實(shí)例代碼塊(構(gòu)造代碼塊)

public class Student {
    String name;
    int age;
    
    // 實(shí)例代碼塊:每次創(chuàng)建對(duì)象時(shí)執(zhí)行,先于構(gòu)造方法
    {
        System.out.println("實(shí)例代碼塊執(zhí)行");
        age = 18;  // 默認(rèn)年齡
    }
    
    public Student(String name) {
        this.name = name;
        System.out.println("構(gòu)造方法執(zhí)行");
    }
}

// 測(cè)試
public class Test {
    public static void main(String[] args) {
        Student s1 = new Student("張三");
        /* 輸出:
           實(shí)例代碼塊執(zhí)行
           構(gòu)造方法執(zhí)行
        */
        
        Student s2 = new Student("李四");
        /* 輸出:
           實(shí)例代碼塊執(zhí)行
           構(gòu)造方法執(zhí)行
        */
    }
}

11.4 靜態(tài)代碼塊

public class Student {
    String name;
    static String school;
    
    // 靜態(tài)代碼塊:類加載時(shí)執(zhí)行一次,只執(zhí)行一次
    static {
        System.out.println("靜態(tài)代碼塊執(zhí)行");
        school = "清華大學(xué)";
    }
    
    // 實(shí)例代碼塊
    {
        System.out.println("實(shí)例代碼塊執(zhí)行");
    }
    
    public Student(String name) {
        this.name = name;
        System.out.println("構(gòu)造方法執(zhí)行");
    }
}

// 測(cè)試
public class Test {
    public static void main(String[] args) {
        Student s1 = new Student("張三");
        /* 輸出:
           靜態(tài)代碼塊執(zhí)行
           實(shí)例代碼塊執(zhí)行
           構(gòu)造方法執(zhí)行
        */
        
        Student s2 = new Student("李四");
        /* 輸出:
           實(shí)例代碼塊執(zhí)行
           構(gòu)造方法執(zhí)行
        */
    }
}

11.5 執(zhí)行順序總結(jié)

?? 執(zhí)行順序:

靜態(tài)代碼塊 → 實(shí)例代碼塊 → 構(gòu)造方法

靜態(tài)代碼塊只執(zhí)行一次,實(shí)例代碼塊和構(gòu)造方法每次創(chuàng)建對(duì)象時(shí)都執(zhí)行。

public class Demo {
    static { System.out.println("1. 靜態(tài)代碼塊"); }
    { System.out.println("2. 實(shí)例代碼塊"); }
    public Demo() { System.out.println("3. 構(gòu)造方法"); }
    
    public static void main(String[] args) {
        new Demo();
        System.out.println("---");
        new Demo();
    }
}

/* 輸出:
   1. 靜態(tài)代碼塊
   2. 實(shí)例代碼塊
   3. 構(gòu)造方法
   ---
   2. 實(shí)例代碼塊
   3. 構(gòu)造方法
*/

11.6 同步代碼塊

?? 同步代碼塊用于多線程編程,確保線程安全。

將在 多線程 部分詳細(xì)講解。

// 預(yù)覽(多線程部分再講)
synchronized (對(duì)象鎖) {
    // 需要同步的代碼
}

toString 方法

10.1 默認(rèn)的 toString

所有類都繼承自 Object 類,Object 類有 toString() 方法。

public class Test {
    public static void main(String[] args) {
        Student s = new Student();
        s.name = "張三";
        s.age = 18;
        
        System.out.println(s);        // Student@15db9742(默認(rèn):類名@地址)
        System.out.println(s.toString()); // 同上
    }
}

10.2 重寫 toString

public class Student {
    private String name;
    private int age;
    
    // 構(gòu)造方法省略...
    
    @Override
    public String toString() {
        return "Student{name='" + name + "', age=" + age + "}";
    }
}

// 使用
Student s = new Student("張三", 18);
System.out.println(s);  // Student{name='張三', age=18}

?? 在 IDEA 中,可以使用快捷鍵 Alt + InserttoString() 自動(dòng)生成。

對(duì)象數(shù)組

11.1 什么是對(duì)象數(shù)組?

數(shù)組存儲(chǔ)的是對(duì)象引用,而不是對(duì)象本身。

public class Test {
    public static void main(String[] args) {
        // 聲明對(duì)象數(shù)組
        Student[] students = new Student[3];
        
        // 創(chuàng)建對(duì)象并賦值
        students[0] = new Student("張三", 18);
        students[1] = new Student("李四", 19);
        students[2] = new Student("王五", 20);
        
        // 遍歷對(duì)象數(shù)組
        for (Student s : students) {
            System.out.println(s);
        }
    }
}

11.2 內(nèi)存圖解

小結(jié)

知識(shí)點(diǎn)核心內(nèi)容
類與對(duì)象類是模板,對(duì)象是實(shí)例
構(gòu)造方法初始化對(duì)象,可重載,可互相調(diào)用
this 關(guān)鍵字當(dāng)前對(duì)象引用,區(qū)分變量,調(diào)用構(gòu)造
成員 vs 局部變量作用范圍、默認(rèn)值、存儲(chǔ)位置不同
封裝private + getter/setter,提高安全性
訪問修飾符public > protected > 默認(rèn) > private
static 關(guān)鍵字屬于類,被所有對(duì)象共享
代碼塊普通/實(shí)例/靜態(tài)/同步(多線程)
toString重寫以返回有意義的字符串表示

寫在最后

類和對(duì)象是 Java 面向?qū)ο缶幊痰幕?。下一篇我們將講解 繼承 —— 如何復(fù)用代碼、建立類之間的關(guān)系!

到此這篇關(guān)于Java類和對(duì)象超詳細(xì)講解的文章就介紹到這了,更多相關(guān)Java類和對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的鎖與鎖的狀態(tài)升級(jí)詳細(xì)解讀

    Java中的鎖與鎖的狀態(tài)升級(jí)詳細(xì)解讀

    這篇文章主要介紹了Java中的鎖與鎖的狀態(tài)升級(jí)詳細(xì)解讀,Java 1.6以后官方針對(duì)鎖的優(yōu)化,主要是增加了兩種新的鎖:偏向鎖和輕量級(jí)鎖,再加上本身重量級(jí)鎖,那么鎖基本上可以大致分為這三種,它們之間的區(qū)別主要是體現(xiàn)在等待時(shí)間上面,需要的朋友可以參考下
    2024-01-01
  • Spring Boot中使用JDBC Templet的方法教程

    Spring Boot中使用JDBC Templet的方法教程

    這篇文章主要給大家介紹了關(guān)于在Spring Boot中使用JDBC Templet的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • SpringBoot如何使用Undertow做服務(wù)器

    SpringBoot如何使用Undertow做服務(wù)器

    這篇文章主要介紹了SpringBoot如何使用Undertow做服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java手寫一個(gè)日志框架的示例代碼

    Java手寫一個(gè)日志框架的示例代碼

    日志框架是一種用于記錄和管理應(yīng)用程序運(yùn)行時(shí)信息的軟件組件,它通常提供了一套API讓開發(fā)人員能夠在代碼中插入日志語(yǔ)句,下面我們就來學(xué)習(xí)一下如何手寫一個(gè)日志框架吧
    2023-12-12
  • Java中super和this的用法詳解

    Java中super和this的用法詳解

    這篇文章主要介紹了Java中super和this的用法詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot項(xiàng)目中如何解決跨域問題的最新方案?

    SpringBoot項(xiàng)目中如何解決跨域問題的最新方案?

    跨域問題是瀏覽器為了保護(hù)用戶的信息安全,實(shí)施了同源策略(Same-Origin Policy),即只允許頁(yè)面請(qǐng)求同源(相同協(xié)議、域名和端口)的資源,當(dāng) JavaScript 發(fā)起的請(qǐng)求跨越了同源策略,即請(qǐng)求的目標(biāo)與當(dāng)前頁(yè)面的域名、端口、協(xié)議不一致時(shí),瀏覽器會(huì)阻止請(qǐng)求的發(fā)送或接收
    2025-03-03
  • Java 遞歸查詢部門樹形結(jié)構(gòu)數(shù)據(jù)的實(shí)踐

    Java 遞歸查詢部門樹形結(jié)構(gòu)數(shù)據(jù)的實(shí)踐

    本文主要介紹了Java 遞歸查詢部門樹形結(jié)構(gòu)數(shù)據(jù)的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • GraalVM系列Native?Image?Basics靜態(tài)分析

    GraalVM系列Native?Image?Basics靜態(tài)分析

    這篇文章主要為大家介紹了GraalVM系列Native?Image?Basics靜態(tài)分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java.lang.InterruptedException被中止異常的原因及解決方案

    Java.lang.InterruptedException被中止異常的原因及解決方案

    Java.lang.InterruptedException是線程被中斷時(shí)拋出的異常,用于協(xié)作停止執(zhí)行,常見于阻塞操作,原因包括中斷請(qǐng)求未處理,解決方法包括檢查中斷狀態(tài)、捕獲異常并重新設(shè)置中斷,避免忽略中斷,本文介紹Java.lang.InterruptedException被中止異常解決方案,感興趣的朋友一起看看吧
    2025-07-07
  • SpringBoot文件上傳接口并發(fā)性能調(diào)優(yōu)

    SpringBoot文件上傳接口并發(fā)性能調(diào)優(yōu)

    在一個(gè)項(xiàng)目現(xiàn)場(chǎng),文件上傳接口(文件500K)QPS只有30,這個(gè)并發(fā)性能確實(shí)堪憂,此文記錄出坑過程,文中通過代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-06-06

最新評(píng)論

黎平县| 恩施市| 灌南县| 锡林郭勒盟| 防城港市| 安泽县| 沂源县| 利川市| 曲松县| 察哈| 四平市| 海安县| 彰武县| 富阳市| 仙游县| 南汇区| 万荣县| 沙河市| 霍城县| 简阳市| 马龙县| 习水县| 龙门县| 郎溪县| 桃江县| 湖州市| 新晃| 夹江县| 桦南县| 共和县| 安化县| 长治县| 山阳县| 长寿区| 霸州市| 德钦县| 枞阳县| 盐山县| 滨州市| 碌曲县| 台安县|