原创 排序算法-簡單選擇排序

文章目錄簡單選擇排序介紹簡單選擇排序算法時間複雜度和冒泡排序的性能比較 簡單選擇排序介紹 簡單選擇排序法就是通過n-i次關鍵字比較,找到最小的關鍵字下標,最後在替換n-i下標和最小下標的值。 簡單排序的思想和冒泡排序的思想的區別是

原创 計算機數值表示範圍

碼制 定點整數 定點小數 原碼 -(2^(n-1)-1) ~ +(2^(n-1)-1) -(1-2^-(n-1)) ~ +(1-2^-(n-1)) 反碼 -(2^(n-1)-1) ~ +(2^(n-1)-1) -

原创 採用bit位實現數據庫記錄一對多常量值的存儲

文章目錄問題通常方案bit位方案和bit位的關係判斷bit位拆解數值對應常量列表找出某數值在特定位中出現的組合數值總結 問題 假定有個業務需求:總共有3個功能可以被商戶開通,分別爲功能A、B、C。一個商戶可以開通任意功能,也就是1

原创 Gradle Properties配置

目錄Gradle擴展屬性通過擴展屬性統一定義依賴版本號 Gradle擴展屬性 Gradle通過ExtraPropertiesExtension類進行處理。可以對project或者rootProject對象添加擴展屬性,可以通過如下

原创 Gradle通過io.spring.dependency-management插件實現類Maven的依賴管理方式

類似Maven的dependencyManagement方式實現依賴管理引入插件依賴管理配置依賴項管理DSL依賴集配置排除依賴(exclusion)導入Maven Bom Spring開發了一個類似Maven的依賴關係管理功能的G

原创 JVM 垃圾收集算法思想

目錄標記-清除算法複製算法標記-整理算法分代收集算法 標記-清除算法 標記-清除(Mark-Sweep)算法是最基礎的收集算法,算法分“標記”與“清除”兩個階段:首先標記處所有需要回收的對象,標記過程通過可達性算法確定對象是否死亡

原创 Java對象利用finalize()方法逃避GC回收進行存活自救

文章目錄JVM判定對象是否存活對象利用finalize()逃脫內存回收例子 JVM判定對象是否存活 JVM判定對象是否死亡,是通過可達性分析算法來發現對象是否還存在與GC Root相連的引用鏈,如果沒有相連的引用鏈,則進行第一次標

原创 JVM確定對象是否存活

文章目錄確定對象是否存活算法1、引用計數算法2、可達性分析算法JDK引用 確定對象是否存活算法 1、引用計數算法 給對象中添加一個引用計數器,每當一個地方引用它時,計數器值就+1;當引用失效時,計數器值就-1;任何時刻計數器爲0的

原创 利用fcntl模塊對Python腳本實現單例運行

平時寫python腳本,需要控制當前腳本實例只能單例運行,比如一個執行重任務的腳本執行需要消耗大量服務資源或者會出現併發問題的話,那麼需要在同一時間控制只能有一個進程運行腳本。 Python的fcntl提供了對文件描述符進行文件控