原创 數組溢界地址的正確使用: 即 int a[6] 中的 a[-1] 和 a[6] 正確使用
正如大家所知道的那樣: 數組 int a[6] , 編譯器閱讀到這句數組定義,會爲分配6個int 類型的地址;a[0] a[1] a[2] a[3] a[4] a[5]。我們 可以正確的使用這6地址內容來存放數據。而本文
原创 細說多線程
JAVA線程 java線程實現方式 實現runnable接口(無結果返回) 實現callable接口 (可以通過Future獲取返回執行結果) 直接繼承Thread類(爲一個實現runnable接口類的實例) Java
原创 如何健壯後端服務
對每一個程序員而言,故障都是懸在頭上的達摩克利斯之劍,都唯恐避之不及,如何避免故障是每一個程序員都在苦苦追尋希望解決的問題。對於這一問題,大家都可以從需求分析、架構設計 、代碼編寫、測試、code revi
原创 尋找數組N中最大(最小的)M個數(親自調試可運行)
當N很小十可以使用方法2, 當N很大時可以使用方法1,從硬盤逐次讀入解決; /*方法 1 適合大量數據 *尋找長爲N的數組的前M大的元素並輸出。 *用堆的性質,使用數組N建立一個M大的最大堆,然後輸出堆內容即可 *時間複雜度分析
原创 JVM內存管理
JVM內存管理 內存結構 JVM是按照運行時數據的存儲結構來劃分內存結構的,JVM在運行java程序時,將它們劃分成幾種不同格式的數據,分別存儲在不同的區域,這些數據統一稱爲運行時數據。運行時數據包括Java程序本身的數據信息和JVM運
原创 尋找長爲N的數組的前M大的元素並輸出
/* *尋找長爲N的數組的前M大的元素並輸出。 *用堆的性質,使用數組N建立一個M大的最小堆,遍歷數組剩餘N-M個元素,與堆頂元素比較,如果大於堆頂,則與堆頂交換,並調整堆 *最後輸出堆內容即可 *
原创 二維數組環形打印,親自調試
/*先把數據按照打印格式打印到二維數組中,然後輸出二維數組即可 *時間複雜度 O(N*M) *空間複雜度O(N*M) */ #include<stdio.h> #include<string.h> #include<stdlib.h
原创 使用 & ^ << 等 位符實現加法運算
學習過C語言的同學都知道,再寫代碼的時候,位操作運算總比算數運算操作快, 本文就是用C語言提供的位運算實現兩個數的加法。 本文使用的代碼都經過調試正常並且能夠運行,調試環境centos gcc 一下是實現代碼,以及測試結果:
原创 字符串分割到二維字符數組中:
/* *字符串分割,把一個長的字符串(可能有空格),分割到一個二維字符數組中。 *並且輸出 * *時間複雜度O(N) *注意在操作二維字符串數組時:使用“數組指針”操作能方便 int(*p)[L
原创 stl容器區別: vector list deque set map及底層實現
在STL中基本容器有: vector、list、deque、set、map set 和map都是無序的保存元素,只能通過它提供的接口對裏面的元素進行訪問 set:集合, 用來判斷某一個元素是不是在一個組裏面,使用的比較少 map:映射
原创 刪除數組中重複元素 (使用stl::set)
/* *程序作用刪除數中重複的元素,先使用set 遍歷一次數組,然後在使用兩個指針,以及set查重, *去重複之後使用0填補多餘空間 *複雜度 O(NlogN) *空間複雜度 O(N) */ #i
原创 多線程(start-point & end-point)
why 最近項目是中使用到了CountDownLatch, 小憩時間對Doug Lea在JUC包提供的這兩個類做了一些思考,這裏不提供具體的使用方法,只是寫一些對這兩個類的理解; 如有偏頗, 請斧正 場景 當有批處理任務或者類map
原创 初始分庫--分表
Auther—Motata 分庫/分表 從表由於一直對mysql數據庫不是很瞭解,而這些是必備的基礎知識,所以就花了時間從理論上對分庫/分表做了些研究希望到使用時不至於太匆忙。可能以下有些地方表述不當,個人理解有些誤區或者有錯誤,請大家指
原创 glibc 內存池管理 ptmalloc(轉)
Linux中malloc的早期版本是由DougLea實現的,它有一個重要問題就是在並行處理時多個線程共享進程的內存空間,各線程可能併發請求內存,在這種情況下應該如何保證分配和回收的正確和有效。Wolfram Gloger在Doug Le
原创 使用函數指針,完成一個sort()函數,能對任何類型的數組元素進行排序: 回調函數 以及 memcpy ()原型實現
進來複習了一下C語言指針,一直沒有寫過太多關於函數指針的代碼,而且對回調函數的理解一直都是在理論上,基本上沒有太寫過關於它的代碼,進來得空,寫了一個小程序加深下自己對回調函數和函數指針的理解。 問題描述: 編寫一個sort()函數,使它