原创 MySQL性能優化之索引優化

什麼是優化? 合理安排資源、調整系統參數使MySQL運行更快、更節省資源。 優化是多方面的,包括查詢優化、更新優化、服務器優化等很多方面。沒有特定方式特定的方法,總是要具體場景,具體分析,但是我們要掌握基本的優化手段。 原則:減少系統瓶

原创 SpringAOP神祕面紗之動態代理

1、寫代碼的原則 開閉原則 開閉原則就是說對擴展開放,對修改關閉。 2、靜態代理 以找對象爲例子講解靜態代理 張三寫代碼、玩遊戲沒空找對象 張三他

原创 秒殺---使用樂觀鎖實現或cache實現

概念 秒殺系統的特點 新品上市 價格低廉 市場造勢 大幅推廣 指定時間開售 瞬時售空 讀多寫少 秒殺系統難點 高併發、負載壓力大 競爭資源是有限的 對其他業務的影響 提防“黃牛黨” 秒殺系統應用場景 商品搶購 羣紅包 優惠卷領取

原创 觀察者模式

概念 Observer 模式是行爲模式之一, 他的作用是當一個對象的狀態發生變化時, 能攻自動通知其他關聯的對象, 自動刷新對象的狀態 Observer 模式提供給關聯對象一種同步通信的手段, 使某個對象與依賴他的其他對象之間保持狀態同

原创 MySQL學習隨記---觸發器

概念 (1) 觸發器是一個特殊的存儲過程, 他是MySQL在insert, update, delete 的時候自動執行的代碼塊 (2) 觸發器必須定義在特定的表上 (3)自動執行, 不能直接調用 作用: 監視某種情況並觸發某種操作

原创 java性能優化

性能優化 1. 減少gc的壓力, gc 線程是一個優先級比較低的線程, 他是一個守護線程(服務於主線程), 回收我們的堆內存 2. 儘量避免我們的new操作 總結 避免對象創建和GC 對象使用完成後進行置空 1、String, Stri

原创 CyclicBarrier和CountDownLatch

CyclicBarrier CyclicBarrier初始化時規定一個數目,然後計算調用了CyclicBarrier.await()進入等待的線程數。當線程數達到了這個數目時,所有進入等待狀態的線程被喚醒並繼續。 CyclicBarri

原创 手寫數據庫連接池

概述 不使用連接池的缺點: tcp連接三次握手消耗時間 消耗內存嚴重 使用池化思想, 達到連接的可複用, 節省時間和資源 代碼 連接池接口 package jdbcPool; public interface IPool {

原创 手寫SpringMVC框架

springmvc在項目中的作用 處理請求,把請求分發到不同的類和方法中 ioc 依賴注入,創建實例。配置的方式和annotation的方式,今天實現annotation的方式 aop 動態代理,事物控制,讓程序員只專注於寫自己的業務代

原创 阻塞隊列ArrayBlockingQueue

隊列包含固定長度隊列和不固定長度隊列 ArrayBlockingQueue 固定長度的阻塞隊列 只有put()和take()方法才具有阻塞功能 代碼 package mutithread.blockingqueue; import ja

原创 Exchanger

用於實現兩個人(線程)之間的數據交換, 每個人(線程)在完成一定的事務後想與對方交換數據, 第一個先拿出數據的人(線程)將一直等待第二個人(線程)拿着數據到來時, 才能交換數據, 例如毒品交易—哈哈 代碼 package mutithre

原创 30 個java編程技巧(最佳實踐的初學者)

http://www.envicloud.cn/pages/news/235.html#4

原创 redis主從

關係型數據庫和NOSQL的比較 關係型數據庫的優勢 保持數據的一致性(事務處理) 可以進行Join等複雜查詢 其中能夠保持數據的一致性是關係型數據庫的最大優勢 關係型數據庫的不足 大量數據的寫入處理需要等待 爲有數據更新的表做索引或

原创 通過註解實現通用導出Excel

http://huangjiaxing.iteye.com/blog/2148824

原创 HashMap那些事

1. 什麼是hash 它是一個任意長度的二進制值通過一個映射關係(哈希算法---相當於大學裏面的學號的一個映射規則)轉換成一個固定長度的二進制值(哈希值---相當於我們大學裏面的學號) 任意長度的二進制值 和 固定長度的二進制值 是一個