Java面試黃金寶典34

1. 主鍵索引底層的實現原理

?

  • 定義

主鍵索引是數據庫中用于唯一標識表中每一行記錄的索引,常見的底層實現是 B+ 樹結構。B+ 樹是一種平衡的多路搜索樹,由內部節點和葉子節點組成。內部節點只存儲索引鍵和指向下一層節點的指針,不存儲實際數據;葉子節點存儲索引鍵和對應的實際數據記錄,并且所有葉子節點通過指針連接成一個有序鏈表。查詢時從根節點開始,依據索引鍵的值在內部節點中比較,逐步向下查找直至找到對應的葉子節點獲取數據。

  • 要點
  1. 平衡性:B+ 樹所有葉子節點在同一層,保證查詢時間復雜度穩定在 O (log n),n 為數據記錄數量。
  2. 多路搜索:每個節點可有多個子節點,降低樹的高度,減少磁盤 I/O 次數,提升查詢效率。
  3. 鏈表結構:葉子節點間通過指針連接成有序鏈表,便于進行范圍查詢。
  • 應用

在電商系統的商品表中,以商品 ID 作為主鍵索引。當用戶根據商品 ID 查詢商品詳情時,數據庫能通過 B+ 樹快速定位到對應的商品記錄,提高查詢效率。

SQL 代碼示例

sql

-- 創建商品表并設置商品 ID 為主鍵索引
CREATE TABLE products (product_id INT PRIMARY KEY,product_name VARCHAR(100),price DECIMAL(10, 2)
);-- 插入數據
INSERT INTO products (product_id, product_name, price) VALUES (1, 'iPhone', 999.99);
INSERT INTO products (product_id, product_name, price) VALUES (2, 'iPad', 599.99);-- 根據主鍵索引查詢商品
SELECT * FROM products WHERE product_id = 1;

Java 代碼示例(模擬 B+ 樹查詢)

java

import java.util.ArrayList;
import java.util.List;// 簡單模擬 B+ 樹節點
class BPlusTreeNode {List<Integer> keys;List<BPlusTreeNode> children;boolean isLeaf;BPlusTreeNode next;public BPlusTreeNode(boolean isLeaf) {this.keys = new ArrayList<>();this.children = new ArrayList<>();this.isLeaf = isLeaf;this.next = null;}
}// 簡單模擬 B+ 樹查詢
class BPlusTree {BPlusTreeNode root;public BPlusTree() {this.root = new BPlusTreeNode(true);}public Integer search(int key) {BPlusTreeNode node = root;while (!node.isLeaf) {int i = 0;while (i < node.keys.size() && key > node.keys.get(i)) {i++;}node = node.children.get(i);}for (int i = 0; i < node.keys.size(); i++) {if (node.keys.get(i) == key) {return key;}}return null;}
}public class BPlusTreeExample {public static void main(String[] args) {BPlusTree bPlusTree = new BPlusTree();Integer result = bPlusTree.search(5);System.out.println(result);}
}

?

2. 01 索引

  • 定義

“01 索引” 指的是位圖索引,它是一種特殊的索引結構,用位圖表示每個索引鍵的值。對于每個索引鍵,位圖中的每一位對應一個數據記錄,若該記錄的索引鍵值等于該索引鍵,對應位為 1,否則為 0。通過位圖的位運算可快速進行查詢和過濾。

  • 要點
  1. 空間效率高:對于低基數(不同值數量較少)的列,能顯著減少存儲空間。
  2. 查詢效率高:利用位運算可快速查詢和過濾,尤其適用于多條件查詢。
  3. 更新成本高:數據記錄插入、更新或刪除時,需更新對應位圖,成本較高。
  • 應用

在數據倉庫的用戶表中,對于性別(只有男、女兩種值)列可使用位圖索引。當需要統計男性用戶數量時,通過位圖的位運算能快速得出結果。

SQL 代碼示例(創建位圖索引)

sql

