原创 騰訊大戰老乾媽,到底是誰輸了呢?我笑瘋了! 騰訊被騙了?#話題

Sayings: 今天是2020下半年的第一天,我本來是要寫上半年吐槽的。 現在我準備先放一放,先來寫這個。 太牛逼了, 宛如百度弱智吧的新聞。 騰訊和老乾媽昨天中午開始大戰,大戰了兩天不到,騰訊就敗了。這一敗不要緊,簡直爲在網上衝浪的大

原创 Lambda初次使用很慢?從JIT到類加載再到實現原理

問題回顧 描述的話不多說,直接上圖: 看到輸出結果了嗎?爲什麼第一次和第二次的時間相差如此之多?咱們一起琢磨琢磨,也可以先去看看結論再回過頭看分析 注:並非僅第二次快,而是除了第一次,之後的每一次都很快 給與猜想 是否和操作系統預熱

原创 2020年排名前20的基於SpringBoot搭建的開源項目,幫你快速進行項目搭建!

SpringBoot一直是開發者比較青睞的一款輕量級框架,他不僅繼承了Spring框架原有的優秀特性,而且還通過簡化配置來進一步簡化了Spring應用的整個搭建和開發過程。 現在很多Java系的軟件開發都是基於SpringBoot的,這就要

原创 爲什麼美國程序員不用加班,而中國程序員就只能996?

按慣例,先問是不是,再問爲什麼。 從知乎回答瀏覽量看,是的。 那麼爲什麼美國程序員就可以到點下班回家,而中國程序員就要每天“主動”、“無償”加班呢? 仔細看了羣衆們熱情的回答之後,大概可以分爲幾派: 1、產品經理不夠通情達理,導致效率低下

原创 高併發系統下,常見的幾種緩存失效問題及解決方案 緩存穿透 緩存雪崩 緩存擊穿

緩存穿透 介紹:當查詢一個不存在的數據,此時緩存是不命中的,就會去查詢 db,這將導致每次查詢這個不存在的數據都要去訪問 db,緩存就沒有意義了。 如果不懷好意的人利用不存在的數據進行攻擊,可能導致數據庫崩潰 解決: 查詢到的不存在的數據

原创 【已開源】某乎獲贊5K+的面試總結,螞蟻高級工程師的技術筆記,共12W字

疫情結束之後,招聘市場回暖,大規模的扎堆現象必然會增加面試的門檻,競爭會更加激烈,你不努力,別人就會超過你,你就會被淘汰! 這段時期好好修煉內功,纔是你最應該做的事,爲了幫助大家更好地學習,我特意準備了一份大禮,免費送給大家。 2020年最

原创 微服務架構帶來的分佈式單體,更好還是更壞,一念之間 前言 一、好的微服務架構 二、分佈式單體架構 三、解決思路

前言 微服務架構其實是爲了服務可以獨立的開發、獨立的部署,快速迭代,並且技術多樣性。 然而我們經常在開發微服務的時候沒有弄清楚微服務的邊界,導致了一個更大的坑,由單體架構拆分成了微服務單體架構,帶來了更大的災難:開發單體的痛苦一個都沒少,

原创 五分鐘看穿Java併發相關概念,併發原來如此簡單

本文主要對Java併發(Concurrent)相關的概念進行說明。 1.進程(Process)與線程(Thread) 進程是系統資源分配的最小單元。線程是CPU調度的最小單元。 一個 進程至少包含一個線程,可以包含多個線程。這些線程共享這

原创 併發編程靈魂J.U.C:Lock包之ReentrantLock互斥鎖詳解

在如何解決原子性問題的最後,我們賣了個關子,互斥鎖不僅僅只有synchronized關鍵字,還可以用什麼來實現呢?J.U.C包中還提供了一個叫做Locks的包,我好歹英語過了四級,聽名字我就能馬上大聲的說:Locks包必然也可以用作互斥!

原创 面試大廠一定離不開的——ThreadLocal,它的實現原理你知道嗎?

使用場景 假設我們有一個數據庫連接管理類: class ConnectionManager { private static Connection connect = null; private static String

原创 談談性能優化:Mysql 的字符集以及帶來的一點存儲影響

前言 從 Mysql 數據庫角度來說,談到存儲就一定離不開字符集,只不過在我們日常開發中統一的 utf8/utf8mb4 編碼,使我們常常忽略了字符集的影響,本文僅從字符集的角度來談談對 InnoDB 的存儲設計的一點影響,以及 Mysql

原创 備戰金三銀四,面試必問的性能優化你準備好了嗎?(Java性能優化大全)

經歷了這麼長時間的等待,年後求職者的競爭應該還是不小的,而且不乏很多應屆生或者工作經驗兩三年的職場新人。我身邊其實很多93後到95後的年輕小夥伴,就像大家調侃的那樣,在Java後端開發的圈子裏面,初入新人基本上都是CRUD、業務密集型爲導向

原创 Tomcat是如何運行的?整體架構又是怎樣的?

在許多的高端開發的崗位中都會或多或少有要求面試人員要研究過一些常用中間件源碼。這是因爲一切的祕密都是藏在源碼中,閱讀源碼能夠讓我們對框架或者中間件的理解更加深刻,而我們也能夠在源碼的研究中獲得其中一些優秀的設計方式。而我們的中間件和源碼那麼

原创 猴子都能懂的數據庫避坑指南,還說你不會?

前言 工作的這些年發現一個比較奇怪的現象就是身邊無論是工作十多年的老兵,還是初級剛入行的程序員,在高談闊論技術和趨勢的時候都是人工智能,大數據,區塊鏈,各種框架,語言,算法,AI,BI,CI,DI…… 等等,倒是發現很少有人關注數據庫,不知

原创 這些問題不會?你對MyBatis一無所知!

隨着大數據時代的到來,Java持久層框架MyBatis巳經成爲越來越多企業的選擇。遺憾的是,時至今日國內依然沒有一本討論MyBatis的書,這增加了初學者的學習難度,初學者往往只能基於零星的案例來學習MyBatis,無法系統地掌握MyBat