Java面試問題記錄(四)

四、設計模式

1、設計模式6大原則

1)單一職責(一個類和方法只做一件事)、

2)里氏替換(多態,子類可擴展父類)、

3)依賴倒置(細節依賴抽象,下層依賴上層)、

4)接口隔離(建立單一接口)、迪米特原則(最少知道,降低耦合)、

5)開閉原則(抽象架構,擴展實現)

2、創建型模式

這類模式提供創建對象的機制, 能夠提升已有代碼的靈活性和可復用性。

3、結構型模式

這類模式介紹如何將對象和類組裝成較大的結構, 并同時保持結構的靈活和高效。

4、行為模式

這類模式負責對象間的高效溝通和職責委派。

五、反射,代理

1、怎么實現反射調用方法

1)獲取目標類的class對象

2)通過class對象獲取要調用的Method對象

3)使用Method對象的invoke()方法調用目標方法

2、怎么代理一個類,有什么場景使用

1)靜態代理:在編譯期就確定代理類和被代理類之間的關系,代理類需要手動編寫

2)JDK動態代理:在運行時動態生成代理類,需要借助Proxy和InvocationHandler

3)CGLIB動態代理:這是基于繼承的動態代理,無需被代理類實現接口,通過生成被代理類的子類來實現代理。

代理方式優點缺點適用場景
靜態代理簡單直觀,性能好代碼冗余,維護成本高代理類少且固定的場景
JDK 動態代理無需手動編寫代理類,靈活只能代理實現接口的類基于接口的代理場景
CGLIB 動態代理可代理沒有實現接口的類生成代理類耗時,性能略低無接口的類代理場景

3、類代理的原理是什么

代理類型核心原理依賴條件底層技術
靜態代理編譯期手動編寫代理類,組合被代理對象代理類與被代理類實現同一接口硬編碼組合
JDK 動態代理運行時生成實現接口的代理類,轉發調用被代理類必須實現接口反射 + 字節碼生成
CGLIB 動態代理運行時生成被代理類的子類,重寫方法被代理類不能是 final 類ASM 字節碼操作

4、有什么框架可以做類代理

1)spring中的AOP

2)CGLIB

3)Javassist?

4)mybatis(動態生成Mapper類的代理)

六、Redis

命令

1、計數命令

incr 和 decr

2、排序命令

sort

3、加鎖命令

set nx

架構

1、常用的數據類型

hash,set,List,String,zset

數據類型底層結構(簡化)核心特點常用命令典型應用場景
String(字符串)動態字符串(SDS)1. 最基礎類型,value 可存字符串、整數、浮點數
2. 最大存儲容量 512MB
3. 支持原子性增減操作
SET/GETINCR/DECRAPPENDEXPIREMSET/MGET1. 緩存:存儲用戶信息、商品詳情等
2. 計數器:文章閱讀量、登錄次數(INCR
3. 分布式鎖:SET key value NX EX
Hash(哈希)哈希表(數組 + 鏈表)1. 鍵值對的集合(類似 Java 的 HashMap)
2. 單個 Hash 可存儲多個字段(field-value)
3. 操作單個字段時,無需加載整個 Hash
HSET/HGETHMSET/HMGETHGETALLHDELHKEYS/HVALS1. 存儲對象:用戶信息(id 為 key,name/age/phone 為 field)
2. 購物車:用戶 ID 為 key,商品 ID 為 field,數量為 value
List(列表)雙向鏈表(或壓縮列表)1. 有序(按插入順序)、可重復的元素集合
2. 支持首尾高效操作(時間復雜度 O (1)),中間操作低效(O (n))
3. 可實現 “棧” 或 “隊列”
LPUSH/RPUSH(增)、LPOP/RPOP(刪)、LRANGE(查)、LLEN(長度)1. 消息隊列:LPUSH?生產消息,RPOP?消費消息
2. 排行榜:最新評論、最新訂單(首尾插入 + 范圍查詢)
3. 棧 / 隊列:LPUSH+LPOP(棧)、LPUSH+RPOP(隊列)
Set(集合)哈希表(或整數集合)1. 無序、不可重復的元素集合
2. 支持交集、并集、差集等集合運算(原子性)
3. 查找元素效率高(O (1))
SADD/SREM(增刪)、SMEMBERS(查所有)、SISMEMBER(判斷存在)、SINTER(交集)、SUNION(并集)1. 標簽:文章標簽(一個文章多個標簽,去重)
2. 社交:共同好友(SINTER)、好友推薦(SUNION
3. 去重:用戶簽到記錄(避免重復簽到)
Sorted Set(有序集合)跳表(+ 哈希表)1. 有序(按 “分數” 排序)、不可重復的元素集合
2. 每個元素關聯一個 “分數(score)”,按 score 升序排列
3. 支持按分數范圍 / 排名快速查詢
ZADD(增)、ZRANGE/ZREVRANGE(按排名查)、ZSCORE(查分數)、ZREM(刪)、ZCOUNT(按分數統計)1. 排行榜:游戲積分排名(ZADD?加分數,ZREVRANGE?查 Top N)
2. 延時任務:score 設為時間戳,ZRANGEBYSCORE?取到期任務
3. 范圍統計:統計分數在 80-100 分的用戶

2、數據淘汰策略

1)volatile-lru(least recently used):從已設置過期時間的數據集中挑選最近最少使用的數據淘汰。

2)volatile-ttl:從已設置過期時間的數據集中挑選將要過期的數據淘汰。

3)volatile-random:從已設置過期時間的數據集中任意選擇數據淘汰。

4)allkeys-lru(least recently used):從數據集中移除最近最少使用的數據淘汰。

5)allkeys-random:從數據集中任意選擇數據淘汰。

6)no-eviction(默認內存淘汰策略):禁止驅逐數據,當內存不足以容納新寫入數據時,新寫入操作會報錯。

7)volatile-lfu(least frequently used):從已設置過期時間的數據集中挑選最不經常使用的數據淘汰。

8)allkeys-lfu(least frequently used):從數據集中移除最不經常使用的數據淘汰。

3、單線程的為什么那么快

1)純內存操作:這是最主要的原因,因為Redis數據讀寫都發生在內存中,訪問速度很快

2)高效的IO模型:Redis使用單線程事件循環配置IO多路復用技術,讓單線程可以同時處理多個IO請求,避免了多線程情況下的上下文切換和鎖沖突問題。

3)優化的內部數據結構:Redis會根據數據大小和類型動態選擇最合適的內部編碼,在性能和空間效率之間選擇最佳平衡

4)簡潔高效的通信協議:Redis使用的是自己設計的RESP協議,這個協議實現簡單,解析性能好,并且是二進制安全的

4、RDB和AOF的優缺點

RDB:Redis可以通過創建快照來存儲內存里某個時間點的數據副本,并對其進行備份,還可以將快照復制到其他服務,用于數據同步或者數據恢復的作用。

AOF:Redis會記錄每一條更改Redis數據的命令,并將其記錄在AOF緩沖區中,然后寫入AOF文件。

對比維度RDB(快照式)AOF(日志式)
1. 數據安全性劣勢:存在數據丟失風險。
原因:RDB 是 “定時快照”(如每 5 分鐘生成一次),若在兩次快照間隔內宕機,期間新增 / 修改的數據會全部丟失。
優勢:數據安全性更高,丟失數據可控制。
原因:AOF 支持三種刷盤策略(見下文),默認?fsync everysec(每秒刷盤一次),最多丟失 1 秒內的數據。
2. 文件大小優勢:文件體積小。
原因:RDB 是二進制壓縮文件,僅保存數據最終狀態,不記錄中間過程(如多次修改同一鍵,僅存最終值)。
劣勢:文件體積大。
原因:AOF 記錄每一條寫命令,即使多次修改同一鍵,也會保留所有歷史命令(需通過 AOF 重寫優化)。
3. 恢復速度優勢:恢復速度快。
原因:加載時直接讀取二進制快照,無需執行命令,適合大數據量場景(如 GB 級數據恢復僅需幾秒)。
劣勢:恢復速度慢。
原因:恢復時需逐條執行 AOF 文件中的所有命令,命令越多、數據量越大,恢復時間越長(GB 級數據可能需要分鐘級)。
4. 性能影響(寫操作)優勢:對寫性能影響小。
原因:RDB 僅在 “生成快照” 時消耗資源(fork 子進程、遍歷內存),平時的寫操作無額外開銷;但?fork 子進程可能導致短暫阻塞(尤其是內存大時,fork 耗時增加)。
劣勢:對寫性能有一定影響。
原因:每一條寫命令都需要追加到 AOF 文件,且刷盤(fsync)操作會涉及磁盤 I/O;但可通過調整刷盤策略平衡性能與安全性。
5. 持久化策略靈活性劣勢:策略單一,僅支持 “定時快照”(如?save 900 1?表示 900 秒內至少 1 次寫操作則觸發快照),無法實現 “實時持久化”。優勢:策略靈活,支持三種刷盤策略(通過?appendfsync?配置):
-?always:每寫一條命令就刷盤(最安全,性能最差);
-?everysec:每秒刷盤一次(默認,平衡安全與性能);
-?no:由操作系統決定何時刷盤(性能最好,安全性最差)。
6. 兼容性優勢:兼容性強。
原因:RDB 文件是二進制格式,幾乎支持所有 Redis 版本(舊版本可加載新版本的 RDB 文件,反之亦然,需注意大版本差異)。
劣勢:兼容性較弱。
原因:AOF 文件記錄的是 Redis 命令,不同版本的命令語法可能變化(如舊版本不支持新版本的命令),可能導致恢復失敗。
7. 主從復制支持優勢:主從復制初始化時,主節點會生成 RDB 文件發送給從節點,快照文件體積小,傳輸效率高,適合大規模集群部署。劣勢:主從復制初始化不依賴 AOF(默認用 RDB),若強制用 AOF 傳輸,文件體積大,傳輸耗時久,影響集群同步效率。
8. 運維成本優勢:運維簡單。
原因:僅需管理一個 RDB 文件,適合定時備份(如每天凌晨生成快照并歸檔)。
劣勢:運維稍復雜。
原因:需處理 AOF 重寫(避免文件過大),且可能出現 AOF 文件損壞(需用?redis-check-aof?工具修復)。

5、持久化策略選擇

1)如果Redis里存儲的數據丟失一些也沒有影響的話,可以考慮使用RDB

2)不建議單獨使用AOF,因為時不時創建一個RDB快照,恢復速度也比AOF快,只是需要較大的內存

3)如果保存的數據安全性較高,可以將AOF和RDB混合使用

應用

1、緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級

1)緩存雪崩:大量緩存的key在同一時間段內全部失效,導致原本由緩存支撐的高并發請求全部到了數據庫(隨機設置過期時間)

2)緩存穿透:請求的數據在緩存和數據庫中都不存在,導致每次請求都會穿透緩存到達數據庫(在緩存中設置空值,布隆過濾器)

3)緩存預熱:主動將熱點數據提前存入緩存中,一般使用場景是在秒殺前將商品信息存到緩存

4)緩存更新:當數據庫中的數據發生更新后,要同步到緩存中

5)緩存降級:在系統面臨巨大壓力下,主動放棄非核心數據的緩存能力,返回簡化數據的策略

2、Pipeline有什么好處,為什么要用pipeline

好處

1)一次可以向客戶端發送多條命令,減少往返次數,提升通信效率

2)提升批量操作的吞吐量

3)簡化批量命令的編程模型

為什么要用它?

首先Redis執行命令的速度非常快,那么性能瓶頸就在網絡通信上,通過Pipeline 同時請求多條命令,這樣就可以提升Redis處理數據的速度

3、是否使用過Redis集群,集群的原理是什么

主從架構:由1個主節點+N個從節點組成,主節點負責寫操作,從節點負責讀操作,從節點通過復制同步主節點數據,實現數據備份,缺點是主節點宕機后,需手動切換從節點為主節點,無法自動故障轉移

哨兵架構:由主從架構+哨兵節點(通常3個)組成,可以監控主從節點狀態,當主節點宕機時,自動選舉從節點升級為主節點,并通知客戶端新的主節點地址,缺點是無法解決數據分片問題,單主節點內存受限

Cluster集群架構:由多個主從節點組成,主節點之間通過Gossip協議通信,支持數據分片及故障轉移,適用于海量數據,高并發讀寫的分布式場景

4、Redis的同步機制了解么

Redis的同步機制核心是主從復制,實現目標是主節點向從節點單向同步數據。