-- 假設表名為 users,列名為 gender
CREATE TABLE users (user_id INT,gender CHAR(1)
);-- 創建位圖索引
CREATE BITMAP INDEX idx_users_gender ON users (gender);-- 插入數據
INSERT INTO users (user_id, gender) VALUES (1, 'M');
INSERT INTO users (user_id, gender) VALUES (2, 'F');-- 查詢男性用戶
SELECT * FROM users WHERE gender = 'M';

?

3. 如何在長文本中快捷的篩選出你的名字

?

  • 定義

在長文本中篩選指定名字可借助字符串匹配算法。常見算法有樸素匹配算法、KMP 算法、Boyer - Moore 算法等,這些算法通過不同策略在長文本中查找目標名字的位置。

  • 要點
  1. 樸素匹配算法:簡單直觀,但時間復雜度高,為 O (m * n),m 是長文本長度,n 是要匹配名字的長度。
  2. KMP 算法:預處理要匹配的名字,構建部分匹配表,避免匹配過程中的不必要回溯,時間復雜度為 O (m + n)。
  3. Boyer - Moore 算法:從右向左匹配,利用壞字符規則和好后綴規則跳過盡可能多的字符,平均時間復雜度接近 O (m)。
  • 應用

在新聞文章的搜索系統中,用戶輸入關鍵詞(如人名),系統可使用高效的字符串匹配算法在大量文章中快速篩選出包含該關鍵詞的文章。

Java 代碼示例(使用 KMP 算法)

java

public class KMP {public static int kmpSearch(String text, String pattern) {int[] lps = computeLPSArray(pattern);int i = 0; // 文本指針int j = 0; // 模式指針while (i < text.length()) {if (pattern.charAt(j) == text.charAt(i)) {j++;i++;}if (j == pattern.length()) {return i - j; // 找到匹配} else if (i < text.length() && pattern.charAt(j) != text.charAt(i)) {if (j != 0) {j = lps[j - 1];} else {i++;}}}return -1; // 未找到匹配}private static int[] computeLPSArray(String pattern) {int[] lps = new int[pattern.length()];int len = 0;int i = 1;lps[0] = 0;while (i < pattern.length()) {if (pattern.charAt(i) == pattern.charAt(len)) {len++;lps[i] = len;i++;} else {if (len != 0) {len = lps[len - 1];} else {lps[i] = 0;i++;}}}return lps;}public static void main(String[] args) {String text = "Hello, my name is John. John is a good person.";String pattern = "John";int index = kmpSearch(text, pattern);System.out.println("Index of pattern: " + index);}
}

?

4. 數據庫的完整性約束, 事務隔離級別

?

  • 數據庫的完整性約束
  • 定義

數據庫的完整性約束是為保證數據庫中數據的正確性、一致性和有效性而設置的規則。包括實體完整性、參照完整性和用戶定義的完整性。實體完整性確保表中每一行記錄唯一,通常通過主鍵約束實現;參照完整性保證表之間關聯關系正確,通常通過外鍵約束實現;用戶定義的完整性是根據業務需求定義的規則,如檢查約束、默認值約束等。

  • 要點
  1. 主鍵約束:一個表只能有一個主鍵,主鍵值必須唯一且不為空。
  2. 外鍵約束:外鍵是表中的列,引用另一個表的主鍵,其值必須存在于被引用表的主鍵中或為空。
  3. 檢查約束:限制列的取值范圍,如年齡必須大于 0。
  4. 默認值約束:為列指定默認值,插入記錄時若未指定該列值,則使用默認值。
  • 應用

在學生選課系統中,學生表的學生 ID 作為主鍵,課程表的課程 ID 作為主鍵。選課表中通過外鍵關聯學生 ID 和課程 ID,確保選課信息的正確性。同時,可設置成績列的檢查約束,保證成績在 0 - 100 分之間。

SQL 代碼示例(創建完整性約束)

sql

-- 創建學生表
CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT CHECK (age > 0)
);-- 創建課程表
CREATE TABLE courses (course_id INT PRIMARY KEY,course_name VARCHAR(100)
);-- 創建選課表
CREATE TABLE enrollments (enrollment_id INT PRIMARY KEY,student_id INT,course_id INT,grade DECIMAL(5, 2) CHECK (grade >= 0 AND grade <= 100),FOREIGN KEY (student_id) REFERENCES students(student_id),FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

事務隔離級別

  • 定義

事務隔離級別用于控制多個事務之間的可見性和并發操作行為。不同隔離級別影響事務的并發性能和數據一致性。常見的事務隔離級別有讀未提交(Read Uncommitted)、讀已提交(Read Committed)、可重復讀(Repeatable Read)和串行化(Serializable)。

  • 要點
  1. 讀未提交:一個事務可讀取另一個未提交事務的數據,可能出現臟讀、不可重復讀和幻讀問題。
  2. 讀已提交:一個事務只能讀取另一個已提交事務的數據,避免臟讀問題,但可能出現不可重復讀和幻讀問題。
  3. 可重復讀:在一個事務中,多次讀取同一數據結果相同,避免臟讀和不可重復讀問題,但可能出現幻讀問題。
  4. 串行化:所有事務依次執行,避免臟讀、不可重復讀和幻讀問題,但并發性能最低。
  • 應用

在銀行轉賬系統中,為保證數據一致性,可將事務隔離級別設置為可重復讀。例如,在一個事務中進行轉賬操作時,多次讀取賬戶余額結果相同,避免出現數據不一致的情況。

SQL 代碼示例(設置事務隔離級別)

sql

-- 設置事務隔離級別為可重復讀
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;-- 開始事務
START TRANSACTION;-- 執行轉賬操作
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;-- 提交事務
COMMIT;

?

5. 數據庫悲觀鎖怎么實現的

?

  • 定義

數據庫悲觀鎖是一種保守的并發控制策略,假設數據處理過程中會發生沖突,因此在訪問數據前先對數據加鎖,防止其他事務修改數據。常見實現方式有共享鎖(讀鎖)和排他鎖(寫鎖)。

  • 要點
  1. 共享鎖:多個事務可同時對同一數據加共享鎖用于讀取數據。加共享鎖后,其他事務可繼續加共享鎖,但不能加排他鎖,直到所有共享鎖釋放。
  2. 排他鎖:一個事務對數據加排他鎖后,其他事務不能再對該數據加任何類型的鎖,直到排他鎖釋放。排他鎖用于修改數據,保證數據一致性。
  • 應用

在電商系統的庫存管理中,當用戶下單時,對相應商品的庫存記錄加排他鎖,防止其他用戶同時購買導致庫存數據不一致。

SQL 代碼示例(使用排他鎖)

sql

-- 會話 1
START TRANSACTION;
SELECT * FROM products WHERE product_id = 1 FOR UPDATE;
-- 進行庫存更新操作
UPDATE products SET stock = stock - 1 WHERE product_id = 1;
COMMIT;-- 會話 2
START TRANSACTION;
SELECT * FROM products WHERE product_id = 1 FOR UPDATE;
-- 會被阻塞,直到會話 1 的排他鎖釋放
COMMIT;

?

6. 建表的原則

?

  • 定義

建表原則是為保證數據庫設計合理、高效、可維護和可擴展而遵循的準則。設計表結構時需考慮數據的完整性、一致性、性能和可維護性等因素。

  • 要點
  1. 遵循范式:盡量遵循數據庫的范式設計,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),減少數據冗余。
  2. 選擇合適的數據類型:根據數據特點和使用場景,選擇合適的數據類型,避免數據類型不匹配導致的性能問題。
  3. 合理設置主鍵和索引:為表設置合適的主鍵,確保數據唯一性。根據查詢需求,合理創建索引,提高查詢性能。
  4. 考慮數據的擴展性:設計表結構時要考慮未來數據增長和業務變化,預留一定擴展性。
  • 應用

