Android 架構組件面試問答

1. 什么是 Android Architecture Components?

答: 組件是一組庫,可幫助您設計健壯、可測試且可維護的應用程序。它們提供了一種清晰且慣用的方式來使用 REST API。這些組件包括 Room、ViewModel、LiveData 等。

2. 什么是LiveData?

答: LiveData 是一個可觀察的數據持有者類,具有生命周期感知能力。這意味著它尊重其他應用組件(如Activity、Fragment或Service)的生命周期,并且僅更新處于活動生命周期狀態的應用組件觀察者。

3.什么是ViewModel?

答: ViewModel 類旨在以生命周期意識的方式存儲和管理與 UI 相關的數據。ViewModel 類允許數據在屏幕旋轉等配置更改后繼續存在。

4. 什么是 Room?

答: Room 是一個持久性庫,它在 SQLite 上提供了一個抽象層。它允許更強大的數據庫訪問,同時充分利用 SQLite 的全部功能。

5. LiveData如何與ViewModel配合使用?

答: LiveData 可以與 ViewModel 結合使用,當數據發生變化時自動更新 UI。ViewModel 持有 LiveData 對象,UI 組件觀察這些對象。

6. 使用 Android 架構組件有什么好處?

答: Android 架構組件可以幫助構建強大的應用程序架構,簡化數據變化的處理,并確保 UI 與數據的當前狀態相匹配。

7. ViewModel中的方法onCleared()有什么用途?

答:onCleared()當 ViewModel 不再使用并將被銷毀時,將調用 ViewModel 中的方法。此方法可用于清理 ViewModel 可能正在使用的任何資源。

8. LiveData 和 MutableLiveData 有什么區別?

答: LiveData 是一個可觀察的數據持有者類,而 MutableLiveData 是一個公開暴露setValue(T)postValue(T)方法的 LiveData 類。當您需要更改存儲的數據時,可以使用 MutableLiveData。

9. 與原始 SQLite 相比,使用 Room 有什么優勢?

答: Room 在 SQLite 上提供了一個抽象層,使在 Android 中使用數據庫變得更加輕松和直觀。它包括 SQL 查詢的編譯時檢查,從而降低了運行時 SQL 錯誤的可能性。

10. Android架構組件中 Repository 起什么作用?

答: Repository 是一種在不同數據源(例如持久模型、Web 服務和緩存)之間進行調解的設計模式。在 Android 架構組件的上下文中,Repository 管理查詢線程并允許您使用多個后端。

11. 什么是數據綁定?它在 Android 架構組件中有何用處?

答: 數據綁定是一個支持庫,它允許您使用聲明性格式(而不是以編程方式)將布局中的 UI 組件綁定到應用中的數據源。這減少了樣板代碼并避免了常見的編程錯誤。

12. ViewModel 的生命周期是什么?

答: ViewModel 的生命周期從您第一次請求 ViewModel 開始,直到相關的 UI 控制器(活動或片段)完全完成并處于銷毀狀態。

13. LiveData中的setValue()postValue()有什么區別?

答:setValue(T)必須從主線程調用方法。如果從工作線程調用代碼,postValue(T)則可以使用方法,該方法將任務發布到主線程以設置給定值。

14. Room如何處理對象關系?

答: Room 允許您定義實體之間的外鍵關系。通過聲明表之間的關系,這可以確保數據庫級別的完整性。

15. Room 中的 TypeConverter 是什么?

答: Room 提供了在原始類型和裝箱類型之間進行轉換的功能,但不允許實體之間的對象引用。這就是 TypeConverter 的作用所在。它允許您將自定義類轉換為 Room 可以持久化的已知類型。

16. LiveData在MVVM架構中起什么作用?

答: 在MVVM架構中,LiveData可以讓Model層的數據變化被ViewModel觀察到,進而自動反映到View層。

17. ViewModel and AndroidViewModel 有什么區別?

答:AndroidViewModelViewModel 的子類,包含 Application 引用。例如,如果您需要上下文 Context 來訪問 SharedPreferences 或其他 Android 組件,這很有用。

18. Room 如何支持 LiveData?

