原创 mysql事務小結

一、事務是什麼? 事務是一個不可分割的執行單元,一個事務中的語句,要麼都執行成功,要麼都不執行。 二、什麼時候需要事務 當一個業務邏輯中,涉及多個sql更新操作,並且要求所有的sql更新都作爲一個整體執行時。 比如銀行轉賬操作:張

原创 C++(一) 對象內存管理

前言 在C++中,開發一個不存在內存泄露的功能完善的類,比在Java中要複雜得多。下面以開發一個String類爲例,一步步介紹如果創建一個不存在內存問題的類。 一、構造函數與析構函數 很容易想到: 在構造函數中分配內存 在析構函

原创 vim學習筆記

1.普通模式移動光標 hjkl: 分別代表 左下上右,原因是vim誕生時,鍵盤上並沒有方向鍵 0: 將光標定位到行首 ^: 將光標定位到行首 &: 將光標定位到行尾 b(begin): 將光標定位到光標所在單詞的起始處 e(end

原创 Netty處理Http文件上傳

一、概述 這篇文章描述如何通過Netty提供的工具,處理http multipart文件上傳。 二、ChannelPipeline設置 2.1 netty http 服務端 //解碼http協議爲HttpObject對象 pipe

原创 C語言(二) qsort函數使用

一、C函數指針 C語言中使用函數指針: //函數聲明 int sumi(int a, int b); //定義函數指針 int (*fp)(int, int); //賦值 fp = sumi; //使用函數指針調用函數 fp(1,

原创 google guice 簡潔的依賴注入框架

一、前言 google guice是一款簡潔的依賴注入框架,如果你想要依賴注入功能,以及AOP功能,又不想引入龐大的Spring Framework,可以考慮使用guice. 下面我會簡單翻譯github上guice的wiki。

原创 分類表設計與查詢

一、問題描述 數據庫設計中,很多表結構是樹狀結構的,如商品分類表: CREATE TABLE category ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT

原创 docker實戰之web + mysql

一、前言 目標:docker部署web程序,外網可訪問;web程序訪問mysql服務,mysql服務使用docker部署。 前提:docker環境 二、docker部署mysql服務 docker容器應該是無狀態的,需要持久化的數

原创 glob模式匹配

定義 所謂的 glob 模式是指 shell 所使用的簡化了的正則表達式。 星號(*)匹配零個或多個任意字符 [abc] 匹配任何一個列在方括號中的字符(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c) 問號(?)

原创 log4j性能瓶頸--記一次問題排查

問題現象 壓測過程中,客戶端10線程,服務端100個線程,客戶端不斷向服務端發送請求,服務端多個請求超時。 異常堆棧如下: 排查過程 top查看CPU使用率,CPU卡在50%,上不去,一般是由於競爭鎖導致CPU使用率低 js

原创 Java JNI 入門Demo

一、JNI基本概念 JNI,即Java Native Interface,提供了Java語言調用其他語言的接口,一般是C和C++。 二、JNI的作用 主要用來完成Java語言無法完成的任務,如加載硬件驅動,操作硬件。 三、JNI編

原创 python與unicode

一、概述 這篇文章簡單說明unicode的基本原理,以及在python語言中如何處理unicode和相關編碼問題。 二、編碼與解碼 我們平時在屏幕上看到的文字,是由一系列字符組成的,而計算機內部則表示爲2進制的一連串字節。 編碼:

原创 Java鏈式編程之Builder模式

SpringSecurity中,個性化配置的鏈式編程方式很吸引我: 1. 對於HttpSecurity的配置,不同模塊有自己的配置對象,如csrf、formLogin等 2. 通過調用and()方法,回到HttpSecurity對

原创 NoClassDefFoundError與ClassNotFoundException的區別

NoClassDefFoundError 編譯通過,但運行時,類加載器找不到對應的類。 對應代碼: package com.cgi.tools.java; public class ClassA { private ClassB

原创 設計模式之Interpreter模式

一、簡介 Interpreter模式(解釋器模式),通常是用來解析一門語言,如sql解析。 架構如下: AbstractInterpreter 定義interpret操作 TerminalInterpreter 終態節點 NonT