原创 讓人眼前一亮的算法------一致性Hash

背景 隨着時代的發展,數據量與日俱增,相比縱向擴展單機的性能,人們更傾向於橫向擴展,將多臺一般的廉價機器組成集羣來充當超級計算機,節省了大量的成本,代價是極大地增加了系統的複雜性。爲了應對這些複雜性,一批又一批分佈式領域的技術相繼誕生,其

原创 深入理解Java虛擬機------第一章走進java

一章是對java的產生,歷史的整體介紹 java的使用很廣泛,安裝jdk的時候會看到一句廣告語runs in 10 billions machines。使用java的設備多達幾十億臺 1.概述 優點: 擺脫了平臺的限制,一次編寫,到處運

原创 深入理解java虛擬機------第二章Java內存區域與內存溢出異常

Java與C++之間有一堵由內存動態分配和垃圾收集技術所圍成的"高牆",牆外面的人想進去,牆裏面的人卻想出來。 2.1 概述 對於Java程序員來說,在虛擬機自動內存管理機制的幫助下,不需要爲每一個new操作去寫配對的delete/fre

原创 讓人眼前一亮的算法------布隆過濾器

問題 假設你現在要處理這樣一個問題,你有一個網站並且擁有很多訪客,每當有用戶訪問時,你想知道這個ip是不是第一次訪問你的網站。這是一個很常見的場景,爲了完成這個功能,你很容易就會想到下面這個解決方案: 把訪客的ip存進一個hash表中,每

原创 Javaweb中分頁功能的實現

一 完成後端分頁類的封裝 1. 後端分頁功能的基本算法思想: 參數準備: public class Pager<T> { private int page = 1;// 當前頁號 private int limit = 10;//

原创 求給一次複試機會

2010年https://www.cnblogs.com/southernEast/p/12431357.html 2011年https://www.cnblogs.com/southernEast/p/12438905.html 201

原创 C中break和continue的用法和區別

前面已經介紹過 break 語句,它不僅可以跳出“循環體”,還可以跳出 switch。但事實上,break 也只能用於這兩種情況。break 語句不能用於循環語句和 switch 語句之外的任何其他語句中。 不管是 for 循環,還是 w

原创 求斐波那契數列的三種方法------遞歸法、for循環法、快速冪矩陣法

1 遞歸法求斐波那契數列,時間複雜度O(n^2),實現代碼如下: #include <iostream> using namespace std; int Fib(int n) { if(n <= 2) return 1; els

原创 讓人眼前一亮的算法------時間輪

從定時任務說起     自然界中定時任務無處不在,太陽每天東昇西落,候鳥的遷徙,樹木的年輪,人們每天按時上班,每個月按時發工資、交房租,四季輪換,潮漲潮落,等等,從某種意義上說,都可以認爲是定時任務。 大概很少有人想過,這些“定時”是怎樣

原创 讓人眼前一亮的算法------唯一ID生成器snowflake

分佈式全局唯一ID生成器 很多場景需要使用全局唯一ID,用來標識唯一一條消息,唯一一筆交易,唯一一個用戶,唯一一張圖片等等。 傳統數據庫表的自增主鍵是很簡單的一種實現方式,前提是你沒有分庫,也沒有分表,如果你分表了,id就會重複,失去唯一

原创 C++ 複製構造函數被調用的三種情況

Point類  class Point{ public: Point(int xx, int yy){ //構造函數 x = xx; y = yy; } Point(Point &p); //複製構造函數

原创 Redis緩存技術

https://blog.csdn.net/qq_42737056/article/details/86531310 點贊 收藏 分享 文章舉報 忘記時間的小白 發佈了170

原创 統計二叉樹中不平衡節點樹的個數

題目:寫一個算法,統計二叉樹中不平衡結點樹的個數。若一個樹的左子樹高度和右子樹高度之差的絕對值大於1,則表明該節點爲不平衡結點。 一般寫法: /*題目:寫一個算法,統計二叉樹中不平衡結點樹的個數。 若一個樹的左子樹高度和右子樹高度之差的

原创 判斷一個圖裏是否有環

題目:利用並差集(disjoint_set)判斷一個圖裏是否有環   一般代碼: /*利用並差集(disjoint_set)判斷一個圖裏是否有環 */ #include <iostream> # define VERTICES 6 /

原创 disjoint_set並查集

disjoint_set並查集 :可用於統計森林裏有幾棵樹 //disjoint_set並查集 #include <iostream> using namespace std; int parent[1000]; //初始化數組