讀書筆記5-《crazy java》
switch語句表示式只能是如下5種資料型別:
1. byte
2. short
3. int
4. char
5. enum
使用if…else語句有一條基本的規則:總是優先把包含範圍小的條件放到前面處理。
對於if語句而言,如果緊跟該語句的是花括號括起來的語句塊,那麼該if語句將控制花括號括起來的語句塊,如果省略了if語句後條件執行體的花括號,那它僅僅控制到緊跟該語句的第一個分號為止。
對於if、while、for語句後跟的是花括號括起來的語句塊,則控制的為該語句塊,否則語句的作用範圍只到該語句之後的第一個分號之後結束。
省略花括號的原則:
大部分的時候,如果迴圈體只包含一條語句,那麼就可以省略迴圈體的花括號;但如果是迴圈體只包含一條區域性變數的定義語句,那依然不可以省略迴圈體的花括號。
for迴圈的初始化條件可以同時定義多個變數,但由於只能接受一條語句,因此這兩個變數的資料型別應該相同,只能用逗號作為分隔符。
使用foreach迴圈迭代陣列、集合時,迴圈計數器知識儲存了當前正在遍歷的陣列元素、集合元素的值、並不是陣列元素、集合元素本身,因此不要對foreach迴圈的迴圈計數器進行賦值。
相關推薦
讀書筆記5-《crazy java》
switch語句表示式只能是如下5種資料型別: 1. byte 2. short 3. int 4. char 5. enum 使用if…else語句有一條基本的規則:總是優先把包含範圍小的條件放到前面處理。 對於if語句而言,如果緊跟該語句的是花
《java並發編程實戰》讀書筆記5--任務執行, Executor框架
調度 生產 頁面 acc 消費者模式 退出 融合 可能 第一篇 6.1 在線程中執行任務 第一步要找出清晰的任務邊界。大多數服務器應用程序都提供了一種自然的任務邊界選擇方式:以獨立的請求為邊界。 -6.6.1 串行地執行任務 最簡單的任務調度策略是在單個線程中串行地執行各項
讀書筆記-《Effective Java》第5條:避免建立不必要的物件
1. 這種寫法每次執行都會建立一個物件(存放於堆)。 String str1 = new String("ttt"); 改進後(存放於方法區常量池),當常量池已存在,則不會重複建立。 String str2 = "ttt"; 2. 應優先使用基本資料型別(int、long
Java 讀書筆記 5
初始化與清理 1.過載和區分過載 : 書上例子很好,洗衣服,洗車,洗狗;同樣都是洗,卻洗的是不一樣的東西,似乎用一個名字做不同的事情,理所應當; 而且呢,還告訴我們為什麼不一樣,因為給的引數不一樣,當來著是衣服的時候,就用洗衣服的方式來洗,如果是車,就用車
《大型網站技術架構:核心原理與案例分析》-- 讀書筆記 (5) :網購秒殺系統
案例 並發 刷新 隨機 url 對策 -- 技術 動態生成 1. 秒殺活動的技術挑戰及應對策略 1.1 對現有網站業務造成沖擊 秒殺活動具有時間短,並發訪問量大的特點,必然會對現有業務造成沖擊。對策:秒殺系統獨立部署 1.2 高並發下的應用、
[隨筆][Java][讀書筆記][thinking in java][第十四章 類型信息]
found 構造 att main 數組 test 第一個 eating urn 主要理解如何在運行時獲取類型信息。主要有兩種方式:一是RTTI,假定我們在編譯時已經知道了所有的類型;二是反射機制,允許在運行時發現和使用類的信息。 14.1 為什麽需要RTTI 一個多
[隨筆][Java][讀書筆記][thinking in java][第十章 內部類]
10.6 效果 getc tps 啟動 implement bool 多個 tina 可以將一個類定義在另一個類的內部,這就是內部類。 10.1 創建內部類 public class Parcell { class Contents { priv
[隨筆][Java][讀書筆記][thinking in java][第十八章 Java I/O系統]
參數 數列 == tar 目錄樹 返回 匿名類 string 筆記 18.1 File類 目錄列表器。兩種方法使用File對象查看一個目錄列表。 import java.util.regex.*; import java.io.*; import java.util.*
python自然語言處理-讀書筆記5
#使用UniCode進行文書處理 #Unicode支援超過一百萬種字元。每個字元分配一個編號,稱為編碼點。在 Python中, 編碼點寫作\uXXXX 的形式,其中 XXXX是四位十六進位制形式數。 #從檔案中提取已編碼文字 import codecs path = nltk.data.fin
讀書筆記-深入理解Java虛擬機器#2
一、物件已死 引用計數演算法,引用加1,失效減1;為0時被回收。 可達分析演算法,從GC Root開始搜尋,當一個物件在GC ROOT沒有任何引用鏈則物件不可用。 GC ROOT 物件包括下面幾種: 1.虛擬機器棧中引用的物件; 2.方法區中類靜態屬
讀書筆記5:引用型別
本章節內容多且碎,也都是非常基礎的內容,但同時因為其基礎,往往容易被忽略,所以本章整理會有較多的細節,內容比較繁瑣。 #1 類和物件 ECMAScript 中,引用型別是一種資料結構,用於將資料和功能組織在一起。 (1)類的概念 類的實質是一種資料型別,類似
《WCDMA空中介面技術》讀書筆記5: R99 業務過程
工作在WCDMA RBS系統上很多年了,感覺RBS系統絕對是世界上最複雜的系統之一;除了要基於通訊原理和3GPP協議來實現,還要考慮到:空口資源、硬體資源、功率分配、系統容量、監控管理、系統排程... ...而一本好書《WCDMA空中介面技術》恰恰是對我這麼多年工作的
讀書筆記-《Effective Java》第10、11條:覆蓋toString方法與clone方法
第10條 始終要覆蓋toString方法 提供合適的輸出,會經常用到。 第11條 謹慎地覆蓋clone 特別注意(謹慎的源頭) 如果直接使用super.clone(),那麼基本資料型別會複製,但是物件、陣列這種型別就會只複製引用。 也就是說如果修改clo
讀書筆記-《Effective Java》第9條:覆蓋equals時總要覆蓋hashCode
如果覆蓋equals方法卻不覆蓋hashCode方法,那麼就很有可能出現兩個物件equals方法返回true,但hashCode卻不一致的情況,例如:在HashMap中取不到正確的value。 HashMap的get方法是用hashCode匹配的。 public V get(Obje
讀書筆記-《Effective Java》第8條:覆蓋equals時請遵守通用約定
如果覆蓋equals方法的目的是判斷物件之間是否相等,那麼使用超類(Object)的方法即可。 public boolean equals(Object obj) { return (this == obj); } 在覆蓋equals方法的時候,必須要遵守它的通用約
讀書筆記-《Effective Java》第6條:消除過期的物件引用
記憶體洩漏的三種可能 1. 類自己管理記憶體,一旦元素被釋放掉,則該元素中包含的任何物件引用都應該被清空。 例如:ArrayList類的remove方法。 elementData[--size] = null; // clear to let GC do its wor
讀書筆記-《Effective Java》第3條、第4條: 強化Singleton屬性—私有構造器或者列舉型別
第3條:用私有構造器或者列舉型別強化Singleton屬性 把構造器私有這個是單例基本要求,本條介紹了一種不知道為啥沒有流行起來的單例方式(實現Singleton的最佳方式),包含單個元素的列舉型別(INSTANCE不是關鍵字,寫別的也行) package org.test; p
讀書筆記-《Effective Java》第2條:遇到多個構造器引數時要考慮用構建器
當一個類有很多個屬性時,建立物件的時候要麼就先建立個物件然後給物件賦值,要麼就根據業務需要寫很多個構造器, 這樣的構造器可讀性差。就算用靜態工廠也得寫很多個,這時候就可以用構建器了。 例如: package org.test; public class People { pr
讀書筆記-《Effective Java》第1條:考慮用靜態工廠方法代替構造器
優勢 它們有名稱 構造器沒有名稱, 當一個類有多個構造器的時候就不容易分清楚哪個是自己想要的。 不必在每次呼叫它們的時候都建立一個新物件 如果新建立的物件的成員屬性是可以重用的, 那麼可以先把第一次建立的物件儲存起來,以後想用的時候就不用
Lucene讀書筆記——5. 高階搜尋技術
Lucene域快取 為所有文件載入域值 float[] weigths = FieldCache.DEFAULT.getFloats(reader, "weight"); weights[docid] = the value of weight field. 域快取只能