原创 到底什麼是分佈式系統?

微服務倡導將複雜的單體應用拆分爲若干個功能簡單、鬆耦合的服務,這樣可以降低開發難度、增強擴展性、便於敏捷開發。當前被越來越多的開發者推崇,系統微服務化後,一個看似簡單的功能,內部可能需要調用多個服務並操作多個數據庫實現,服務調用的分佈式事務

原创 一線互聯網技術:Java工程師架構知識系統化彙總,面完45K!

根據高端招聘平臺100 offer發佈的Java人才盤點報告,在過去的2018年,Java仍然是最流行、招聘供需量最大的技術語言。在此基礎上,互聯網行業針對 Java 開發的招聘需求,也是近年技術類崗位供需量最大,且變化最穩定的。企業對 J

原创 大牛教你如何制定 Java 性能調優標準?

想讓你的程序更快更穩,但是系統經常出各種 bug,無從下手?Java 性能調優全攻略來啦!我有一個朋友,有一次他跟我說,他們公司的系統從來沒有經過性能調優,功能測試完成後就上線了,線上也沒有出現過什麼性能問題呀,那爲什麼很多系統都要去做性能

原创 想要去阿里面試?你必須得跨過 JVM 這道坎!

概述很多人想要到阿里巴巴、美團、京東等互聯網大公司去面試,但是現在互聯網大廠面試一般都必定會考覈JVM相關的知識積累和實踐經驗,畢竟線上系統寫好代碼部署之後,每個工程師都必須關注JVM相關的東西,比如OOM、GC等問題.所以一起來看看JVM

原创 史上最全 Redis 高可用解決方案總結

本文主要針對 Redis 常見的幾種使用方式及其優缺點展開分析。一、常見使用方式Redis 的幾種常見使用方式包括:1.Redis 單副本;2.Redis 多副本(主從);3.Redis Sentinel(哨兵);4.Redis Clust

原创 BAT面試必問HashMap源碼分析

HashMap 簡介HashMap 主要用來存放鍵值對,它基於哈希表的Map接口實現,是常用的Java集合之一。JDK1.8 之前 HashMap 由 數組+鏈表 組成的,數組是 HashMap 的主體,鏈表則是主要爲了解決哈希衝突而存在的

原创 BAT經典面試題,深入理解Java內存模型JMM

Java 內存模型Java 內存模型(JMM)是一種抽象的概念,並不真實存在,它描述了一組規則或規範,通過這組規範定義了程序中各個變量(包括實例字段、靜態字段和構成數組對象的元素)的訪問方式。試圖屏蔽各種硬件和操作系統的內存訪問差異,以實現

原创 面試互聯網大廠必問的22道spring Boot面試題

問題一什麼是Spring Boot?多年來,隨着新功能的增加,spring變得越來越複雜。只需訪問https://spring.io/projects頁面,我們就會看到可以在我們的應用程序中使用的所有Spring項目的不同功能。如果必須啓動

原创 Java併發面試,幸虧有點道行,不然又被忽悠了

前言面試Java,必然要被問Java內存模型和Java併發開發。我被問到的時候,心裏慌得一批,“額,是在《Thinking in Java》裏面寫的嗎?果然每天增刪改太low了”要了解這些圖嗎?我希望能解釋的再簡單一些,以上都不用Java

原创 “三次握手,四次揮手”你真的懂嗎?

記得剛畢業找工作面試的時候,經常會被問到:你知道“3次握手,4次揮手”嗎?這時候我會“胸有成竹”地“背誦”前期準備好的“答案”,第一次怎麼怎麼,第二次……答完就沒有下文了,面試官貌似也沒有深入下去的意思,深入下去我也不懂,皆大歡喜!作爲程序

原创 阿里一道Java併發面試題 (詳細分析篇)

題目我個人一直認爲:網絡、併發相關的知識,相對其他一些編程知識點更難一些,主要是不好調試並且涉及內容太多 !所以今天就取一篇併發相關的內容分享下,我相信大家認真看完會有收穫的。大家可以先看看這個問題,看看這個是否有問題呢? 那裏有問題呢?如

原创 吃透這套BAT大廠Java面試題,拿offer成功率再翻一番

一、面向對象和麪向過程的區別面向過程優點 : 性能比面向對象高,因爲類調用時需要實例化,開銷比較大,比較消耗資源;比如單片機、嵌入式開發、Linux/Unix 等一般採用面向過程開發,性能是最重要的因素。缺點 : 沒有面向對象易維護、易複用

原创 Spring Cloud與Dubbo共存方案總結

一、背景假設有一個遺留的Dubbo系統,現在想改用Spring Cloud。由於遺留Dubbo系統比較龐大,短期之內無法完成技術棧的遷移。因此需要“分步走”,即:初期實現兩者共存,後期逐步絞殺Dubbo應用,最終實現技術棧的統一。p.s.

原创 80後程序員降薪6K,預感中年危機來襲,準備跳槽卻碰壁

一提及程序員,很多人想到的都是“工資高”“技術好”諸如此類的,可見程序員是個非常賺錢的職業,所以每年都會有很多畢業生來選擇這個行業。但是社會是公平的,不要只看程序員表面上的光鮮亮麗,其背後也有很多的約束條件,天天加班不說,職業的中年危機讓很

原创 什麼是 DevSecOps ?

DevOps 不僅僅是開發和運營團隊。如果您想要充分發揮出 DevOps 方法的敏捷性和響應力,則必須在應用的整個生命週期內同時兼顧 IT 安全性 。爲什麼?以往,安全性會在開發的最後階段由特定的團隊來負責實現。當開發週期長達數月、甚至數年