原创 SpringBoot微信點餐開源系統

架構 前後端分離: 部署架構: Nginx與Tomcat的關係在這篇文章,幾分鐘可以快速瞭解: https://www.jianshu.com/p/22dcb7ef9172 補充: setting.xml 文件的作用:sett

原创 圖解Java垃圾回收機制

什麼是自動垃圾回收? 自動垃圾回收是一種在堆內存中找出哪些對象在被使用,還有哪些對象沒被使用,並且將後者刪掉的機制。   所謂使用中的對象(已引用對象),指的是程序中有指針指向的對象;而未使用中的對象(未引用對象),則沒有被任何指針給指向

原创 這樣深度Spring Boot的源碼解析,看完幫你立即提升一個臺階!

1 實例化SpringApplication SpringApplication.run(BootifulApplication.class, args);public static ConfigurableApplicationCont

原创 九種跨域方式實現原理(完整版)

前言 前後端數據交互經常會碰到請求跨域,什麼是跨域,以及有哪幾種跨域方式,這是本文要探討的內容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議大家動手敲敲代碼。 一、什麼是跨域? 1.什麼是同源策略及其限制內容? 同源策略

原创 一次非常有趣的SQL優化經歷

場景 我用的數據庫是mysql5.6,下面簡單的介紹下場景 課程表: create table Course( c_id int PRIMARY KEY, name varchar(10) ) 數據100條 學生表: create 

原创 RabbitMQ分佈式集羣架構

RabbitMQ分佈式集羣架構和高可用性(HA) (一) 功能和原理 設計集羣的目的 允許消費者和生產者在RabbitMQ節點崩潰的情況下繼續運行 通過增加更多的節點來擴展消息通信的吞吐量 1 集羣配置方式 RabbitMQ可以通

原创 一份非常完整的 MySQL 規範

一、數據庫命令規範 · 所有數據庫對象名稱必須使用小寫字母並用下劃線分割 · 所有數據庫對象名稱禁止使用mysql保留關鍵字(如果表名中包含關鍵字查詢時,需要將其用單引號括起來) · 數據庫對象的命名要能做到見名識意,並且最後不要超過32

原创 從零開始實現RPC框架 - RPC原理及實現

RPC概述 RPC(Remote Procedure Call)即遠程過程調用,允許一臺計算機調用另一臺計算機上的程序得到結果,而代碼中不需要做額外的編程,就像在本地調用一樣。 現在互聯網應用的量級越來越大,單臺計算機的能力有限,需要藉助

原创 面向對象7大設計原則

7大設計原則如何分類   七大原則之間並不是相互孤立的,彼此間存在着一定關聯,一個可以是另一個原則的加強或是基礎。違反其中的某一個,可能同時違反了其餘的原則。開閉原則是面向對象的可複用設計的基石。其他設計原則是實現開閉原則的手段和工具。

原创 哥們,你真以爲你會做這道JVM面試題?

有關Java虛擬機類加載機制相關的文章一搜一大把,筆者這裏也不必再贅述一遍了。 筆者這裏撈出一道code題要各位大佬來把玩把玩,如果你一眼就看出了端倪,那麼恭喜你,你可以下山了: public class StaticTest {   

原创 高性能服務端優化之路

業務場景 達達是全國領先的最後三公里物流配送平臺。 達達的業務模式與滴滴以及Uber很相似,以衆包的方式利用社會閒散人力資源,解決O2O最後三公里即時性配送難題。 達達業務主要包含兩部分:商家發單,配送員接單配送,如下圖所示。 達達的業務

原创 四張圖帶你瞭解Tomcat系統架構--讓面試官顫抖的Tomcat回答系列!

  俗話說,站在巨人的肩膀上看世界,一般學習的時候也是先總覽一下整體,然後逐個部分個個擊破,最後形成思路,瞭解具體細節,Tomcat的結構很複雜,但是 Tomcat 非常的模塊化,找到了 Tomcat最核心的模塊,問題纔可以遊刃而解,瞭解

原创 你還在 Select * 嗎?

應用程序慢如牛,原因多多,可能是網絡的原因、可能是系統架構的原因,還有可能是數據庫的原因。 那麼如何提高數據庫SQL語句執行速度呢?有人會說性能調優是數據庫管理員(DBA)的事,然而性能調優跟程序員們也有莫大的關係。 程序中嵌入的一行行

原创 Synchronized鎖在Spring事務管理下,爲啥還線程不安全?

前言 大年初二,朋友問了我一個技術的問題(朋友實在是好學,佩服!) 該問題來源知乎(synchronized鎖問題): https://www.zhihu.com/question/277812143 開啓10000個線程,每個線程

原创 MySQL 大表優化方案

當MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下步驟來優化:   單表優化   除非單表數據未來會一直不斷上漲,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種複雜度,一般以整型值爲主的表在千萬級以下,字符串