原创 NO.1 方法參數按“值”而非按“引用”方式傳遞 | Java敲黑板系列

基本概念 方法(也稱函數)調用是程序設計語言一種最基本的功能。一個完整的方法聲明一般包括了返回值、方法名稱、方法參數三個基本要素,俗稱“三朵金花”。今天我們主要來談談這金蘭三姐妹中的幺妹——方法參數。 方法被調用其中有一個重要的

原创 NO.8 異常: 願您歸來還是少年 | Java敲黑板系列

開場白 老鐵 :可能大家會有這樣一個疑問,異常不就是那幾點嗎?需要這樣分幾期來介紹嗎?我的回答是:需要,非常有需求且必要。對異常的處理直接決定了我們程序的健壯性。想想程序不就是由所謂的“正常”與“異常”組成的嗎?再想想我們程序

原创 NO.5 不平凡的螺絲釘:String兄弟連 | Java敲黑板系列

開場白 老鐵:最近兩天雙11電商購物節鬧得沸沸揚揚,賣家使出全身解數搞促銷,買家把積攢了一年的購物熱情也在這一天盡情釋放,共同創造着一年又一年新的奇蹟,不斷對當前世界上最強計算力、運輸力等發起挑戰。可以這麼說,中國電子商務的發達程

原创 NO.4 我是Java大廈的一塊磚:何謂對象與對象引用 ?| Java敲黑板系列

開場白 老鐵 :歡迎大家準時收看“Java敲黑板系列”。今天我們的節目首先從一句話開始:“每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的數據是什麼類型。你是直接操縱元素,還是用某種基於特殊語法的間接表示

原创 NO.3 厲害了,clone哥 | Java敲黑板系列

開場白 老鐵 :今天我們“Java敲黑板系列”迎來了一位特殊嘉賓:他是Java家族頂級boss——Object的“左右護法”之一的“右護法” ——clone方法。他爲什麼會有這樣的名望?江湖上給了他一個稱號——“造物主”。那麼

原创 NO.7 異常: 相處之道 | Java敲黑板系列

開場白 老鐵:昨天我們對異常的來源、定義、控制流執行邏輯等方面進行了梳理。既然異常無法避免,那麼如何與異常和平共處就顯得尤爲重要,今天我們來談談與異常的相處之道。 其中,“不要忽視”、“不要丟棄”是與異常相處之道中最重要的兩條,下

原创 NO.2 equals與==的三生三世 | Java敲黑板系列

開場白 在Java家族裏,“equals”與“==”是最容易讓老鐵混淆、分不清楚的一對表兄弟。爲了便於大家提升對他們的辨識度,老鐵專門對他們進行了採訪,以下是採訪實錄。 老鐵 :應廣大老鐵們要求,今天我們非常幸會請來了“eq

原创 NO.6 異常: 初識 | Java敲黑板系列

開場白 老鐵:在Java世界裏,異常的出現讓我們編寫的程序運行起來更加的健壯,同時爲程序在調試、運行期間發生的一些意外情況,提供了補救機會;即使遇到一些嚴重錯誤而無法彌補,異常也會非常忠實的記錄所發生的這一切。 今天來到我們第6期

原创 JDK1.8 ArrayDeque源碼閱讀

概述 ArrayDeque是一個數組實現的雙端隊列,它不是線程安全的,並且不允許操作null值,把他當做棧使用時,要比Stack(Stack是線程安全的,使用synchronized修飾方法)更高效,當隊列使用時,要比LinkedLi

原创 maven項目下的PDF文件在classpath下是亂碼

在使用maven構建的項目中增加了一個pdf文件,然後訪問時發現沒有內容,文件被破壞 解決方法: 在pom文件中增加: <plugin> <artifactId>maven-r

原创 第四章、分治策略 -- 最大子數組問題

最大子數組問題 最大子數組問題是尋找數組中和最大的非空連續子數組,這樣的連續子數組爲最大子數組。 使用分治策略的求解方法 首先是分解問題,把數組A[low…high]A[low…high]A[low…high]劃分成兩個規模儘量相等的

原创 第三章、函數的增長 --標準記號與常用函數

單調性 若m≤nm\leq nm≤n蘊含f(m)≤f(n)f(m)\leq f(n)f(m)≤f(n),則函數f(n)是單調遞增的f(n)是單調遞增的f(n)是單調遞增的。 若m≤nm\leq nm≤n蘊含f(m)≥f(n)f(m)\

原创 第三章、函數的增長 -- 漸近記號

漸近記號、函數與運行時間 Θ記號\Theta記號Θ記號 對一個給定的函數g(n)g(n)g(n),用Θ(g(n))\Theta(g(n))Θ(g(n))來表示一下函數的集合: Θ(g(n))={f(n):存在正常量c1、c2和n0,使

原创 第二章、算法基礎 -- 插入排序

插入排序 對於少量元素的排序,插入排序是個有效的算法。其排序方法如同我們平時排序撲克牌一般,現在我們開始排序撲克牌,目前我們的左手爲空,桌面上的牌堆全部牌面向下,然後我們拿起牌堆頂部的一張牌,由於此時手裏沒牌,所以不用比較,直接放到手

原创 第一章、算法在計算中的作用 -- 算法解決哪種問題

算法解決哪種問題 排序。 數據庫存取海量信息併爲數據分析開發工具。 互聯網上的網站能夠管理跟處理海量的信息。包括:數據傳輸尋找好的路由(第24章),使用一個搜索引擎來快速地找到特定信息所在的網頁(第11章跟第32章)。 加密個人信息