日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路

發布時間:2024/4/17 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.jobbole.com/111422

Java 生態圈

Java 的生態環境開放、自由,在Sun/Oracle、Google、Apache、Eclipse基金會等各大廠商,還有技術大牛的共同努力下,Java 的生態圈異常繁榮,各種優秀的開源框架層出不窮。

Spring Boot

Spring Boot 是 Pivotal 團隊推出的一個支持快速開發的框架,伴隨 Spring4.0 而生,繼承了 Spring 的優秀特質,簡化了使用 Spring 編碼、配置、部署的過程,使項目的開發變得簡單、敏捷。

Spring Cloud

Spring Cloud 是基于 Spring Boot 的一整套分布式系統下的微服務構建框架,包含了眾多的子項目,如 Spring Cloud Config 、Spring Cloud Stream 等。

具體可參考:http://projects.spring.io/spring-cloud/

Hadoop/Spark

Hadoop 是首個獲得極大應用的大數據框架,是大數據領域標志性的解決方案。

Spark 通過完善的內存計算和處理優化,極大的提升了速度,是具備流處理能力的下一代批處理框架。

Spark 體系還包括一系列附加庫,如Spark Streaming 、Spark MLlib、Spark GraphX、SparkNet、CaffeOnSpark等。

Kafka

Kafka 是 LinkedIn 使用 Scala 開發的一個分布式消息中間件,可以實現不同應用之間的松耦合,由于其可擴展、高吞吐、低延遲、高可靠等特性而被廣泛使用。

具體可參考:https://kafka.apache.org/intro

ElasticSearch

ElasticSearch 是基于 Lucene 的實時分布式搜索引擎,由于其搜索穩定、可靠,速度快、安裝方便等特點,是使用最廣泛的開源搜索引擎之一。

具體可參考《Elasticsearch: 權威指南》:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

Nutch

Nutch 是 Apache 旗下的高度可擴展、可伸縮、可插拔的開源網絡爬蟲框架,功能完整。

當然爬出框架還有很多:Heritrix、Crawler4j、WebCollector、WebMagic、SeimiCrawler、HtmlUnit 等,可根據實際項目需要選擇。

在爬蟲領域,Python 可能使用的更多一些,入門也簡單。

爬蟲的難點不在于語言的選擇,無論 Java 、Python 都可以勝任,關鍵還是反反爬策略的制定,以及各種實戰的積累。

ethereumj

ethereumj 是以太坊協議的純 Java 實現。不過在區塊鏈領域,Go 語言的使用率可能更高一些。開發人員可以酌情選擇。

代碼可參考:https://github.com/ethereum/ethereumj

Deeplearning4J

DeepLearning4J(DL4J)是基于Java語言的分布式深度學習框架,在機器學習領域應用廣泛。

入門可以參考《DL4J快速入門》:https://deeplearning4j.org/cn/quickstart

不過由于谷歌的 TensorFlow 提供的 java API 也會日趨完善,目前不少 java 程序員也會選擇 TensorFlow 作為機器學習的首選框架。

以上只是個人正在使用或練手,并且比較看好的一些開源框架。如果想了解更多,可以去 Github 上搜索。

?

JVM 語系

Java 功能強大、生態豐富,已無需多言。但類型、語法與編程范式方面,存在一些局限性,也長期為人所詬病。

所以,有不少開發人員試圖去尋求其他語言,既可以突破 Java 的這些局限,又可以與 Java 和諧共處。

Java 的祖師爺們也是非常明智,一開始就將編程語言 Java 與運行時環境 JVM 分離。

JVM 負責與操作系統的交互,屏蔽了具體操作系統的細節,制訂了一整套生成字節碼的規范,使得前面這一構想得以順利實施。

如今有眾多語言運行在 JVM 上,Groovy、Scala、Kotlin、Clojure 可能算得上是其中的佼佼者。

Groovy

Groovy 是類似 Ruby 的動態語言,適合編寫腳本、插件、測試例,DSL (領域特定語言)等。知名的自動化建構工具 Gradle 主要就基于 Groovy 。

Scala

Scala 的設計初衷,就是在 JVM 上整合面向對象與函數式編程的各種特性。

大名鼎鼎的大數據處理框架 Spark、消息中間件 Kafka、用于構建可容錯,可擴展、高并發應用的Akka,都是基于 Scala 語言編寫。

Kotlin

前幾日剛升級為 Android 官方開發語言的 Kotlin ,近期是一個熱門。從前面講到的 Github 上的 star 指數也可窺見一斑。

基于 Kotlin 的庫和框架、官方工具的支持、教學視頻、文檔等,也肯定會層出不窮。

Clojure

Clojure 被認為是基于 JVM 的 Lisp 方言,是函數式編程的鐵桿。知名的大數據處理框架 Storm 主要就是由 Clojure 語言編寫而成。

Ceylon

Ceylon 是面向企業級應用設計開發的強靜態類型編程語言,支持 Java 和 JavaScript 虛擬機。

具體可參考:https://ceylon-lang.org/documentation/current/

下圖是 2017 年的 JVM 語言使用率調查:

來源:Baeldung,鏈接:http://www.baeldung.com/java-in-2017

注:Groovy 達到了將近40%的份額,有點出乎我的意料。另外,得益于谷歌這么推一把,Kotlin 后續的比例有望來個大躍進。

2008 年開始,Oracle主辦的 JVM 語言峰會,為 JVM 語系的架構師、設計師、工程師,提供了非常好的開放式合作的機遇。

順便說一下,今年的 JVM 語言峰會,時間:7月31日~8月2日,地點:Oracle Santa Clara Campus,有興趣的童鞋可以關注一下。

作為一名 Java 程序員,如果要選擇第二門編程語言、或想來個多語言編程的話,選擇 JVM 系的語言顯然是一個非常不錯的選擇。

選擇 JVM 系語言的一大優勢是,前期可以使用熟悉的 Java 搭架子,局部功能優先嘗試一下新語言,如此風險最小,與 Java 可以實現無縫切換。

至于具體如何選擇,就要看你在功能性、實用性、舒適性、有趣性之間,如何取舍了。

結語

Java 自身在性能、語法、編程范式等方面,也是在不斷地提高改進。

譬如 Java 8 引入了 Lambda 表達式、Optional、Streams、Date/Time API 等,Java 9 帶來了 Jigsaw(模塊化)等。

Java 程序員可以適時的與時俱進。

不過,谷歌等其他廠商由于對 Java 不具備掌控力,還有吃官司的風險,尋求 Java 的替代方案,動機是存在的。

所以,作為 Java 程序員,過于依賴 Java,也是比較有風險的。

適時的主動去改變,不要讓自己哪天陷于被動。

除了學習第二、第三編程語言,程序員可以把更多的重心,放在算法上。

以后的生活無處不算法,從娛樂影視推薦、新聞資訊過濾,到出行購物、住宿交友等等,我們都離不開算法。

盡管許多優秀的算法,包括最前沿的深度學習學法,都會有大牛奉獻開源實現,但只有其中的原理深刻理解了,才能掌握、并利用好這些算法。

后記

技術的更迭,有時候會來的很突然,很猛烈。但系統的更迭,往往會慢得多。

譬如 Cobol 語言,盡管語言本身隕落已超過 20 年,依然能在銀行、證券、保險、電信等行業領域里見到 Cobol 的身影。

即使幾年之后,Java 因各種陰差陽錯、機緣巧合,開始走向隕落,Java 程序員們再混個 20 年,也是毫無壓力。

因為 Java 常年占據編程語言前列(榜首),目前有太多的平臺使用 Java 了。

Amazon、Google、eBay、阿里、京東、銀行、證券、醫療、移動、電信、ERP等等。

各個領域,各行各業,Java 程序員吃老本也能再吃個 20 年……

當然,這只是 Java 抽中了下下簽,您又恰巧選擇了下下策。但愿不會如此。

總結

以上是生活随笔為你收集整理的Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。