Java 2024年面試總結(持續更新)

目錄

最近趁著金三銀四面了五六家公司吧,也整理了一些問題供大家參考一下(適合經驗三年左右的)。

面試問題(答案是我自己總結的,不一定正確):

總結:


最近趁著金三銀四面了五六家公司吧,也整理了一些問題供大家參考一下(適合經驗三四年左右的)。
面試問題(答案是我自己總結的,不一定正確):

1.自我介紹簡單一點吧,把自己的情況說清楚,一兩分鐘即可。

2.微服務的組件
答:微服務是把一個類似單體項目根據某種維度進行拆分,比如根據功能模塊進行拆分。
拆分之后,具備了更好的抗壓性/擴展性,還可以更好的解耦,但是維護相比之前會更麻煩了
常用的組件有Spring Cloud。其中里面有:
Nacos:用來做注冊中心/配置中心
Gateway:用來做網關
Hystrx:做限流、熔斷、降級
Dubbo:做服務間的調用
Feign:也是服務間的調用

3.mq的運用
答:本項目中是用作削峰和解耦。

4.項目的并發量

5.機器搭建

6.團隊的規模

7.查詢優化

答:索引

8.spring的知識點

9.@resource/@Autowired區別

答:(1)來源不一樣:@Autowired 是 Spring 定義的注解,而 @Resource 是 Java 定義的注解
(2)依賴查找的順序不同:依賴注入的功能,是通過先在 Spring IoC 容器中查找對象,再將對象注入引入到當前類中,
@Autowired 是先根據類型(byType)查找,如果存在多個 Bean 再根據名稱(byName)進行查找
@Resource 是先根據名稱查找,如果(根據名稱)查找不到,再根據類型進行查找
(3)支持的參數不同:@Autowired 和 @Resource 在使用時都可以設置參數,其中 @Autowired 只支持設置一個 required 的參數,而 @Resource 支持 7 個參數
(4)依賴注入的用法不同:@Autowired 支持屬性注入、構造方法注入和 Setter 注入,而 @Resource 只支持屬性注入和 Setter 注入
(5)編譯器 IDEA 的提示不同:@Autowired 編譯器會提示報錯信息

10.設計模式

答:單例模式、設配器模式、工廠模式、代理模式

11.單例模式如何避免線程安全以及應用場景

答:

單例模式在多線程的,應用場合下必須小心使用。如果當唯一實例尚未創建時,有兩個線程同時調用創建方法,
那么它們同時沒有檢測到唯一實例的存在,從而同時各自創建了一個實例,這樣就有兩個實例被構造出來,從而違反了單例模式中實例唯一的原則。

解決這個問題的辦法是為指示類是否已經實例化的變量提供一個互斥鎖(雖然這樣會降低效率)。

應用場景:對象需要被公用的場合適合使用,如多個模塊使用同一個數據源連接對象等等

12.設計模式里面的工程模式?

答:(1)簡單工廠模式:建立一個工廠類,對實現了同一接口的一些類進行實例的創建。優點是比較好理解,簡單易操作。
缺點是類的創建依賴工廠類,如果想要拓展程序,必須對工廠類進行修改
(2) 工廠方法模式:對簡單工廠模式的改進,使用一個工廠接口,創建多個工廠類,每個工廠創建對應的對象。
創建一個工廠接口和創建多個工廠實現類,一旦需要增加新的功能,直接增加新的工廠類就可以了,
不需要修改之前的代碼。有利于代碼的維護和擴展。
(3) 抽象工廠模式:
MyBatis中使用的比較多,事務模塊和數據源模塊都使用了工廠方法模式。

13.代碼review工作的重點

答:(1)代碼規范:命名、格式、內容、位置(包結構)
(2)耦合、性能、內存

13.sql xml語句(實體字段和數據庫怎么對應?)

14.修改表結構語句(mysql中change和modify 的區別)

答:ALTER TABLE `ry-cloud`.sys_user_role CHANGE role_id role_id1 bigint(20) NOT NULL COMMENT ‘角色ID’;
(1)change 可以更改列名 和 列類型 (每次都要把新列名和舊列名寫上, 即使兩個列名沒有更改,只是改了類型)
(2)modify 只能更改列屬性 只需要寫一次列名, 比change 省事點

15.數據庫mvcc(多版本解決的是讀寫并發沖突)

答:是數據庫的多版本并發控制,在讀取數據不用加鎖也可以提高讀取效率和并發性的手段。
實現原理:一種讀取操作, 使用數據在某個時間點的快照顯示查詢結果, 而不考慮同時運行的其他事務所執行的更改.
如果查詢的數據已被另一個事務更改, 則會根據undo log的內容重建原始數據. 該技術避免了一些鎖定問題,這些問題可以通過強制事務等待其他事務完成來減少并發性.
隱含字段:一個事務最新id,回滾的指針

16.不用or,會導致索引失效,如何改造?

答:(1)代碼層面查兩次
(2)或者用UNION來代替

17.數據庫視圖、序列化、存儲過程

答:(1)數據庫視圖:數據庫一個或多個表導出的虛擬表,方便用戶對數據進行操作。視圖的數據依賴原數據,二者會互相影響。
(2)數據庫序列化:是將數據結構或者對象轉換成字節流、json等方便去存儲或者是傳輸。
(3)

18.數據庫的事務

19.分庫分表

答:關系型數據庫容易成為系統瓶頸,鏈接數量,存儲容量都是有限的,超過1千萬之后因其查詢維度的較多,性能會下降嚴重。
(1)垂直切分:分庫:根據業務不同拆成不同庫;分表:把不常用的字段或者長度比較大的字段拆到另一張表(主鍵跟著走)。缺點:只能在代碼里面去聚合,增加了其復雜度
(2)水平切分:庫內分表、分庫分表。將按照不同的條件分散到多個數據庫或者多個表中,使單表數據量變小。缺點:維護難度加大、跨分片的事務不好保證

20.事務不生效的原因

答:(1)方法不是public;(2)異常被方法吞掉了;(3)拋出異常類型大于@Transactional 默認回滾的是 RuntimeException 和 Error;(4)非同一個線程

21.jdk 1.8的新特性

答:Lambda表達式、Stream API、map數據結構優化

22.java8函數式接口,Functional Interface

答:函數式接口(Functional Interface)就是一個有且僅有一個抽象方法,但是可以有多個非抽象方法的接口。為lambda表達式和方法引用(用冒號::來進行方法的調用)提供目標類型

23.spring的知識點

24.aop底層

答:面向切面的編程,通過預編譯和運行期間動態代理實現程序功能統一的技術。實現invocationHandle類則是JDK動態代理,否則是CGLib動態代理。

25.SpringCloud會出現那些安全問題

26…SpringBoot監聽器

27.SpringBoot的優勢以及創建方式

答:(1)主要是簡化新spring應用的初始搭建和開發過程(使用IntelliJ IDEA,可以利用創建Spring Initializr的方式創建Spring Boot項目、
使用官方文檔創建項目,在Spring官方文檔上面提供了一種在線生成Spring Boot項目的方式、
使用Spring Tool Suite,可以直接新建Spring Starter Project項目)
(2)嵌入式Web容器、自動化配置、可執行Jar部署

28.SpringCloud的配置文件

答:nacos或者阿波羅都可以。

29.springMVC(Model(模型)、View(視圖)、Controller(控制器))

答:是一種軟件設計規范,將業務邏輯、數據、顯示分離的方法來組織代碼,降低了視圖和業務邏輯之間的耦合。
瀏覽器把請求放到試圖層=控制器收到請求模型處理數據=返回視圖=響應給瀏覽器

30.map的實現類

答:HashMap、TreeMap、

31.流的并行和串行

答:串行:Stream,并行:parallelStream(其底層使用Fork/Join框架實現,通過Fork把任務拆開,Join把結果進行合并)

32.環境切換(idea的設置)
答:spring.profiles.active====》VM options兩處改動

33.Java中的值傳遞和引用傳遞

答:(1)值傳遞(pass by value):在調用函數時,將實際參數復制一份傳遞到函數中,這樣在函數中對參數進行修改,就不會影響到原來的實際參數;
(2)引用傳遞(pass by reference):在調用函數時,將實際參數的地址直接傳遞到函數中。這樣在函數中對參數進行的修改,就會影響到實際參數;
個人認為:在一個類中調用其他方法,這個方法中如果是直接復制對象則是值傳遞,如果是在參數基礎上改則是引用傳遞

34.反射應用場景

