原创 Java併發編程之final應用

個人博客請訪問 http://www.x0100.top         final在Java中是一個保留的關鍵字,可以修飾變量、方法和類。那麼fianl在併發編程中有什麼作用呢?本文就在對final常見應用總結基礎上,講解final併發

原创 Java併發編程之Java內存模型詳解

個人博客請訪問 http://www.x0100.top       1. JMM抽象結構模型 JMM抽象結構模型 JMM定義了線程和主內存之間的抽象關係: 線程之間的共享變量存儲在主內存中 每個線程都有一個私有的本地內存,本地內存

原创 Java併發編程之應用詳解

個人博客請訪問 http://www.x0100.top            1. 併發編程介紹 1.1 併發的出現 單CPU時代,單任務在一個時間點只能執行單一程序。 多任務階段,計算機能在同一時間點並行執行多進程。多個任務或進程共享

原创 Java併發編程之線程調度

個人博客請訪問 http://www.x0100.top              1. 優先級 每個線程執行時都有一個優先級的屬性,優先級高的線程可以獲得較多的執行機會,而優先級低的線程則獲得較少的執行機會。 操作系統採用時分的形式調

原创 Java併發編程之深入理解volatile

個人博客請訪問 http://www.x0100.top        1. 保證可見性 volatile保證了不同線程對volatile修飾變量進行操作時的可見性。 對一個volatile變量的讀,(任意線程)總是能看到對這個volat

原创 Java併發編程之線程狀態

個人博客請訪問 http://www.x0100.top             1. 創建啓動線程 兩種方法 創建和啓動線程兩種方法:繼承 Thread 類、實現 Runable 接口。 方法一:繼承 Thread public cl

原创 Java併發編程|重排序-可見性和有序性問題根源

個人博客請訪問 http://www.x0100.top       併發編程的三大問題:原子性、可見性、有序性。 緩存不能及時刷新導致了可見性問題。 編譯器爲了優化性能而改變程序中語句的先後順序,導致有序性問題。 而“緩存不能及時刷新“

原创 Java併發編程之synchronized鎖優化

個人博客請訪問 http://www.x0100.top           1. 爲什麼需要優化? synchronized監視器鎖在互斥同步上對性能的影響很大。 Java的線程是映射到操作系統原生線程之上的,如果要阻塞或喚醒一個線程就

原创 Java併發編程之LookSupport

個人博客請訪問 http://www.x0100.top               java.util.concurrent 中源碼頻繁使用的 LockSupport 來阻塞線程和喚醒線程,如 AQS 的底層實現用到 LockSuppo

原创 Java併發編程之CAS應用

個人博客請訪問 http://www.x0100.top              1. CAS 介紹 CAS,Compare And Swap,即比較並交換。Doug lea 大神在同步組件中大量使用 CAS 技術鬼斧神工地實現了 Ja

原创 Java併發編程面試題彙總

 個人博客請訪問 http://www.x0100.top    基礎知識 併發編程的優缺點 爲什麼要使用併發編程(併發編程的優點) 充分利用多核CPU的計算能力:通過併發編程的形式可以將多核CPU的計算能力發揮到極致,性能得到提升

原创 ElasticSearch深度分頁引發的機器性能問題

個人博客請訪問 http://www.x0100.top    深度分頁引發的機器性能問題 最近碰到一個ElasticSearch深度分頁搜索,導致cpu佔用過高問題,通過查閱ElasticSearch: 權威指南,瞭解到了深度分頁爲何會

原创 Java虛擬機(JVM)最新面試題彙總

個人博客請訪問 http://www.x0100.top     Java內存區域 說一下 JVM 的主要組成部分及其作用? JVM包含兩個子系統和兩個組件,兩個子系統爲Class loader(類裝載)、Execution engine

原创 Java併發編程之併發編程三大核心問題

個人博客請訪問 http://www.x0100.top      寫在前面 編寫併發程序是比較困難的,因爲併發程序極易出現Bug,這些Bug有都是比較詭異的,很多都是沒辦法追蹤,而且難以復現。 要快速準確的發現並解決這些問題,首先就是要

原创 從Jedis看TCP常用的參數設置

個人博客請訪問 http://www.x0100.top                   背景 由於微服務的興起,以及公司內部各種服務間的各種調用,最近也遇過幾次線上大量TIME_WAIT的問題,雖然知道怎麼解決,但也點燃了我對tcp