原创 Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 問題解決方案

一、前言       今天生產上出現一個問題,更新數據庫的時候,沒有更新成功,經過定位問題,發現是update的sql報錯了。       錯誤信息是: Mysql:Incorrect string value: '\xF0\x

原创 【java】String[] 轉 list

str = “google”; //第一種:將字符串用split轉成String數組,用Collections的addAll方法添加全部元素到list; String[] arr = str.split(""); ArrayLis

原创 【mybatis】異常invalid comparison: java.util.Date and java.lang.String

原因 主要是我要判斷的是Date類型,但是在mybatis中使用了字符串的判斷方式,這樣就是錯誤的。就會報這個錯誤。 解決方案 <if test="createTime != null and createTime !='' "

原创 gh-ost 生產字段增刪改,加索引不死鎖解決方案

gh-ost介紹       在做功能迭代的時候,我們總會遇到生產的數據庫表結構不適合的時候。往往我們要添加字段,添加索引,修改字段等操作。但是如果生產的數據量是很大的,我們對錶結構進行修改的時候會引起死鎖,甚至會引起宕機。   

原创 併發編程(五)——線程池及原理剖析

線程池 什麼是線程池       Java中的線程池是運用場景最多的併發框架,幾乎所有需要異步或併發執行任務的程序都可以使用線程池。在開發過程中,合理地使用線程池能夠帶來3個好處。 第一:降低資源消耗。通過重複利用已創建的線程降

原创 併發編程(四)——JUC併發包常用方法介紹

併發包 (計數器)CountDownLatch       CountDownLatch 類位於java.util.concurrent包下,利用它可以實現類似計數器的功能。比如有一個任務A,它要等待其他4個任務執行完畢之後才能執

原创 併發編程(六)——java中鎖怎麼使用?

Java鎖的深度化       當多個請求同時操作數據庫時,首先將訂單狀態改爲已支付,在金額加上200,在同時併發場景查詢條件下,會造成重複通知。 SQL: Update 悲觀鎖與樂觀鎖       悲觀鎖悲觀的認爲每一次操作都會

原创 【Linux】查看存儲空間命令整理

一、前言 在使用centos的時候空間慢慢的都滿了,滿了後也不知道怎麼處理、怎麼查看。正好總結一下。 二、命令 查看磁盤空間使用: df -h 查詢目錄下各個文件夾的佔用存儲大小: du -sh * 查看內存使用情況: f

原创 併發編程(一)——多線程快速入門

線程與進程區別       每個正在系統上運行的程序都是一個進程。每個進程包含一到多個線程。線程是一組指令的集合,或者是程序的特殊段,它可以在程序裏獨立執行。也可以把它理解爲代碼運行的上下文。所以線程基本上是輕量級的進程,它負責在

原创 併發編程(二)——內存模型

併發編程之多線程線程安全 什麼是線程安全? 爲什麼有線程安全問題?       當多個線程同時共享,同一個全局變量或靜態變量,做寫的操作時,可能會發生數據衝突問題,也就是線程安全問題。但是做讀操作是不會發生數據衝突問題。     

原创 併發編程(三)——多線程之間如何實現通訊

多線程之間如何實現通訊 什麼是多線程之間通訊?       多線程之間通訊,其實就是多個線程在操作同一個資源,但是操作的動作不同。 畫圖演示 多線程之間通訊需求       需求:第一個線程寫入(input)用戶,另一個線程取讀取

原创 【JVM】程序員進階JVM(二)——垃圾回收算法

一、前言       上一篇博客中,小編向大家開了個頭,介紹了一些JVM的內存區域,相信大家一想起四象限,就可以想起JVM的內存區域:棧,方法區,堆,程序計數器。在這篇博客中,小編向大家介紹垃圾回收算法。 二、什麼是垃圾回收?  

原创 【java8】 list to map

Map<String, String> courseNoTitleMap = listBOList.stream().collect(Collectors.toMap(CoursePriceInfo

原创 【java】-XX:-OmitStackTraceInFastThrow

前言 有時候日誌打印,只有空指針,沒有堆棧信息。是因爲空指針打印的太多了,如何顯示每一條堆棧呢? 解決方案 修改jvm參數,-XX:-OmitStackTraceInFastThrow,OmitStackTraceInFastTh