官术网_书友最值得收藏!

1.1.2 Kotlin的特性

Java 8的發布距今已有6年多,筆者在寫完本書時Java 16也快要發布了。然而在當下,只有少數的Java開發者使用了Java 11及以上版本,絕大多數Java的后端開發者還停留在使用Java 8的時代。

當然,這里有很多因素:一方面,需要考慮到系統的穩定性、遷移的成本和性價比,因為Oracle已經對JDK的商業用途進行了收費;另一方面,從Java 9開始,相對于之前的版本變化就比較大了,并不是所有的第三方庫都升級到Java 9、Java 11,因此兼容性也是需要考量的重要因素。面對這些情況,作為開發者其實還有一個不錯的選擇——使用Kotlin來編寫后端服務。

碰巧,筆者所在的團隊正好使用Kotlin作為主力的后端語言。我們用到了Kotlin大量的特性,包括函數式編程、空類型設計、智能的類型推斷、延遲加載、DSL、協程等。之所以選擇Kotlin,是因為其上手簡單,近乎完美地支持Java及其現有的主流開源框架(Spring 5對Kotlin也非常友好),代碼簡潔直觀、可讀性強,新手熟悉成本低。

另外,Kotlin的這些特性幫助我們解決了很多實際問題,例如:

· 高階函數和Lambda表達式,進一步復用代碼和簡化代碼。

· 空類型設計、Elvis表達式以及Scope Functions幫助開發者杜絕空指針的出現。

· 使用by lazy的延遲加載,在默認情況下是線程安全的。

· DSL能夠讓代碼更加清晰,對人類也更加友好。

· 協程省去了在傳統多線程并發機制中線程切換帶來的線程上下文切換、線程狀態切換、Thread初始化的性能損耗,大幅度提高了并發性能。

· Kotlin支持JDK 1.6+,因此在移動端使用Kotlin不必擔心兼容性的問題。谷歌也推薦使用Kotlin開發Android原生App。

因此,我們部門的大多數后端服務、App,甚至桌面工具都采用Kotlin或者部分使用Kotlin進行開發。

主站蜘蛛池模板: 永昌县| 池州市| 宜兰市| 思南县| 汪清县| 湘乡市| 博乐市| 衡水市| 晋中市| 西城区| 吉木乃县| 宜良县| 台北县| 安远县| 呼玛县| 台南市| 江口县| 平乐县| 乌鲁木齐县| 咸阳市| 成武县| 行唐县| 益阳市| 普陀区| 久治县| 武城县| 信宜市| 密山市| 五原县| 土默特左旗| 拉萨市| 麻江县| 霍林郭勒市| 保山市| 铁岭县| 汝阳县| 杂多县| 米泉市| 安康市| 遵化市| 南皮县|