原创 mysql 使用外鍵 foreign key 時的錯誤解決

首先創建了個主表 test_proj CREATE TABLE test_proj( pid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT, proj_name VARCHAR(20

原创 com.sun.proxy.$Proxy4 cannot be cast to spring.HelloService

用spring獲取bean的時候遇到代理對象不能轉化爲本類對象的問題 HelloService hello = (HelloService) application.getBean("helloService"); 這個是 Hel

原创 同一個包下的公開類編譯時找不到。問題解決

學過java的人都知道,如果在同一個包下,一個類是可以直接引用同個包下的用public修飾的類。 但是有沒有試過用doc命令行進去包目錄結構下編譯一個類時,這個類引用的同個包下的公開類編譯時找不到(或許會報ClassNotFou

原创 ActiveMq知識點

應用場景 用戶註冊,註冊成功之後進行郵件通知,初始化客戶數據等操作,可以丟進消息隊列,通知對應的業務服務進行相應的操作,保證用戶註冊的性能。 MQ優點 異步 消峯 解耦 消息隊列利用”發佈-訂閱“工作,消息發送者發送消息至分佈式

原创 sql優化

寫明查詢具體某幾列,減少*的使用,表名過長時,儘量使用表的別名 *和列名一樣 2,在業務密集的SQL當中儘量不採用IN操作符,用EXISTS 方案代替。 in 和 exists的區別: 如果子查詢得出的結果集記錄較少,主查詢中的表

原创 freemarker常用標籤

一、FreeMarker模板文件主要有4個部分組成 1、文本,直接輸出的部分 2、註釋,即<#–…–>格式不會輸出 3、插值(Interpolation):即${..}或者#{..}格式的部分,將使用數據模型中的部分替代輸出 4、FT

原创 二叉樹前序,中序,後序遍歷

今天來總結下二叉樹前序、中序、後序遍歷相互求法,即如果知道兩個的遍歷,如何求第三種遍歷方法,比較笨的方法是畫出來二叉樹,然後根據各種遍歷不同的特性來求,也可以編程求出,下面我們分別說明。 首先,我們看看前序、中序、後序遍歷的特性: 前

原创 Unicode和UTF-8

ASCII碼 我們知道,在計算機內部,所有的信息最終都表示爲一個二進制的字符串。每一個二進制位(bit)有0和1兩種狀態,因此八個二進制位就可以組合出256種狀態,這被稱爲一個字節(byte)。也就是說,一個字節一共可以用來表示256

原创 java 靜態代理和動態代理

1、動態代理(Dynamic Proxy)   代理分爲靜態代理和動態代理,靜態代理是在編譯時就將接口、實現類、代理類一股腦兒全部手動完成,但如果我們需要很多的代理,每一個都這麼手動的去創建實屬浪費時間,而且會有大量的重複代碼,此時我們

原创 java中讀寫鎖的使用(ReadWriteLock)

一、在JDK文檔中關於讀寫鎖的相關說明 ReadWriteLock 維護了一對相關的 鎖 ,一個用於只讀操作,另一個用於寫入操作。只要沒有 writer, 讀取鎖 可以由多個 reader 線程同時保持。 寫入鎖 是獨佔的。 所有 Re

原创 LintCode - 數組 - 132 Pattern

描述 Given a sequence of n integers a1, a2, …, an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai <

原创 Linux下添加新網卡eht3

1、修改配置文件vim /etc/udev/rules.d/70-persistent-net.rules 這裏定義了四個網卡,其中NAME爲eth3的網卡爲我們自己新增的網卡,複製eth3對應的mac地址00:0c:29:16:5c

原创 堆排序

1. 堆原理 1.父結點的鍵值總是大於或等於(小於或等於)任何一個子節點的鍵值。 2.每個結點的左子樹和右子樹都是一個二叉堆(都是最大堆或最小堆)。 當父結點的鍵值總是大於或等於任何一個子節點的鍵值時爲最大堆。當父結點的鍵值總是小於或等於

原创 Java內存區域劃分

Java與C++之間有一堵由內存動態分配和垃圾收集技術所圍成的“高牆”,牆外面的人想進去,牆裏面的人卻想出來。 Java虛擬機在執行Java程序的過程中會把它管理的內存劃分爲若干個不同的數據區域。 java虛擬機運行時數據區

原创 二叉樹的前序、中序和後序遍歷

1.前根序遍歷:先遍歷根結點,然後遍歷左子樹,最後遍歷右子樹。 ABDHECFG 2.中根序遍歷:先遍歷左子樹,然後遍歷根結點,最後遍歷右子樹。 HDBEAFCG 3.後根序遍歷:先遍歷左子樹,然後遍歷右子樹,最後遍歷根節點。 HDEB