原创 構建高併發高可用的電商平臺架構實踐

  一、 設計理念     1.      空間換時間 1)      多級緩存,靜態化 客戶端頁面緩存(http header中包含Expires/Cache of Control,last modified(304,server不返

原创 探索併發編程(五)------Java多線程開發技巧

很多開發者談到Java多線程開發,僅僅停留在new Thread(...).start()或直接使用Executor框架這個層面,對於線程的管理和控制卻不夠深入,通過讀《Java併發編程實踐》瞭解到了很多不爲我知但又非常重要的細節,今日整

原创 探索併發編程(三)------Java存儲模型和共享對象

很多程序員對一個共享變量初始化要注意可見性和安全發佈(安全地構建一個對象,並其他線程能正確訪問)等問題不是很理解,認爲Java是一個屏蔽內存細節的平臺,連對象回收都不需要關心,因此談到可見性和安全發佈大多不知所云。其實關鍵在於對Java存

原创 localStorage接口的使用心得

現在在移動端上的需求趨勢是越來越多,因此在PC端上不是那麼好派上場的功能接口,在移動端上是可以盡情地發揮了。這裏分享一下localStorage接口的使用心得。 一、localStorage兼容性 兩大平臺的系統版本:Andro

原创 探索併發編程(四)------Java併發工具

基於線程安全的一些原則來編程當然可以避免併發問題,但不是所有人都能寫出高質量的線程安全的代碼,並且如果代碼裏到處都是線程安全的控制也極大地影響了代碼可讀性和可維護性。因此,Java平臺爲了解決這個問題,提供了很多線程安全的類和併發工具,通

原创 Java併發性和多線程介紹

在過去單CPU時代,單任務在一個時間點只能執行單一程序。之後發展到多任務階段,計算機能在同一時間點並行執行多任務或多進程。雖然並不是真正意義上的“同一時間點”,而是多個任務或進程共享一個CPU,並交由操作系統來完成多任務間對CPU的運行切

原创 探索併發編程(六)------Java多線程性能優化

大家使用多線程無非是爲了提高性能,但如果多線程使用不當,不但性能提升不明顯,而且會使得資源消耗更大。下面列舉一下可能會造成多線程性能問題的點: 死鎖過多串行化過多鎖競爭切換上下文內存同步下面分別解析以上性能隱患 死鎖 關於死鎖,我們在學

原创 MongoDB, Cassandra, 和 HBase -- 三種NoSQL數據庫比較

英語原文: http://www.infoworld.com/article/2848722/nosql/mongodb-cassandra-hbase-three-nosql-databases-to-watch.html Hado

原创 探索併發編程(二)------寫線程安全的Java代碼

在寫Java程序的時候,何時需要進行併發控制,關鍵在於判斷這段程序或這個類是否是線程安全的。 當多個線程訪問一個類時,如果不用考慮這些線程在運行時環境下的調度和交替執行,並且不需要額外的同步,這個類的行爲仍然是正確的,那麼稱這個類是線程安

原创 探索併發編程(一)------操作系統篇

在多線程、多處理器甚至是分佈式環境的編程時代,併發是一個不可迴避的問題,很多程序員一碰到併發二字頭皮就發麻,也包括我。既然併發問題擺在面前一個到無法迴避的坎,倒不如擁抱它,把它搞清楚,決心花一定的時間從操作系統底層原理到Java的基礎編程

原创 單點登錄SSO的實現原理

單點登錄SSO(Single Sign On)說得簡單點就是在一個多系統共存的環境下,用戶在一處登錄後,就不用在其他系統中登錄,也就是用戶的一次登錄能得到其他所有系統的信任。單點登錄在大型網站裏使用得非常頻繁,例如像阿里巴巴這樣的網站,

原创 Java創建線程安全的方法

首先來看一個問題: 下面這個方法是線程安全的嗎?如何才能讓這個方法變成線程安全的? 1 public class MyCount { 2   private static int counter = 0; 3   4

原创 Nginx的TCP負載均衡介紹

Nginx Plus的商業授權版開始具有TCP負載均衡的功能。從Nginx 1.7.7版本開始加入的,現在變成了一個商業收費版本,想要試用,需要在官網申請。也就是說,Nginx除了以前常用的HTTP負載均衡外,Nginx增加基於TCP協

原创 徐漢彬:高併發Web服務的演變——節約系統內存和CPU

摘要:現在的Web系統面對的併發連接數在近幾年呈現指數增長,高併發成爲了一種常態,給Web系統帶來不小的挑戰。一味地通過增加機器來解決併發量的增長,成本是非常高昂的。結合技術優化方案,纔是更有效的解決方法。 【導讀】 徐漢彬曾在阿里

原创 mysql的表分區技術

一、概述 當 MySQL的總記錄數超過了100萬後,會出現性能的大幅度下降嗎?答案是肯定的,但是,性能下降>的比率不一而同,要看系統的架構、應用程序、還有>包括索引、服務器硬件等多種因素而定。當有網友問我這個問題的時候,我最常見的回答>