原创 算法:兩數之和。

題目描述 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍。 示例 給定 nums =

原创 算法:12306的餘票算法。

我看過網上稱某寶工程師寫的12306文章,覺得狗屁不通。他們將每個站點獨立成一件商品,每次購、退票都需要查詢刪改庫存,造成巨大的數據庫操作開銷。其實這是個簡單到不能再簡單的算法。我以8個站點的班次舉例,票面現值pm每位代表一個站點,客戶乘

原创 算法:兩數相加。

題目描述 給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。 如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您可以假設除了數字 0

原创 java實現的PV操作經典例子:讀者寫者、貪睡的理髮師、生產者消費者。

其中讀者寫者和貪睡的理髮師使用的Semaphore類;生產者消費者使用的是管程。 讀者寫者 class Semaphore { int value; public Semaphore(int v) {

原创 多線程:哲學家進餐問題。

5個哲學家共用一張圓桌,分別坐在周圍的5張椅子上,在圓桌上有5個碗和5只筷子(注意是5只筷子,不是5雙),碗和筷子交替排列。他們的生活方式是交替地進行思考(thinking)和進餐(eating)。 平時,一個哲學家進行思考,飢餓時便試圖

原创 算法:初探12306售票算法。

以G71列車爲例,首先對車次站臺進行佔位編碼(從1開始到最後一站遞加)            對以上佔位簡單描述以下:G71總共18個站點那麼我們的單個座位的座位標識可以用十八位長度的二進制字符串表示10000000000000000每一

原创 JVM:常用參數含義。

參數 含義 說明 -XX:ClCompilerCount=3 最大並行編譯數 如果設置大於1,雖然編譯速度會提高,但是同樣影響系統穩定性,會增加JVM奔潰的可能 -XX:InitialHeapSize=100M 初始化堆大小 簡寫-Xms

原创 Linux:性能瓶頸。

從計算機本身的角度來考慮的話,一個請求的訪問到處理最終到返回,性能瓶頸只會是:CPU、文件IO、網絡IO、內存等因素。而一臺計算機中這些維度是有性能瓶頸的,如果某個資源消耗過多,通常會造成系統的響應速度較慢,所以增加一臺機器,使得數據庫的

原创 Excel:篩選後序號自動排序。

首先打開excel表格,按住ctrl連續序號。 然後篩選一些人名後,發現時序號不連續了。 右側重新創建一個序號列,輸入=subtotal,選擇3。 輸入完整公式=subtotal(3,B$2:B2)。 選中序號後,按住ctrl+e

原创 Excel:如何算出重複次數。

第一步:打開一個需要計算重複次數或者出現次數的Excel表格。 第二步:選中要放次數的某個單元格。 第三步:在單元格中輸入=count,會出現提示,選擇countif函數。 第四步:countif函數前半部分選擇的是整列,逗號後半

原创 Spring cloud:常見的服務組件。

圍繞springboot構建的spring cloud生態下,目前有兩類的比較的實現,一個是基於netflix、另一個是基於alibaba。 spring cloud netflix 常見的服務組件 融合在每個微服務中、依賴其他組件併爲其

原创 Excel:如何按自己的要求來自定義排序。

現在我拿到了一張表,但是上面的排列不是我想要的,我需要把他弄成我想要的排列。首先打開這張表。 比如上面這張表我想把他弄成:廣東——廣州——貴州——貴陽——四川——瀘州這樣的順序排列。首先來選中要排列的單元格。 然後在開始菜單中找到排

原创 Linux:一臺機器理論能支持的連接數。

首先,在確定最大連接數之前,大家先跟我來先了解一下系統如何標識一個tcp連接。系統用一個四元組來唯一標識一個TCP連接:(source_ip,source_port,destination_ip,destination_port),即(源