java8升级java12_为什么现在是升级到Java 8的最佳时机
java8升級java12
有興趣了解如何通過AppDynamics充分利用Java 8的新功能嗎? 立即開始免費試用 !
今年3月,Oracle發(fā)布了近十年來最受期待的版本Java8。自發(fā)布以來,最新版本引起了越來越多的關(guān)注,各種規(guī)模的公司都渴望升級。
我們的合作伙伴Typesafe對2,800名開發(fā)人員進(jìn)行了Java 8采用情況調(diào)查,發(fā)現(xiàn)65%的公司已承諾在發(fā)布日期的前24個月內(nèi)采用這種方法。
Typesafe的調(diào)查證實了InfoQ對開發(fā)人員的調(diào)查 ,該調(diào)查指出61%的開發(fā)人員致力于采用Java8。下面方便的熱圖顯示了開發(fā)人員如何興奮地開始使用Java 8并利用了lambda表達(dá)式,日期和時間以及Nashon等新功能。 JavaScript引擎。 在我看來,lambda表達(dá)式是迄今為止最令人興奮的Java 8新功能。
那么,為什么人們對Java 8感到如此興奮?
Lambda表達(dá)式和流處理
這些是什么?
Lambda表達(dá)式可以說是Java 8發(fā)行版中最令人興奮和有趣的新功能。 該功能本身不僅令工程師興奮,其含義還將對靈活性和生產(chǎn)率產(chǎn)生巨大影響。
Lambda表達(dá)式本質(zhì)上是一個匿名函數(shù),通常可以將其作為命名函數(shù)調(diào)用,也可以作為參數(shù)傳遞給高階函數(shù)。 lambda的引入為主要面向?qū)ο蟮木幊汰h(huán)境打開了函數(shù)式編程的各個方面,使您的代碼更加簡潔和靈活。
為什么有用?
考慮從給定用戶的家庭流解析Twitter數(shù)據(jù)的任務(wù)。 具體來說,我們將創(chuàng)建一個單詞長度映射到用戶家庭流中相同長度的單詞列表。
例如:
應(yīng)該產(chǎn)生:
{2=[so, an], 3=[are, for], 4=[wont, here, some, tips], 7=[extreme], 8=[programs, makeover], 9=[sometimes, uninstall], 11=[misbehaving, application] }當(dāng)然,對于許多推文,這些數(shù)據(jù)都是匯總的。
使用傳統(tǒng)的Java循環(huán)構(gòu)造,可以解決以下問題:
讓我們逐步分解正在發(fā)生的事情:
–獲取Twitter主頁時間線
–對于每種狀態(tài)
- 提取文字
- 刪除標(biāo)點符號
- 收集一大堆單詞
–每個字
- 過濾HTTP鏈接和空詞
- 將單詞添加到長度映射到相同長度的單詞列表
現(xiàn)在,讓我們考慮使用流處理和lambda的解決方案:
lambda解決方案遵循相同的邏輯,并且明顯更短。 要啟動,可以很容易地并行化此解決方案。 下面列出的是下一個并行執(zhí)行相同處理的下一版本:
盡管是出于說明目的而設(shè)計的示例,但此處的含義是深刻的。
通過添加lambda表達(dá)式,可以更快地開發(fā)代碼,使代碼更清晰,整體上更靈活。
彈性代碼
如前所述,添加lambda表達(dá)式的含義是巨大的。 靈活的代碼是此功能的最大優(yōu)點之一。 在當(dāng)今的敏捷和快速發(fā)布的工程環(huán)境中,必須對代碼進(jìn)行更改。 Java終于開始縮小了其他更靈活的編程語言的差距。
作為另一個示例,讓我們考慮對Twitter處理器的增強請求。 簡而言之,我們希望獲取被認(rèn)為“有趣”的Twitter時間軸狀態(tài)列表。 具體而言,轉(zhuǎn)發(fā)計數(shù)大于1,并且狀態(tài)文本包含單詞“ awesome”。 實施起來非常簡單,如下所述:
現(xiàn)在,在以后的某個時間點,假設(shè)產(chǎn)品管理人員決定改變一條消息變得有趣的含義。 具體來說,我們需要提供一個用戶界面,用戶可以在該界面上根據(jù)一組可用的標(biāo)準(zhǔn)指示如何將Tweet視為有趣的內(nèi)容。
這帶來了一系列有趣的挑戰(zhàn)。 首先,用戶界面應(yīng)提供一組可用的過濾條件的表示。 更重要的是,該表示形式應(yīng)在Twitter處理器中體現(xiàn)為代碼中應(yīng)用的一組正式過濾條件。 一種方法是參數(shù)化過濾器,以便調(diào)用代碼指定該條件。 該策略如下所示:
這使調(diào)用代碼可以指定由UI組件實現(xiàn)的任意過濾條件。
通過消除對時間軸從施加的條件中進(jìn)行過濾的歧義,代碼現(xiàn)在足夠靈活,可以接受任意過濾條件。
完整的代碼詳細(xì)信息可以在下面的Github存儲庫中找到 。
摘要
簡而言之,Java 8中的lambda表達(dá)式使開發(fā)清晰明了的代碼成為可能,同時最大程度地提高了靈活性以保持對未來更改的響應(yīng)。
工程師和整個公司的工作效率更高,他們可以花更多的時間在功能上進(jìn)行新產(chǎn)品的創(chuàng)新,而不是將大部分時間用于解決現(xiàn)有問題和消除錯誤。 有了AppDynamics Java 8支持,您終于可以騰出一些時間,提高效率,并重新開始創(chuàng)新。
在整個Java環(huán)境中實現(xiàn)AppDynamics之后,Priceline.com的工程副總裁Giri Nathan表示:“ AppDynamics APM解決方案通過讓我們即時檢測任何新代碼來提高敏捷性,” Nathan說。 “我們可以監(jiān)視從servlet和Enterprise JavaBeans入口點到JDBC出口點的所有內(nèi)容,這使我們能夠從頭到尾查看事務(wù)。”
有興趣了解如何通過AppDynamics充分利用Java 8的新功能嗎? 立即開始免費試用 !
翻譯自: https://www.javacodegeeks.com/2015/01/why-now-is-the-perfect-time-to-upgrade-to-java-8.html
java8升級java12
總結(jié)
以上是生活随笔為你收集整理的java8升级java12_为什么现在是升级到Java 8的最佳时机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdk8集合类流_JDK 8中的流驱动的
- 下一篇: java常见的ide_在三个Java I