全量同步

1)從節點發起同步請求

2)主節點生成RDB快照

3)主節點發送RDB快照給從節點

4)從節點加載RDB快照

5)主節點發送復制緩沖區命令

增量同步

1)從節點連接主節點,將自身數據的偏移量傳給主節點

2)主節點從偏移量開始,將緩沖區的命令同步給從節點

七、MySQL

1、全局鎖

作用于整個MySQL服務器實例的鎖機制,其核心作用是阻塞所有的寫操作和部分讀操作,確保在獲得鎖的期間,整個MySQL處于靜止狀態,不會發生任何數據變更

2、表鎖

?MySQL 中鎖定粒度最大的一種鎖(全局鎖除外),是針對非索引字段加的鎖,對當前操作的整張表加鎖,實現簡單,資源消耗也比較少,加鎖快,不會出現死鎖

3、行鎖

MySQL 中鎖定粒度最小的一種鎖,是針對索引字段加的鎖?,只針對當前操作的行記錄進行加鎖。 行級鎖能大大減少數據庫操作的沖突。其加鎖粒度最小,并發度高,但加鎖的開銷也最大,加鎖慢,會出現死鎖

4、樂觀鎖、悲觀鎖

樂觀鎖是指對任何請求保持樂觀,認為它們相互不會造成影響

悲觀鎖是指對任何請求保持悲觀,認為它們每次請求都會修改數據

5、排他鎖

事務在修改記錄的時候獲取排他鎖,不允許多個事務同時獲取

6、鎖優化

1)優化索引,避免鎖升級

2)優化事務設計,縮短鎖持有時間

3)優化sql語句,減少鎖競爭

事務

1、事務特征

事務是指對數據庫的一次操作,要么全部成功,要么全部不成功,主要有四大特征:

1)原子性:事務是最小的執行單位,不允許被分割

2)一致性:執行事務前后,數據保持一致

3)隔離性:并發訪問數據庫時,線程之間互不干擾

4)持久性:一次事務對數據庫的操作永久有效

2、臟讀

一個事務讀取數據后,且對數據產生了修改,這個修改對其他事務可見,即使當前事務沒有提交,這時另一個事務讀取這條數據,但是上一個事務因為某些原因被回滾,導致數據沒有同步到數據庫,那么另一個事務讀到的就是臟數據。

3、不可重復讀

一個事務讀取多次同一條數據,但是這條數據被別的事務修改了,這就導致兩次讀取到的值不一樣

4、幻讀

現象與不可重復讀類似,多次讀取數據庫時,由于別的事務插入了幾條數據,導致兩次讀到的數據行數不一樣,像是出現了幻覺。

5、事務隔離

MySQL有四種隔離級別

1)讀未提交

2)讀已提交

3)可重復讀

4)序列化讀

6、事務實現原理

實現核心主要依賴于INNDB引擎,底層是通過日志系統,鎖機制和MVCC三大組件協同工作。

日志系統

undo log回滾日志,redo log重做日志,binlog歸檔日志

MVCC

MVCC 是一種并發控制機制,用于在多個并發事務同時讀寫數據庫時保持數據的一致性和隔離性。它是通過在每個數據行上維護多個版本的數據來實現的。當一個事務要對數據庫中的數據進行修改時,MVCC 會為該事務創建一個數據快照,而不是直接修改實際的數據行。

索引

1、聚簇索引 VS 非聚簇索引

概念核心定義關鍵特征
聚簇索引索引的 B+ 樹結構與數據行的物理存儲完全重合,即?索引的葉子節點就是數據行本身索引即數據,數據即索引
非聚簇索引索引的 B+ 樹結構與數據行物理存儲分離,葉子節點僅存儲 “索引鍵 + 聚簇索引鍵”(而非完整數據)。索引與數據獨立,需 “回表” 查詢

2、最左匹配原則

在使用聯合索引時,MySQL會根據索引的字段順序,從左到右依次匹配查詢條件中的字段

3、前綴索引

針對字符串類型字段(如?VARCHARCHARTEXT?等)的索引優化方式,它不索引字段的完整值,而是僅截取字段的前 N 個字符(前綴)創建索引。

八、框架

Spring

1、Bean的生命周期

