原创 看Java中對象引用如何嚴重影響垃圾收集器(2)

一個有問題的例子 即使如此,顯式地賦空變量能夠提高性能嗎?我們會發現我們很難相信一個對象會或多或少對程序的性能產生很大影響,直到我看到了一個在 Java Games 的 Sun 工程師給出的一個例子,這個例子包含了一個不幸的大型對象。 清

原创 如果你只會Java,那任何事看起來都是類

在軟件開發領域,有一句話經常被拿來用: 如果你手頭只有錘子,那所有東西看起來都像釘子 這句話有各種各樣的類似的說法,但最初的來源是工具定律,也叫做馬斯洛的錘子。 我是今天在閱《Head First 設計模式》這本時想到這個故事的。(一

原创 大型網站架構演變和知識體系

之前也有一些介紹大型網站架構演變的文章,例如LiveJournal的、ebay的,都是非常值得參考的,不過感覺他們講的更多的是每次演變的結果,而沒有很詳細的講爲什麼需要做這樣的演變,再加上近來感覺有不少同學都很難明白爲什麼一個網站需要

原创 高性能WEB-減少請求、響應的數據量

剩不少錢(好像很多機房託管都是按流量算錢的)。 GZIP壓縮 gzip是目前所有瀏覽器都支持的一種壓縮格式,IE6需要SP1及以上才支持(別說你還在

原创 JDK7新特性之遍歷文件樹

有時需要遞歸遍歷一個文件樹,比如查找一個文件夾內符合條件的文件,查找某一天創建的文件……。jdk7 nio包提供一個新的接口 FileVisitor。它提供了遍歷文件樹的各種操作。 preVisitDirectory - 一個路徑被訪問時

原创 高性能WEB-如何減少請求數

每次請求都會帶上一些額外的信息進行傳輸(這次請求中還沒有帶cookie),當請求的資源很小,比如1個不到1k的圖標,可能request帶的數據比實際圖標的數據量還大。所以當請求越多的時候,在網絡上傳輸的數據自然就多,傳輸速度自然就慢了。

原创 如何正確對待設計模式

 自從接觸設計模式以來,一般看到的評論是以推崇爲多。不過比較欣慰的是,最近在看《編程人生》中,有兩個人對設計模式比較不屑。   之所以欣慰,並不是因

原创 大型網站系統架構分析

千萬級的註冊用戶,千萬級的帖子,nTB級的附件,還有巨大的日訪問量,大型網站採用什麼系統架構保證性能和穩定性? 首先討論一下大型網站需要注意和考慮的問題。 數據庫海量數據處理:負載量不大的情況下select、delete和update是

原创 高性能網站建設的14個原則

原則1 減少HTTP請求數 構造請求、等待響應需要時間,因此請求數量越少越好。減少請求的總體思路就是合併資源,減少顯示一個頁面需要的文件數。 1. Image Map 通過設置<img>標籤的usemap屬性與使用<map>標籤可以在一幅

原创 Spring Social給Java帶來Social Connectivity

最近發佈的SpringSocial 1.0給人們帶來了一個通過一致的API連接社交服務的標準方法。該初始版本支持對Twitter、Facebook、GitHub與Trippit等社交服務的連接,並針對添加其他服務提供了SPI。 Sprin

原创 高性能web不錯的專題

http://developer.51cto.com/art/201104/257581.htm

原创 程序中在何處進行數據驗證

從用戶輸入數據到數據被轉化處理,往往經過很多層函數傳遞。在每個函數中都進行合法性檢查必然是謹慎的,但是這樣做無疑是對資源和性能的極大損耗。 一種做法是把所有函數分爲安全和非安全區域,把一些接口選定爲安全區域的邊界。對穿越安全區域邊界的數

原创 看Java中對象引用如何嚴重影響垃圾收集器(1)

如果您認爲 Java 遊戲開發人員是 Java 編程世界的一級方程式賽車手,那麼您就會明白爲什麼他們會如此地重視程序的性能。遊戲開發人員幾乎每天都要面對的性能問題,往往超過了一般程序員考慮問題的範圍。哪裏可以找到這些特殊的開發人員呢?Ja

原创 海量用戶積分排名算法探討

某海量用戶網站,用戶擁有積分,積分可能會在使用過程中隨時更新。現在要爲該網站設計一種算法,在每次用戶登錄時顯示其當前積分排名。用戶最大規模爲2億;積分爲非負整數,且小於100萬。 PS: 據說這是迅雷的一道面試題,不過問題本身具有很強的真

原创 雙11後續報道:“中國規模”負載背後的技術支撐

在24小時之內實現30億美元的銷售額,中國的電商巨頭阿里巴巴最近做到了這一壯舉。天貓和淘寶在處理這種規模的負載時遇到了哪些挑戰,又是如何應對這些挑戰的呢?InfoQ有機會就此向天貓和淘寶的架構師莊卓然和優曇請教了一些問題。 天貓是中國領先