原创 dubbo-remoting分析~沒完待續

Endpoint Channel,Client,Server都會繼承Endpoint: com.alibaba.dubbo.remoting.Channel com.alibaba.dubbo.remoting.Client

原创 jdk8:jhat虛擬機堆棧轉存快照分析工具

用法 jhat -h Usage: jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version]

原创 linux 免登錄以及配置別名登錄

免登陸 ​ A機:自己的電腦 B機:需要遠程登錄的客戶端或服務器 ​ 這裏即A機想通過ssh免密碼登錄到B機。 ​ ssh 無密碼登錄需要使用到公鑰和私鑰。一般是在A機上生成公鑰/私鑰對,然後將公鑰添加到B機中。 首先需要在A機下生成公

原创 jdk8:垃圾回收算法

GC需要完成三件事:1,哪些內存需要回收?2:什麼時候回收?3:如何回收? Java內存運行時區域的各部分,其中程序計數器、虛擬機棧、本地方法棧3個區域隨線程而生,隨線程而滅;棧中的棧幀隨着方法的進入和退出而有條不紊地執行着入棧和出棧操

原创 jdk8:jvm虛擬機內存模型

java內存模型,分爲程序計數器,虛擬機棧,本地方法棧,java堆,java棧。根據受訪的權限不同設置,可以分爲線程共享和線程私有。線程共享指可以允許所有的線程共享訪問的一類內存區域,包括堆內存區,方法區,運行的常量池。 程序計數器(P

原创 git fork後如何更新

git fork後如何保持與源項目的更新: 首先保證本地倉庫的upstream是源項目的URL,若沒有則添加: git remote add upstream URL 然後利用fetch和merge合併upstream的master分支:

原创 java常見面試題整理

ThreadLocal Synchronized實現內存共享,ThreadLocal爲每個線程維護一個本地變量。 採用空間換時間,它用於線程間的數據隔離,爲每一個使用該變量的線程提供一個副本,每個線程都可以獨立地改變自己的副本,而不會和

原创 dubbo-cluster分析

基本元素: Directory Directory繼承node,主要是invocation找到invoker的list。 Class<T> getInterface(); 接口類的type List<Invoker<T>> list

原创 jdk8:jstack

語法 [@82995c215909 ~]$ jstack -h Usage: jstack [-l] (to connect to running process) jstack

原创 jdk8:jstat命令使用

jstat命令可以查看堆內存各部分的使用量,以及加載類的數量。命令的格式如下: jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數] 查看遠端的: [protocol:][//]lvmid[@hostname[:

原创 java 基礎 面試題

1、String、StringBuffer與StringBuilder之間區別 每次操作字符串,String會生成一個新的對象,而StringBuffer不會;StringBuilder是非線程安全的,StringBuffer是線程安全的

原创 mysql和dubbo面試題

索引 什麼時候使用索引: 1. 經常出現在group by,order by和distinc關鍵字後面的字段 2. 經常與其他表進行連接的表,在連接字段上應該建立索引 3. 經常出現在Where子句中的字段 4. 經常出現

原创 分佈式本地緩存的設計

distributed-local-caching: 存在的原因 在軟件開發行業,數據的存儲,一般分爲持久化(mysql,postgresql,elasticsearch,hbase,mongo),分佈式緩存(redis,Memcache

原创 java 高併發面試題

1、線程與進程 進程是一個實體。每一個進程都有它自己的地址空間,一般情況下,包括文本區域(text region)、數據區域(data region)和堆棧(stack region)。文本區域存儲處理器執行的代碼;數據區域存儲變量和進