創建 -> 賦值 ->?初始化 -> 銷毀

首先,實例化一個bean對象,為bean設置相關屬性和依賴,調用beanNameAware中的setBeanName方法取設置bean的名字,然后調用setBeanFactory方法設置bean對應的工廠信息。然后調用bean前置處理器中的方法,處理一些前置操作,調用初始化接口的方法,處理一些bean初始化是的操作,調用init方法,然后調用bean的后置處理器中的方法,處理一些后置操作。此時,bean已經可以被使用了,當需要銷毀時,調用destroy方法?

2、Bean的定義都包括什么信息

1)bean的唯一標識:beanID或者beanName

2)bean的類型信息,屬于哪個class

3)bean的作用域

4)bean的構造參數

5)bean的屬性

6)bean的初始化和銷毀方法

7)bean的依賴關系

3、Spring 事務中的隔離級別有哪幾種

DEFAULT(默認值):默認值為READ_COMMITTED。

READ_UNCOMMITTED(讀未提交):允許事務讀取其他事務未提交的數據,可能出現臟讀

READ_COMMITTED(讀已提交):事務只能讀取其他事務已經提交的數據,可以避免臟讀,但是可能出現不可重復讀

REPEATABLE_READ(可重復讀):保證同一事務內多次讀取同一數據的結果一致,可以避免臟讀和不可重復讀,但是會出現幻讀

SERIALIZABLE(序列化讀):最高隔離級別,強制事務串行執行,避免所有并發問題。

4、schedule 使用

cron表達式

5、如何解決循環依賴

通過三級緩存來解決的。一級緩存存最終形態的bean,二級緩存存尚未填充屬性的bean,三級緩存存最原始的bean

當Spring創建beanA后,發現A依賴于B,又去創建B,而B又依賴A,又去創建A;此時在創建的時候會發現發生了循環依賴,因為A還沒初始化完成,所以一二級緩存中并沒有它,然后創建一個A最原始的對象放到三級緩存中,提前暴露給B,那么B就可以創建一個未填充屬性的bean放在二級緩存中,此時A可以從二級緩存中獲取到B,然后初始化成功。

6、SpringMVC的工作流程

客戶端向服務端發起一次請求,這個請求會先到中央處理器中,中央處理器接收到請求后會調用handlerMapping處理器映射器,在handlerMapping找到對應的controller處理,并將鏈路返回給中央處理器,中央處理器將鏈路信息傳給handleradapter處理器適配器,在這里會去執行對應的controller并得到modelAndView,然后返回給中央處理器,中央處理器將modelAndView傳給視圖解析器,視圖解析器將模型填充到view視圖中,返回給中央處理器,中央處理器將view返回給客戶端。

7、如何理解AOP和IOC

IOC:控制反轉,就是由容器來負責控制對象的生命周期和對象之間的關系,以前是我們想要什么樣的對象就自己創建,現在是想要什么對象,就去找容器拿

AOP:面向切面編程,能夠將那些與業務無關,卻為業務模塊所共同調用的邏輯或責任(例如事務處理、日志管理、權限控制等)封裝起來,便于減少系統的重復代碼,降低模塊間的耦合度,并有利于未來的可拓展性和可維護性。

8、Springboot的自動裝配

開啟自動裝配的注解是enableAutoConfiguration,但是一般啟動類上的注解是springbootAplication,這是一個復合注解,它里面包含了enableAutoConfiguration
自動裝配的核心邏輯實際上是通過一個AutoConfigrationImportSelector類去實現的,它實現了ImportSelector接口,這個接口的作用就是收集需要導入的配置類,配合import注解就可以將相應的類導入到spring容器中。獲取注入類的方法是selectImports,主要流程是,先獲取注解的屬性,用于后面的排除,然后獲取所有需要自動裝配的的配置類的路徑,這一步是最關鍵的,然后去掉重復的配置類和需要排除的重復類,把需要自動加載的配置類路徑存儲起來,后面再按照路徑依次加載。

9、spring cloud 的核心組件有哪些

Eureka:服務注冊于發現。

Feign:基于動態代理機制,根據注解和選擇的機器,拼接請求 url 地址,發起請求。

Ribbon:實現負載均衡,從一個服務的多臺機器中選擇一臺。

