原创 Java之線程和線程池

                            創建線程的四種方法以及區別 1.線程是什麼?         線程被稱爲輕量級進程,是程序執行的最小單位,它是指在程序執行過程中,能夠執行代碼的一個執行單位。每個程序程序都至少有一個

原创 JAVA之阻塞隊列接口結構和實現類

目錄 阻塞隊列 阻塞隊列的核心方法: 阻塞隊列的種類分析: 題目:一個初始值爲零的變量,兩個線程對其交替操作,一個加1一個減1 題目:線程通信之順序調用 ReentrantLock,實現A->B->C三個線程順序執行 題目:線程通信之生產

原创 JAVA之Synchronized和Lock

目錄 什麼是線程安全,如何保證線程安全 synchronized的三種應用方式 Java對象頭與Monitor 鎖升級的過程 monitorenter/monitorexit實現原理 1、公平鎖 2、非公平鎖 3、ReentrantLoc

原创 JDK內置工具使用(jps、jstack、jmap、jstat)

JDK內置工具使用(jps、jstack、jmap、jstat)

原创 JAVA之阻塞隊列

阻塞隊列 首先它是一個隊列,而一個阻塞隊列在數據結構中所起的作用大致如下圖: 當阻塞隊列是空時,從隊列中獲取元素的操作將會被阻塞。 當阻塞隊列是滿時,往隊列中添加元素的操作將會被阻塞。 在多線程領域:所謂阻塞,在某些情況下會掛起線程(即阻

原创 CountDownLatch/CyclicBarrier/Semaphore使用過嗎?

CountDownLatch/CyclicBarrier/Semaphore使用過嗎?

原创 Java中ConcurrentHashMap底層實現原理(JDK1.8)源碼分析

Concurrent翻譯過來是併發的意思,字面理解它的作用是處理併發情況的 HashMap,在介紹它之前先回顧下之前的知識。 一、JDK1.7與JDK1.8區別 在JDK1.6,JDK1.7中,HashMap採用位桶+鏈表實現,即使用鏈表

原创 JAVA之ReentrantLock

ReentrantLock

原创 Java中ArrayList底層實現原理(JDK1.8)源碼分析

簡介:   ArrayList是我們開發中非常常用的數據存儲容器之一,其底層是數組實現的,我們可以在集合中存儲任意類型的數據,ArrayList是線程不安全的,非常適合用於對元素進行查找,效率非常高。 線程安全性:   對ArrayLis

原创 Java 快速失敗和安全失敗

我們都接觸 HashMap、ArrayList 這些集合類,這些在 java.util 包的集合類就都是快速失敗的;而 java.util.concurrent 包下的類都是安全失敗,比如:ConcurrentHashMap。 1. 快速

原创 萬能hibernate修改法

public interface TerminalDAO {              void updateTerminalIntPro(String ids, String pro, int value);           

原创 java筆記

java筆記 java中聲明數組 只有4種方法: int[] a = new int[4];   int b[] = new int[4];   int[] c = {1, 15, 26};   int

原创 清除jsp緩存

web開發中瀏覽器重新加載js、jsp、.propertyes等文件的幾個方法 1.可以通過 Ctrl+F5來強制刷新瀏覽器中的js緩存 2.jsp文件是tomcat編譯成class文件後存儲在tomcat/work/catalina/項

原创 Java 訪問權限

1、private修飾詞,表示成員是私有的,只有自身可以訪問;    2、protected,表示受保護權限,體現在繼承,即子類可以訪問父類受保護成員,同時相同包內的其他類也可以訪問protected成員。    3、無修飾詞(默認),表

原创 Properties類的使用

java中 Properties 類可以直接讀取 *.properties 文件, 讀出來的格式 以“=” 左邊的爲key,右邊的爲value, Properties 類不會讀取 沒有“=”行和註釋行, 直接操作Propertie