原创 互聯網架構實踐心得:業務代碼究竟難不難寫?(送敬業福)

最近我一直在思考幾個問題:業務代碼究竟難不難寫?一直開發業務代碼是不是完全學不到東西?5年+開發經驗的老程序員的價值在哪裏?如何通過面試來區分業務代碼開發的水平?其實,這幾個問題或多或少是相互關聯的。有的時候大家也會自嘲說,“程序員接手的代

原创 JAVA四種遍歷Map的方法

import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; /** Created by song on 2

原创 瞭解一下Spring中用了哪些設計模式?這樣回答面試官才穩

一:簡單工廠模式又叫做靜態工廠方法(StaticFactory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類。spring中的BeanFactory就是簡

原创 【碼渣充電】《Nginx核心知識》反向代理與負載均衡原理

 | 反向代理與負載均衡原理第四部分中介紹反向代理與負載均衡,分爲兩大塊,先介紹http 7層的反向代理,再介紹stream模塊提供的4層負載均衡。在介紹反向代理的過程中,還會按照一種順序,一個請求達到nginx,轉發到上游服務,在發到客戶

原创 程序員‘故事會’,詳解負載均衡技術的實現:從tomcat到Nginx

摘要: 什麼是負載均衡? 通俗一點講,就是在高併發、大數據環境下給服務器減壓的技術。負載均衡是任何一個有一定規模的互聯網企業都會考慮的問題,負載方式很多,有依靠硬件實現的,也有依靠軟件實現負載的。 今天來聊聊使用軟件來負載的方式。什麼是負載

原创 Java併發編程:4種線程池和緩衝隊列BlockingQueue

一. 線程池簡介1. 線程池的概念:          線程池就是首先創建一些線程,它們的集合稱爲線程池。使用線程池可以很好地提高性能,線程池在系統啓動時即創建大量空閒的線程,程序將一個任務傳給線程池,線程池就會啓動一條線程來執行這個任務,

原创 金牌架構師圖解java併發(上)

爲什麼要“併發”?既然聊併發,我們首先會思考爲什麼要引入這個技術。通常寫程序,我們習慣用單線程串行的思維理解程序運行,並寫業務邏輯。這樣可以減少複雜度,也便於測試,往往當需要性能提升,我們纔會想到使用併發。那麼這個技術到底能夠給我們帶來什麼

原创 無限容量數據庫架構設計

花了不少時間,把自己曾經做過的系統,曾經遇到到的問題,曾經實踐過的架構方案,梳理總結和沉澱,儘量“系統的”記錄成文字,和大家一起討論。本文是不同業務場景下,體系化的介紹“數據庫水平切分”技術,和大家分享。一、總起內容:單庫體系架構數據庫分組

原创 千萬級規模【高性能、高併發】互聯網架構經驗分羹

架構以及我理解中架構的本質在開始談我對架構本質的理解之前,先談談對今天技術沙龍主題的個人見解,千萬級規模的網站感覺數量級是非常大的,對這個數量級我們戰略上 要重 視 它 , 戰術上又 要 藐 視 它。先舉個例子感受一下千萬級到底是什麼數量級

原创 深入理解java:線程本地變量 java.lang.ThreadLocal類

hreadLocal,很多人都叫它做線程本地變量,也有些地方叫做線程本地存儲,其實意思差不多。可能很多朋友都知道ThreadLocal爲變量在每個線程中都創建了一個副本,那樣每個線程可以訪問自己內部的副本變量。這句話從表面上看起來理解正確,

原创 十年JAVA架構師傅帶徒進階模式——架構進階

一個程序員技術的高低,不是掌握了多少的框架,做過多少項目;而是掌握了多少原理,把握了多少精髓。要知道萬變不離其宗的道理。架構班作業內容:作業一:寫一個Mvc框架作業二:寫一個apache服務器作業三:將Mvc框架實現annocation註解

原创 老師,Spring 是怎麼解決循環依賴的?

前言你可能會有如下問題:1、想看Spring源碼,但是不知道應當如何入手去看,對整個Bean的流程沒有概念,碰到相關問題也沒有頭緒如何下手2、看過幾遍源碼,沒辦法徹底理解,沒什麼感覺,沒過一陣子又忘了本文將結合實際問題,由問題引出源碼,並在

原创 Java碼農如何做到奮鬥五年抵達年薪100萬成爲頂級架構師?

最近有不少朋友問我怎樣才能成爲年薪百萬的架構師,我聽到他這樣問,首先想到的是什麼樣的人纔可以稱之爲架構師,然後我給他總結了他需要攻克的3個難點:1.接觸不到一線實戰架構設計,尤其是有一定的技術深度和難度架構設計。2.不瞭解核心技術點所處的具

原创 分享我這8年,是如何一步一步走向架構師的

摘要:心血經驗分享,架構師更多的是一個不斷學習,不斷積累的過程,希望可以幫到同行業的朋友們前言成爲優秀的架構師是大部分初中級工程師的階段性目標。優秀的架構師往往具備七種核心能力:編程能力、調試能力、編譯部署能力、性能優化能力、業務架構能力、

原创 彙總BATJ等各大公司高質量20道Java面試題

彙總各大公司高質量的面試題,大家發一下自己遇到的經典面試題吧。so many people open question why not you!1:京東面試題 – 有一個生成唯一串的需求,併發請求量非常大,該如何實現?2:京東面試題-100