原创 一個問題引發的對類成員指針的思考
原題轉自《程序員面試寶典》 #include <stdio.h> class A { public: A() {m_a = 1; m_b = 2;} ~A() {} void fun() {printf("
原创 各種坑爹小問題,大麻煩(持續更新)
2013.10.28 int main() { int i = 1; int b = i<<1+1; int c = i<<1 + 1;//注意這個1+1之間已經有了空格 c
原创 malloc 和 new的區別
第一: malloc 只申請空間不調用構造函數,new先開闢空間,然後調用構造函數 第二: malloc 是函數,new是關鍵字 第三:malloc返回值是一個無符號的指針void*,而new可以根據指定的類型返回相應的類型 第四:mal
原创 歸併算法的遞歸寫法
https://code.csdn.net/snippets/66881 歸併算法:介紹略,以上是代碼部分
原创 談一談無狀態和無副作用
概述 在開發系統的時候,我們經常會聽到無狀態,無副作用,以及純函數等概念。這些概念經常被人忽視,我結合自己的工作經驗,爲大家來談一下我的理解。 無狀態 對於無狀態這個詞,我們聽到最多的是無狀態函數 無狀態函數 這個概念是我們最常聽到的
原创 session 的演化過程
概述 session 是個大家很熟悉,但是又不太瞭解的朋友,網上有很多介紹 session 的文章,但是大多是 session 技術本身,但是爲什麼有 session 以及那些技術的選擇,沒有太多交代,本文是本人蒐集資料,加上一點個人
原创 Java 異常使用
背景 寫 Java 的人都知道, Java 異常是個很煩人的東西,因爲正確的處理異常並不是一件簡單的事情,一方面異常總是出人意料,另一方面,異常並不總是可見,且隱藏很深。 Java 異常的重要特性 Java 異常一個最重要的特性在於,
原创 ThreadPoolExecutor 源碼剖析之 - keepAliveTime 的實現原理
背景 Java 中的 ThreadPoolExecutor 是 JUC 包中十分重要的成員,主要提供了一個線程池管理的工作。關於它的用法,很多博客都有提及,包括 corePoolSize, 阻塞隊列 blockQueue, 最大池大小
原创 ProxyFacotroy源碼解析
ProxyFacotroy源碼解析 簡述 ProxyFacotory是spring中生成動態代理的工廠方法,其中包含很豐富的方法,本文主要在梳理ProxyFactory的繼承關係,並簡述ProxyFactory的相關用法。(注意本文是基於
原创 java內存佈局與GC
java數據區域 java虛擬機會在執行java的過程中,將其所管理的區域劃分爲幾個部分用於管理,每個區域都有自己獨立的生命週期。這些區域包括 Program Counter Register (程序計數器區) Java Virtual
原创 idea 搭建spring mvc
背景 用idea搭建spring mvc環境,網上有很多教程,但是普遍都不是很詳細,容易有遺漏。也沒有太多解釋原因。我自己總結了一個。並會附上一定的解釋。 具體步驟 新建項目 我使用的版本是IntelliJ 15.0.3 打開Int
原创 JDK 學習日記 - AbstractQueuedSynchronizer
背景 AbstractQueuedSynchronizer 簡稱 AQS 是 JDK 中 JUC 包的核心方法。包括 ReentrantLock , Semaphore , CountDownLoatch 甚至是 ThreadPoolEx
原创 Redux 學習紀要
背景 Redux 是 React 全家桶的重要一員,理解 Redux 可以更好的幫助我們開發前端項目。本文只談論概念的解讀,不講解具體的用法。 Redux 和 React-Redux 首先聲明 Redux 和 React-Redux 的區
原创 從 Java AQS 看 JUC
引文 Java JDK 中的 JUC 包,提供了非常豐富的併發工具類,包括 ReentrantLock , Semaphore , CountDownLoatch 甚至是 ThreadPoolExectur 中的 Worker 其實都是基
原创 爲什麼編程語言中需要堆和棧
概述 在我們學習 C/C++ 和 Java 等編程語言的時候經常要學習一個概念就是堆和棧,對於大部分經驗豐富的工程師來說,堆和棧是再熟悉不過的東西了,堆和棧都是存儲程序運行時變量的地方。但這個時候問題來了,既然兩個都是存儲臨時變量的地方,