答: Room 內置了對 LiveData 的支持。您的 DAO 方法可以返回一個LiveData對象,LiveData當數據庫更新時,Room 會生成所有必要的代碼來更新該對象。

19. 什么是 LiveData 變換?

答:Transformations是一組可用于操作 LiveData 對象的實用方法。例如,Transformations.map()將函數應用于 LiveData 的輸出并將結果傳播到下游。

20. 在 Android 架構組件中使用 Repository 有什么好處?

答: Repository 類抽象了對多個數據源的訪問。它處理數據操作并允許您使用多個后端,例如網絡、緩存和數據庫。這為應用程序的其余部分提供了一個干凈的 API,并有助于實現關注點分離。

21. Room 中 Entity 的作用是什么?

答: 一個Entity代表數據庫內的一張表。Room 為每個有@Entity注釋的類創建一個表,類中的字段與表中的列相對應。

22. Room 中 DAO 的作用是什么?

答:DAO代表數據訪問對象。它是一個定義訪問數據庫的方法的接口。在 Room 中,您可以使用注釋 DAO 接口或抽象類@Dao

23. Room 中的 Database 是什么?

**答:**該類Database是一個使用注解來定義實體列表和數據庫版本的持有者類。該類內容定義了數據庫內的表列表和版本。

24. Room 里的 allowMainThreadQueries()fallbackToDestructiveMigration() 有什么區別?

答:allowMainThreadQueries()允許 Room 在主線程上執行數據庫操作,但不建議這樣做,因為它可能會鎖定 UI。fallbackToDestructiveMigration()如果數據庫表的架構已發生更改,則允許 Room 重新創建數據庫表。

25. Android 架構組件中 Paging Library 的作用是什么?

答: 分頁庫可幫助您一次加載和顯示小塊數據。當您處理會影響應用性能的大型數據集時,它非常有用。

**26. Android 架構組件中 WorkManager 有什么?

答: WorkManager是一個用于后臺工作的庫,用于推遲任務或同步運行任務。它尊重應用程序的生命周期和狀態,并具有靈活的重試策略。

27. Android 架構組件上下文中 DiffUtil 是什么?

答:DiffUtil是一個實用程序類,用于計算兩個列表之間的差異并輸出將第一個列表轉換為第二個列表的更新操作列表。

28. 什么是 LiveData ReActiveStreams?

答:LiveData ReActiveStreams 是一個提供轉換的庫,LiveData可以更輕松地將其與 ReactiveStreams(例如 RxJava)集成。

29. Room中的 @Insert 注釋是什么?

答: Room中使用注解@Insert來標記一個方法是插入方法,該方法的實現會將其參數插入到數據庫中。

30. Room中的 @Query 注釋是什么?

答: 注釋@Query允許您編寫 SQL 語句并將其公開為 DAO 方法。Room 在編譯時驗證 SQL 查詢。

31. Room中的 @Delete 注釋是什么?

答:@Delete注解用于將DAO類中的某個方法標記為刪除方法,該方法的實現會從數據庫中刪除其參數。

32. Room中的 @Update 注釋是什么?

答:@Update注解用于標記DAO類中的方法為更新方法,該方法的實現會更新數據庫中的參數。

33. Room中 ConflictStrategy 是什么?

答:ConflictStrategy定義一種在數據庫中插入或更新數據時解決運行時沖突的策略。

34. Room中的 Composite Primary Key 是什么?

答: 一個Composite Primary Key允許您在 Room 中指定兩個或多個字段作為主鍵。這是使用注釋@Entity并在屬性中指定字段名稱來完成的primaryKeys

35. Android 架構組件上下文中 PagedList 是什么?

答:PagedList是 Paging Library 的一個組件。它是一個列表,以塊(頁面)的形式從 加載數據DataSource。可以觀察它的變化并以隨機訪問的方式進行訪問。

**36. Android 架構組件中****有什么?

**答:**是一個提供作用域的實用程序類。它創建新的組件并將其保留在存儲中,以在配置更改后繼續存在。**ViewModelProvider** ViewModelProvider``ViewModels``ViewModels

37. **ViewModelScope**Android 架構組件是什么?

