原创 始終覆蓋toString、謹慎覆蓋clone、考慮實現Comparable*
始終覆蓋toStringjava.lang.Object提供toString方法的一個實現,返回值:類的名稱,一個@符號,散列碼的無符號16進製表示。謹慎覆蓋clone考慮實現Comparable
原创 用私有構造器或者枚舉類型強化Singleton屬性*
java 1.5之前方法1 私有構造器,公有靜態final域public class Elvis(){ public static final Elvis INSTANCE = new Elvis(); private
原创 用於精確計算的BigDecimal
float和double類型主要爲了科學計算和工程計算而設計。它們執行二進制浮點運算,提供較爲精確的快速近似計算。float和double尤其不適用於貨幣計算。解決辦法:使用BigDecimal、int或long進行貨幣計算使用int或者
原创 從數據庫隨機取出數據
SELECT description FROM question ORDER BY RAND() LIMIT 1;在ORDER BY從句裏面不能使用RAND()函數,因爲這樣會導致數據列被多次掃描。SELECT description F
原创 分頁池和非分頁池
windows把虛擬地址:用戶空間空間:應用程序使用 系統地址空間:分頁池:映射到分頁文件的虛擬地址當要使用時才交換到物理內存中的系統調度
原创 遇到多個構造器參數時考慮使用構建器
靜態工廠和構造器的侷限:不能很好的擴展到大量可選參數。 方法1 習慣用法:重疊構造器。提供一個只有必要參數的構造器,第二個構造器有一個可選參數,第三個構造器有兩個可選參數,以此類推。 缺點:參數較多時,客戶
原创 MySQL常用函數
一、數學函數ABS(x) 返回x的絕對值BIN(x) 返回x的二進制(OCT返回八進制,HEX返回十六進制)CEILING(x) 返回大於x的最小整數值FLOOR(x) 返回小於x的最大整數值MOD(x,y)
原创 覆蓋equals時遵守通用約定
不覆蓋equals時,類的每個實例都只與它自己相等。如果類有自己的邏輯相等概念,且超類未覆蓋equals以實現期望的行爲,這時需覆蓋equals。約定內容: 1.自反性----對於任何非null的引用值x,x.equals(x)必須
原创 SSL/TLS協議
摘自http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html1.不使用SSL/TLS協議的HTTP通信的風險。 ①竊聽風險 ②冒充風險 ③篡改風
原创 避免使用終結方法(finalizer)
從一個對象變得不可到達,到它的終結方法被執行,所經歷的時間是任意的。JVM會延遲執行終結方法。 終結方法的執行是垃圾回收算法的一個主要功能,不同JVM的實現大相徑庭。 不應該使用終結方法來更新重要的持久狀態。 終
原创 將本地Java程序發佈到Linux服務器上
注:記錄自己在發佈日誌分析程序中遇到的問題 1.將程序導出成jar包,執行java -jar XXX.jar 即可運行 Export》JAR file》Next...》選擇Main Class作爲程序入口 2.第三方引用問題
原创 Synchronized
摘自http://blog.csdn.net/luoweifu/article/details/46613015 1.修飾代碼塊,作用範圍{},作用對象,調用此代碼塊的對象2.修飾方法,作用範圍,整個方法,作用對象,調用此方法的對象3.修
原创 通過私有構造器強化不可實例化的能力、避免創建不必要的對象、消除過期的對象引用
4.通過私有構造器強化不可實例化的能力 工具類不希望被實例化。 企圖通過將類做成抽象類來強制該類不被實例化是行不通的,因爲該類可以被子類化,而該子類可以被實例化。 只有當類不含有顯示構造器時,編譯器纔會生成缺省構造器,因
原创 配置nginx反向代理
nginx和apache一樣都提供了多端口映射成80端口的配置方式。 打開nginx的配置文件nginx.conf在http下的server後面添加server{ listen 80; #監聽80端口
原创 Java獲取時間戳
時間戳 指的就是Unix時間戳(Unix timestamp)。它也被稱爲Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義爲從格林威治時間1970年01月01日00時00分00秒起至現在