在企業的員工管理系統中,設計員工表、部門表和項目表時,遵循建表原則。員工表以員工 ID 為主鍵,部門表以部門 ID 為主鍵,項目表以項目 ID 為主鍵。通過外鍵關聯員工和部門、員工和項目,同時根據查詢需求在相關列上創建索引。

SQL 代碼示例(創建符合建表原則的表)

sql

-- 創建部門表
CREATE TABLE departments (department_id INT PRIMARY KEY,department_name VARCHAR(100)
);-- 創建員工表
CREATE TABLE employees (employee_id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,department_id INT,salary DECIMAL(10, 2),hire_date DATE,FOREIGN KEY (department_id) REFERENCES departments(department_id),INDEX idx_department_id (department_id)
);-- 創建項目表
CREATE TABLE projects (project_id INT PRIMARY KEY,project_name VARCHAR(100),start_date DATE,end_date DATE
);-- 創建員工項目關聯表
CREATE TABLE employee_projects (employee_project_id INT PRIMARY KEY AUTO_INCREMENT,employee_id INT,project_id INT,FOREIGN KEY (employee_id) REFERENCES employees(employee_id),FOREIGN KEY (project_id) REFERENCES projects(project_id)
);

?

7. 索引的定義和用法

?

  • 定義

索引是數據庫中一種特殊的數據結構,用于加快數據查詢速度。它對表中某些列的值進行排序和存儲,建立快速查找的映射關系,使數據庫查詢時可直接定位所需數據記錄,無需掃描整個表。

  • 用法
  1. 創建索引:使用?CREATE INDEX?語句創建索引,如?CREATE INDEX idx_column_name ON table_name (column_name);
  2. 使用索引:在查詢語句中,數據庫會自動根據索引進行優化,提高查詢效率,如?SELECT * FROM table_name WHERE column_name = 'value';
  3. 刪除索引:使用?DROP INDEX?語句刪除索引,如?DROP INDEX idx_column_name ON table_name;
  • 要點
  1. 選擇合適的列創建索引:通常在經常用于查詢條件、排序和連接的列上創建索引。
  2. 避免創建過多的索引:過多索引會增加數據插入、更新和刪除的開銷,同時占用更多存儲空間。
  3. 定期維護索引:隨著數據變化,索引可能碎片化,影響查詢性能,需定期重建和優化索引。
  • 應用

在電商系統的商品搜索功能中,對商品名稱、價格等列創建索引。當用戶根據商品名稱或價格范圍進行搜索時,數據庫可利用索引快速定位到相關商品記錄。

SQL 代碼示例(創建和使用索引)

sql

-- 創建商品表
CREATE TABLE products (product_id INT PRIMARY KEY,product_name VARCHAR(100),price DECIMAL(10, 2),category VARCHAR(50)
);-- 創建索引
CREATE INDEX idx_product_name ON products (product_name);
CREATE INDEX idx_price ON products (price);-- 使用索引進行查詢
SELECT * FROM products WHERE product_name = 'iPhone';
SELECT * FROM products WHERE price > 500;-- 刪除索引
DROP INDEX idx_product_name ON products;

?

8. 怎么創建表

?

  • 定義

創建表是數據庫操作的基本操作,通過 SQL 語句在數據庫中創建新表。創建時需指定表名、列名、數據類型和約束條件等信息。

  • 要點
  1. 表名:應具有描述性,清晰表達表的用途。
  2. 列名:也應具有描述性,清晰表達列的含義。
  3. 數據類型:根據數據特點和使用場景,選擇合適的數據類型,如整數類型、字符串類型、日期類型等。
  4. 約束條件:可為列添加約束條件,如主鍵約束、外鍵約束、唯一約束、檢查約束等,保證數據的完整性和一致性。
  • 應用

在開發一個博客系統時,需要創建文章表、用戶表和評論表。通過合理創建表結構,保證系統數據的有效存儲和管理。

SQL 代碼示例(創建表)

sql