答:ViewModelScope是與 ViewModel 的生命周期綁定的范圍。它用于啟動協程,這些協程將在 ViewModel 被清除時被取消。

38. **LiveDataScope**Android 架構組件中有什么?

答:LiveDataScope是生成 LiveData 值的代碼塊的范圍。它與liveDatabuilder 函數一起使用。

39.Room中的注釋是什么**@Transaction**

答: Room中使用注解@Transaction來標記某個方法為事務方法,該方法的實現會在單個事務中運行。

40.Android**Flow**架構組件上下文中是什么? 答:Flow是 Kotlin 協程庫中的一種類型,用于異步處理數據流。Room 提供 API 以將查詢結果作為Flow.

**41. Android 架構組件的上下文****是什么?**DataSource.Factory**

答:DataSource.Factory是數據源的工廠類。它與分頁庫一起使用,用于DataSource從數據庫或網絡創建分頁數據。

42.Android**PositionalDataSource**架構組件的上下文是什么?

答:PositionalDataSourceDataSource可以按位置或計數訪問的數據類。當您要加載可計數的靜態數據集(例如來自數據庫查詢)時,它很有用。

43.Android**ItemKeyedDataSource**架構組件的上下文是什么?

答:ItemKeyedDataSourceDataSource根據鍵獲取數據的類。當你需要使用來自項目 N-1 的數據來獲取項目 N 時,它很有用。

44.Android**PageKeyedDataSource**架構組件的上下文是什么?

答:PageKeyedDataSourceDataSource用于在頁面中獲取數據的類。當有下一頁或上一頁的鍵時(例如在 API 中),它很有用。

45.Android**BoundaryCallback**架構組件的上下文是什么?

答:BoundaryCallback是當到達可用數據的末尾時的回調PagedList。它用于發出信號,提醒您應該獲取更多數據。

**46. Android 架構組件的上下文****是什么?**MutableStateFlow**

答:MutableStateFlow是狀態持有者可觀察流,向其收集器發出當前和新的狀態更新。它是 Kotlin 協程庫的一部分。

47. **StateFlow**Android 架構組件上下文中的內容是什么? StateFlow是一個狀態持有者可觀察流,它會向其收集器發出當前和新的狀態更新。它是 Kotlin 協程庫的一部分。

48. **SharedFlow**Android 架構組件的上下文是什么?

答:SharedFlow是一種熱流,它在其所有收集器之間共享發射值。它是 Kotlin 協程庫的一部分。

49.Android**ConflatedBroadcastChannel**架構組件的上下文是什么?

答:ConflatedBroadcastChannel是一種BroadcastChannel在發送后立即使用并合并其元素的方法,以便接收方始終獲得最近發送的元素。它是 Kotlin 協程庫的一部分。

50.Android**MutableSharedFlow**架構組件的上下文是什么?

答:MutableSharedFlow是一個SharedFlow提供函數來發出值的函數。它是 Kotlin 協程庫的一部分。

51.Android**CoroutineScope**架構組件的上下文是什么?

答:CoroutineScope是一個定義啟動協程范圍的接口。所有協程構建器都是CoroutineScope其協程上下文的擴展和繼承,以自動傳播上下文元素和取消。

52.Android**CoroutineDispatcher**架構組件的上下文是什么?

答:CoroutineDispatcher是 Kotlin 協程庫中的一個接口,用于將協程執行調度到特定線程。

53.Android**Dispatchers.Main**架構組件的上下文是什么?

答:Dispatchers.MainCoroutineDispatcher僅限于主線程操作 UI 對象的。它通常用于與 UI 相關的任務。

54. **Dispatchers.IO**Android 架構組件的上下文是什么?

答:Dispatchers.IO是一種CoroutineDispatcher旨在將阻塞 IO 任務卸載到共享線程池的設計。

55. **Dispatchers.Default**Android 架構組件的上下文是什么?

答:Dispatchers.Default是一種CoroutineDispatcher針對 CPU 密集型工作進行優化的程序,例如對大型列表進行排序、執行復雜計算和類似的任務。

