原创 虛擬機(JVM)常見的5個調優問題及解決方案

高性能硬件上JVM運行速度卻不夠快,有時出現長時間停頓 集羣間同步導致的內存溢出 堆外內存導致的溢出錯誤 外部命令導致的系統緩慢 不恰當的數據結構導致內存佔用過大 高性能硬件上JVM運行速度卻不夠快,有時出現長時間停頓 例如將32爲系統的

原创 虛擬機(JVM)垃圾(GC)收集,帶着這3個問題,清晰好記

哪些內存需要回收? 什麼時候回收? 如何回收?   哪些內存需要回收?        程序計數器,虛擬機棧,本地方法棧,這3類內存區域線程私有,線程結束後內存則被回收,而Java堆和方法區中的一個接口或抽象類有多種不同的實現需要的內存也不

原创 瞭解JVM內存分配策略-只需記住這5點

Java技術體系所提倡的內存管理主要解決兩個問題,一是自動化內存分配,二是自動化內存回收,內存分配主要集中在新生代的Eden區,如果啓用了本地線程分配緩衝,則將將按線程有限在TLAB上分配。 對象優先在Eden區上分配 大多數情況下,內存

原创 類文件結構精華要點,面試必備

無關性的基石 各種不同平臺平臺的虛擬機與所有平臺都統一使用的程序存儲格式---字節碼,是實現平臺無關性的基石。然而,語言無關性也漸漸被開發者重視,實現語言無關性的基礎仍然是虛擬機和字節碼存儲格式,Java虛擬機不和包括Java之內的所有語

原创 初探JAVA(一般人記不住)

JAVA技術體系包括JAVA程序設計語言、各種硬件平臺上的JAVA虛擬機、JAVA API類庫、CLASS文件格式、來自商業機構和開源社區的第三方JAVA類庫。前三個可以統稱爲JDK、JDK是用於支持JAVA程序開發的最小環境。 根據JA

原创 一張圖看懂JVM內存區域,清晰好記

運行時數據區域 Java虛擬機在執行Java程序時會把它所管理的內存分爲若干個不同的數據區域,這些區域有各自的用途,以及創建時間和銷燬時間,有的區域隨着虛擬機進程的啓動爾存在,有的區域則依賴用戶線程的啓動和結束爾創建和銷燬。根據Java虛

原创 TCP/IP協議族基本知識

TCP/IP協議分層模型 OSI參考模型 協議分層 描述 會話層及以上 應用層 瀏覽器與服務器之間的通信協議時HTTP,所傳輸數據的主要格式是HTML,HTTP屬於應用層協議,而HTML屬於表示層協議。 發送電子郵件的協議是SMTP,還

原创 計算機網絡基本概念,OSI參考模型,網絡設備構成及作用

本文主要描述計算機網絡中的一些基本概念,整理自《圖解TCP/IP》一書。 TCP/IP:TCP/IP是通訊協議的統稱,不僅僅包含傳輸層和網絡層協議。 分組交換協議:分組交換是指將大數據包分解成一個個小的數據包(幀)進行傳輸的方法。 分組交

原创 sonarQube的基本使用

sonarqube中文文檔         https://revolyw.gitbooks.io/sonarqube/content/            本文描述sonarQube的基本使用,包括配置規則集(質量配置)、配置質量閾、

原创 鎖優化(自旋鎖,鎖消除,鎖粗化,輕量級鎖,偏向鎖)(深入理解JAVA虛擬機-學習記錄)

高效併發是從JDK 1.5到JDK 1.6的一個重要改進,HotSpot虛擬機開發團隊在這個版本上花費了大量的精力去實現各種鎖優化技術,如適應性自旋(Adaptive Spinning)、鎖消除(LockElimination)、鎖粗化(

原创 Volatile關鍵字在內存模型中的特殊規則

當一個變量被Volatile關鍵字修飾後,便具有兩種特性,一是保證變量對所有線程的可見性,二是禁止指令重排序優化。 可加性是指一個線程對變量的值進行修改後,其他加載了該變量線程能立即得知這個變化,普通變量做不到這一點,普通變量的值在線程中

原创 什麼是線程安全,如何實現

定義:當多個線程訪問同一對象時,不需要考慮這些線程在運行環境下的調度和交替執行,不需要進行額外的同步操作,不需要再調用方進行額外的協調操作,調用這個方法都能獲得正確的結果,那這個對象就是線程安全的。就是說,代碼本身封裝了所有保障正確性的手

原创 JAVA內存模型中的原子性、可見性與有序性

Java內存模型是圍繞着線程在併發過程中如何處理原子性,可見性和有序性這3個特徵來建立的。 原子性:由Java內存模型來直接保證的原子性變量操作由read,load,assign,use,store,write,我們大致可以認爲基本類型的

原创 JAVA內存模型精講-面試必備

注意,本文所講的內存模型與Java內存區域中的Java堆、棧、方法區等並不是同一個層次的內存劃分,這兩者基本上是沒有關係的,如果兩者一定要勉強對應起來,那從變量、主內存、工作內存的定義來看,主內存主要對應於Java堆中的對象實例數據部分[

原创 雙親委派模型-開篇道其精髓

雙親委派模型 爲啥叫雙親委派模型而不叫父親委派模型,明明只有邏輯上的父類委派,沒見到“母親的影子”。而且父類也只是邏輯上的父類,不是典型意義上的通過繼承出現的父子類關係,本質上是通過組合實現的代碼複用。我們來大致看下。 先熟悉一些概念,絕