Hystrix:提供線程池,不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務雪崩的問題。

Zuul:網關管理,由 Zuul 網關轉發請求給對應的服務。

10、spring ioc容器啟動時會干什么?

分為兩個階段:容器啟動階段和bean實例化階段
在容器啟動階段中先去加載配置,然后分析配置信息,將其裝配到beanDefinetion中,然后還有一些后置處理,bean實例化階段中先去實例化對象,然后裝配依賴,然后是對象的其他處理,最后再注冊回調接口

Dubbo

1、通信模型是什么樣的

層級作用核心組件 / 實現
傳輸層(Transport)負責底層數據的物理傳輸(字節流),處理 TCP 連接、數據讀寫等。基于 Netty(默認)、Mina、Grizzly 等 NIO 框架
協議層(Protocol)定義數據傳輸的格式(協議頭、序列化方式等),實現 “請求 - 響應” 語義。Dubbo 協議(默認)、HTTP、Hessian、gRPC 等
代理層(Proxy)對服務接口生成代理,屏蔽遠程調用細節(如網絡通信、序列化 / 反序列化)。基于 JDK 動態代理或 CGLIB 生成代理類
服務層(Service)封裝服務的注冊、發現、負載均衡、容錯等治理能力。注冊中心(ZooKeeper 等)、負載均衡策略等

2、Dubbo 和 Spring Cloud 有什么區別

功能模塊Dubbo 實現Spring Cloud 實現
服務注冊發現內置注冊中心適配(支持 ZooKeeper、Nacos、Redis 等),客戶端主動拉取服務列表。通過 Eureka、Consul、Nacos、ZooKeeper 等組件實現,支持服務健康檢查、自動剔除。
遠程通信基于?RPC 協議(默認 Dubbo 協議,支持 Hessian、gRPC 等),二進制傳輸,效率高。早期默認基于?REST API(HTTP/JSON),后期支持 gRPC、Spring Cloud Stream 等,文本 / 二進制均可。
負載均衡提供多種內置策略(隨機、輪詢、一致性哈希、最小活躍數等)。集成 Ribbon(已淘汰)、Spring Cloud LoadBalancer,支持類似策略。
容錯機制支持重試、降級、熔斷(基于自身機制或整合 Sentinel)。依賴 Hystrix(已淘汰)、Resilience4j 等組件,提供熔斷、限流、降級完整能力。
配置中心無內置實現,需集成 Nacos、Apollo 等第三方組件。提供 Spring Cloud Config、Spring Cloud Alibaba Nacos Config 等原生支持。
API 網關無內置網關,需集成 Spring Cloud Gateway、Zuul 等。提供 Spring Cloud Gateway(主流)、Zuul 等網關組件,支持路由、過濾、限流。
鏈路追蹤需集成 SkyWalking、Zipkin 等(無原生支持)。集成 Spring Cloud Sleuth + Zipkin,原生支持分布式鏈路追蹤。
服務監控提供 Dubbo Admin 監控服務調用情況。集成 Spring Boot Actuator + Spring Cloud Admin,監控服務健康、指標。

3、dubbo都支持什么協議,推薦用哪種

dubbo://(推薦)

rmi://

hessian://

http://

webservice://

thrift://

memcached://

redis://

rest://

4、Dubbo里面有哪幾種節點角色

1)服務者

2)消費者

3)注冊中心

4)監控中心

5)容器

5、Dubbo中怎么處理的超時斷開

Dubbo 的超時控制基于?“客戶端主動超時檢測”?實現:客戶端發起調用后,會啟動一個定時器,若在指定時間內未收到服務端響應,則觸發超時機制,斷開當前連接(或標記請求失敗),并執行預設的容錯策略(如重試、降級等)。

elasticsearch

1、elasticsearch 的倒排索引是什么

倒排索引是 Elasticsearch 實現高效全文檢索的核心,通過 “關鍵詞→文檔” 的映射關系,將復雜的文本查詢轉化為快速的關鍵詞查找。其結構由 “詞典(Term Dictionary)” 和 “postings list” 組成,配合分詞、標準化、分段索引等優化機制,讓 Elasticsearch 能在海量數據中實現毫秒級的全文檢索。

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

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

相關文章

高等教育學

