原创 JVM(一):JVM的運行時數據區

由於Java程序是交由JVM執行的,所以我們在談Java內存區域劃分的時候事實上是指JVM內存區域劃分。在討論JVM內存區域劃分之前,先來看一下Java程序具體執行的過程: 如上圖所示,首先Java源代碼文件(.java後綴)會被Jav

原创 JVM(四):GC算法

1、對象與引用 爲了解決“哪些內存需要回收”的問題,需要確定哪些對象是“有用不可回收”的,而哪些對象是“無用可回收”的。通常存在以下兩種判斷算法。 引用計數法 算法原理:給對象添加一個引用計數器,每當一個地方引用它時,計數器值就加1;每

原创 JVM(五):GC垃圾收集器分類

1、Serial收集器(新生代) 單線程,在進行垃圾收集時必須暫停其他所有的工作線程(“Stop the World“)。虛擬機運行在Client模式下的默認新生代收集器。簡單而高效(與其他收集器的單線程比),對於限定單個CPU的環境來

原创 JVM(六):GC日誌閱讀

垃圾回收器的可用組合: Young Tenured JVM options Serial Serial -XX:+UseSerialGC Parallel Scavenge Serial -XX:+UseParallelGC -XX:+U

原创 SpringMVC 請求處理 - HandlerInterceptor

對SpringMVC有所瞭解的人肯定接觸過HandlerInterceptor攔截器,HandlerInterceptor接口給我們提供了3個方法: (1)preHandle: 在執行controller處理之前執行,返回值爲boolea

原创 JVM(三):內存模型JMM

JMM是一種規範,目的是解決由於多線程通過共享內存進行通信時,存在的本地內存數據不一致、編譯器會對代碼指令重排序、處理器會對代碼亂序執行等帶來的問題。 主內存與工作內存 主內存:所有的實例字段、靜態字段和構成數組對象的元素都存儲在主內存,

原创 netty源碼分析之揭開reactor線程的面紗(一)

netty最核心的就是reactor線程,對應項目中使用廣泛的NioEventLoop,那麼NioEventLoop裏面到底在幹些什麼事?netty是如何保證事件循環的高效輪詢和任務的及時執行?又是如何來優雅地fix掉jdk的nio bu

原创 《sed & awk》讀書筆記之sed篇

Sed是什麼 Sed本質上是一個編輯器,但是它是非交互式的,這點與VIM不同;同時它又是面向字符流的,輸入的字符流經過Sed的處理後輸出。這兩個特性使得Sed成爲命令行下面非常有用的一個處理工具。 基本概念 sed命

原创 《sed & awk》讀書筆記之awk篇

Awk是什麼 Awk、sed與grep,俗稱Linux下的三劍客,它們之間有很多相似點,但是同樣也各有各的特色,相似的地方是它們都可以匹配文本,其中sed和awk還可以用於文本編輯,而grep則不具備這個功用。sed是一種非交互式且

原创 Java編程思想之低耦合

1.    低耦合(Low Coupling) “低耦合”這個詞相信大家已經耳熟能詳,我們在看spring的書籍、MVC的數據、設計模 式的書籍,無處不提到“低耦合、高內聚”,它已經成爲軟件設計質量的標準之一。那麼什麼是低耦合?耦合就

原创 Kafka入門經典

問題導讀: 1.Kafka獨特設計在什麼地方? 2.Kafka如何搭建及創建topic、發送消息、消費消息? 3.如何書寫Kafka程序? 4.數據傳輸的事務定義有哪三種? 5.Kafka判斷一個節點是否活着有哪兩個條件? 6.produ

原创 分佈式服務彈性框架“Hystrix”實踐與源碼研究(一)

文章初衷 爲了應對將來在線(特別是無線端)業務量的成倍增長,後端服務的分佈式化程度需要不斷提高,對於服務的延遲和容錯管理將面臨更大挑戰,公司框架和開源團隊選擇內部推廣Netflix的Hystrix,一是爲了推進各部門的服務使用覆蓋率,

原创 Java正則表達式規則

1 [正則表達式]文本框輸入內容控制 2 整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$ 3 只能輸入數字:"^[0-9]*$"。 4 只能輸入n位的數字:"^\d{n}$"。 5 只能輸入至少n位的

原创 微服務實踐(五):微服務的事件驅動數據管理

【編者的話】本文是使用微服務創建應用系列的第五篇文章。第一篇文章介紹了微服務架構模式,並且討論了使用微服務的優缺點;第二和第三篇描述了微服務架構模塊間通訊的不同方面;第四篇研究了服務發現中的問題。本篇中,我們從另外一個角度研究一下微服務架

原创 微服務實戰(四):服務發現的可行方案以及實踐案例

(轉載自dockone.io 原作者楊峯) 這是關於使用微服務架構創建應用系列的第四篇文章。第一篇介紹了微服務架構的模式,討論了使用微服務架構的優缺點。第二和第三篇描述了微服務架構內部的通訊機制。這篇文章中,我們將會探討服務發現相關問