-- 創建用戶表
CREATE TABLE users (user_id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(100) NOT NULL,email VARCHAR(100) UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 創建文章表
CREATE TABLE articles (article_id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(200) NOT NULL,content TEXT,author_id INT,published_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (author_id) REFERENCES users(user_id)
);-- 創建評論表
CREATE TABLE comments (comment_id INT PRIMARY KEY AUTO_INCREMENT,article_id INT,user_id INT,comment_text TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (article_id) REFERENCES articles(article_id),FOREIGN KEY (user_id) REFERENCES users(user_id)
);

?

9. 已知兩條 SQL 語句, 如何根據這兩條語句建索引

?

  • 定義

根據 SQL 語句創建索引是為提高查詢性能。需要分析 SQL 語句中的查詢條件、排序條件和連接條件,在這些條件涉及的列上創建索引。

  • 要點
  1. 查詢條件:在經常用于?WHERE?子句的列上創建索引,如?WHERE column_name = 'value'
  2. 排序條件:在經常用于?ORDER BY?子句的列上創建索引,如?ORDER BY column_name
  3. 連接條件:在經常用于?JOIN?子句的列上創建索引,如?JOIN table_name ON table1.column_name = table2.column_name
  • 應用

在一個圖書管理系統中,有兩條 SQL 語句:一條用于查詢某一分類下價格大于 50 元的圖書,另一條用于按圖書出版日期排序查詢。可根據這兩條語句在分類列、價格列和出版日期列上創建索引。

SQL 代碼示例(根據 SQL 語句創建索引)

sql

-- 假設有兩條 SQL 語句
-- 語句 1: SELECT * FROM books WHERE category = 'fiction' AND price > 50;
-- 語句 2: SELECT * FROM books ORDER BY publish_date;-- 創建圖書表
CREATE TABLE books (book_id INT PRIMARY KEY,title VARCHAR(200),category VARCHAR(50),price DECIMAL(10, 2),publish_date DATE
);-- 根據語句 1 創建復合索引
CREATE INDEX idx_category_price ON books (category, price);-- 根據語句 2 創建索引
CREATE INDEX idx_publish_date ON books (publish_date);

?

10. select 語句實現順序

?

  • 定義

SELECT?語句的執行順序并非按照語句中各子句的書寫順序,而是遵循特定的邏輯順序。數據庫先確定查詢范圍和條件,再進行數據篩選、分組、排序等操作,最后返回結果。

  • 要點

SELECT?語句的執行順序如下:

  1. FROM:指定要查詢的表或視圖。
  2. JOIN:若有連接操作,進行表的連接。
  3. WHERE:根據條件篩選記錄。
  4. GROUP BY:對篩選后的記錄進行分組。
  5. HAVING:對分組后的結果進行篩選。
  6. SELECT:選擇要返回的列。
  7. DISTINCT:去除重復的記錄。
  8. ORDER BY:對結果進行排序。
  9. LIMIT:限制返回的記錄數量。
  • 應用

在學生成績統計系統中,要統計每個班級的平均成績,并篩選出平均成績大于 80 分的班級,按平均成績降序排列,取前 5 個班級。通過了解?SELECT?語句的執行順序,可正確編寫查詢語句。

SQL 代碼示例(演示?SELECT?語句執行順序)

sql

-- 假設有兩個表:students 和 scores
-- students 表包含 student_id, class_id, name 列
-- scores 表包含 score_id, student_id, score 列SELECT s.class_id, AVG(sc.score) AS average_score
FROM students s
JOIN scores sc ON s.student_id = sc.student_id
WHERE sc.score > 60
GROUP BY s.class_id
HAVING AVG(sc.score) > 80
ORDER BY average_score DESC
LIMIT 5;

在這個示例中,數據庫先執行?FROM?和?JOIN?操作,連接?students?表和?scores?表;接著執行?WHERE?子句,篩選出成績大于 60 分的記錄;然后執行?GROUP BY?操作,按班級 ID 分組;再執行?HAVING?子句,篩選出平均成績大于 80 分的班級;之后執行?SELECT?操作,選擇班級 ID 和平均成績;最后執行?ORDER BY?和?LIMIT?操作,對結果排序并限制返回的記錄數量。

友情提示:本文已經整理成文檔,可以到如下鏈接免積分下載閱讀

https://download.csdn.net/download/ylfhpy/90567261

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74524.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74524.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74524.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Educational Codeforces Round 177 (Rated for Div. 2)

Educational Codeforces Round 177 (Rated for Div. 2) A. Cloudberry Jam 思路&#xff1a; 1千克果子能生產2/3千克果醬&#xff0c;生產3千克果醬則需要2千克果醬&#xff0c;所以*2即可 code: void solve() { int x; cin >> x;cout << 2 * x << e…

ARM-外部中斷,ADC模數轉換器

根據您提供的圖片&#xff0c;我們可以看到一個S3C2440微控制器的中斷處理流程圖。這個流程圖展示了從中斷請求源到CPU的整個中斷處理過程。以下是流程圖中各個部分與您提供的寄存器之間的關系&#xff1a; 請求源&#xff08;帶sub寄存器&#xff09;&#xff1a; 這些是具體的…

23種設計模式-行為型模式-迭代器

文章目錄 簡介問題解決代碼設計關鍵點&#xff1a; 總結 簡介 迭代器是一種行為設計模式&#xff0c;讓你能在不暴露集合底層表現形式(列表、棧和樹等)的情況下遍歷集合中所有的元素。 問題 集合是編程中最常使用的數據類型之一。 大部分集合使用簡單列表存儲元素。但有些集…

Python 布爾類型

Python 布爾類型(Boolean) 布爾類型是Python中的基本數據類型之一&#xff0c;用于表示邏輯值。它只有兩個值&#xff1a; True - 表示真False - 表示假 1. 布爾值的基本使用 # 定義布爾變量 is_active True is_admin Falseprint(is_active) # 輸出: True print(is_admi…

人工智能在前端開發中的應用探索

一、人工智能在前端開發中的應用場景 人工智能&#xff08;AI&#xff09;技術的快速發展為前端開發帶來了新的機遇和挑戰。AI在前端開發中的應用主要集中在以下幾個方面&#xff1a;智能代碼生成、自動化測試、個性化推薦、智能交互設計以及性能優化。這些應用場景不僅提高了…

三維掃描助力文化遺產數字化保護

當下&#xff0c;三維掃描技術以其獨特的優勢&#xff0c;正逐漸成為文化遺產數字化保護的重要工具&#xff0c;讓珍貴的文物得以“永生”。 三維掃描在文物數字化方面的應用&#xff1a; 高精度文物存檔&#xff1a;三維掃描技術能夠實現對文物的快速、無損掃描&#xff0c;…

如何將生活場景轉換為數據模型模型仿真?

從家到公司有31公里&#xff0c;其中有一個2車道右轉立交橋匯入另外一條路&#xff0c;每次都是那個堵車&#xff0c;導致路上的行程在45分鐘到70分鐘左右&#xff1f;前面或后面路段都是3-4車道&#xff0c;足夠通行。如何解決這個難題&#xff0c;是否可搭建數學模型實現可視…

Java學習總結-io流-練習案例

將文檔的內容排序&#xff1a; public static void main(String[] args) throws IOException {File dir new File("J:\\360downloads\\wpcache\\srvsetwp\\xxx\\test.txt");BufferedReader br new BufferedReader(new FileReader(dir));//把按行讀取到的內容&#…

【C++】STL庫_stack_queue 的模擬實現

棧&#xff08;Stack&#xff09;、隊列&#xff08;Queue&#xff09;是C STL中的經典容器適配器 容器適配器特性 不是獨立容器&#xff0c;依賴底層容器&#xff08;deque/vector/list&#xff09;通過限制基礎容器接口實現特定訪問模式不支持迭代器操作&#xff08;無法遍歷…

LangChain核心解析:掌握AI開發的“鏈“式思維

0. 思維導圖 1. 引言 ?? 在人工智能快速發展的今天,如何有效地利用大語言模型(LLM)構建強大的應用成為眾多開發者關注的焦點。前面的課程中,我們學習了正則表達式以及向量數據庫的相關知識,了解了如何處理文檔并將其附加給大模型。本章我們將深入探討LangChain中的核心概…

Error:java: 程序包lombok不存在

使用Maven package打包項目發現報錯 一、Maven配置文件修改 1.找到本地 maven的配置文件settings.xml 2.修改配置文件中&#xff0c;指向本地倉庫的地址使用 ‘’ \ \ ‘’ 隔開&#xff0c; 要么使用 正斜線 / 隔開 不要使用 反斜線 \ windows OS 電腦&#xff0c;使用 \ …

WordPress 未授權本地文件包含漏洞(CVE-2025-2294)(附腳本)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

基于 C# 開發視覺檢測系統項目全解析

引言 在當今高度自動化的制造業領域,視覺檢測系統的重要性愈發凸顯。它憑借高速、高精度的特性,在產品外觀缺陷檢測、尺寸測量等環節發揮著關鍵作用,顯著提升了生產效率和產品質量。C# 作為一種功能強大且易于學習的編程語言,結合.NET 框架豐富的類庫以及 Windows Forms、…

GISBox:核心功能免費的一站式三維GIS處理平臺

大家好&#xff0c;今天為大家介紹的軟件是GISBox&#xff1a;一款核心功能免費的一站式三維GIS處理平臺&#xff0c;主要是適用于數字孿生。下面&#xff0c;我們將從軟件的主要功能、支持的系統、軟件官網等方面對其進行簡單的介紹。 軟件官網&#xff1a;http://www.gisbox.…

Ubuntu 24 云服務器上部署網站_詳細版_1

從零開始&#xff0c;在 Ubuntu 24 云服務器上部署一個支持登錄和權限的網站&#xff0c;用 Python Django 實現&#xff0c;適合新手跟著操作。 &#x1f527; 第一步&#xff1a;更新服務器并安裝基礎環境 請使用 SSH 登錄你的 Ubuntu 24 云服務器&#xff08;用 MobaXterm…

單片機學習之定時器

定時器是用來定時的機器&#xff0c;是存在于STM32單片機中的一個外設。STM32一般總共有8個定時器&#xff0c;分別是2個高級定時器&#xff08;TIM1、TIM8&#xff09;&#xff0c;4個通用定時器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff09;和2個基本定時器&#xff08;TI…

AIGC6——AI的哲學困境:主體性、認知邊界與“天人智一“的再思考

引言&#xff1a;當機器開始"思考" 2023年&#xff0c;Google工程師Blake Lemoine聲稱對話AI LaMDA具有"自我意識"&#xff0c;引發軒然大波。這一事件將古老的哲學問題重新拋回公眾視野&#xff1a;?**機器能否擁有主體性&#xff1f;**從東方"天人…

從內核到應用層:Linux緩沖機制與語言緩沖區的協同解析

系列文章目錄 文章目錄 系列文章目錄前言一、緩沖區1.1 示例11.2 緩沖區的概念 二、緩沖區刷新方案三、緩沖區的作用及存儲 前言 上篇我們介紹了&#xff0c;文件的重定向操作以及文件描述符的概念&#xff0c;今天我們再來學習一個和文件相關的知識-----------用戶緩沖區。 在…

高通camx IOVA內存不足,導致10-15x持續拍照后,點擊拍照鍵定屏無反應,過一會相機閃退

定屏閃退問題分析思路&#xff1a; 定屏問題如果是相機問題&#xff0c;一般會出現返幀&#xff0c;導致預覽卡死。當然還有其他情況&#xff0c;我們先看返幀情況&#xff0c;發現request和result開始都正常&#xff0c;到12:53:05.443038就沒有返幀了&#xff0c;定屏了。往…

AI知識補全(十五):AI可解釋性與透明度是什么?

名人說&#xff1a;一笑出門去&#xff0c;千里落花風。——辛棄疾《水調歌頭我飲不須勸》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知識補全&#xff08;十四&#xff09;&#xff1a;零樣本…