原创 程序員技術面試與HR談薪資技巧的一些經驗心得

作爲“生在紅旗下,長在春風裏”的“四有新人”,筆者從畢業至今,與各路 HR、HRD 鬥智鬥勇,再加上自己的不懈努力,歷盡千辛萬苦終於將畢業時的 1500 每月的薪資提高了二十幾倍。本文就和大家嘮嘮這些年風裏來雨裏去無數次鎩羽而歸、兢兢業業、

原创 如何做可靠的分佈式鎖,Redlock真的可行麼

小編認爲現在 Redis 逐漸被使用到數據管理領域,這個領域需要更強的數據一致性和耐久性,這使得他感到擔心,因爲這不是 Redis 最初設計的初衷(事實上這也是很多業界程序員的誤區,越來越把 Redis 當成數據庫在使用),其中基於 Red

原创 一篇文章幫你徹底搞清楚“I/O多路複用”和“異步I/O”的前世今生

在網絡的初期,網民很少,服務器完全無壓力,那時的技術也沒有現在先進,通常用一個線程來全程跟蹤處理一個請求。因爲這樣最簡單。其實代碼實現大家都知道,就是服務器上有個ServerSocket在某個端口監聽,接收到客戶端的連接後,會創建一個Soc

原创 架構師們是如何解決分佈式架構系統,帶你設計一個完美的分佈式系統。

1. 分佈式系統相關概念1.1 模型1.1.1 節點節點是一個可以獨立按照分佈式協議完成一組邏輯的程序個體,工程中往往指進程。1.1.2 通信節點之間完全獨立互相隔離,通信唯一方式是通過不可靠的網絡。1.1.3 存儲節點可以通過將數據寫入與

原创 在Java的反射中,Class.forName和ClassLoader的區別

前言最近在面試過程中有被問到,在Java反射中Class.forName()加載類和使用ClassLoader加載類的區別。當時沒有想出來後來自己研究了一下就寫下來記錄一下。解釋在java中Class.forName()和ClassLoad

原创 深入淺出分析MySQL索引設計背後的數據結構

在我們公司的DB規範中,明確規定:1、建表語句必須明確指定主鍵 2、無特殊情況,主鍵必須單調遞增對於這項規定,很多研發小夥伴不理解。本文就來深入簡出地分析MySQL索引設計背後的數據結構和算法,從而可以幫你釋疑如下問題:1、爲什麼innod

原创 大話微服務」深入聊聊SpringCloud之客戶端負載均衡機制

1)服務指的就是運行的節點(IP+Port)信息。2)節點在啓動時會將自身的信息註冊到註冊中心。3)ServiceId是對節點運行的工程的標識。4)InstanceId是對運行的節點的標識。通過一個例子來捋一捋:假設有一個和用戶管理相關的工

原创 面試官:你是如何使用JDK來實現自己的緩存(支持高併發)?

需求分析項目中經常會遇到這種場景:一份數據需要在多處共享,有些數據還有時效性,過期自動失效。比如手機驗證碼,發送之後需要緩存起來,然後處於安全性考慮,一般還要設置有效期,到期自動失效。我們怎麼實現這樣的功能呢?解決方案使用現有的緩存技術框架

原创 全面深入介紹併發編程的底層原理、內存模型、線程池

前言所謂併發編程是指在一臺處理器上“同時”處理多個任務。併發是在同一實體上的多個事件,多個事件在同一時間間隔發生,併發編程的目標是充分的利用處理器的每一個核,以達到最高的處理性能。目錄1:介紹Java併發編程的挑戰,向讀者說明進入併發編程的

原创 程序員都是吃青春飯的?32歲程序員面試直接被面試官送走,心衰!

在某職場社交平臺上看到一個帖子,樓主表示:面試了一個32歲的大齡程序員,自己給Leader的建議是T4,結果Leader說那就直接送走吧……該帖一出現,就引起了網友的熱烈討論:32歲就是大齡了,啥時候程序員也變成吃青春飯的了?但對此,BAT

原创 幾種簡單的負載均衡算法及其Java代碼實現

什麼是負載均衡負載均衡,英文名稱爲Load Balance,指由多臺服務器以對稱的方式組成一個服務器集合,每臺服務器都具有等價的地位,都可以單獨對外提供服務而無須其他服務器的輔助。通過某種負載分擔技術,將外部發送來的請求均勻分配到對稱結構中

原创 非科班出身的“他”奮鬥了六年成爲阿里資深架構師,現年薪百萬!

農村出身,當過保安、進過工廠,大專生文憑的他,如何憑藉自己的努力在畢業6年做到年薪百萬呢?作爲芸芸碼農中普通的一員,他是如何一步步逆襲入BAT拿高薪的因爲對軟件開發感興趣,所以找工作的時候就一直投IT行業的職位。剛踏入這個行業時,以爲突擊一

原创 在阿里架構師眼中構建一個較爲通用的業務技術架構就是如此簡單

1、通用架構概述創業之初,我們往往會爲了快速迭代出產品,而選擇最簡單的技術架構,比如LAMP架構,SSH三層架構。這些架構可以適應初期業務的快速發展,但是,隨着業務變得越來越複雜,我們會發現這些架構越來越難支撐業務的發展,出現在一個類中寫好

原创 對JVM還有什麼不懂的?一文章帶你深入淺出JVM!

本文跟大家聊聊JVM的內部結構,從組件中的多線程處理,JVM系統線程,局部變量數組等方面進行解析JVMJVM = 類加載器(classloader) + 執行引擎(execution engine) + 運行時數據區域(runtime da

原创 聊聊Spring家族中的那幾百個註解

本文我們來梳理一下Spring的那些註解,如下圖所示,大概從幾方面列出了Spring的一些註解:如果此圖看不清楚也沒事,請運行下面的代碼輸出所有的結果。Spring目前的趨勢是使用註解結合Java代碼而不是配置來定義行爲、屬性、功能、規則和