原创 Etag、Expires、Last-Modified

本文對頁面中Etag和Expires標識處理,使得頁面更加有效被Cache。 在客戶端通過瀏覽器發出第一次請求某一個URL時,根據 HTTP 協議的規定,瀏覽器會向服務器傳送報頭(Http Request Header),服務器端響應同

原创 算法時間複雜度分析基礎

摘要      本文論述了在算法分析領域一個重要問題——時間複雜度分析的基礎內容。本文將首先明確時間複雜度的意義,而後以形式化方式論述其在數學上的定義及相關推導。從而幫助大家從本質上認清這個概念。前言      通常,對於一個給定的算法,

原创 查找和排序

1.查找 線性表、樹表、哈希表 1.1線性表 順序查找、折半查找、分塊查找 1.1.1順序查找。 順序查找。 1.1.2折半查找 折半查找,只適用於有序表,且僅限於順序存儲結構,對線性鏈表無法進行有效的折半查找(折半查找low會指向一個元

原创 螺旋矩陣

1.螺旋矩陣--從內向外旋轉    73   74   75   76   77   78   79   80  81   72   43   44   45   46   47   48   49   50   71   42   21

原创 如何設計好的RESTful API 之好的RESTful API 特徵

導讀:設計好RESTful API對於軟件架構的可擴展性、可伸縮性和消費者的體驗都具有至關重要的作用。本次虛擬研討會的主題是,如何設計好的RESTful API。 關鍵詞:RESTful API REST OAuth協議  REST架

原创 Java HashMap的死循環

在淘寶內網裏看到同事發了貼說了一個CPU被100%的線上故障,並且這個事發生了很多次,原因是在Java語言在併發情況下使用HashMap造成Race

原创 zigzag數組

#include"stdafx.h" #include<iostream> using namespace std; int main(){ int n; cin>>n; int s,i,j; int squa; int *

原创 Java HashMap的工作原理

面試的時候經常會遇見諸如:“java中的HashMap是怎麼工作的”,“HashMap的get和put內部的工作原理”這樣的問題。本文將用一個簡單的例子來解釋下HashMap內部的工作原理。首先我們從一個例子開始,而不僅僅是從理論上,這樣

原创 用最小堆將k個已排序鏈表合併爲一個排序鏈表

問題:請給出一個時間爲O(nlgk),用來將k個已排序鏈表合併爲一個排序鏈表的算法。此處的n爲所有輸入鏈表中元素的總數。 編程思路: 假設k個鏈表都是非降序排列的。 (1)取k個元素建立最小堆,這k個元素分別是k個鏈表的第一個元素。建堆的

原创 理解HTTP冪等性

基於HTTP協議的Web API是時下最爲流行的一種分佈式服務提供方式。無論是在大型互聯網應用還是企業級架構中,我們都見到了越來越多的SOA或RESTful的Web API。爲什麼Web API如此流行呢?我認爲很大程度上應歸功於簡單有效

原创 如何設計好的RESTful API之安全性

導讀:安全是恆久的話題,對於基於WSDL和SOAP的Web Service,我們有WS-Security這樣的安全規範來指導實現認證、授權、身份管理等安全需求。如何保證RESTful API的安全性呢。 關鍵詞:RESTful API 

原创 得墨忒耳定律 (Law of Demeter,縮寫LoD)

前言 這篇文章中,我想談一談得墨忒耳定律(Law of Demeter,縮寫LoD)。我覺得這個主題對於寫出一手簡潔、精心設計和易於維護的代碼,是極其重要的。 根據我的經驗,看到這條規則被打破,往往意味着我可以嗅到一股糟糕的設計在其中。而

原创 什麼是字符串常量池

在理解字符串常量前,我們先熟悉一下如何創建一個字符串,在Java中有兩種方法可以創建一個字符串對象: 使用new運算符。例如: 1 String str = new String("Hello"); 使用字符串常量或者

原创 字符串匹配算法

KMP算法 字符串匹配是計算機的基本任務之一。 舉例來說,有一個字符串"BBC ABCDAB ABCDABCDABDE",我想知道,裏面是否包含另一個字符串"ABCDABD"? 許多算法可以完成這個任務,Knuth-Morris-Pr

原创 進程的虛擬地址空間

        32位機器,每個程序有4G的虛擬地址空間。大致分爲4塊,從低地址到高地址依次是:NULL區,用戶區,隔離區,核心區。用戶私有的數據都在用戶區(當然這個區裏又可以細分,其中也包括一部分可以共享的內容),系統內核等東西都在覈心