posted @ 2018-08-09 10:13
_1900
閱讀(20809)
推薦(8)
摘要:
1 前言 2 優化的哲學 3 優化思路 3.1 優化什么 3.2 優化的范圍有哪些 3.3 優化維度 4 優化工具有啥? 4.1 數據庫層面 4.2 數據庫層面問題解決思路 4.3 系統層面 4.4 系統層面問題解決辦法 5 基礎優化 5.1 優化思路 5.2 硬件優化 5.3 服務器硬件優化 5.
閱讀全文
posted @ 2019-02-22 09:36
_1900
閱讀(1170)
推薦(1)
摘要:
導航當頁: ? 顯示help,查詢vimium的所有使用方法 h 向左滾動 j 向下滾動 k 向上滾動 l 向右滾動 gg 滾動到頂部 G 滾動到底部 d 向下滾動半頁 u 向上滾動半頁面 f 顯示鏈接字母,在當前頁面打開 F 顯示鏈接字母,在新的頁面打開 r 刷新 gs 顯示網頁源代碼 i 進入插
閱讀全文
posted @ 2018-05-17 15:49
_1900
閱讀(969)
推薦(0)
摘要:
本文不是講解如何使用Spring Cloud的教程,而是探討Spring Cloud是什么,以及它誕生的背景和意義。 1 背景 2008年以后,國內互聯網行業飛速發展,我們對軟件系統的需求已經不再是過去”能用就行”這種很low的檔次了,像搶紅包、雙十一這樣的活動不斷逼迫我們去突破軟件系統的性能上限,
閱讀全文
posted @ 2018-04-26 10:01
_1900
閱讀(6560)
推薦(1)
摘要:
一、單系統登錄機制 1、http無狀態協議 web應用采用browser/server架構,http作為通信協議。http是無狀態協議,瀏覽器的每一次請求,服務器會獨立處理,不與之前或之后的請求產生關聯,這個過程用下圖說明,三次請求/響應對之間沒有任何聯系 但這也同時意味著,任何用戶都能通過瀏覽器訪
閱讀全文
posted @ 2018-01-08 11:28
_1900
閱讀(1535)
推薦(4)
摘要:
WebSocket 教程 概述 WebSocket 是什么? WebSocket 是一種網絡通信協議。RFC6455 定義了它的通信標準。 WebSocket 是 HTML5 開始提供的一種在單個 TCP 連接上進行全雙工通訊的協議。 為什么需要 WebSocket ? 了解計算機網絡協議的人,應該
閱讀全文
posted @ 2017-12-07 17:02
_1900
閱讀(11343)
推薦(3)
摘要:
整體結構 用戶--https-->Nginx--http-->Tomcat 頁面中包含了iframe,iframe的src也是Https的,但是當frame里面的內容表單提交后tomcat服務器處理成功想要重定向卻無法正常重定向,Chrome報錯如下 Mixed Content: The page
閱讀全文
posted @ 2017-11-16 17:57
_1900
閱讀(27861)
推薦(1)
摘要:
TCP/IP概述 TCP/IP起源于1969年美國國防部(DOD:The United States Department Of Defense)高級研究項目管理局(APRA:AdvancedResearch Projects Agency)對有關分組交換的廣域網(Packet-Switched w
閱讀全文
posted @ 2017-10-18 16:18
_1900
閱讀(25241)
推薦(1)
摘要:
一、OSI七層模型 OSI七層協議模型主要是:應用層(Application)、表示層(Presentation)、會話層(Session)、傳輸層(Transport)、網絡層(Network)、數據鏈路層(Data Link)、物理層(Physical)。 二、TCP/IP四層模型 TCP/IP
閱讀全文
posted @ 2017-09-26 15:54
_1900
閱讀(60913)
推薦(5)
摘要:
1.登陸和開關機 2.切換用戶與當前工作目錄 3.基本常用命令 4.幫助命令文檔查詢 5.文件查詢 6.新建文件, 移動、復制、刪除文件 7.文本處理命令 8.正則表達式grep 和 sed
閱讀全文
posted @ 2017-09-23 14:27
_1900
閱讀(865)
推薦(0)
摘要:
同步與異步 同步與異步的概念, 關注的是 消息通信機制 同步是指發出一個請求, 在沒有得到結果之前該請求就不返回結果, 請求返回時, 也就得到結果了. 比如洗衣服, 把衣服放在洗衣機里, 沒有洗好之前我們一直看著, 直到洗好了才拿出來晾曬. 異步是指發出一個請求后, 立刻得到了回應, 但沒有返回結果
閱讀全文
posted @ 2017-09-22 16:49
_1900
閱讀(1057)
推薦(0)
摘要:
最近在看 UNIX 網絡編程并研究了一下 Redis 的實現,感覺 Redis 的源代碼十分適合閱讀和分析,其中 I/O 多路復用(mutiplexing)部分的實現非常干凈和優雅,在這里想對這部分的內容進行簡單的整理。 幾種 I/O 模型 為什么 Redis 中要使用 I/O 多路復用這種技術呢?
閱讀全文
posted @ 2017-09-22 15:36
_1900
閱讀(2852)
推薦(0)
摘要:
公平模式ReentrantLock實現原理 前面的文章研究了AbstractQueuedSynchronizer的獨占鎖和共享鎖,有了前兩篇文章的基礎,就可以乘勝追擊,看一下基于AbstractQueuedSynchronizer的并發類是如何實現的。 ReentrantLock顯然是一種獨占鎖,首
閱讀全文
posted @ 2017-08-29 15:40
_1900
閱讀(388)
推薦(1)
摘要:
共享模式acquire實現流程 上文我們講解了AbstractQueuedSynchronizer獨占模式的acquire實現流程,本文趁熱打鐵繼續看一下AbstractQueuedSynchronizer共享模式acquire的實現流程。連續兩篇文章的學習,也可以對比獨占模式acquire和共享模
閱讀全文
posted @ 2017-08-29 15:38
_1900
閱讀(331)
推薦(0)
摘要:
關于AbstractQueuedSynchronizer JDK1.5之后引入了并發包java.util.concurrent,大大提高了Java程序的并發性能。關于java.util.concurrent包我總結如下: AbstractQueuedSynchronizer是并發類諸如Reentra
閱讀全文
posted @ 2017-08-29 15:36
_1900
閱讀(473)
推薦(0)
摘要:
問題來源 在傳統的架構中,對于客戶端的每一次請求,服務器都會創建一個新的線程或者利用線程池復用去處理用戶的一個請求,然后返回給用戶結果,這樣做在高并發的情況下會存在非常嚴重的性能問題:對于用戶的每一次請求都創建一個新的線程是需要一定內存的,同時線程之間頻繁的上下文切換也是一個很大的開銷。 p.s:
閱讀全文
posted @ 2017-08-29 15:33
_1900
閱讀(755)
推薦(0)
摘要:
1. 概述 Java 反射是可以讓我們在運行時獲取類的方法、屬性、父類、接口等類的內部信息的機制。也就是說,反射本質上是一個“反著來”的過程。我們通過new創建一個類的實例時,實際上是由Java虛擬機根據這個類的Class對象在運行時構建出來的,而反射是通過一個類的Class對象來獲取它的定義信息,
閱讀全文
posted @ 2017-08-21 18:06
_1900
閱讀(949)
推薦(0)
摘要:
簡介 提供了一個基于FIFO隊列,可以用于構建鎖或者其他相關同步裝置的基礎框架。該同步器(以下簡稱同步器)利用了一個int來表示狀態,期望它能夠成為實現大部分同步需求的基礎。使用的方法是繼承,子類通過繼承同步器并需要實現它的方法來管理其狀態,管理的方式就是通過類似acquire和release的方式
閱讀全文
posted @ 2017-08-17 18:28
_1900
閱讀(467)
推薦(0)
摘要:
ava.util 中的集合類包含 Java 中某些最常用的類。最常用的集合類是 List 和 Map。List 的具體實現包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構建、存儲和操作任何類型對象元素列表。List 適用于按數值索引訪問元素的情形。 Map 提供了一個更通
閱讀全文
posted @ 2017-08-16 11:52
_1900
閱讀(832)
推薦(0)
摘要:
概覽 同 ArrayList 一樣,LinkedList 也是對 List 接口的一種具體實現。不同的是,ArrayList 是基于數組來實現的,而 LinkedList 是基于雙向鏈表實現的。LinkedList 類的聲明如下: LinkedList 繼承自 AbstractSequentialL
閱讀全文
posted @ 2017-08-15 17:28
_1900
閱讀(539)
推薦(0)
摘要:
概覽 ArrayList是最常使用的集合類之一了。在JDK文檔中對ArrayList的描述是:ArrayList是對list接口的一種基于可變數組的實現。ArrayList類的聲明如下: ArrayList繼承了AbstractList抽象類,并實現了List,RandomAccess,Clonea
閱讀全文
posted @ 2017-08-15 17:27
_1900
閱讀(543)
推薦(0)
摘要:
Set 表示由無重復對象組成的集合,也是集合框架中重要的一種集合類型,直接擴展自 Collection 接口。在一個 Set 中,不能有兩個引用指向同一個對象,或兩個指向 null 的引用。如果對象 a 和 b 的引用滿足條件 a.equals(b),那么這兩個對象也不能同時出現在集合中。 通常 S
閱讀全文
posted @ 2017-08-15 17:25
_1900
閱讀(412)
推薦(0)
摘要:
TreeMap 是一種基于紅黑樹實現的 Key-Value 結構。在使用集合視圖在 HashMap 中迭代時,是不能保證迭代順序的; LinkedHashMap 使用了雙向鏈表,保證按照插入順序或者訪問順序進行迭代。但是有些時候,我們可能需要按照鍵的大小進行按序迭代,或者在使用哈希表的同時希望按鍵值
閱讀全文
posted @ 2017-08-15 17:24
_1900
閱讀(952)
推薦(0)
摘要:
同 HashMap 一樣,LinkedHashMap 也是對 Map 接口的一種基于鏈表和哈希表的實現。實際上, LinkedHashMap 是 HashMap 的子類,其擴展了 HashMap 增加了雙向鏈表的實現。相較于 HashMap 的迭代器中混亂的訪問順序,LinkedHashMap 可以
閱讀全文
posted @ 2017-08-15 17:23
_1900
閱讀(402)
推薦(0)
摘要:
Queue 也是 Java 集合框架中定義的一種接口,直接繼承自 Collection 接口。除了基本的 Collection 接口規定測操作外,Queue 接口還定義一組針對隊列的特殊操作。通常來說,Queue 是按照先進先出(FIFO)的方式來管理其中的元素的,但是優先隊列是一個例外。 Dequ
閱讀全文
posted @ 2017-08-15 17:20
_1900
閱讀(13188)
推薦(4)
摘要:
1、什么是類的加載 類的加載指的是將類的.class文件中的二進制數據讀入到內存中,將其放在運行時數據區的方法區內,然后在堆區創建一個java.lang.Class對象,用來封裝類在方法區內的數據結構。類的加載的最終產品是位于堆區中的Class對象,Class對象封裝了類在方法區內的數據結構,并且向
閱讀全文
posted @ 2017-08-04 16:56
_1900
閱讀(876)
推薦(0)
摘要:
配置優化 zookeeper.session.timeout默認值:3分鐘(180000ms)說明:RegionServer與Zookeeper間的連接超時時間。當超時時間到后,ReigonServer會被Zookeeper從RS集群清單中移除,HMaster收到移除通知后,會對這臺server負責
閱讀全文
posted @ 2017-07-14 18:10
_1900
閱讀(329)
推薦(0)
摘要:
簡介 HBase —— Hadoop Database的簡稱,Google BigTable的另一種開源實現方式,從問世之初,就為了解決用大量廉價的機器高速存取海量數據、實現數據分布式存儲提供可靠的方案。從功能上來講,HBase不折不扣是一個數據庫,與我們熟悉的Oracle、MySQL、MSSQL等
閱讀全文
posted @ 2017-07-14 16:36
_1900
閱讀(369)
推薦(0)
摘要:
https://docs.transwarp.io/5.0/goto?file=HyperbaseManual_intro-hbase.html#intro-hbase
閱讀全文
posted @ 2017-07-14 16:27
_1900
閱讀(374)
推薦(0)
摘要:
簡介 一種分布式的計算方式指定一個Map(映#x5C04;)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發的Reduce(歸約)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組 Pattern map: (K1, V1) → list(K2, V2) combine: (K2, lis
閱讀全文
posted @ 2017-07-12 16:33
_1900
閱讀(323)
推薦(0)
摘要:
YARN是開源項目Hadoop的一個資源管理系統,最初設計是為了解決Hadoop中MapReduce計算框架中的資源管理問題,但是現在它已經是一個更加通用的資源管理系統,可以把MapReduce計算框架作為一個應用程序運行在YARN系統之上,通過YARN來管理資源。如果你的應用程序也需要借助YARN
閱讀全文
posted @ 2017-07-12 11:31
_1900
閱讀(800)
推薦(0)
摘要:
Hadoop - YARN 舊的MapReduce架構 JobTracker: 負責資源管理,跟蹤資源消耗和可用性,作業生命周期管理(調度作業任務,跟蹤進度,為任務提供容錯) TaskTracker: 加載或關閉任務,定時報告認為狀態 此架構會有以下問題: 總的來說就是單點問題和資源利用率問題 YA
閱讀全文
posted @ 2017-07-12 11:05
_1900
閱讀(493)
推薦(0)
摘要:
HDFS - 寫文件 1.客戶端將文件寫入本地磁盤的N#x4E34;時文件中 2.當臨時文件大小達到一個block大小時,HDFS client通知NameNode,申請寫入文件 3.NameNode在HDFS的文件系統中創建一個文件,并把該block id和要寫入的DataNode的列表返回給客戶
閱讀全文
posted @ 2017-07-11 10:34
_1900
閱讀(300)
推薦(0)
摘要:
看過太多tcp相關文章,但是看完總是不過癮,似懂非懂,反復考慮過后,我覺得是那些文章太過理論,看起來沒有體感,所以吸收不了。 希望這篇文章能做到言簡意賅,幫助大家透過案例來理解原理。 tcp的特點 這個大家基本都能說幾句,面試的時候候選人也肯定會告訴你這些: 三次握手 四次揮手 可靠連接 丟包重傳
閱讀全文
posted @ 2017-07-03 11:25
_1900
閱讀(1073)
推薦(0)
摘要:
CAP 定理 CAP 定理(也稱為 Brewer 定理),是由計算機科學家 Eric Brewer 提出的,即在分布式計算機系統不可能同時提供以下全部三個保證: 一致性(Consistency):所有節點同一時間看到是相同的數據; 可用性(Availability):不管是否成功,確保每一個請求都能
閱讀全文
posted @ 2017-07-03 10:35
_1900
閱讀(3206)
推薦(0)
摘要:
直接使用zk的api實現業務功能比較繁瑣。因為要處理session loss,session expire等異常,在發生這些異常后進行重連。又因為ZK的watcher是一次性的,如果要基于wather實現發布/訂閱模式,還要自己包裝一下,將一次性訂閱包裝成持久訂閱。另外如果要使用抽象級別更高的功能,
閱讀全文
posted @ 2017-06-30 11:12
_1900
閱讀(1917)
推薦(0)
摘要:
1.1 背景知識 由于歷史原因,在創建一個具有雙向通信機制的 web 應用程序時,需要利用到 HTTP 輪詢的方式。圍繞輪詢產生了 “短輪詢” 和 “長輪詢”。 短輪詢 瀏覽器賦予了腳本網絡通信的編程接口 XMLHttpRequest,以及定時器接口 setTimeout。因此,客戶端腳本可以每隔一
閱讀全文
posted @ 2017-06-29 17:35
_1900
閱讀(3569)
推薦(0)
摘要:
對于Thrift服務化的改造,主要是客戶端,可以從如下幾個方面進行: 1.服務端的服務注冊,客戶端自動發現,無需手工修改配置,這里我們使用zookeeper,但由于zookeeper本身提供的客戶端使用較為復雜,因此采用curator-recipes工具類進行處理服務的注冊與發現。 2.客戶端使用連
閱讀全文
posted @ 2017-06-16 11:12
_1900
閱讀(2881)
推薦(1)
摘要:
Thrift是一個跨語言的服務部署框架,最初由Facebook于2007年開發,2008年進入Apache開源項目。Thrift通過一個中間語言(IDL, 接口定義語言)來定義RPC的接口和數據類型,然后通過一個編譯器生成不同語言的代碼(目前支持C++,Java, Python, PHP, Ruby
閱讀全文
posted @ 2017-06-15 15:14
_1900
閱讀(6693)
推薦(0)
摘要:
redis info 參數 詳解 info 以一種易于解釋且易于閱讀的格式,返回關于redis服務器的各種信息和統計數值 命令如下:(默認不需要all , 我習慣加 all ,你可以去掉all 對吧一下) redis-cli -h x.x.x.x -p xxxx info all all : 返回所
閱讀全文
posted @ 2017-06-05 12:01
_1900
閱讀(1553)
推薦(0)