原创 如何保證分佈式系統中 ID 的唯一性

正文 數據庫自增長序列或字段 最常見的方式。利用數據庫,全數據庫唯一。 優點: 1)簡單,代碼方便,性能可以接受; 2)數字ID天然排序,對分頁或者需要排序的結果很有幫助。 缺點: 1)不同數據庫語法和實現不同,數據庫遷移的時候或多

原创 前後端都分離了,該搞個好用的API管理系統了

爲啥需要API管理系統! 互聯網服務發展至今,作爲開發者陣營的我們,已經用實踐證明了前後端分離開發模式正在逐漸成爲越來越多互聯網公司構建服務和應用的方式。 前後端分離優勢多多,其中一個很重要的優勢是:對於後臺服務(系統)來講,只需提供一套

原创 爲什麼新生代內存需要有兩個Survivor區?

對於常見的GC算法,我們都應該知道,例如:標記清除算法、複製算法、標記整理算法等。標記清除算法由於回收之後存在大量的內存碎片,存在效率和空間問題!爲了解決效率問題,引出了複製算法!熟悉GC算法的小夥伴應該都看過周志明老師的《深入理解Jav

原创 騰訊148道面試題,(程序員必備學習方向)全會拿45Koffer沒問題

相信你可能經歷過這些: 已經工作兩三年了,每個項目都會加班加點全力以赴去完成,薪資增長幅度卻不如人意。 聽說年後離職的老同事,金三剛拿下高薪offer,年薪直奔50萬了。 由於現在的公司接觸不到新技術,對自己的市場競爭力無比焦慮,未來職

原创 漫畫圖文講解:關於進程與線程

進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。最近,我讀到一篇材料,發現有一個很好的類比,可以把它們解釋地清晰易懂。 1. 計算機的核心是CPU,它承擔了所有的計算任務。它就像一座工廠,時

原创 騰訊T4Java專家編匯MySQL數據庫事務的處理藝術

數據庫除了對查詢等操作進行了抽象,另外一個重要的功能就是事務了。爲什麼需要事務呢?因爲我們在操作數據的時候,可能遇到多個線程同時操作數據的問題,也可能遇到突然數據庫故障了的問題,這些都可能造成數據的不一致。所以事務要保證的就是一致性。

原创 Java架構師這麼辛苦,爲什麼大家還趨之若鶩?不談技術,只聊架構

在軟件行業,架構師和軟件工程師是非常辛苦的職業。一方面新技術層出不窮;另一方面業務需求也層出不窮,讓人疲於應付。導致的後果就是常常加班,生活質量低下。只有曾經身在其中的人,才能夠體會其中的酸甜苦辣。 在軟件行業經歷過這麼多年,也看到了軟

原创 如何用JVM、GC調優解決上億用戶產生的千萬QPS壓力?配實戰PPT

面對那些上億用戶,千萬QPS,百萬TPS,以及每天上PB級大數據量處理系統的時候,你是否很膽怯?是否很心虛? 當面試官向你提問JVM的實戰問題時,你是否感覺到無所適從? 想解決生產環境中的GC問題,你是否感覺到狗咬刺蝟,無處下嘴? 面對J

原创 Java,SPring中的最重要的九個骨骼級框架

在java開發當中,充當“骨骼”特性的spring框架結構,首先我們就是需要了解它的基本框架特性。 1. 簡單工廠 又叫做靜態工廠方法(StaticFactory Method)模式,但不屬於23種GOF設計模式之一。 簡單工廠模式的實質

原创 面試官問我爲啥HashMap的負載因子不設置成1?

在Java基礎中,集合類是很關鍵的一塊知識點,也是日常開發的時候經常會用到的。比如List、Map這些在代碼中也是很常見的。 個人認爲,關於HashMap的實現,JDK的工程師其實是做了很多優化的,要說所有的JDK源碼中,哪個類埋的彩蛋最

原创 SpringBoot + Mybatis + Shiro + mysql + redis智能平臺源碼分享

後端技術棧 基於 SpringBoot + Mybatis + Shiro + mysql + redis構建的智慧雲智能教育平臺 基於數據驅動視圖的理念封裝 element-ui,即使沒有 vue 的使用經驗也能快速上手 提供 lamb

原创 面試被問http協議?這篇文章足夠覆蓋所有相關問題

HTTP超文本傳輸協議 http使用面向連接的TCP作爲傳輸層協議。http本身無連接。 請求報文 CRLF是回車換行   方法爲GET的請求報文   方法爲POST的請求報文   方法 OPTIONS:這個方法可使服務器傳回該資源

原创 Java框架級SSM代碼審計思路

1 SSM框架簡介 SSM框架,即SpringMVC+Spring+Mybatis三個開源框架整合在一起的縮寫。 在SSM框架之前生產環境中SSH框架佔據多數,即Struts2+Spring+Hibernate三個開源框架整合而成。後因S

原创 JavaScript 數據結構與算法之美 - 線性表 數組、棧、隊列、鏈表

Java領域佼佼者 2019-08-30 14:03:02   前言 基礎知識就像是一座大樓的地基,它決定了我們的技術高度。 我們應該多掌握一些可移值的技術或者再過十幾年應該都不會過時的技術,數據結構與算法就是其中之一。 棧、隊列、鏈表

原创 千里之堤潰於蟻穴,大家常犯的Spring十大錯誤

1、錯誤一:太過關注底層 我們正在解決這個常見錯誤,是因爲 “非我所創” 綜合症在軟件開發領域很是常見。症狀包括經常重寫一些常見的代碼,很多開發人員都有這種症狀。 雖然理解特定庫的內部結構及其實現,在很大程度上是好的並且很有必要的(也可以