高等教育學第一章 高等教育與高等教育學第二章 高等教育發展史2-1西方高等教育發展史2-2中國高等教育發展史第三章 高等教育理念3.1-王一軍-高等教育理念的構成要素3.2-王一軍-高等教育理念的主要流派第四章 高等學校教育4.1 高等學校教育制度4.2-陳何芳-高等教育辦學體制 &…

unordered_map使用MFC的CString作為鍵值遇到C2056和C2064錯誤

文章目錄unordered_map使用MFC的CString作為鍵值遇到C2056和C2064錯誤問題出現的背景解決方案總結unordered_map使用MFC的CString作為鍵值遇到C2056和C2064錯誤 問題出現的背景 在我的一個老工程項目中,使用C的std::unordered_map時,使用了MFC的CStrin…

Maven 本地倉庫的 settings.xml 文件

本地倉庫目錄位置&#xff1a;C:/用戶/用戶名/.m2/repository 需要修改配置&#xff0c;具體的修改方法請看 ↓↓↓ 2024版 IDEA 用 Maven 創建 java 項目&#xff08;Maven 安裝和配置&#xff09; <?xml version"1.0" encoding"UTF-8"?><!…

vue動畫內置組件

文章目錄vue動畫的官方類名EnterLeaveTransition組件注意事項觸發實例TransitionGroup組件注意事項觸發機制實例拓展vue動畫的官方類名 如下來自vue官方文檔&#xff0c;提供了dom元素&#xff0c;插入Enter和刪除Leave的類名 Enter v-enter-from&#xff1a;進入動畫的起始…

軟考中級信息安全與病毒防護知識點

### 一、核心知識點梳理這部分內容可以大致分為三個方面&#xff1a;**信息安全基本概念**、**加解密技術** 和 **惡意代碼&#xff08;病毒&#xff09;防護**。#### 1. 信息安全的基本目標&#xff08;CIA三元組&#xff09; 這是所有信息安全問題的基石&#xff0c;必須熟練…

數組存儲 · 行主序與列主序 | 應用 / 基地址 / 選擇策略

注&#xff1a;本文為 “數組存儲 行主序與列主序” 相關合輯。 英文引文&#xff0c;機翻未校。 中文引文&#xff0c;略作重排。 未整理去重&#xff0c;如有內容異常&#xff0c;請看原文。 Row major and Column Major Address calculations 按行主序和按列主序的地址計算…

在 CentOS 中安裝 VirtualBox 增強功能的步驟

很好&#xff0c;你看到 /run/media/asfor/VBox_GAs_7.2.2&#xff0c;這說明你已經在 VirtualBox 中掛載了“增強功能&#xff08;Guest Additions&#xff09;”光盤&#xff0c;接下來只要手動安裝就可以啟用共享剪貼板、全屏分辨率、鼠標無縫移動等功能。&#x1f4dd; 在 …

Python快速入門專業版(三十):函數進階:函數嵌套與作用域(內部函數訪問外部變量)

目錄引一、函數嵌套&#xff1a;在函數內部定義函數1. 基本語法與調用方式示例1&#xff1a;簡單的函數嵌套結構2. 嵌套函數的典型應用&#xff1a;隱藏輔助邏輯示例2&#xff1a;用嵌套函數隱藏輔助邏輯二、嵌套函數的作用域&#xff1a;變量訪問規則1. 內部函數訪問外部函數的…

C++數組與字符串:從基礎到實戰技巧

C中的數組和字符串是處理數據集合和文本的基礎工具。數組用于存儲相同類型的元素集合&#xff0c;而字符串則專門用于處理文本數據。C提供了兩種主要的字符串處理方式&#xff1a;C風格字符串&#xff08;字符數組&#xff09;和C的std::string類。 &#x1f4ca; 1. 數組 (Arr…

艾邁斯歐司朗推出首款高功率多芯片激光器封裝

在投影顯示領域掀起技術革新的浪潮中&#xff0c;艾邁斯歐司朗猶如一位技藝精湛的工匠&#xff0c;精心打造出Vegalas Power系列高功率激光二極管的首顆明珠——PLPM7_455QA激光器。這款采用多顆GaN基功率激光器集成封裝的新品&#xff0c;在短脈沖周期內綻放出42W的璀璨光芒&a…