56. **suspend**Android 架構組件上下文中的關鍵字是什么?

答:suspend是 Kotlin 中的一個關鍵字,用于將函數或方法標記為暫停函數。這些函數可以暫停協程的執行,而不會阻塞底層線程。

57. **CoroutineContext**Android 架構組件的上下文是什么?

答:CoroutineContext是一組定義協程行為的各種元素。它包括協程的作業和協程使用的調度程序等元素。

58.Android**Job**架構組件的上下文是什么?

答:Job是一個表示可取消工作的一個接口。它具有生命周期,并可以形成結構化的并發層次結構。

59.Android**SupervisorJob**架構組件的上下文是什么?

答:SupervisorJob是一種不會將取消傳播給其子代的類型Job。當您有一組應該相互獨立的協程時,這很有用。

60.Android**CoroutineExceptionHandler**架構組件的上下文是什么?

答:CoroutineExceptionHandler是的可選元素,CoroutineContext當上下文中的協程引發異常時調用。

61.Android**CoroutineName**架構組件的上下文是什么?

答:CoroutineName是協程的名稱,包含在執行此協程的線程名稱中。它在CoroutineContext協程的中定義。

62.Android**CoroutineStart**架構組件的上下文是什么?

答:CoroutineStart是一個可以傳遞給協程構建器(如和)的選項launchasync用于確定何時啟動協程。

63.Android**launch**架構組件上下文中的內容是什么? 答:launch是一個協程構建器,用于啟動協程。它創建一個新的協程并以 的形式返回對它的引用Job

64.Android**async**架構組件上下文中什么是? 答:async是一個協程構建器,用于啟動協程以進行并發工作。它創建一個新的協程并將其未來結果作為的實現返回Deferred<T>

65.Android**runBlocking**架構組件的上下文是什么?

答:runBlocking是一個協程構建器,它會阻塞當前線程,直到其協程主體及其所有子線程完成執行。

66.Android**withContext**架構組件的上下文是什么?

答:withContext是一個暫停函數,它改變CoroutineDispatcher其范圍內代碼塊的執行。

67.Android**Deferred**架構組件的上下文中是什么? 答:Deferred是非阻塞的可取消的 Future — 它是一個有結果的 Job。

68.Android**select**架構組件上下文中的表達是什么?

答:select在 Kotlin 協程中,表達式用于從多個已準備好執行的暫停函數中選擇一個。

69.Android**yield**架構組件上下文中的功能是什么?

答:yield是一個暫停函數,用于給其他協程一個執行的機會。

70.Android**join**架構組件上下文中的功能是什么?

答:join是一個暫停函數,用于等待協程完成而不阻塞當前線程。

71.Android**cancel**架構組件上下文中的功能是什么?

解答:cancel該函數用來取消一個協程作業。

72.Android**isActive**架構組件上下文中的屬性是什么?

isActive`是協程的一個屬性,如果作業仍然處于活動狀態(尚未完成且未被取消),則`Job`返回。`true

74.Android**isCompleted**架構組件上下文中的屬性是什么?

答:isCompleted是協程的一個屬性,如果作業由于某種原因完成則Job返回。true

75.Android**isCancelled**架構組件上下文中的屬性是什么?

答:isCancelled是協程的一個屬性,如果作業由于任何原因被取消,則Job返回。true

76.Android**children**架構組件上下文中的屬性是什么?

答:children是協程的一個屬性Job,它返回其直屬子進程的序列。

77.Android**cancelAndJoin**架構組件上下文中的功能是什么?

答:cancelAndJoin是一個暫停函數,它取消作業并等待其完成。

78.Android**ensureActive**架構組件上下文中的功能是什么?

答:ensureActive是一個檢查協程的作業是否仍然處于活動狀態的函數。如果不是,它會拋出一個CancellationException

79. **handleCoroutineException**Android 架構組件上下文中的功能是什么?

答: handleCoroutineException是一個處理協程中未捕獲異常的函數。它通常用于CoroutineExceptionHandler

80. **NonCancellable**Android 架構組件的上下文是什么?

答:NonCancellable是無法取消的作業。當你需要使代碼的某個部分不可取消時使用它。

