原创 mysql 在innodb 引擎下手動添加 共享鎖與排他鎖

insert ,update , delete,innodb 會自動給對應的哪一行加行級別排他鎖 select 查詢的時候 ,innodb 啥鎖都不會加,因爲innodb,默認隔離級別是可重複讀, 即 通過mvcc併發訪問控制機制,所以多

原创 CountDownLatch 使用 示例

public class TestCountDownLatch { public static void main(String[] args) throws InterruptedException { lo

原创 統一枚舉,對外提供一勞永逸的訪問接口

  /** * 枚舉實體類 * @date 2019-12-12 */ public class EnumModel { private int code; public String name;

原创 Spring支持的幾種bean的作用域

Spring 框架支持以下五種 bean 的作用域:  singleton : bean在每個Spring ioc 容器中只有一個實例。   prototype:一個bean的定義可以有多個實例。   request:每次http請求

原创 實現最簡單的遞歸調用,模擬 Exception in thread "main" java.lang.StackOverflowError 異常

  package com.collmall.code; public class StackOverflowErrorTest { public static void main(String[]args){

原创 32 位 JVM 和 64 位 JVM 的最大堆內存分別是多少

理論上說上 32 位的 JVM 堆內存可以到達 2^32,即 4GB,但實際上會比這個 小很多。 不同操作系統之間不同,如 Windows 系統大約 1.5 GB,Solaris 大約 3GB。 64 位 JVM 允許指定最大的堆內存,理

原创 mybatis #{}和${}的區別是什麼

1. #{}是預編譯處理,${}是字符串替換。 2. Mybatis 在處理#{}時,會將 sql 中的#{}替換爲?號,調用 PreparedStatement 的 set 方法來賦值; 3. Mybatis 在處理${}時,就是把$

原创 自定義延遲隊列

  /** * 自定義延遲隊列 * @author xulihui * @date 2020/4/12 19:07 */ public class CustomDelayQueue { // 延遲消息隊列 pri

原创 動態代理的實現方式,及JDKPorxy 和CGLib的區別

動態代理常用的實現方式是發射. 但動態代理不止有反射這一種實現方式. eg: 動態代理也可以是通過CGLib來實現,而CGLib是基於ASM(一個java字節碼操作框架),而實現的. 簡單說: 動態代理是一種行爲方式,而反射或ASM只是它

原创 java ThreadPoolExecutor 源碼解析

在阿里巴巴的《Java開發手冊》中是這樣規定線程池的: 線程池不允許使用Executors去創建,而是通過ThreadPoolExecutor的方式,這樣的處理方式讓寫的讀者更加明確線程池的: 線程池不允許使用Executors 去創建,

原创 ArrayList與LinkedList的區別

ArrayList:  1.基於動態數據的數據結構 (所謂的動態數據結果,其實就是在arraylist 源碼當中有擴容的動作,並不是每一次添加或刪除創建新的數組,這樣的效率也不會很低) 2.對於隨機訪問的get 和set 操作, Arra

原创 利用 tk.mybatis 分批查詢數據

  public int execSmsQuestionnaireDetail(Date date) { int successCnt = 0; Example pushPlanExample = ne

原创 curl post from 提交示例

  curl --connect-timeout 10 -m 20 -X POST "http://172.17.96.66:8080/TouchPoint/getQueryGuanyuProjectUvData" -d "begin_

原创 mysql 編碼設定參數

文件來源於這個路徑 /usr/share/mysql/charsets/Index.xml mysql: Character set 'utf-8' is not a compiled character set and is not s

原创 postwoman 協議解讀與安裝

Postwoman是一款開源的 Postman 替代品 她採用MIT 協議,可能是幾大開源協議中最寬鬆的一個,核心條款是: 該軟件及其相關文檔對所有人免費,可以任意處置,包括使用,複製,修改,合併,發表,分發,再授權,或者銷售。唯一的限制