Author name: Balicanta

北歐無印風裝潢開箱

在我們七、八年級生的心裡,有一間屬於自己的房子,一直以來都是一個很奢持的想法。經過工作了幾年的努力,存了一點錢,終於能在遠的要命王國找一個安身立命的地方。

Intellij 小秘訣

今年 Intellij 幾乎已經完全取代 Eclipse 成為我工作上的 IDE,一開始其實只是因為 Eclipse 沒辦法提供透過 Camel case 的方式來找到特定的 class,所以才開始找別的 IDE ,不過現在 Eclipse 似乎也行了。 慢慢的用著 Intellij 發現 JetBrain 真的是很用心在做這個 IDE,很多小細節都幫忙處理了,不過缺點還是相對吃了多一點的資源,還有些人會介意需要安裝。 用 Intellij 有幾個好處: 待改進:

Java Unsigned Type

What is unsigned type unsigned type 是說,假設 int 能夠放 100 ~ -100,給了 int unsigend 就能夠處理 0~ 200 的數值,不需透過更大的資料型別例如 Long 來解決。 像 C 語言是有支援 unsigned type , 沒有 unsigned type 的缺點是必須要花兩倍的 memory 來處理一個相似的問題, 另外一個是可讀性的問題,當看到一個變數是 unsigend,就能清楚的知道,肯定不會有負數出現。 Why Java didn’t support unsigned type 至於為什麼 Java 不支援,可能 有幾個原因: 我認為比較有可能的理由,是單純化這種原始型別,不常用的情境,就不要過度設計了。

String and String Pool

Java 中 String 是常常在操作的類別,字串在記憶體的管理上有一點點的特殊, 當透過 String name = “Balicanta”; 來宣告一個字串的時候,其實會到 String Pool 裡面找是否有一樣的字串,如果有那就不會去建立一個新的字串,而會讓兩個 reference 指到同一個位置,以確保 memory 使用的效率。 String Immutable Java 中的字串一旦宣告,他就不會再被變動了,這樣設計主要有三個理由: System.identityHashCode 作用 這個方法的作用是,找到一個 Object 的 HashCode。意思是說常常會複寫掉 Object 提供的 hashcode,讓我們看不出 Object 的 hashCode 是什麼,identityHashCode 可以直接印出 Object 的 HashCode,所以可以透過 identityHashCode 來驗證是否真的有 String Pool 的概念。 上面的例子說明幾件事: 在過去 JDK 6 String Pool 是會占用 PermGen 的空間,但從 JDK 7 開始把 String Pool …

String and String Pool Read More »

Scroll to Top