答:(1)可以動態的加載類,并創建其實例。String className = “com.example.MyClass”;
Class<> clazz = Class.forName(className);
Object obj = clazz.newInstance();
(2)通過反射,我們可以在運行時動態地獲取類的信息。這樣就可以獲取類的構造方法、字段、方法等信息,并進行相應的操作。

35.異常處理,finaly里面的執行

答:(1)不管try中是否出現異常,finally塊中的代碼都會執行;
(2)當try和catch中有return時,finally依然會執行;
(3)finally中如果包含return,那么程序將在這里返回,而不是try或catch中的return返回,返回值就不是try或catch中保存的返回值了

36.dubbo一次性數據量太大出現的情況

答:會出現Dubbo報錯Data length too large;首先看這種大數據是不是符合雙方約定的,如果是的話就去修改生產者xml payload參數,否則可以加一些限制。

37.throw 和 throws 的區別

答:throw代表動作,表示拋出一個異常的動作;
throws代表一種狀態,代表方法可能有異常拋出

throw用在方法實現中,而throws用在方法聲明中;
throw只能用于拋出一種異常,而throws可以拋出多個異常

38.多線程鎖

39.分布式鎖原理

答:在多進程環境里面,通過外部的工具來達到加鎖功能

40.redis的看門狗(在沒有自定義釋放時間才會生效)

答:是redission提供的自動延期機制,使得分布式鎖可以自動延期,默認30秒。

41.分布式鎖遇到的問題

答:(1)可能忘記了釋放鎖;(2)釋放了別人的鎖;(3)鎖超時等問題

42.分布式鎖的方式

答:redission、zk、數據庫

43.線程池參數的設定

答:(1) IO 密集型任務:2*核心數+1
(2) CPU密集型任務:核心數+1
即使當計算(CPU)密集型的線程偶爾由于頁缺失故障或者其他原因而暫停時,這個“額外”的線程也能確保 CPU 的時鐘周期不會被浪費。

44.網絡狀態的含義:401等等

答:(1)401 Unauthorized:請求要求身份驗證。客戶端需要進行身份驗證才能獲取請求的內容。如果請求未包含有效的身份驗證憑據,服務器可能返回此狀態碼。
(2)400 Bad Request:客戶端發送的請求有錯誤。服務器不理解或無法處理客戶端發送的請求。這可能是由于參數錯誤、缺少必要的信息或語法錯誤等引起的。
(3)403 Forbidden:服務器拒絕了客戶端的請求。客戶端沒有訪問請求的權限,無法獲取請求的資源。
(4)404 Not Found:請求的資源不存在。服務器未能找到請求的資源。這可能是由于資源被刪除或請求的 URL 錯誤等引起的。
(5)502 Bad Gateway:服務器作為網關或代理,從上游服務器接收到無效的響應。通常表示上游服務器發生了故障或響應超時。

45.如何快速找到nginx目錄

答:(1)在默認安裝位置下查看,大多數一般會安裝在默認位置下(/usr/local/openresty/nginx 或/usr/local/nginx)
(2)查看nginx進程(ps -aux|grep nginx)
(3)nginx運行進程,執行ls -l /proc/進程號/exe ,然后會打印出安裝/運行位置

46.docker

答:docker是一個開源的應用容器引擎,開發者可以把程序及其依賴項打包到一個可移值的鏡像中,可以在任意的linux/Windows系統上運行
這些鏡像。

47.主從復制

48.jvm調優

49.Linux命令

50.消息中間件的原理(Kafka、Pulsar等等)以及項目運用情況

51.數據庫死鎖(互斥條件、請求與保持條件、不剝奪條件、循環等待條件)
答:兩個或多個事務競爭資源導致互相等待稱為死鎖

52.如何查看死鎖
答:查看錯誤日志、使用命令:SHOW ENGINE INNODB STATUS

53.死鎖解決方法:
答:手動解決:回滾其中一個事務
設置鎖等待超時時間讓其自動解除

54.如何避免死鎖:
答:(1)避免大事務
(2)合理設計索引減少表掃描
(3)減少鎖粒度

55.vue的生命周期
答:(1)創建階段:beforeCreate(進行數據偵聽和事件/偵聽器的配置之前同步調用),created(可以訪問數據了)
(2)掛載階段:beforeMount(dom馬上被渲染),mounted(dom被渲染出來了)
(3)更新階段:beforeUpdate(數據發送了變化,dom還沒更新),updated(數據更改導致dom被更改)
(4)銷毀階段:beforeDestroy(實例銷毀前的調用),destroyed(實例被銷毀,vue指令被解除)

