原创 記一次接口性能優化實踐總結:優化接口性能的八個建議

前言最近對外接口偶現504超時問題,原因是代碼執行時間過長,超過nginx配置的15秒,然後真槍實彈搞了一次接口性能優化。在這裏結合優化過程,總結了接口優化的八個要點,希望對大家有幫助呀~數據量比較大,批量操作數據入庫耗時操作考慮異步處理恰

原创 由一次安全掃描引發的思考:如何保障 api 接口的安全性?

引言前段時間,公司對運行的系統進行了一次安全掃描,使用的工具是 IBM 公司提供的 AppScan 。這個正所謂不掃不要緊,一掃嚇一跳,結果就掃出來這麼個問題。我們的一個年老失修的內部系統,在登錄的時候,被掃描出來安全隱患,具體學名是啥記不

原创 面試官:線程池裏面到底該設置多少個線程?

一、拋出問題關於如何計算併發線程數,一般分兩派,來自兩本書,且都是好書,到底哪個是對的?問題追蹤後,整理如下:第一派:《Java Concurrency in Practice》即《java併發編程實踐》,如下圖:如上圖,在《Java Co

原创 一手好 SQL 是如何煉成的?不用七七四十九天!

目錄MySQL性能最大數據量最大併發數查詢耗時0.5秒實施原則數據表設計數據類型避免空值text類型索引優化索引分類優化原則SQL優化分批處理不做列運算避免Select *操作符<>優化OR優化IN優化LIKE優化JOIN優化LIMIT優化

原创 一手好 SQL 是如何煉成的?不用七七四十九天!

目錄MySQL性能最大數據量最大併發數查詢耗時0.5秒實施原則數據表設計數據類型避免空值text類型索引優化索引分類優化原則SQL優化分批處理不做列運算避免Select *操作符<>優化OR優化IN優化LIKE優化JOIN優化LIMIT優化

原创 牛皮了,頭一次見有大佬把TCP三次握手四次揮手解釋的這麼明白

計算機網絡體系結構在計算機網絡的基本概念中,分層次的體系結構是最基本的。計算機網絡體系結構的抽象概念較多,在學習時要多思考。這些概念對後面的學習很有幫助。網絡協議是什麼?在計算機網絡要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則,

原创 布隆過濾器究竟是什麼,這一篇給講的明明白白的

不知道從什麼時候開始,本來默默無聞的布隆過濾器一下子名聲大燥,在面試中面試官問到怎麼避免緩存穿透,你的第一反應可能就是布隆過濾器,緩存穿透=布隆過濾器成了標配,但具體什麼是布隆過濾器,怎麼使用布隆過濾器不是很清楚,那今天我們就來把它說清楚,

原创 你敢信?清華大牛用一個坦克項目就把23種設計模式給抽絲剝繭了

坦克大戰項目坦克大戰項目通過一個聯機對戰遊戲的手把手,一行一行的開發過程,讓你精準的理解和運用JavaSE,DesignPatterns , TCP/IP, 多線程, NIO等基礎知識。真正理解項目的開發過程,並體會項目開發的難點和痛點。

原创 阿里巴巴高併發架構到底多牛逼?是如何抗住淘寶雙11億級併發量?

前言衆所周知,在Java的知識體系中,併發編程是非常重要的一環,也是面試的必問題,一個好的Java程序員是必須對併發編程這塊有所瞭解的。然而不論是哪個國家,什麼背景的 Java 開發者,都對自己寫的併發程序相當自信,但也會在出問題時表現得很

原创 太難了!面試官讓我結合案例講講自己對Spring事務傳播行爲的理解

前言Spring 在 TransactionDefinition 接口中規定了 7 種類型的事務傳播行爲。事務傳播行爲是 Spring 框架獨有的事務增強特性,他不屬於的事務實際提供方數據庫行爲。這是 Spring 爲我們提供的強大的工具箱

原创 你連存活到JDK8中著名的Bug都不知道,我怎麼敢給你加薪?

在CopyOnWriteArrayList 和ArrayList 的構造函數中:6260652 這個編號代表JDK bug庫中的編號http://bugs.java.com/bugdatabase/view_bug.do?bug_id=62

原创 重磅!分佈式數據庫解決方案Apache ShardingSphere成爲頂級項目

全球最大的開源軟件基金會 Apache 軟件基金會(以下簡稱 Apache)於北京時間 2020年4 月 15 日宣佈 Apache ShardingSphere畢業成爲 Apache 頂級項目。ShardingSphere於2018年11

原创 JD架構師告訴你億級流量架構高性能、高可用、高擴展如何搭建的?

你們知道淘寶,京東這些購物商場嗎?他們到了雙11,雙12爲什麼能支持全國14億人口同時購物下單呢,因爲他們的程序做到了高併發、高性能、高可用。那麼你對程序員的三高了解多少呢?高併發指標有哪些?響應時間:系統對進來的請求反應的時間,比如你打開

原创 硬核!史上最全的延遲任務實現方式彙總!附代碼(強烈推薦)

延遲任務要怎麼實現?話不多說,直接進入今天的主題,本文的主要內容如下圖所示:什麼是延遲任務?顧明思議,我們把需要延遲執行的任務叫做延遲任務。延遲任務的使用場景有以下這些:紅包 24 小時未被查收,需要延遲執退還業務;每個月賬單日,需要給用戶

原创 一文帶你玩轉分佈式鎖

大多數互聯網系統都是分佈式部署的,分佈式部署確實能帶來性能和效率上的提升,但爲此,我們就需要多解決一個分佈式環境下,數據一致性的問題。當某個資源在多系統之間,具有共享性的時候,爲了保證大家訪問這個資源數據是一致的,那麼就必須要求在同一時刻只