原创 ftp服務器的安裝

背景簡介        最進由於工作上的原因需要搭建一臺文件服務器作爲文件服務器,這樣做主要處於兩點考慮,第一可以單獨服務器做爲獨立用途,tomcat服務器只是提供服務器使用,文件服務器提供存取文件圖片使用。第二,方便以後做tomcat集

原创 談談對Spring IOC的理解

學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴注入)這兩個概念,對於初學Spring的人來說,總覺得IoC 、DI這兩個概念是模糊不清的,是很難理解的,今天和大家分享網上的一些技術大牛們對Sprin

原创 高性能網站架構之緩存篇—Redis集羣搭建

         看過 高性能網站架構之緩存篇--Redis安裝配置和高性能網站架構之緩存篇--Redis使用配置端口轉發 這兩篇文章的,相信你已經對redis有一定的瞭解,並能夠安裝上,進行簡單的使用了,但是在咱們的實際應用中,使用re

原创 一篇文章讀懂 MySQL 中的鎖

數據庫鎖定機制簡單來說,就是數據庫爲了保證數據的一致性,而使各種共享資源在被併發訪問變得有序所設計的一種規則。對於任何一種數據庫來說都需要有相應的鎖定機制,所以 MySQL 自然也不能例外。MySQL 數據庫由於其自身架構的特點,存在多種

原创 基於 AbstractQueuedSynchronizer 的併發類實現

公平模式ReentrantLock實現原理 前面的文章研究了AbstractQueuedSynchronizer的獨佔鎖和共享鎖,有了前兩篇文章的基礎,就可以乘勝追擊,看一下基於AbstractQueuedSynchronizer

原创 Java併發編程:Lock

上一篇博客寫了synchronized, 也許有朋友會問,既然都可以通過synchronized來實現同步訪問了,那麼爲什麼還需要提供Lock?這個問題將在下面進行闡述。本文先從synchronized的缺陷講起,然後再講述java.

原创 JAVA REENTRANTLOCK、SEMAPHORE 的實現與 AQS 框架

ReentrantLock是JDK提供的一個可重入互斥鎖,所謂可重入就是同一個鎖允許被已經獲得該鎖的線程重新獲得。可重入鎖的好處可以在遞歸算法中使用鎖,不可重入鎖則導致無法在遞歸算法中使用鎖。因爲第二次遞歸時由於第一次遞歸已經佔有鎖,而

原创 消息隊列設計

消息隊列已經逐漸成爲企業IT系統內部通信的核心手段。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能,成爲異步RPC的主要手段之一。 當今市面上有很多主流的消息中間件,如老牌的ActiveMQ、RabbitMQ,炙手可熱的

原创 高性能網站架構之負載均衡 Nginx+tomcat+redis實現tomcat集羣

         上一篇文章給大家講了Nginx的安裝,那麼這篇文章爲大家講一下Nginx+Tomcat實現負載均衡。          先說說爲什麼要用ngnix 做負載均衡,其實做負載均衡的最出名的莫過於F5了,F5是在硬件設施,動輒

原创 一篇文章讀懂java線程池

在日常的工作當中,線程池是我們經常使用的。但是我們在使用過程中並沒有考慮過會不會有什麼問題,我們配置的參數是否正確,到底應該如何配置線程池的各個參數,才能使機器發揮最大的性能。所以根據作者多年的使用線程池的經驗,做本次分享,讓衆多的工程師

原创 高性能網站架構之緩存篇--Redis安裝配置

簡介      Redis是一個開源,先進的key-value存儲,並用於構建高性能,可擴展的Web應用程序的完美解決方案。      Redis從它的許多競爭繼承來的三個主要特點:           Redis數據庫完全在內存中,使用

原创 高性能網站架構之緩存篇--Redis使用配置端口轉發

          最近在學習redis,由於財力有限,所以只能選擇虛擬機練練手,本人使用的vmware 11,安裝的系統是centos6.7,redis版本是3..0.2。如何安裝請參考本人上一篇文章。         安裝完re

原创 HashMap的工作原理

1.前言     在探討HashMap源碼之前,先說一下HashCode,爲什麼呢?因爲HashMap有一個特性是Key是唯一值,如何確定key的唯一性呢,這就用到了hash算法。在HashMap(jdk1.7)的put方法實現中首先利用

原创 高性能網站架構之負載均衡 Nginx的簡介

什麼是Nginx          Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網

原创 3des 加密

有兩句話是這麼說的:  1)算法和數據結構就是編程的一個重要部分,你若失掉了算法和數據結構,你就把一切都失掉了。  2)編程就是算法和數據結構,算法和數據結構是編程的靈魂。  注意,這可不是我說的,是無數程序員總結的,話說的很實在