原创 一些Java併發編程的問題記錄

1.Synchronized的實現原理        同步代碼塊使用monitorenter和monitorexit兩個指令實現,可以把執行monitorenter指令理解爲加鎖,執行monitorexit理解爲釋放鎖。 每個對象維護着一

原创 java中的stream平時最常用的幾個方法

public class Demo { public static void main(String[] args) throws ClassNotFoundException { List<Goods> list = new

原创 用Explain分析Mysql的執行計劃

Mysql中對於每條執行語句都有一個執行計劃,我們用explain+sql語句,就可以查詢mysql對該條語句是怎麼執行的,查了多少行,是否用到索引等,以此來幫助我們分析sql語句的性能,改善sql語句的編寫。如下圖: 此片文章來記錄一

原创 你真的能寫好業務代碼嗎?

目錄   如何用好最常見的字符串String 併發編程的利器-鎖 Java中最簡單的浮點數真的懂嗎? 用好最簡單的集合 事務真的生效了嗎? 異常與日誌 如何用好最常見的字符串String String的兩種創建方式 方式一:String

原创 Mysql資料總結

  1.關於連接     掘金小冊,主要介紹連接的原理 https://juejin.im/book/5bffcbc9f265da614b11b731/section/5c061b0cf265da612577e0f4    left jo

原创 Spring學習(1)----程序之間的耦合

       這是學習Sping 的第一篇文章,我們先來看看再引入Spring之前,我們的程序是怎麼走的,是怎麼耦合的,Spring又是提供了怎樣的解決方案。      生活例子       先舉一個生活中的例子,假如我們需要去參加一個高

原创 Docker部署過程

  目錄 配置阿里雲加速器 安裝Mysql鏡像  創建SpringBoot鏡像    最近由於公司的需要,學習了下Docker容器相關的內容。      我們的項目是部署在阿里雲上面的,之前都是直接jar包跑的,後來因爲要部署多個服務器,

原创 quartz定時任務調度框架

1.quartz的基本認識與結構類 QuartzSchedulerThread :負責執行向QuartzScheduler註冊的觸發Trigger的工作的線程。  ThreadPool:Scheduler使用一個線程池作爲任務運行的基礎設

原创 Swagger的使用

        在此前寫接口的時候用的都是postman,包括前端也是通過postman進行查看接口的相關信息的,聽說Swagger還挺好用的,可以自動生成接口文檔,我就與項目整合在一起,發現還行(應前端的要求哈哈哈)        接下

原创 openOffice的使用

最近的一個項目需要進行文件預覽,word轉pdf的操作等等,於是接入openOffice,這裏做一個小記錄(踩了一些坑哈哈哈) 安裝openOffice   我是在linux下進行安裝的,簡單說一下安裝的步驟   1.下載安裝包:http

原创 TreeMap的理解

1.TreeMap實現方式    TreeMap實現了Map、SortedMap、NavigableMap、Cloneable、Serializable等接口。    SortedMap規定了元素可以按key的大小來遍歷,它定義了一些返回

原创 Java實現本地緩存

對於緩存的作用不言而喻,可以提高查詢效率,比去DB查詢的速度要快。項目中我們經常會使用Nosql數據庫,如Redis等做緩存。但是對於數據量很小的,訪問非常頻繁的,我們也可以存在本地緩存中。我將利用concurrentHashMap等集合

原创 hashMap

原文:Java 8系列之重新認識HashMap,有刪改。 JDK1.8對HashMap底層的實現進行了優化,例如引入紅黑樹的數據結構和擴容的優化等。本文結合JDK1.7和JDK1.8的區別,深入探討HashMap的結構

原创 Redis基礎

目錄 Redis的數據結構 Redis的過期策略 Redis持久化 RDB(快照): AOF: 緩存雪崩 緩存穿透 緩存擊穿 主從同步   Redis的數據結構 String 字符串,內存中以字節數組的形式存在。 Redis 規定字符串的

原创 hashCode與equals詳解

  我們先看一下Java之中的所有類的父類  Object 裏面的hashCode與equals方法:     public native int hashCode();    public boolean equals(Object o