原创 TCP和UDP協議學習總結

TCP協議TCP:Transmission Control Protocol 傳輸控制協議主要作用:把數據流分割成適當長度的報文段之後工作機制:緊小細微型。面向連接意味着兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數據包之

原创 程序猿面試時的65個技巧性回答

1、請你自我介紹一下你自己? 回答提示:一般人回答這個問題過於平常,只說姓名、年齡、愛好、工作經驗,這些在簡歷上都有。其實,企業最希望知道的是求職者能否勝任工作,包括:最強的 技能、最深入研究的知識領域、個性中最積極的部分、做過的最成功的

原创 B樹、B-樹、B+樹、B*樹 詳細總結

B樹       即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於其關鍵字的子樹,右指針指向大於其關鍵字的

原创 動態規劃之0-1揹包問題

題目:  有 N 件物品和一個容量爲 V 的揹包。第 i 件物品的費用是 w[i],價值是 p[i]。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。  本文按照動態規劃的標準模式解析:http://blog.

原创 深入理解Java虛擬機 精華總結(面試)

一.運行時數據區域   Java虛擬機管理的內存包括幾個運行時數據內存:方法區、虛擬機棧、堆、本地方法棧、程序計數器,其中方法區和堆是由線程共享的數據區,其他幾個是線程隔離的數據區。   1.1程序計數器   程序計數器是一塊較小的內存,

原创 劍指Offer程序(java版)

面試題 2 :實現單例模式 1. 餓漢式單例類 public class SingletonClass { private static final SingletonClass instance=new Singleton

原创 秒殺系統架構分析與實戰

#0 系列目錄# 秒殺系統架構 秒殺系統架構分析與實戰 #1 秒殺業務分析# 1.正常電子商務流程 (1)查詢商品;(2)創建訂單;(3)扣減庫存;(4)更新訂單;(5)付款;(6)賣家發貨 2.秒殺業務的特性 (1)低廉價格;(2)大幅

原创 解決windows下403 Forbidden nginx/1.10.2

在windows下 http服務器nginx時,訪問web目錄提示403 Forbidden,首先需要了解nginx出現403錯誤是什麼意思:  403 Forbidden表示你在請求一個資源文件但是nginx不允許你查看,403 For

原创 緩存技術多角度詳細解讀(乾貨滿滿)

一、緩存概述 緩存是分佈式系統中的重要組件,主要解決高併發,大數據場景下,熱點數據訪問的性能問題。提供高性能的數據快速訪問。 1、緩存的原理 將數據寫入/讀取速度更快的存儲(設備); 將數據緩存到離應用最近的位置; 將數據緩存到離用戶最近

原创 分佈式高併發下唯一標識snowflake算法

簡介:在系統小時,唯一標識的產生,可以利用公用模塊來處理,比如數據庫表的唯一鍵、或者緩存的唯一id等等方式。但在分佈式高併發的系統中,如果還是這樣使用公共模塊,就會產生很大的風險和瓶頸。網上也有相關推薦的,twitter的snowflak

原创 java進修之路

1.計算機基礎: 1.1數據機構基礎: 主要學習: 1.向量,鏈表,棧,隊列和堆,詞典。熟悉 2.樹,二叉搜索樹。熟悉 3.圖,有向圖,無向圖,基本概念 4.二叉搜索A,B,C類熟練,9大排序熟悉。 5.樹的前中後,層次,之字,最短路。

原创 HashMap和HashTable精華總結

HashMap:1.HashMap的默認大小爲16,即桶數組的默認長度爲16;2.HashMap的默認裝載因子是0.75;3.HashMap內部的桶數組存儲的是Entry對象,也就是鍵值對對象。4.構造器支持指定初始容量和裝載因子,爲避免

原创 Tomcat服務器原理詳解

【目錄】本文主要講解Tomcat啓動和部署webapp時的原理和過程,以及其使用的配置文件的詳解。主要有三大部分:第一部分、Tomcat的簡介和啓動過程第二部分、Tomcat部署webapp第三部分、Tomcat處理一個http請求的過程

原创 高性能網站設計之緩存更新的套路

看到好些人在寫更新緩存數據代碼時,先刪除緩存,然後再更新數據庫,而後續的操作會把數據再裝載的緩存中。然而,這個是邏輯是錯誤的。試想,兩個併發操作,一個是更新操作,另一個是查詢操作,更新操作刪除緩存後,查詢操作沒有命中緩存,先把老數據讀出來

原创 重裝系統後mysql不用重新安裝

其實在重裝系統時如果不格式化mysql所在的盤,我們的mysql是不需要重裝的 操作: 1.創建mysql服務:   開始-->運行-->cmd  cd命令到mysql的bin目錄下(如:d:\mysql\bin)   mysqld --