原创 JVM(3):運行時數據區

java 與c/c++之間有一堵由內存動態分配和垃圾收集技術所圍成的"高牆",牆外面的人想進去,牆裏面的人卻想出來。 對於java 程序員來說,在虛擬機自動內存管理機制的幫助下,不再需要爲每一個new 操作去寫配對的delete/free

原创 docker安裝Oracle

1.docker pull命令可以把鏡像下載到本地,在此我們把aliyun的oracle鏡像pull下來 docker pull registry.aliyuncs.com/helowin/oracle_11g   2.接下來最重要的一

原创 Apollo(3):Apollo工作原理

1.Apollo工作原理 下圖是Apollo架構模塊的概覽    各模塊職責 上圖簡要描述了Apollo的總體設計,我們可以從下往上看: Config Service提供配置的讀取、推送等功能,服務對象是Apollo客戶端 Admin

原创 docker安裝RabbitMQ

1.獲取鏡像 docker pull rabbitmq:management   2.安裝運行鏡像 docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAUL

原创 Mac下如何配置環境變量

本文以配置JDK的環境變量爲例,示範如何配置環境變量,後續在安裝Android、Maven、MongoDB等時都會需要配置相應的環境變量。 1.按鍵盤“Ctrl + 空格”組合鍵,調出Spotlight搜索,在這裏可以快速啓動終端,輸入終

原创 mysql自增id超大問題查詢

引言 小A正在balabala寫代碼呢,DBA小B突然發來了一條消息,“快看看你的用戶特定信息表T,裏面的主鍵,也就是自增id,都到16億了,這纔多久,在這樣下去過不了多久主鍵就要超出範圍了,插入就會失敗,balabala......”

原创 Three.js入門

  <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/build/three.min.js"></

原创 Java中synchronized(2):使用方法

synchronized使用方法 synchronized 同步鎖可分爲以下倆種使用方法: 1.對象鎖 方法鎖:直接用synchronized修飾普通方法 方法代碼塊:引用當前對象或自定義對象作爲鎖 2.類鎖 staticmethod鎖:

原创 Java中synchronized(1):簡介

1.爲什麼要使用synchronized 在併發編程中存在線程安全問題,主要原因有: 存在共享數據 多線程共同操作共享數據。 關鍵字synchronized可以保證在同一時刻,只有一個線程可以執行某個方法或某個代碼塊,同時synchron

原创 Spring Boot(四十六):Springboot發送郵件

這裏我們先了解一下郵件的協議 郵件協議 SMTP協議:簡單郵件傳輸協議 (Simple Mail Transfer Protocol),郵件從一臺服務器傳送到另一臺服務器 POP3協議:郵局協議版本3(Post Office Protoc

原创 Spring Boot(四十五):Springboot使用CORS 解決跨域問題

同源策略 很多人對跨域有一種誤解,以爲這是前端的事,和後端沒關係,其實不是這樣的,說到跨域,就不得不說說瀏覽器的同源策略。 同源策略是由 Netscape 提出的一個著名的安全策略,它是瀏覽器最核心也最基本的安全功能,現在所有支持 Jav

原创 Java併發工具類(2):CyclicBarrier相關介紹

1.CyclicBarrier同步屏障 CyclicBarrier 的字面意思是可循環使用(Cyclic)的屏障(Barrier)。它要做的事情是,讓一組線程到達一個屏障(也可以叫同步點)時被阻塞,直到最後一個線程到達屏障時,屏障纔會開門

原创 DB 分庫分表(1):基本思想和切分策略

一、基本思想 Sharding的基本思想就要把一個數據庫切分成多個部分放到不同的數據庫(server)上,從而緩解單一數據庫的性能問題。不太嚴格的講,對於海量數據的數據庫,如果是因爲表多而數據多,這時候適合使用垂直切分,即把關係緊密(比如

原创 MySQL 證明爲什麼用limit時,offset很大會影響性能

首先說明一下MySQL的版本: mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.17 | +-----------+ 1 row i

原创 Redis 的內存淘汰策略

Redis佔用內存大小 我們知道Redis是基於內存的key-value數據庫,因爲系統的內存大小有限,所以我們在使用Redis的時候可以配置Redis能使用的最大的內存大小。 1、通過配置文件配置 通過在Redis安裝目錄下面的redi