機器視覺中的工業相機接口該如何選擇?

工業相機接口&#xff1a;數據傳輸的“高速公路”&#xff0c;選對了才夠快 在機器視覺系統里&#xff0c;工業相機就像“眼睛”&#xff0c;而接口則是連接“眼睛”與“大腦”&#xff08;后端處理系統&#xff09;的“高速公路”。這條“路”的寬窄、長短、抗干擾能力&#x…

[數據結構——lesson10.2堆排序以及TopK問題]

目錄 前言 學習目標 堆排序 TopK問題&#xff1a; 解法一&#xff1a;建立N個數的堆 解法二&#xff1a;建立K個數的堆&#xff08;最優解&#xff09; 完整代碼 結束語 前言 上節內容我們詳細講解了堆[數據結構——lesson10.堆及堆的調整算法]&#xff0c;接下來我們…

使用HTTPS 服務在瀏覽器端使用攝像頭的方式解析

1.方式1 // vite.config.js import { defineConfig } from vite import vue from vitejs/plugin-vue import basicSsl from vitejs/plugin-basic-sslexport default defineConfig({plugins: [vue(),basicSsl({name: test,domains: [192.168.15.166, localhost], // 添加您的IPc…

上下文管理器和異步I/O

目錄 一、上下文管理器 1.1 定義 1.2 特點 1.3 適用場景 1.4 具體實現 1.5 具體實例 1.5.1 文件管理器 1.5.2 線程鎖釋放資源 二、異步I/O 2.1 定義 2.2 特點 2.3 實現方式 2.4 適用場景 高并發網絡服務&#xff1a;Web服務器、API服務等需要處理大量并發連接 2…

LabVIEW信號監測與分析

借助 LabVIEW 平臺&#xff0c;生成含正弦波與噪聲的信號&#xff0c;經頻譜分析等處理&#xff0c;結合動態限值判斷信號是否超限&#xff0c;廣泛用于音頻、振動等領域的信號監測&#xff0c;助力高效開展信號分析與質量把控。概念說明系統圍繞信號的生成、處理、分析及監測展…

MySQL數據庫與表的創建、修改及數據操作指南

精選專欄鏈接 &#x1f517; MySQL技術筆記專欄Redis技術筆記專欄大模型搭建專欄Python學習筆記專欄深度學習算法專欄 歡迎訂閱&#xff0c;點贊&#xff0b;關注&#xff0c;每日精進1%&#xff0c;與百萬開發者共攀技術珠峰 更多內容持續更新中&#xff01;希望能給大家帶來…

?new species of flying reptile1 discovered in Scotland?

Pterosaur: new species of flying reptile1 discovered in Scotland 蘇格蘭斯凱島發現新翼龍物種 考古學家們在蘇格蘭斯凱島發現了一個新的翼龍物種。這種獨特的飛行爬行動物生活在1.68 – 1.66億年前。 This flying reptile soared over the heads of dinosaurs2 when Scotla…

03 節點行為

審批流程圖如下圖&#xff0c;在此流程圖中&#xff0c;存在兩個UserTask節點&#xff0c;第一個節點是主管審批&#xff0c;第二個節點是產品經理審批&#xff0c;兩個節點中間有一個排他網關&#xff0c;此網關用來對主管審批的結果進行判斷&#xff0c;如果主管審批通過&…

深度卷積生成對抗網絡詳解與實現

深度卷積生成對抗網絡詳解與實現 0. 前言 1. 網絡架構 1.1 批歸一化 1.2 激活 1.3 上采樣 2. 構建 DCGAN 2.1 生成器 2.2 判別器 2.3 訓練 DCGAN 0. 前言 深度卷積生成對抗網絡 (Deep Convolutional Generative Adversarial Network, DCGAN) 是基于生成對抗網絡 (Generative A…

CF607B Zuma -提高+/省選-

CF607B Zuma codeforces 原鏈接 題目描述 Genos\texttt{Genos}Genos 最近在他的手機上下載了祖瑪游戲。在祖瑪游戲里&#xff0c;存在 nnn 個一行的寶石&#xff0c;第 iii 個寶石的顏色是 CiC_iCi?。這個游戲的目標是盡快的消滅一行中所有的寶石。 在一秒鐘&#xff0c;Ge…