Java 頻道 | CodeData
top

Java 開發者的函數式程式設計(5)JDK8 預設方法

By caterpillar | 2013/08/06

讓我們回歸到 Java 的現實世界吧!Java 的語法是用來定義抽象資料型態,以命令式風格來撰寫程式,它允許可變動的變數與物件,所以之前的文章是純屬娛樂嗎?

JavaFX Layout Part 1

By Michael | 2013/08/05

設計一個應用程式需要的畫面,應該要先選擇適合的畫面配置方式,JavaFX提供這些主要的畫面配置元件,它們可以包含一些需要的元件,組合成應用程式需要的畫面…

Java 開發者的函數式程式設計(4)不可變特性

By caterpillar | 2013/07/31

如果程式流程中有可變的變數,因為要改變它們的值太簡單了,反而使得問題難以切割為子問題;使用了非區域變數的方法可能有副作用,也就是說,在給定相同引數的情況下,方法可能傳回不同的結果,因為這些方法有看不到的輸入與輸出;如果物件狀態可變,物件就會是副作用的集合體...

李小e 的 EJB 奮鬥札記(一)Session Bean 的存取模式與介面

By Eric | 2013/07/26

在 2013/05/28 所推出的EJB 3.2 新規格,雖不像 3.1 時那般的大刀闊斧,但仍舊承襲了簡化 EJB 的精神,將 Entity Bean及 JAX-RPC 為基礎的 Web Service 端點(End Point)等相關技術移出主要規格外,使 EJB 的規格一分為二:核心(Core)與非必要(Optional)兩種...

Java 開發者的函數式程式設計(3)List 處理模式

By caterpillar | 2013/07/24

如果以函數式風格來編寫程式,你會很容易發覺函式間具有相近結構,因而能輕易地提煉為更高階的抽象以進行重用,這邊提到的 filter、map 與 reduce 就是個不錯的例子。一旦你能夠函數式地思考,你就能夠發現更多高階的抽象。

【Guava 教學】(8)你需要的其實是範圍(Range)?

By caterpillar | 2013/07/23

實際上,你需要的或許只是範圍,那麼用 Range 就足夠了,如果真的需要逐一取得範圍中的不連續元素,搭配 DiscreteDomain 就可以達到目的,而且不用一開始就建立所有的元素,只需在必要的時候取用即可。

Java 開發者的函數式程式設計(2)代數資料型態

By caterpillar | 2013/07/19

我們大多熟悉物件導向程式設計,熟悉抽象資料型態(Abstract data type, ADT)。抽象資料型態的模型中封裝了資料結構與實作,僅透露互動時的公開介面;然而,代數資料型態(Algebraic data type)相對地曝露了基本的資料結構及規律性,在函數式程式設計的領域中,代數資料型態是基本元素。

【Guava 教學】(7)Multiset、Multimap 與 BiMap

By caterpillar | 2013/07/18

如果有個清單,想要取得清單中不重複的元素,最快的方式就是使用 JDK 中的 Set。如果不單只是計數,在後續迭代時也想要取得重複元素呢?程式碼當然可以自己撰寫,只不過 Guava 的 Multiset 實作將這些細節都封裝起來了…

Java 開發者的函數式程式設計(1)初探函數式程式設計

By caterpillar | 2013/07/15

如果使用的語言並非函數式語言,你不能不假思索地直接套用函數式設計的所有概念,否則就有可能事倍功半,可讀性與效能都會變差。如果你想進行純函數式程式設計...只有先瞭解函數式設計的本質,才可以讓我們明瞭,如何適當地擷取函數式設計的概念。

【Guava 教學】(6)不可變群集

By caterpillar | 2013/07/11

不可變物件(Immutable object)有許多好處,像是在並行(Concurrent)程式設計時,因為就不用擔心那些執行緒共用競爭的問題; 在面對資料處理問題時,需要一些群集(Collection)物件,像是有序的清單(List)、收集不重複物件的集合(Set)等,這些群集物件若是不可變,那麼就有可能共用資料結構,達到節省時間及空間之目的。

Java 好書介紹

  • Java SE 7 技術手冊 林信良 著
  • Java SE 7 全方位學習 朱仲傑 著

熱門技術文章

最新論壇文章