原创 再不懂ZooKeeper,就安安心心把這篇文章看完

我本人曾經使用過 ZooKeeper 作爲 Dubbo 的註冊中心,另外在搭建 Solr 集羣的時候,我使用到了 ZooKeeper 作爲 Solr 集羣的管理工具。 前幾天,總結項目經驗的時候,我突然問自己 ZooKeeper 到底是

原创 想成爲Java架構師?先學會如何畫好架構圖吧!

技術傳播的價值,不僅僅體現在通過商業化產品和開源項目來縮短我們構建應用的路徑,加速業務的上線速率,也體現在優秀工程師在工作效率提升、產品性能優化和用戶體驗改善等經驗方面的分享,以提高我們的專業能力。 當我們想用一張或幾張圖來描述我們

原创 重構:高手的姿勢你學不會

軟件開發是一門工程技術,其中任何一個技術或技能如果孤立地看都會是管中窺豹,只見一斑。任何一個作者在寫書時都有一些前提和細節,然而經常是要不作者沒說清楚,要不讀者直奔主題而忽略了這些前提和細節,結果是東施效顰,適得其反,照貓畫虎不成反類犬。

原创 騰訊大牛教你如何使用Java實現二叉樹的添加,刪除,獲取以及遍歷

一段來自百度百科的對二叉樹的解釋: 在計算機科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用於實現二叉查找樹和二叉堆。 一棵深度爲

原创 源碼泄露到底是裁員報復,還是程序員反抗 996?

“後院”都要失守了,就先別饞大碗寬面了——B 站,你可長點兒心吧! “你的源代碼泄露了,還擱這兒吃麪?” 2019 年 4 月 22 日,B 站(bilibili 彈幕網)官方微博賬號內一片風平浪靜歲月靜好,照常發着安利視頻。蹭着吳亦凡

原创 這樣做源碼肯定不能被泄露,但你會瘋...

今天吃個瓜。 昨天下午B站源碼竟然被惡意開源,想必很多讀者都已吃過。就不在贅述了。不少網友吐槽官方對項目代碼安全方面管理不到位也是造成泄露的主要原因。今天就說說關於代碼安全方面的事情,真的是企業不夠重視項目代碼安全或管理不到位嗎? 算上

原创 微服務探索與實踐—服務註冊與發現

前言 微服務從大規模使用到現在已經有很多年了,從之前的探索到一步步的不斷完善與成熟,微服務已經成爲衆多架構選擇中所必須面對的一個選項。服務註冊與發現是相輔相成的,所以一般會合起來思索。其依託組件有很多,比如Zookeeper,Consul

原创 JVM 與 Linux 的內存關係詳解

在一些物理內存爲8g的服務器上,主要運行一個Java服務,系統內存分配如下:Java服務的JVM堆大小設置爲6g,一個監控進程佔用大約 600m,Linux自身使用大約800m。 從表面上,物理內存應該是足夠使用的;但實際運行的情況是,

原创 講一些你所不知道的Java動態代理

簡介 Proxy 是設計模式中的一種。當需要在已存在的 class 上添加或修改功能時,可以通過創建 proxy object 來實現 通常 proxy object 和被代理對象擁有相同的方法,並且擁有被代理對象的引用,可以調用其方法

原创 講一些你所不知道的Java動態代理

簡介 Proxy 是設計模式中的一種。當需要在已存在的 class 上添加或修改功能時,可以通過創建 proxy object 來實現 通常 proxy object 和被代理對象擁有相同的方法,並且擁有被代理對象的引用,可以調用其方法

原创 深入學習Java序列化

前言 對於Java的序列化,一直只知道只需要實現Serializbale這個接口就可以了,具體內部實現一直不是很瞭解,正好這次在重複造RPC的輪子的時候涉及到序列化問題,就抽時間看了下 Java序列化的底層實現,這篇文章算是這次的學習小結

原创 詳解SpringBoot——啓動原理及自定義starter

一、引言 SpringBoot的一大優勢就是Starter,由於SpringBoot有很多開箱即用的Starter依賴,使得我們開發變得簡單,我們不需要過多的關注框架的配置。 在日常開發中,我們也會自定義一些Starter,特別是現在微服

原创 對於MySQL你必須要了解的鎖知識

一、前言 MySQL 的鎖按照範圍可以分爲全局鎖、表鎖、行鎖,其中行鎖是由數據庫引擎實現的,並不是所有的引擎都提供行鎖,MyISAM 就不支持行鎖,所以文章介紹行鎖會以InnoDB引擎爲例來介紹行鎖。 二、全局鎖 MySQL 提供全局鎖來

原创 阿里架構師手寫Tomcat——Session源碼解析

在 web 開發中,我們經常會用到 Session 來保存會話信息,包括用戶信息、權限信息,等等。在這篇文章中,我們將分析 tomcat 容器是如何創建 session、銷燬 session,又是如何對 HttpSessionListen

原创 哪有什麼中年危機,不過是把定目標當成了有計劃

一、計劃比總結更具有建設性 個人以爲,計劃其實比總結更具有建設性。 計劃是主動的,總結是被動的。計劃首先意味著你有目標,有了目標,纔會有決心和動力。人們常常講求方法與效率的重要性,固然不錯,但在方法之前,是方向。 “對於盲目航行的帆船,什