原创 一致性hash算法 - consistent hashing

consistent hashing 算法早在 1997 年就在論文 Consistent hashing and random trees 中被提出,目前在 cache 系統中應用越來越廣泛; 1 基本場景 比如你有 N 個 ca

原创 jsp cookie 漫談

Session cookies - these are temporary and are erased when you close your browser at the end of your surfing session. T

原创 filter做非法用戶登錄時需要注意的地方

1、在web.xml裏面配置的時候,最好別這樣寫<url-pattern>*</url-pattern>,因爲這樣寫,意味着任何請求都會被攔截,下面舉個例子:      攔截所有用戶的請求,如果session中沒有用戶信息,則跳轉到log

原创 設計模式--靜態工廠

一直都在看設計模式的書,有時候理解了,但是很快就忘, 主要是應用不夠。       今天老師要我把項目重構一次,頭都大了,但是沒辦法。 我們項目有個模塊是試題庫,每次查詢題庫時,要返回一個list,裝滿了pojo,一共八種題型,以前我把d

原创 java內存泄露學習筆記

  在學C的時候,就聽老師講過內存泄露,那時候理解了,後來學java,聽說有GC,內存泄露問題就解決了。再後來,找實習工作的時候,面試的一個問題是 java裏面有內存泄露嗎?如果有,怎樣才能儘可能減少出現

原创 深入分析 Java 中的中文編碼問題

轉載出處:http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 幾種常見的編碼格式 爲什麼要編碼 不知道大家有沒有想過一個問題,那就是爲什麼要編碼?我們能不能

原创 String ,StringBuffer ,StringBuilde

String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線程安全)  簡要的說, String 類型和 StringBuffer 類型的主要性能區別其實在於 String 是不

原创 java併發包concurrent多線程示例

Callable/Future CountDownLatch ExecutorService/Executors 主要是以上幾個併發包類的用法、 簡單描述下: Callable/Future   : Callable<T>這個接口類

原创 關於運行時異常RuntimeException捕獲的小測試

package com.caogu.test; public class ExceptionTest {     public static void main(String[] args) throws

原创 swappiness設置實際內存和swap的使用比率 /ubuntu優化

swappiness Ubuntu Feisty默認的vm.swappiness值是60,這一默認值已經很合適了。但你可以改小一些降低swap的加載,系統性能會有一點點的提升 輸入: 代碼: sy

原创 hash加鹽更安全

密碼存儲形式有三種:明文、加密、哈希值。 明文肯定是不可取的;加密的優點是可以還原密碼,缺點是不如哈希值安全。所以我們一般用哈希值存儲密碼,常用的計算哈希值的方法是 MD5 和 SHA-1,本文以 MD5 爲例。 爲哈希值增加一個隨機鹽

原创 java中的String

知識點太混亂,一段一個理解,最後我理解透了 -----------------------------------------------------------------------------------------------

原创 多線程基本概念解析

1、多線程的狀態 線程一共有8種狀態,聽我慢慢道來 1、new狀態 :當一個線程實例出來之後(調用start方法之前),改線程並未運行 2、Runnable(就緒狀態):調用start之後,就進入就緒狀態,cpu隨機將資源分配給就緒狀態的

原创 《深入理解java虛擬機》java的內存區域

一個java程序運行時,數據都是存放在內存中的,要記住,是運行時,編譯的時候(非運行時),數據是存放在class文件中的。 運行時數據區分爲以下幾個: 1、方法區     方法區是線程共享的,運行時,裏面存放的是類加載時的信息,常量,靜態

原创 一個簡單的java數據庫連接池

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverMa