原创 【Java多線程與併發】——wait/notify

wait/notify爲何而來? 我們知道,線程與線程之間並不是完全獨立的個體,多個線程之間可以通過訪問共享變量,可以實現線程間進行通信。然而當多個線程訪問同一共享變量,如果沒有使用同步機制,即沒有使用synchronize同步方法或

原创 【Java多線程與併發】——Synchronized關鍵字詳解

目錄 一、syncronized關鍵字介紹 二、synchronized使用場景 三 、synchronized的一些特性 1)synchronized具有鎖重入的功能 2)同步不具有繼承性 3)退出或者異常發生時自動釋放鎖 4)sync

原创 【Java多線程與併發】——進程與線程聯繫與區別

進程 從狹義上來說:是一段程序的執行過程 從廣義上來說:進程是一個具有獨立功能的程序關於某個數據集的一次運行活動,它是操作系統動態執行的基本單元 線程 線程可以理解爲進程中獨立運行的子任務,作爲獨立運行和獨立調度的基本單位 區別和

原创 【常用設計模式】單例設計模式

定義   單例是一種設計模式,單例模式可以保證系統中只有一個類只有一個實例,而且該實例易於外界訪問,從而方便實例個數的控制並節約系統資源。 單例模式通用類圖 八種單例設計模式使用方式及優缺點 一、餓漢式 public final

原创 【Java多線程與併發】——Thread.currentThread().getName()和this.getName()區別

首先,Thread.currentThread().getName() 和 this.getName()都可以用來獲得線程的名稱,但是它們是有區別滴,不能亂用! 下面分別對這兩個方法進行剖析: 先來說說currentThread()方法,

原创 【Java多線程與併發】——join

目錄 1、join()簡介 2、例子 3、底層原理 4、其他方法 1、join()簡介 join()方法的作用在一個線程內調用另一個線程實例的join()方法,表示線程在此阻塞,以等待相應的實例執行完成,join()內部是通過wait()

原创 【Java多線程與併發】——多線程基礎知識

目錄 一、什麼是多線程 二、多線程創建的幾種方式 1、繼承Thread 2、實現Runnable接口 3、實現Callable接口 4、線程池 三、線程的生命週期 四、Thread中的一些方法 五、如何停止一個線程 1、使用return停

原创 【Java多線程與併發】——Java多線程與併發概念理解

同步和異步 同步和異步是針對方法調用而言的 同步是指方法調用會等待方法返回,方法返回後才能繼續往下執行。 異步是指方法調用會立即返回,並繼續向下執行,但是異步調用立即返回並不表示這個調用請求處理完成,而是會在後臺起一個線程去執行。 並行與

原创 【六大設計原則】單一職責原則

一、定義:應該有且僅有一個原因引起類的變更。(單一職責原則要求一個接口或類只有一個原因引起變化,也就是一個接口或類只有一個職責,它就負責一件事情) 二、優點:1)類的複雜性降低,實現什麼職責都有清晰明確的定義;2) 可讀性提高,複

原创 【Java多線程與併發】——JAVA多線程實現的四種方式

學習知識,尊重別人的勞動成果,原文地址:https://www.cnblogs.com/felixzh/p/6036074.html Java多線程實現方式主要有四種:繼承Thread類、實現Runnable接口、實現Callable接口

原创 2、多線程的實現方式

文章目錄1、多線程主要的實現方式:2、繼承Thread類和實現Runnable接口的區別:3、線程實現的所有方式3.1、繼承Thread類3.2、實現Runnable接口3.3、實現Callable接口,並通過FutureTask

原创 3、Thread API的簡單介紹

1、sleep方法 public static void sleep(long millis, int nanos) throws InterruptedException public static native void s

原创 1、Java併發編程基礎概念

文章目錄1、進程與線程2、線程安全3、同步和異步4、並行與併發5、臨界區6、阻塞與非阻塞7、死鎖8、飢餓9、活鎖 1、進程與線程 進程:   進程是操作系統結構的基礎,是程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的

原创 【JUC】COW容器淺析

文章目錄1、什麼是COW2、Java中的Cow容器3、CopyOnWriteArrayList源碼分析4、COW容器優缺點及適用場景 1、什麼是COW 維基百科定義:   寫入時複製(英語:Copy-on-write,簡稱COW)

原创 Java原子操作類

Java中Atomic包下,提供了一些簡單、高效並且線程安全的更新一個變量的方式,包含四種類型的原子更新方式:原子更新基本類型、原子更新數組類型、原子更新引用類型,原子更新字段類。   原子更新基本類型: AtomicBoolean:原子