56.vue如何防抖:
答:多次輸入,只提交最后一次,主要思想就是定時器

57.前端vue如何節流:
答:多次點擊,只執行一次函數

58.SpringBoot的自動裝配
答:SpringBoot主要解決了Spring傳統重量級xml配置bean
啟動類里面有@SpringBootApplication注解,包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan。
其中@SpringBootConfiguration注解標記啟動類為配置類
@ComponentScan注解會去掃描啟動類所在包及子包下面所標記的bean類由IOC去注冊為bean
@EnableAutoConfiguration通過 @Import 注解導入 AutoConfigurationImportSelector類,然后通過AutoConfigurationImportSelector 類的 selectImports 方法去讀取需要被自動裝配的組件依賴下的spring.factories文件配置的組件的類全名,并按照一定的規則過濾掉不符合要求的組件的類全名,將剩余讀取到的各個組件的類全名集合返回給IOC容器并將這些組件注冊為bean

59.nacos
答:用來做動態服務發現、配置管理、服務管理平臺
優點:可以動態的添加、刪除服務實例,無須重啟服務或者改代碼
可以提供不同環境、角色的配置
支持流量管理,可以進行控制、限流和熔斷
易于操作的管理界面
社區活躍

60.線程池隊列類型:
LinkedBlockingDeque:鏈表同步阻塞隊列
ArrayBlockingQueue:數組同步阻塞隊列
SynchronousQueue:同步阻塞隊列

61.如何引用bean,除了Resource和Autowired,出現了null什么原因,靜態類不會依賴管理
答:靜態方法獲取bean實例,采用Resource和Autowired會導致空指針。
首先說說場景:我有一個工具類,這個工具類要去調數據庫mapper做一些處理,靜態方法里面要使用mapper,這個mapper必須有static。
分析原因:靜態方法屬于類本身,不依賴類的實例狀態,無法直接訪問。
解決辦法:在某個類持有ApplicationContext 引用,通過他的上下文獲取

62.hashmap如果沖突了,自身如何解決沖突
答:采用拉鏈法:類似hashmap在數組內添加一個鏈表

63.有一個Kafka配置頁面,頁面有信息錄入和是否消費開關按鈕,如何去設計(如果用多線程,如果管理)
答:

64.創建對象5種方式
答:省略

65.if/else 和swatch case
答:swith/case使用跳轉表來提高效率,如果case數量較多,性能優于if/else
if/else是去遍歷每個條件
如果分支少且條件復雜,選擇if/else更合適

66.kafka分區和gourp
答:Kafka為了提高并發性,生產者會把數據分發到多個分區,多個消費者可以組成一個消費組,一個分區數據只會被消費組的一個消費。
建議消費組中的消費者數量和分區partition保持一致

67.Kafka消息堆積處理
答:分析是消費數量不夠還是消費處理時間較長

68.同一個類,一個方法調用帶@Transctional的方法,會導致事務不生效?
答:調用實際上是在當前類的實例內部發生的。因此,它不會觸發 Spring AOP 代理的攔截,也就意味著不會觸發事務管理器的攔截器

69.冒泡算法:
答:冒泡排序就是對待排序的的序列從前往后兩兩比較,如果發現逆序則交換,最終得到從小到大的順序

70.修改文件權限、查看系統端口Linux命令
答:(1)修改文件權限:chmod 644 test.php #只有擁有者可以修改, 其他人只能看文件內容.,chmod o+w test.php
文件所有者可以用字母 u (user)表示. 用戶所在的組可以用字母 g (group)來表示. 其他人可以用字母 o (other)來表示. 所有人可以用字母 a (all)來表示.
(2)查看系統端口:netstat -ntlp//查看當前所有tcp端口·,查看一臺服務器上面哪些服務及端口:netstat -lanp

71.gateway斷言、過濾器類型
答:斷言功能可以決定http請求應該由那個Route來做路由。就是我們nacos的predicates匹配規則
過濾器類型:
答:(1)網關過濾器(GatewayFilter):一般放在配置文件里面,比如nacos(spring.cloud.routes.filters),作用在所有路由上面
(2)全局過濾器(GlobalFilter):不用在配置文件中,比如全局日志過濾器,打印日志