81. **SupervisorScope**Android 架構組件的上下文是什么?

答:SupervisorScope是不會傳播其子代取消的范圍。當你需要使代碼的某個部分在取消方面獨立時,可以使用它。

82. **coroutineScope**Android 架構組件上下文中的功能是什么?

答:coroutineScope是一個暫停函數,它創建一個新的協程范圍,并且直到所有啟動的子程序完成后才會完成。

83. **supervisorScope**Android 架構組件上下文中的功能是什么?

答: supervisorScope是一個暫停函數,它會創建一個新的主管作用域。當你需要使代碼的某個部分在取消方面獨立時,就會使用它。

84. **launchIn**Android 架構組件上下文中的功能是什么?

答:launchIn是一個擴展函數Flow,它在提供的協程范圍內啟動流的收集。

85.Android**catch**架構組件上下文中的操作符是什么?

答:catch是 Kotlin 的 Flow API 中的一個運算符,它捕獲來自上游的異常并將其作為下游的值發出。

86. **collect**Android 架構組件上下文中的功能是什么?

答:collect是 Kotlin 的 Flow API 中的終端運算符,用于收集流發出的值。

87.Android**flowOn**架構組件上下文中的操作符是什么?

答:flowOn是 Kotlin 的 Flow API 中的一個運算符,它改變其上游流的上下文。

88.Android**map**架構組件上下文中的操作符是什么?

答: map 是 Kotlin 的 Flow API 中的一個運算符,用于轉換流發出的值。

89.Android**filter**架構組件上下文中的操作符是什么?

答:filter是 Kotlin 的 Flow API 中的一個運算符,它根據謂詞過濾流發出的值。

90.Android**reduce**架構組件上下文中的操作符是什么?

答:reduce是 Kotlin 的 Flow API 中的終端運算符,它將流發出的值累積為單個值。

92. **scan**Android 架構組件上下文中的操作符是什么?

答:scan是 Kotlin 的 Flow API 中的一個運算符,它累積流發出的值并發出每個中間結果。

93. **take**Android 架構組件上下文中的操作符是什么?

答:take是 Kotlin 的 Flow API 中的一個運算符,它僅接受流發出的前 n 個值。

94. **buffer**Android 架構組件上下文中的操作符是什么?

答:buffer是 Kotlin 的 Flow API 中的一個運算符,它允許流異步收集值并將它們發送到使用它們的緩沖區。

95. **combine**Android 架構組件上下文中的操作符是什么?

答:combine是 Kotlin 的 Flow API 中的一個運算符,它通過組合函數將多個流的最新值組合在一起。

96. **zip**Android 架構組件上下文中的操作符是什么?

答:zip是 Kotlin 的 Flow API 中的一個運算符,用于將兩個流組合成對。它會等待兩個流的值,并在兩個流都可用時立即將它們組合起來。

97.Android**onEach**架構組件上下文中的操作符是什么?

答:onEach是 Kotlin 的 Flow API 中的一個運算符,對流的每個值執行給定的操作。

98.Android**catch**架構組件上下文中的操作符是什么?

答:catch是 Kotlin 的 Flow API 中的一個運算符,它捕獲來自上游流的異常并將其作為下游值發出。

99. **flatMapConcat**Android 架構組件上下文中的操作符是什么?

答:flatMapConcat是 Kotlin 的 Flow API 中的一個運算符,它將原始流轉換為多個流,然后將這些流展平為單個流。

100.AndroidflatMapMerge架構組件上下文中的操作符是什么?

答:flatMapMerge是 Kotlin 的 Flow API 中的一個操作符,它可以將原始流轉換為多個流,然后將這些流合并為一個流。

101.Android**flatMapLatest**架構組件上下文中的操作符是什么?

答:flatMapLatest是 Kotlin 的 Flow API 中的一個操作符,它將原始流轉換為多個流,然后在發出時立即切換到最新的流。

102.Android**StateFlow**架構組件的上下文是什么?

答:StateFlow是狀態持有者可觀察流,向其收集器發出當前和新的狀態更新。它是 Kotlin 協程庫的一部分。

