原创 Java編程思想讀書筆記——持有對象

第十一章 持有對象 集合類:對象類型爲List、Set、Queue和Map的類型。 11.1 泛型和類型安全的容器 使用預定義的泛型容器可以保存特定類型的對象,無論存取都不必關心類型轉換。 該類型的子類對象也可以通過向上轉型,存入到泛型容

原创 Java編程思想讀書筆記——泛型(四)

15.15 混型 混型:混合多個類的能力,以產生一個可以表示混型中所有類型的類。 15.15.1 C++中的混型 15.15.2 與接口混合 使用接口產生混型效果: package com.mzm.chapter15; import j

原创 Java編程思想讀書筆記——字符串

第十三章 字符串 13.1 不可變String String對象是不可變的(不能夠原地修改),具備只讀特性。String類中每一個修改String值的方法,實際上是創建了一個新的String對象。 當把String對象作爲方法的參數時,都

原创 Java編程思想讀書筆記——泛型(一)

第十五章 泛型 15.1 與C++的比較 15.2 簡單泛型 泛型類 package com.mzm.chapter15; /** * * 泛型類,持有泛化類型的對象,取出對象無需轉型 */ public class Holde

原创 Java編程思想讀書筆記——通過異常處理錯誤(二)

12.7 Java標準異常 Throwable可以表示任何作爲異常被拋出的類,其可分爲兩類對象:Error和Exception。 Error表示編譯時和系統錯誤,一般不需關心; Exception表示可以被拋出的基本類型,通常關心該類型

原创 Java編程思想讀書筆記——通過異常處理錯誤(一)

第十二章 通過異常處理錯誤 12.1 概念 12.2 基本異常 異常情形(exceptional condition):阻止當前方法或作用域繼續執行的問題。 普通問題:在當前環境下能得到足夠的信息,總能處理的問題。 當程序遇到異常情形而

原创 Java編程思想讀書筆記——多態

第八章 多態 多態(動態綁定、後期綁定或運行時綁定)分離做什麼和怎麼做,從另外一個角度講接口和實現分離。 8.1 再論向上轉型 將一個對象的引用同時看作其父類的引用的做法稱爲向上轉型。 8.1.1 忘記對象類型 在方法中只接受父類作爲參數

原创 Java編程思想讀書筆記——控制執行流程

第四章 控制執行流程 4.1 true和false 所有的條件語句都利用條件表達式的真或假來決定執行路徑。 4.2 if-else 三種形式 if(Boolean-expression){ Statement } if(Boo

原创 Java編程思想讀書筆記——類型信息

第十四章 類型信息 14.1 爲什麼需要RTTI RTTI(Run-Time Type Identification):運行時類型識別。 從數組中取出元素是RTTI最基本的使用形式。 14.2 Class對象 Class對象包含了與類有

原创 Java編程思想讀書筆記——泛型(二)

15.7 擦除的神祕之處 泛型的類型與類型參數無關。 package com.mzm.chapter15; import java.util.ArrayList; /** * 泛型的類型不受類型參數的影響 * */ publi

原创 Java編程思想讀書筆記——泛型(三)

15.11 問題 15.11.1 任何基本類型都不能作爲類型參數 對於基本類型,只能使用對應的包裝類來作爲類型參數。這又涉及到自動裝箱和自動拆箱的問題,會對性能造成一定的影響。 Org.apache.commons.collectiio

原创 Java編程思想讀書筆記——初始化與清理(一)

第五章 初始化與清理 5.1 用構造器確保初始化 Java中也有類似C++中的構造器(constructor)的概念,其名稱與類名相同,沒有返回值。 在創建對象時,將會爲對象分配存儲空間,並調用相應的構造器。 構造器按參數的有無劃分爲無

原创 Java編程思想讀書筆記——複用類

第七章 複用類 組合和繼承是複用類的兩種主要方式。 7.1 組合語法 組合只需將對象引用置於新類中即可。這些引用的初始化方式有四種: 1) 在定義對象的地方進行初始化,即在創建新類對象前就被初始化; 2) 在新類的構造器中初始化;

原创 拉鍊表簡介

拉鍊表簡介(轉載,以mysql爲例) 在數據倉庫中,經常會用歷史數據和時間維度做數據分析。而保存歷史數據最常見的方案是使用拉鍊表進行存儲。 首先創建測試表: create table deal_order ( order_id v

原创 Java編程思想讀書筆記——內部類

第十章 內部類 將一個類定義在另一個類的內部,這就是內部類。 10.1 創建內部類 創建內部類的方式就是將類的定義置於外部類的裏面即可。 如果需要在外部類之外創建內部類的對象,需要顯式地指明對象的類型。 OuterClassName.I