原创 Lock 框架詳解

我們已經知道,synchronized 是Java的關鍵字,是Java的內置特性,在JVM層面實現了對臨界資源的同步互斥訪問,但 synchronized 粒度有些大,在處理實際問題時存在諸多侷限性,比如響應中斷等。Lock 提供了比

原创 Java 併發工具包 java.util.concurrent 用戶指南

1. java.util.concurrent - Java 併發工具包 Java 5 添加了一個新的包到 Java 平臺,java.util.concurrent 包。這個包包含有一系列能夠讓 Java 的併發編程變得更加簡單輕鬆的類。

原创 ElasticSearch 倒排索引、分詞

es使用稱爲倒排索引的結構達到快速全文搜索的目的。   一個倒排索引包含一系列不同的單詞,這些單詞出現在任何一個文檔, 對於每個單詞,對應着所有它出現的文檔。   比如說,我們有2個文檔,每個文檔有一個conteng字段。

原创 Dubbo服務啓動依賴檢查

項目中存在服務之間存在循環依賴,啓動時總是報錯,通過修改啓動檢查check=false解決,下面是dubbo官網提供的啓動檢查文檔。 啓動時檢查 Dubbo缺省會在啓動時檢查依賴的服務是否可用,不可用時會拋出異常,阻止Spring初

原创 RPC與RMI的區別

1. RPC 不支持對象, 採用http協議 2. RMI支持傳輸對象。採用tcp/ip 協議 3. RMI只限於JAVA語言,RPC跨語言 RPC和RMI的簡單比較   在RMI和RPC之間最主要的區別在於方法是如何別調用

原创 深入理解spring中的各種註解

Spring中的註解大概可以分爲兩大類: 1)spring的bean容器相關的註解,或者說bean工廠相關的註解; 2)springmvc相關的註解。 spring的bean容器相關的註解,先後有:@Required, @Auto

原创 Elasticsearch segments merge

這兩週主要看了下 Elasticsearch(其實是Lucene)的 segments 的 merge 流程。事情起因是,線上的ES有些大索引,其中的segments 個數幾十個,每個大小100M+,小 segments 若干,而遇到問題

原创 dubbo線程池優化

dubbo默認提供了三種線程池,分別是 fixed 固定大小線程池,啓動時建立線程,不關閉,一直持有。 cached 緩存線程池,空閒一分鐘自動刪除,需要時重建。 limited 可伸縮線程池,但池中的線程數只會增長不會收縮。(爲避免收縮

原创 TCP協議如何保證可靠傳輸

1、應用數據被分割成TCP認爲最適合發送的數據塊。 2、超時重傳:當TCP發出一個段後,它啓動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發這個報文段。 3、TCP給發送的每一個包進行編號,接收方對數據包進行

原创 服務器常見錯誤代碼

一:500錯誤 1、500 Internal Server Error 內部服務錯誤:顧名思義500錯誤一般是服務器遇到意外情況,而無法完成請求。 2、500出錯的可能性:   a、編程語言語法錯誤,web腳本錯誤   b、併發

原创 線程本地變量ThreadLocal

首先說明ThreadLocal存放的值是線程內共享的,線程間互斥的,主要用於線程內共享一些數據,避免通過參數來傳遞,這樣處理後,能夠優雅的解決一些實際問題,比如Hibernate中的OpenSessionInView,就是使用Threa

原创 倒排索引

常規的索引是文檔到關鍵詞的映射: 文檔——>關鍵詞 但是這樣檢索關鍵詞的時候很費力,要一個文檔一個文檔的遍歷一遍。(這事不能忍~) 於是人們發明了倒排索引~ 倒排索引是關鍵詞到文檔的映射 關鍵詞——>文檔 這樣,只要有關鍵詞,立馬就能找到

原创 TreeSet實現原理

前言        首先明白TreeSet屬於集的範圍,所以它只能存放引用類型,不能用於基本數據類型,實現了set接口,所以它本身不能有重複的元素,當存入自定義的引用類型的時候就必須考慮到元素不可重複的這個特性,換句話說就必須實現Co

原创 分佈式事務之說說TCC事務

在當前如火如荼的互聯網浪潮下,如何應對海量數據、高併發成爲大家面臨的普遍難題。廣大IT公司從以往的集中式網站架構,紛紛轉向分佈式的網站架構,隨之而來的就是進行數據庫拆分和應用拆分,如何在跨數據庫、跨應用保證數據操作和業務操作的一致性、原子

原创 Lombok使用

 Lombok是一個可以通過簡單的註解形式來幫助我們簡化消除一些必須有但顯得很臃腫的Java代碼的工具,通過使用對應的註解,可以在編譯源碼的時候生成對應的方法 lombok 註解:    lombok 提供的註解不多,可以參考官方視頻的講