72.AQS?
答:用于構建鎖和同步器的基礎框架,用于并發編程,基于FIFO(First In, First Out)等待隊列的阻塞鎖和同步器

73.maven命令
答:mvn -v、mvn package(依據項目生成 jar 文件 )、mvn install(在本地 Repository 中安裝 jar )、mvn clean(清除目標目錄中的生成結果)

74.Kafka的Broker、Partition
答:(1)Broker是Kafka的實例,
(2)Topic是消息的主題,可以理解為消息的分類,數據就保存在里面,每個Broker可以建立多個Topic
(3)Partition是Topic的分區,分區的作用就是負載,提高Kafka的吞吐量

75.java數據類型幾種
答:八種基本數據類型:byte、short、int、long;float、double;char;boolean
四種引用類型:數組、接口、類、(枚舉、注解、字符串、)

76.docker
答:

77.sa-token登錄考慮
答:

78.xml模糊查詢的寫法
答:select * form user where name like concat(‘%’,#{name},‘%’)

79.用mybatis的插件,需要實現什么
答:實現Interceptor

80.redis list數據寫入命令
答:lpush key value(將元素添加到列表左邊),Rpush key value(將元素添加到列表右邊)

81.ConcurrentHashMap的鎖粒度
答:ConcurrentHashMap在jdk1.8采用CAS+synchronized實現更加細粒度的鎖
鎖的粒度指的是鎖定共享資源的范圍大小
在jdk1.7鎖粒度是每個段(Segment),1.8是每個鏈表或紅黑樹的根節點

82.java內存
答:指的就是jvm內存模型

83.多線程包(JUC包):
答:JUC是java.util.concurrent包的簡稱

84.并發
答:

85.多線程

86.mysql批量插入
答:mybatis-plus實現批量插入:開啟insertBatchSomeColumn();
自定義sql注入器,繼承DefaultSqlInjector
將自定義sql注入器注冊為bean
新建mapper繼承BaseMapper,配置insertBatchSomeColumn()方法;

87.springboot的缺點
答:(1)升級困難,每次升級變更較大
(2)依賴大量第三方庫,管理復雜且容易沖突
(3)資源占用較多

88.SpringBoot讀取配置的6種方式
(1)使用@Value注解
(2)使用Environment接口
(3)使用@ConfigurationProperties注解
(4)使用PropertySource注解

89.對于一個大文件,如何分批讀取來減輕內存壓力呢
答:采用OpenCsv來讀取,設置一個每次讀取的行數,如果集合size大于了這個行數,就去處理數據并清空集合。

90.dubbo如何熔斷
答:使用mock機制:@Reference(mock = “return 666”)
配置熔斷參數:配置超時時間和重試次數來,停止調用服務

91.Kafka和RabbitMQ的區別
答:應用場景方面:mq用于實時方面,可靠性要求比較高
Kafka用于活躍的流式數據,適合處理大數據量
消費模型:

92.mysql的@符號
答:主要用于定義和使用用戶變量,

93.vue3路由類型
答:(1)基本路由:只包含一個路由對象參數
(2)命名路由:包含了多個路由參數

94.v-for為什么要用key
答:key的作用可以通過diff算法提高頁面的渲染效率

95.left join 有大表和小表,誰放在前面?
答:讓小表作為驅動表效率更高,他的掃描rows會更少

96.學生表,姓名、科目、成績,找出全部科目都及格的學生
答:select name ,count(*) from student s
where grades >=60 group by name having count(*)>=3 ;
這里我限定三門了

97.領域驅動DDD(Domain-Driven Design,簡稱 DDD)
答:他是一種面向對象的設計方法,強調業務邏輯和領域模型置于軟件設計中心。

總結:

首先就是把自己的項目講清楚,特別是自己項目涉及的技術盡量把底層也弄懂,現在的面試占比可能項目占70%,八股文也就30%。如果有涉及筆試的話,建議多看看表結構設計,sql要能手寫出來比較好。還有就是自己的簡歷可以多優化一下,不要太簡單了,多找厲害的朋友參考參考。

其次感覺整個行情變差了,工資也壓得厲害。對于中小型自研公司他們需要比較全能的人吧,對于我這種底層碼農感覺橫向的學習挺重要的,比如前端開發、Python這種可以多學學。

對于社招感覺面比較窄,比如零售的行業你必須要有零售開發項目,制造業你可能得會ERP之類的。

感覺現在五年經驗還挺受歡迎的,隨便瞎寫的,大家將就看。

外包慎重,加油!

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

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

相關文章

防火墻的安全策略

1.VLAN 2屬于辦公區;VLAN 3屬于生產區&#xff0c;創建時間段 [FW]ip address-set BG type object [FW-object-address-set-BG]address 192.168.1.0 mask 25 [FW]ip address-set SC type object [FW-object-address-set-SC]address 192.168.1.129 mask 25 [FW]ip address-se…

工作流項目BPMN.JS_Question梳理

工作流項目 想了解如果候選人熟悉工作流技術、bpmn.js和Flowable工作流引擎&#xff0c;面試官會對哪些信息感興趣。我需要分析這個問題&#xff0c;并給出一個全面而結構化的回答。 首先&#xff0c;用戶可能希望了解作為前端面試官&#xff0c;應該關注候選人哪些方面的知識和…

windows下搭建鴻蒙OS應用開發環境

一、前言 HUAWEI DevEco Studio 是華為推出的一款集成開發環境&#xff08;IDE&#xff09;&#xff0c;主要用于開發基于華為鴻蒙操作系統&#xff08;HarmonyOS&#xff09;的應用。作為華為開發者工具的核心之一&#xff0c;DevEco Studio 提供了一個多功能的開發平臺&…

MacBook Pro(M1芯片)Qt環境配置

MacBook Pro&#xff08;M1芯片&#xff09;Qt環境配置 1、準備 試圖寫一個跨平臺的桌面應用&#xff0c;此時想到了使用Qt&#xff0c;于是開始了搭建開發環境&#xff5e; 在M1芯片的電腦上安裝&#xff0c;使用brew工具比較方便 Apple Silicon&#xff08;ARM/M1&#xf…

Sqlserver DBCC Check 遇到Msg 3853報錯涉及sys.columns和sys.objects信息不匹配的解決方法

對數據庫CacheDBMSIntl執行DBCC checkcatalog(‘CacheDBMSIntl’)時遇到報錯如下 Msg 3853, Level 16, State 1, Line 7 Attribute (object_id1071830442) of row (object_id1071830442,column_id1) in sys.columns does not have a matching row (object_id1071830442) in sy…

VUE之組件通信(二)

1、v-model v-model的底層原理&#xff1a;是:value值和input事件的結合 $event到底是啥&#xff1f;啥時候能.target 對于原生事件&#xff0c;$event就是事件對象 &#xff0c;能.target對應自定義事件&#xff0c;$event就是觸發事件時&#xff0c;所傳遞的數據&#xff…

P2036 [COCI 2008/2009 #2] PERKET(dfs)

#include<bits/stdc.h> using namespace std;int n; int a[15],b[15]; int ansINT_MAX; // 初始化最小差值為一個很大的數&#xff0c;保證能找到最小值void dfs(int i,int s,int k){if(in){ // 當遍歷完所有元素時if(s1&&k0) return;int difabs(s-k);ans mi…

論文解讀:《基于TinyML毫米波雷達的座艙檢測、定位與分類》

摘要 本文提出了一種實時的座艙檢測、定位和分類解決方案&#xff0c;采用毫米波&#xff08;mmWave&#xff09;雷達系統芯片&#xff08;SoC&#xff09;&#xff0c;CapterahCAL60S344-AE&#xff0c;支持微型機器學習&#xff08;TinyML&#xff09;。提出了波束距離-多普勒…

ORB-SLAM2源碼學習:KeyFrame.cc④: void KeyFrame::UpdateBestCovisibles更新最佳共視

前言 在添加新連接之后就要重新對所有的共視關鍵幀和權重的那兩個列表重新進行降序排列&#xff0c;這樣非常容易知道列表的第一位就是最佳共視關鍵幀和權重。 總的來說就是只要權重發生了變化就要調用這個函數來修改mvpOrderedConnectedKeyFrames共視關鍵幀和mvOrderedWeigh…

尚硅谷課程【筆記】——大數據之Shell【一】

課程視頻&#xff1a;【【尚硅谷】Shell腳本從入門到實戰】 一、Shell概述 為什么要學習Shell&#xff1f; 1&#xff09;需要看懂運維人員的Shell程序 2&#xff09;偶爾編寫一些簡單的Shell程序來管理集群、提高開發效率 什么是Shell&#xff1f; 1&#xff09;Shell是一…

ES6 對象擴展:對象簡寫,對象屬性 表達式,擴展運算符 ...,Object.assign,Object.is,用法和應用場景

1. 對象屬性簡寫 1.1 基本語法 // 傳統寫法 const name John; const age 25; const user {name: name,age: age };// ES6 簡寫語法 const user {name,age };1.2 實際應用場景 // 1. 函數返回對象 function createUser(name, age, email) {return {name,age,email}; }// …

【2025】camunda API接口介紹以及REST接口使用(3)

前言 在前面的兩篇文章我們介紹了Camunda的web端和camunda-modeler的使用。這篇文章主要介紹camunda結合springboot進行使用&#xff0c;以及相關api介紹。 該專欄主要為介紹camunda的學習和使用 &#x1f345;【2024】Camunda常用功能基本詳細介紹和使用-下&#xff08;1&…

Java進階學習之路

Java進階之路 提示&#xff1a;這里可以添加系列文章的所有文章的目錄&#xff0c;目錄需要自己手動添加 提示&#xff1a;寫完文章后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 目錄 Java進階之路前言一、Java入門 Java基礎 1、Java概述 1.1 什…

JAVA安全—反射機制攻擊鏈類對象成員變量方法構造方法

前言 還是JAVA安全&#xff0c;哎&#xff0c;真的講不完&#xff0c;太多啦。 今天主要是講一下JAVA中的反射機制&#xff0c;因為反序列化的利用基本都是要用到這個反射機制&#xff0c;還有一些攻擊鏈條的構造&#xff0c;也會用到&#xff0c;所以就講一下。 什么是反射…

TfidfVectorizer

TF-IDF / Term Frequency - Inverse Document Frequency 作用&#xff1a;是自然語言處理NLP中常用的文本特征提取工具&#xff0c;用于將文本數據轉換為數據向量。 核心思想&#xff1a;是通過統計詞頻和逆文檔頻率來量化詞語在文本中的重要性。 T F ? I D F ( t , d ) T F…

DeepSeek-R1 論文解讀:強化學習如何 “煉” 出超強推理模型?

深度解析DeepSeek-R1&#xff1a;強化學習驅動大語言模型推理能力新突破 論文鏈接&#xff1a;DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 在大語言模型&#xff08;LLMs&#xff09;飛速發展的當下&#xff0c;提升模型推理能力成…

【數據結構】循環鏈表

循環鏈表 單鏈表局限性單向循環鏈表判斷鏈表是否有環思路code 找到鏈表入口思路代碼結構與邏輯 code 單鏈表局限性 單鏈表作為一種基本的數據結構&#xff0c;雖然在很多場景下都非常有用&#xff0c;但它也存在一些局限性&#xff1a; 單向訪問&#xff1a;由于每個節點僅包含…

ip屬地是手機號還是手機位置?一文理清

在數字化和網絡化的今天&#xff0c;IP屬地這一概念逐漸成為了人們關注的焦點。特別是在社交媒體和在線平臺上&#xff0c;IP屬地的顯示往往讓人聯想到用戶的地理位置。然而&#xff0c;關于IP屬地到底與手機號還是手機位置有關&#xff0c;卻存在著不少誤解和混淆。本文將深入…

【嵌入】基于nomic-embed-text-v1.5和HuggingFaceEmbeddings實現

測試代碼 model_name = /media/zhangbin/DATA/DataCache/nomic-ai/nomic-embed-text-v1.5import osos.environ[HF_HOME] = /media/zhangbin/DATA/DataCache/#os.environ["TRANSFORMERS_CACHE"] = "/media/zhangbin/DATA/DataCache/" # 確保目錄結構正確 if…

離散時間傅里葉變換(DTFT)公式詳解:周期性與連續性剖析

摘要 離散時間傅里葉變換&#xff08;DTFT&#xff09;是數字信號處理領域的重要工具&#xff0c;它能將離散時間信號從時域轉換到頻域&#xff0c;揭示信號的頻率特性。本文將深入解讀DTFT公式&#xff0c;詳細闡述其具有周期性和連續性的原因&#xff0c;幫助讀者全面理解DT…