原创 談談多線程有幾種獲取方式,你面試肯定被問過!!

獲取多線程的多種方式 Java獲取多線程的方式總共有四種,在Jdk5之前只有兩種,Jdk5之後新增到了四種。 繼承Thread類 實現Runnable接口 實現Callable接口 從線程池中獲取 1.繼承Thread類 資

原创 Window安裝RabbitMQ

RabbitMQ安裝包 路徑鏈接:https://pan.baidu.com/s/1ODTHYya8tMEyf4L0UM3vaw 提取碼:pzs8 安裝步驟 安裝 otp_win64_22.1 由於 RabbitMQ 需要

原创 【Bug】Vue解決Couldn't find preset "es2015" relative to directory問題

Couldn’t find preset “es2015” relative to directory 原因 由於引入的 Element-UI 使用了ES標準,所以編譯會報錯。 解決方法 安裝 ES 標準 npm insta

原创 多線程購票問題

購票問題 題目: 三個售票員 賣出 30張票 從購票問題入手,購票問題涉及到多線程併發問題,多線程同時訪問賣票資源,怎麼保證數據一致性是最重要的問題。 解決方案: 在方法上添加 synchronized 同步標誌控制線程訪問,

原创 【MySQL】配置時區

MySql 時區配置 由於MySQL時區與中國時區不同,所以會報以下錯誤!!! Caused by: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä'

原创 【MySQL】FileSort算法

在使用 Explain 關鍵字分析 sql性能,有時會產生 Using Filesort,使用了文件內排序,這是非常不好的.。 MySQL 有兩種 filesort 算法:雙排排序、單路排序。 雙路排序算法 MySQL 4.1 之

原创 Docker Compose 搭建 Redis 集羣

簡介 Redis 是用 C 語言開發的一個開源的高性能鍵值對(key-value)數據庫。它通過提供多種鍵值數據類型來適應不同場景下的存儲需求,目前爲止 Redis 支持的鍵值數據類型如下: 字符串類型 散列類型 列表類型 集合

原创 集合類安全問題

集合類安全問題 集合類在寫項目的過程中使用的十分頻繁,但其實常用的幾種集合類並不是線程安全的,在多線程的場景下使用可能會出現問題,用一個小case來模擬一下,本文采用ArrayList爲例,Map和Set原理類似。 Eg: 新建個

原创 JUC中常用的三種輔助類,你知道嗎?

JUC中提供了三種常用的輔助類,通過這些輔助類可以很好的解決線程數量過多時Lock鎖的頻繁操作。這三種輔助類爲: CountDownLatch CyclicBarrier Semaphore 1.CountDownLatch

原创 多線程8鎖問題

多線程8鎖問題 在多線程環境中,訪問資源類的順序到底是如何? 最近,在網絡上看到一道題目,通過多線程的8種鎖情況瞭解訪問資源類的順序。 標準訪問,先打印郵件方法還是短信方法? class Phone{ public

原创 【JVM】GC垃圾回收

JVM在進行GC時,並不是新生代、老年代一起進行,大部分都是在新生代中回收,GC又分爲Minor GC和Major GC。 Minor GC 和 Major GC 區別 Minor GC: 只針對新生代區域,指的是發生在新生代中的

原创 【JVM】堆

一個JVM實例只存在一個堆內存,堆內存的大小是可以調節的。 堆內存邏輯上分爲三部分:新生代、老年代、永久代。 但JDK1.8後,分爲:新生代、老年代、元空間。 新生代 新生代包括伊甸區和倖存區,倖存區又包括倖存0區和倖存1區。

原创 【JVM】棧

棧管運行,堆管存儲。 不僅在JVM中有棧的概念,在數據結構中,兩大重要概念爲:隊列、棧。 隊列 FIFO(First In First Out),先進先出。 棧 FILO(First In Last Out),先進後出。 Stac

原创 【JVM】方法區

從我的上一篇JVM體系結構文章的中可以看出,方法區是屬於所有線程共享的區域,並且存在垃圾回收,但嚴格來說,方法區的垃圾回收非常少。 Method Area 供各種線程共享的運行時內存區域,它存儲了每一個類的結構信息,例如:運行時

原创 Linux搭建Natapp

1.下載安裝包,註冊隧道 首先,在Natapp下載對應版本的安裝包,並且在 Natapp 官網上購買個免費隧道。 購買隧道填完項目信息後,在我的隧道中可以看到剛纔購買的隧道。 這裏 authtoken 十分重要,是後面啓動 na