原创 java 使用ReentrantLock Condition實現阻塞隊列
package test; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.con
原创 Extjs 組件繼承 模板說明(以GridPanel爲例)
1. 重寫initComponent()方法,並在該方法在調用父類的initComponent()方法。 如:subclass.superclass.initComponent.call(this); 2. 在initCompon
原创 Linux基礎1 文件管理命令
一、linux文件管理 linux哲學思想裏面,一切皆文件,所有的硬件設備也是在系統中映射成文件,直接操作文件相當於操作使用了硬件設備。文件管理所涉及到的命令ls、type、file、stat、cp、mv、install、mkdir、r
原创 Redis分佈式鎖實現原理 java版
說明: Redis因爲是單線程的,所以本身沒有鎖的概念。 所以分佈式鎖的實現原理是往Redis當中寫入一個key(調用方法setnx),寫入成功相當於獲取鎖成功。寫入失敗也即是setnx方法返回0,獲取鎖失敗。 注意鎖的失效時間,
原创 採用動態代理技術,實現標準的連接池
/** * 採用動態代理技術,實現標準的連接池 * @author zhurudong * */ public class DBCPool implements DataSource{ // 聲明List,管理連接池 pr
原创 線程生命週期圖示
線程生命週期圖示 點贊 收藏 分享 文章舉報 zhurudong 發佈了27 篇原創文
原创 (筆記)struts2流程1 -- Tomcat啓動時
總結: 1. 當tomcat啓動時,struts2的過濾器啓動 2. tomcat容器會調用struts2的過濾器StrutsPrepareAndExeceuteFilter 的 init 方法 3. StrutsPrepare
原创 使用包裝設計模式,實現標準連接池
public class MyDataSource implements DataSource{ private LinkedList<Connection> pool = new LinkedList<Connection>();
原创 單例設計模式
類在內存中只有一個實例對象 單例注意要點 1.餓漢式單例 a. 構造私有 b. 自己創建對象 c. 通過一個公共方法訪問 2. 懶漢式單例(線程安全,延遲加載問題) a. 構造私有 b. 自己不創建對象 c. 通過一個公共的方法訪問
原创 $.post與$.ajax 結合struts問題
1. $.post 當後臺發生異常時,回調函數還是會接受到數據。也就是不管正確錯誤的數據都會接受到數據 2.$.ajax 中的回調函數success和error,分別是用來響應後臺請求成功時的數據處理和請求出現錯誤時的數據處理的。因爲服務
原创 (筆記) javascript 繼承
/** * 當該函數中有一個參數的情況下創建類 * 當該函數中有兩個參數的情況下,第一個參數是基類,第二個參數就是在基類的基礎上添加的內容。 */ function extend(obj, prop){ function F()
原创 02JVM-內存溢出
上篇文章中,記錄了Java內存模型中運行時數據區的劃分,每個數據區域都會可能伴隨着內存溢出異常。 大致分爲2類:OutOfMemoryError、StackOverflowError 一、Java堆內存溢出 Java堆是用於存放Jav
原创 JS校驗url地址
var Utils = { isUrl : function(str_url) { var strRegex = "^((https|http|ftp|rtsp|mms)://)?[a-z0-9A-Z]{3}\.[a-z0-9A-
原创 設計一個緩存系統 java多線程讀寫鎖的應用
package test; import java.util.HashMap; import java.util.Map; import java.util.Random; import java.util.concurrent.loc
原创 04JVM-對象的死亡與對象引用
一、對象死了嗎 垃圾收集器在回收Java對象時,首先要確定對象是否存活。在虛擬機規範中,定義了兩種方式判斷對象的是否被回收。 1. 引用計數法(Reference Counting) 給對象添加一個引用計數器,當有地方引用到它時,計數器加