103.Android**SharedFlow**架構組件的上下文是什么?

答:SharedFlow是一種熱流,它在其所有收集器之間共享發射值。它是 Kotlin 協程庫的一部分。

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

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

相關文章

Java接口的變更過程

Java 接口相信所有學過 Java 的人一定都知道&#xff0c;而且 99% 的人一定都背過這個面試題&#xff1a;Java 接口和抽象類的區別是什么&#xff1f;答案都是什么接口方法不能有實現&#xff0c;都是抽象的&#xff0c;接口的方法都默認為 public 修飾等等之類的&#xff0c;這…

推箱子小游戲C++

推箱子是一款經典的益智游戲&#xff0c;玩家需要通過推動箱子來達到特定的目標。在C中實現這樣的小游戲需要考慮游戲邏輯、用戶輸入、圖形界面&#xff08;如果需要的話&#xff09;以及可能的關卡設計。 下面是一個簡單的推箱子游戲的實現框架&#xff1a; 定義游戲環境 創建…

DSP問題:CCS更改工程名導入報錯

1、問題現象 復制一個工程出來后&#xff0c;修改版本號&#xff0c;重新導入工程后報錯。 顯示項目描述無效。 2、問題原因 由于CCS無法通過工程描述中找到指定名字文件夾。使用記事本打開.project文件&#xff0c;里面的描述還是以前的文件夾名&#xff0c;所以導入時報…

Spring Boot 開發 -- 靜態資源配置詳解

一、引言 在開發Web應用程序時&#xff0c;靜態資源的管理和配置是一個重要的環節。Spring Boot框架為開發者提供了便捷的靜態資源配置方式&#xff0c;使得我們可以輕松地管理如HTML、CSS、JavaScript、圖片等靜態資源。本文將詳細介紹如何在Spring Boot項目中配置和管理靜態…

Innodb Buffer Pool緩存機制(三)Innodb Buffer Pool內部組成

一、控制塊緩存頁 Buffer Pool中默認的緩存頁大小和在磁盤上默認的頁大小是一樣的&#xff0c;都是16KB。為了更好的管理這些在Buffer Pool中的緩存頁&#xff0c;InnoDB為每一個緩存頁都創建了一些所謂的控制信息&#xff0c;這些控制信息包括該頁所屬的表空間編號、頁號、緩存…

Android基礎-AndroidManifest.xml詳解

在Android開發中&#xff0c;AndroidManifest.xml 文件是一個至關重要的組成部分&#xff0c;它位于應用的根目錄的 app/src/main/ 文件夾下。這個文件提供了Android系統和其他應用所需的所有關于應用的元數據信息。以下是對 AndroidManifest.xml 文件的詳細解析。 1. 文件結構…

[Vulfocus解題系列]spring 命令執行(CVE-2022-22947)

環境部署 使用docker部署環境 漏洞等級&#xff1a;高危 3 月 1 日&#xff0c;VMware 官方發布安全公告&#xff0c;聲明對 Spring Cloud Gateway 中的一處命令注入漏洞進行了修復&#xff0c;漏洞編號為CVE-2022-22947 Spring官方發布 漏洞描述 使用 Spring Cloud Gate…

javaweb—Vue

重點為&#xff1a;雙向數據綁定。 框架&#xff1a;是一個半成品軟件&#xff0c;是一套可重用的、通用的、軟件基礎代碼模型&#xff0c;基于框架進行開發&#xff0c;更加快捷&#xff0c;更加高效。 Vue快速入門 基礎框架&#xff1a; <!DOCTYPE html> <html lan…

【Python Cookbook】S01E20 fnmatch 模塊做字符串匹配

目錄 問題解決方案討論 問題 在不同的操作系統下&#xff0c;怎樣做字符串匹配&#xff1f; 解決方案 fnmatch() 模塊提供兩個函數&#xff0c;fnmatch() 以及 fnmatchcase() 可以用來執行做這樣的匹配。 from fnmatch import fnmatch, fnmatchcasematch_res fnmatch(foo.…

vue路由緩存

vue路由緩存 在業務場景中有時候需要頁面緩存不清空&#xff0c;那么就需要保留緩存(include為需要緩存&#xff0c;而exclude為不緩存&#xff0c;且優先級大于include) <KeepAlive> 是一個內置組件&#xff0c;它的功能是在多個組件間動態切換時緩存被移除的組件實例…

【java 為什么說 Synchronized 是非公平鎖?】

文章目錄 概要1. 非公平鎖的定義2. synchronized 作為非公平鎖的原因3. 非公平鎖的特點4. 如何實現公平鎖總結 概要 在Java中&#xff0c;synchronized 關鍵字用于實現同步&#xff0c;以確保在多線程環境下對共享資源的訪問是線程安全的。然而&#xff0c;synchronized 實現的…

03-3.1.2 棧的順序存儲的實現

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜歡《數據結構》部分筆記的小伙伴可以訂…

郵件地址搜索軟件

易郵件地址搜索大師  一、易郵件地址搜索大師特色 — 易郵件地址搜索大師是一款搜索郵件地址和手機號碼的軟件&#xff0c;可以按整站搜索&#xff0c;也可以按關鍵詞搜索。使用方法非常簡單和方便。 — “整站搜索”可以搜索有很多郵件地址的單一網站&#xff0c;主要用于…

Technart電動螺絲刀TN101控制器維修

Technart電動螺絲刀以其高效、穩定和精確的扭矩控制而聞名。然而&#xff0c;即使優質的產品&#xff0c;在長時間的使用下&#xff0c;也可能會出現TECHNART電動螺母扳手控制器故障。 常見故障及維修方法 1. 控制器不工作 癥狀&#xff1a;電動螺絲刀無法啟動&#xff0c;或啟…

Python怎么染色:深入探索Python中的文本和圖形著色技巧

Python怎么染色&#xff1a;深入探索Python中的文本和圖形著色技巧 在Python編程中&#xff0c;染色或著色不僅限于文本輸出&#xff0c;還涉及圖形、圖像甚至數據可視化的多個層面。本文將帶你走進Python的染色世界&#xff0c;從四個方面、五個方面、六個方面和七個方面詳細…

【WEEK15】 【DAY2】【DAY3】Email Tasks【English Version】

Continuation from【WEEK15】 【DAY1】Asynchronous Tasks【English Version】 Contents 17. Asynchronous, Timed, and Email Tasks17.2. Email Tasks17.2.1. Email sending is also very common in our daily development, and Springboot provides support for this as well…

用戶的權限

一&#xff0c;用戶權限基礎知識 1&#xff0c;用戶的權限有&#xff1a; r&#xff1a;讀 w&#xff1a;寫 x&#xff1a;執行 2&#xff0c;文件的權限&#xff1a; r&#xff1a;可以執行cat、head、tail等命令讀取文件中的內容 w&#xff1a;可以用vi/vim或者重定向等…

JeecgBoot/SpringBoot升級Nacos(2.0.4到2.2.3)啟動報錯

錯誤如下&#xff1a; 報這種錯誤基本就很頭大了&#xff0c;是框架不兼容的問題&#xff0c;自己找很難找到解決方法。 解決方案是把SpringBoot框架版本調高。 修改前&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId&g…

Dell戴爾XPS 16 9640 Intel酷睿Ultra9處理器筆記本電腦原裝出廠Windows11系統包,恢復原廠開箱狀態oem預裝系統

下載鏈接&#xff1a;https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取碼&#xff1a;5gk6 戴爾原裝系統自帶網卡、顯卡、聲卡、藍牙等所有硬件驅動、出廠主題壁紙、系統屬性專屬聯機支持標志、系統屬性專屬LOGO標志、Office辦公軟件、MyDell、邁克菲等預裝軟…

Linux基礎 (十四):socket網絡編程

我們用戶是處在應用層的&#xff0c;根據不同的場景和業務需求&#xff0c;傳輸層就要為我們應用層提供不同的傳輸協議&#xff0c;常見的就是TCP協議和UDP協議&#xff0c;二者各自有不同的特點&#xff0c;網絡中的數據的傳輸其實就是兩個進程間的通信&#xff0c;兩個進程在…