原创 緩存穿透,緩存擊穿,緩存雪崩處理
爲了應對越來越大的流量,緩存便成爲系統服務必不可少的一部分,但使用緩存就會出現緩存擊穿和緩存穿透的威脅。 一、背景介紹 互聯網應用逐步深入到生活的各個角落,爲了滿足越來越多用戶使用互聯網應用的需求,幾乎所有互聯網公司都採用緩
原创 hibernate入門級
hibernate是數據層的架構,想必大家很熟了吧,話不多說,直接貼代碼。 首先是hibernate.cfg.xml的配置,實際上這裏就是數據庫的配置: <!DOCTYPE hibernate-configuration PUBLIC
原创 spring mvc之jpa的配置
上面已經講了spring mvc各個方面的配置,還差緩存和驗證碼的方面,這篇我講一下jpa的配置,話不多說,貼代碼。 spring-data-commons-core-1.4.0.RC1.jar和spring-data-jpa-1.2.0
原创 struts學習之入門級
學了spring mvc的一些東西,下面是我學習的struts結構,都用反射來做,其實感覺有的地方相通。 下面是web.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xml
原创 Garbage First(g1)垃圾回收器
cms優秀麼?優秀,但是對於日漸龐大的內存,特別是堆內存超過8g之後,stop the world的時間會被無限拉長,cms並不能給與太大幫助,跨代對象的掃描也是問題,更何況final remark是要掃描整個年輕代,這點看是很難接受的,
原创 spring mvc之驗證碼kaptcha
該驗證碼使用的谷歌的kaptcha,在他的基礎上去掉了模糊的屬性,和官方的jar包有區別。不廢話,貼代碼。<bean id="captchaProducer" class="com.google.code.kaptcha.impl.Def
原创 jvm,apache-commons-pool的PhantomReference引起的一次線上內存崩掉的分析
前一段時間,臨部門的兄弟泰國站的項目,系統上線二天,或者重啓之後系統總是莫名的shutdown,我對這方面比較感興趣,也處理過一些這種問題,就寫下處理的過程: 左邊是沒有修改之前的,右邊是修改之後的,分析這個問題之前,我先介紹一下工具,
原创 Concurrent Mark Sweep(cms)垃圾回收器
好長時間沒寫過博客了,突發奇想,開始寫下最近幾年的積累吧,先從Concurrent Mark Sweep(cms)開始,希望自己沒有太懶吧,堅持寫完吧,先介紹以下概念: GC ROOT 這裏我引用下RednaxelaFX的
原创 spring mvc之spring-ehcache緩存
對於緩存,有時候是增加效率的好方法。<cache:annotation-driven cache-manager="cacheManager" />
原创 關於權限表的基本設計
對於一個系統,必須嚴格的控制權限,權限表的設計是基本的。 基本的權限表有五個,即用戶表,角色表,權限表,用戶角色表,角色權限表。 下面介紹下基本字段 用戶表 useruser_id user_name password 角色表
原创 spring mvc學習(四)之工程代碼
前四篇發了spring mvc的配置,這一篇我把spring mvc的工程代碼和jar包發出來。 先發controller層的代碼 @Controller("userController") @RequestMapping("/user.
原创 android初步學習--Radiogroup使用
不廢話,先來佈局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro
原创 經典排序之快速排序
快速排序堪稱最經典的排序,思想是選一個基準值,一般選第一個。然後所有的值與基準值比較,大的位置不變, 小的位置與第一個大的位置互換,就這樣進行第一輪排序,然後對於基準值二邊的再進行排序,依次類推,直到爲剩一個。 下面是快排的代碼: pu
原创 經典排序之插入排序
插入排序的思想很簡單,就是每向有序序列中插入一個數,就把這個數依次與其他數比較,逐次替換。 下面是代碼public class InsertSort { public void insertSort(int a[]){
原创 java io流之int數組數據的插入與取出
java io流大家都很熟悉吧,有時候如果用的不熟,對於數據的處理真的很頭疼,下面是對與int數組的處理。 下面是代碼: public class Stream { private int a[]; private Buf