原创 LinkedHashSet源碼分析

  今天來聊聊LinkedHashSet,繼承了HashSet類,基於LinkedHashMap來實現(以下都是基於jdk1.8)。 繼承樹 LinkedHashSet的繼承樹如下圖: 源碼之旅 (1)底層基於LinkedHa

原创 【多線程】wait與notify

wait與notify

原创 Loading class `com.mysql.jdbc.Driver'. This is deprecated.

警告信息“Loading class ‘com.mysql.jdbc.Driver’. This is deprecated. The new driver class is ‘com.mysql.cj.jdbc.Driver’.

原创 Unregistering application CLIENT with eureka with status DOWN

Eureka Server啓動之後,client啓動的時候報錯“Unregistering application CLIENT with eureka with status DOWN”。 檢查配置文件,發現並無問題: eure

原创 深入理解synchronized實現原理

在多線程編程中,有可能會出現多個線程同時訪問同一個共享、可變資源的情況,這種資源可能是對象、變量、文件等。由於線程執行的過程是不可控的,所以需要採用同步機制來協同對對象可變狀態的訪問。 synchronized可以保證變量的原子性

原创 線程的生命週期------運行和阻塞

當線程被創建並啓動以後,它既不是一啓動就進入執行狀態,也不是一直處於執行狀態,在線程的生命週期中,它要經過新建(New)、就緒(Runnable)、運行(Running)、阻塞(Blocked)、死亡(Dead)這5中狀態。 上一

原创 線程創建------通過繼承Thread類

步驟 通過繼承Thread類創建並啓動線程的步驟: (1)定義Thread類的子類,並重寫該類的run()方法,該run()方法的方法體就代表了線程需要完成的任務。因此把run()方法稱爲線程執行體。 (2)創建Thread子類的

原创 Sprig簡介

Spring框架是由於軟件開發的複雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限於服務器端的開發。從簡單性、可測試性和鬆耦合性角度而言,絕大部分Java應用都可

原创 線程創建------實現Runnable接口

步驟 通過實現Runnable接口創建並啓動線程的步驟: (1)定義Runnable接口的實現類,並重寫該類的run()方法,該run()方法的方法體就是線程執行體。 (2)創建Runnable實現類的實例,並以此實例作爲Thre

原创 線程的生命週期------新建和就緒

當線程被創建並啓動以後,它既不是一啓動就進入執行狀態,也不是一直處於執行狀態,在線程的生命週期中,它要經過新建(New)、就緒(Runnable)、運行(Running)、阻塞(Blocked)、死亡(Dead)這5中狀態。 Le

原创 簡單理解Spring IoC

IoC(Inverse of Control),控制反轉,簡單的解釋:在傳統的開發模式下,我們都是採用直接 new 一個對象的方式來創建對象,也就是說你的對象直接由你自己控制,但是有了 IOC 容器後,則直接由 IoC 容器來控制。需要實

原创 線程創建------使用Callable和Future

Start 從Java5開始,Java提供了Callable接口(也是函數式接口),該接口提供了一個call()方法可以作爲線程執行體,相較於run()方法,call()方法功能更強大: (1)call()方法可以有返回值。 (2

原创 Win10鼠標點一下文件夾或文件沒有選中的那個藍色,但還是能正常用,比如雙擊跟右鍵,點一下也有詳細信息

Win10系統,小新今天出了一點小問題,鼠標點一下文件夾或文件(或者鼠標移上去)沒有選中的那個藍色,但還是能正常用,比如雙擊和右鍵,點一下也有詳細信息。 就是下圖的背景色沒有了,倒也不是大問題,只是不習慣。 解決方法 打開"任務

原创 【Java】簡單選擇排序

簡單選擇排序屬於選擇類排序方法,它的改進是堆排序。 基本思想 簡單選擇排序的基本思想非常簡單(假設從小到大排序):第一趟,從 n 個元素中找出關鍵字最小的元素與第一個元素交換;第二趟,在從第二個元素開始的 n-1 個元素中再選出關

原创 【Java】歸併排序

歸併排序是另一類不同的排序方法,這種方法是運用分治法解決問題的典型範例。 基本思想 歸併排序的基本思想是基於合併操作,即合併兩個已經有序的序列是容易的,不論這兩個序列是順序存儲還是鏈式存儲,合併操作都可以在 Ο(m+n)時間內完成