一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java永不落伍

科技數(shù)碼 ? 來(lái)源:科技數(shù)碼 ? 作者:科技數(shù)碼 ? 2023-04-28 14:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

唱衰 Java 的聲音由來(lái)已久。

尤其是近幾年,云原生時(shí)代的到來(lái),軟件的交付方式發(fā)生了根本性變化,Java 遭受了諸多質(zhì)疑。

傳統(tǒng)領(lǐng)域的 Java 開(kāi)發(fā),交付的是 Java 應(yīng)用本身,具體體現(xiàn)在以 “jar”“war” 的形式交付,而云原生最佳實(shí)踐,則是基于微服務(wù)形式,以容器為基本交付單位,并在 K8S 中編排。云原生應(yīng)用要求更快速的啟動(dòng)、強(qiáng)調(diào)資源按量消費(fèi),彈性擴(kuò)展,以及可觀測(cè)性等。就這一層面而言,在云原生時(shí)代,Java 的缺陷確實(shí)是天然存在的。

“事實(shí)上,Java技術(shù)在云原生時(shí)代也在不停地進(jìn)化。”面對(duì)唱衰 Java 的諸多論調(diào),阿里云程序語(yǔ)言與編譯器團(tuán)隊(duì)負(fù)責(zé)人、Java Champion 李三紅選擇理性看待。

” 比如更多支持容器部署的特性已經(jīng)加入到 OpenJDK 版本。 一直被人詬病的 Java 啟動(dòng)慢的問(wèn)題,目前基于 OpenJDK 技術(shù)的幾個(gè)創(chuàng)新項(xiàng)目正在多個(gè)不同方向探索,包括 CRaC (Coordinated Restore at Checkpoint) 、Leyden,以及由阿里和 Google 作為主要貢獻(xiàn)者的 Fast Startup Incubator 等項(xiàng)目。在資源彈性使用方面,由 Alibaba Dragonwell 提供的 ElasticHeap 功能,主要目的是解決云計(jì)算環(huán)境下 Java 內(nèi)存資源使用的彈性問(wèn)題。 最后,OpenJDK 的 JFR 以及 JFR Streaming 技術(shù)為構(gòu)建 Java 云原生可觀測(cè)工具提供了重要的技術(shù)支撐?!?/span>

Java面臨的挑戰(zhàn),不僅僅是云原生。

李三紅認(rèn)為,從 1995 年 Java 1.0 發(fā)布算起, Java 技術(shù)這二十多年的發(fā)展,大致存在一明一暗兩條線的驅(qū)動(dòng)?!耙粭l暗線,是指 Java 或者說(shuō)支撐 Java 的底層 JVM 技術(shù)適配計(jì)算機(jī)架構(gòu)的演進(jìn)與發(fā)展。一條明線,是指 Java 作為一個(gè)開(kāi)發(fā)者工具,本質(zhì)是要面向業(yè)務(wù)領(lǐng)域解決業(yè)務(wù)問(wèn)題的,所以自然而然地推動(dòng)了 Java 在云原生,AI 等方向的演進(jìn),解決這些領(lǐng)域內(nèi)碰到的問(wèn)題與挑戰(zhàn)?!?/p>

后摩爾時(shí)代,算力增長(zhǎng)放緩,更多利用多核,SIMD(單指令多數(shù)據(jù)流)等并行計(jì)算技術(shù),以及異構(gòu)來(lái)釋放更大的算力。相較于 C/C++ 這些傳統(tǒng)編譯型語(yǔ)言,Java 處在軟件棧的更高抽象級(jí)別,自帶 Java 標(biāo)準(zhǔn)庫(kù),以及運(yùn)行時(shí)環(huán)境,這也給 Java 創(chuàng)新帶來(lái)了更多的空間以及可能性。

李三紅指出,Java在多核、異構(gòu)加速領(lǐng)域做了多方面的探索,適應(yīng)與優(yōu)化。比如,OpenJDK 孵化的 Vector API 項(xiàng)目,依賴(lài) CPU 的 SIMD 指令,獲得計(jì)算性能的成倍提升。即將發(fā)布的 OpenJDK 19 引入了 Virtual Threads (Preview),旨在幫助 Java 開(kāi)發(fā)者高效處理并發(fā) (尤其針對(duì) IO 密集型場(chǎng)景) 。而在異構(gòu)領(lǐng)域,早 2014 年 JVM 技術(shù)峰會(huì),AMD 就分享了 Sumatra 項(xiàng)目,嘗試實(shí)現(xiàn) JVM 與 Heterogeneous System Architecture 目標(biāo)硬件交互。由 The University of Manchester 發(fā)起的 TornadoVM 項(xiàng)目,目標(biāo)是幫助 Java 開(kāi)發(fā)者不需要了解 GPU 編程語(yǔ)言或者相關(guān)的 GPU 體系結(jié)構(gòu)知識(shí)就可以編寫(xiě)面向異構(gòu)的并行程序。

在AI方向上,Java也在與時(shí)俱進(jìn)。據(jù)李三紅介紹,在企業(yè)計(jì)算領(lǐng)域,Java 是被使用最多的語(yǔ)言之一,但對(duì)于機(jī)器學(xué)習(xí)領(lǐng)域的開(kāi)發(fā),Java 一直缺乏標(biāo)準(zhǔn)支持,這個(gè)方向其實(shí)在 JCP-EC 討論也比較多。

基于 Java SE 技術(shù),在 JCP 流程內(nèi)推動(dòng)并最終在 2022 年定稿的 JSR 381 規(guī)范,其目標(biāo)就是為不同領(lǐng)域的 Java 機(jī)器學(xué)習(xí)開(kāi)發(fā)提供通用的可重用設(shè)計(jì)。JSR 381 定義了標(biāo)準(zhǔn)的 Java API,提供了基本機(jī)器學(xué)習(xí)、圖像分類(lèi)和對(duì)象識(shí)別方面的處理能力?!耙蕾?lài)于不同的機(jī)器學(xué)習(xí)平臺(tái),如 TensorFlow, MXNet 以及 DeepNett 等,JSR-381 提供了不同的實(shí)現(xiàn)。對(duì)于 Java 生態(tài)內(nèi)的開(kāi)發(fā)者來(lái)說(shuō),不必再去學(xué)習(xí) Python, 可以依賴(lài) JSR-381 VisRec API 去構(gòu)建你的 AI 應(yīng)用?!?/p>

現(xiàn)實(shí)中,Java應(yīng)用的版本升級(jí)是較為緩慢的。Java 11 (OpenJDK11)距離 2018 年發(fā)布已經(jīng)過(guò)去四年多,目前國(guó)內(nèi)大多數(shù)的用戶(hù)仍然停留在 Java 8。李三紅認(rèn)為,動(dòng)力不足是多方面的,對(duì)開(kāi)發(fā)者來(lái)說(shuō)最直接的原因可能是擔(dān)心升級(jí)后兼容性帶來(lái)的穩(wěn)定性問(wèn)題,會(huì)直接影響業(yè)務(wù)的連續(xù)性。

這種問(wèn)題并不罕見(jiàn)。令人振奮的是,處于 Java 生態(tài)中的企業(yè)正在貢獻(xiàn)自己的力量。阿里內(nèi)部在大規(guī)模地往 Java 11、 Java 17 遷移的時(shí)候,總結(jié)了不少的經(jīng)驗(yàn),并且將這些經(jīng)驗(yàn)通過(guò)工具的方式沉淀下來(lái)。最后阿里開(kāi)源了 EMT4J (Eclipse Migration Toolkit for Java) ,能夠幫助 Java 應(yīng)用無(wú)縫升級(jí)最新版本 JDK, 主要支持從 Java 8 到 Java 11,以及 17 的升級(jí)。

李三紅還補(bǔ)充道,對(duì)于 Java 版本的升級(jí)問(wèn)題,還可以從另一個(gè)角度 ——Software Sustainability—— 來(lái)進(jìn)一步探討。

“由 Titus Winter 等編寫(xiě)的《Software Engineering at Google - Lessons Learned from Programming Over Time》一書(shū)中,談到了組織的 Codebase Sustainability 概念,強(qiáng)調(diào)了兩個(gè)核心理念: 第一,無(wú)論應(yīng)對(duì)的是技術(shù)需求,還是業(yè)務(wù)需求,軟件代碼應(yīng)當(dāng)可以做一切應(yīng)該做的改變。 第二,這些改變帶來(lái)的影響是安全的。

“回到 Java 版本升級(jí)這個(gè)問(wèn)題,我們?cè)陂_(kāi)發(fā) Java 應(yīng)用的時(shí)候,建議應(yīng)用架構(gòu)師們把 Java 版本升級(jí)納入到 Software Sustainability 這個(gè)維度下考量,對(duì)代碼開(kāi)發(fā)規(guī)范進(jìn)行相關(guān)的約束。例如,不要讓你的代碼依賴(lài) JDK 內(nèi)部不公開(kāi)的 API,不要讓你的實(shí)現(xiàn)依賴(lài)特定的 JDK 版本行為,不要使用被 Deprecated 的 API 等等。架構(gòu)的目標(biāo)應(yīng)當(dāng)考慮 Code Sustainability,讓你的 Java 應(yīng)用可以在任何時(shí)候根據(jù)實(shí)際需要平滑升級(jí)到不同 JDK 版本,不應(yīng)當(dāng)因?yàn)榇a缺乏 Sustainability 而導(dǎo)致的盡量少的版本升級(jí)?!?/p>

李三紅對(duì)Java的未來(lái)充滿信心,源于他在JVM領(lǐng)域耕耘多年,不僅深入了解Java特性,并且有能力進(jìn)行創(chuàng)新性研究。

在加入阿里之前,李三紅一直在 IBM Java 技術(shù)中心,參與 J9 虛擬機(jī)開(kāi)發(fā),期間領(lǐng)導(dǎo)了 JVM 多租戶(hù)項(xiàng)目。目前就職于阿里云,領(lǐng)導(dǎo)程序語(yǔ)言與編譯器團(tuán)隊(duì),主要的工作是結(jié)合阿里、螞蟻及云上各業(yè)務(wù)的需求,在編譯器、語(yǔ)言運(yùn)行時(shí)等基礎(chǔ)領(lǐng)域進(jìn)行研究創(chuàng)新。目前,在語(yǔ)言工具鏈這塊,已經(jīng)形成 Alibaba Dragonwell (Java 生態(tài)), Alibaba Cloud Compiler (C++ 生態(tài)) 等多個(gè)產(chǎn)品來(lái)支撐其業(yè)務(wù),語(yǔ)言工具鏈相關(guān)的開(kāi)源技術(shù)也在為龍蜥社區(qū)的開(kāi)發(fā)者提供支持。

2020 年,李三紅獲得了 Java 技術(shù)領(lǐng)導(dǎo)者社區(qū) Java Champions 推薦,被授予 Java Champion 榮譽(yù)。Java Champion 由 Java 社區(qū)成員提名,并且必須得到現(xiàn)有 Java Champions 成員的一致同意。唯有為 Java / JVM 生態(tài)系統(tǒng)做出重要貢獻(xiàn)的專(zhuān)家才能獲此榮譽(yù)。

去年,阿里云第三次入選 JCP 最高執(zhí)行委員會(huì) (JCP-EC), 作為阿里云在 JCP-EC 的代表,李三紅一直在參與 JCP-EC 領(lǐng)導(dǎo)下的相關(guān) Java 標(biāo)準(zhǔn)討論制定工作。

GOTC 2023很榮幸邀請(qǐng)到李三紅擔(dān)任 “基礎(chǔ)設(shè)施與軟件架構(gòu)” 分論壇的出品人。該分論壇入選的議題,是經(jīng)過(guò)了李三紅和大會(huì)組委會(huì)深入討論,精心安排的。希望從多個(gè)維度,最大程度覆蓋了基礎(chǔ)軟件各領(lǐng)域的介紹分享。既有最底層芯片技術(shù) (RISC-V) 的話題,也包括了像 C++、Java 語(yǔ)言運(yùn)行時(shí)的內(nèi)容,還包含了應(yīng)用最廣泛的中間件 Dubbo、RocketMQ、 Kafka 等內(nèi)容的分享。

2023 年 5 月 28 日,GOTC 2023 “基礎(chǔ)設(shè)施與軟件架構(gòu)” 分論壇將為開(kāi)發(fā)者們提供基礎(chǔ)架構(gòu)領(lǐng)域最豐富、最前沿、以及最具技術(shù)性的內(nèi)容分享。期待各位的蒞臨。

全球開(kāi)源技術(shù)峰會(huì)(Global Open-source Technology Conference),簡(jiǎn)稱(chēng) GOTC,是由開(kāi)放原子開(kāi)源基金會(huì)、 Linux 基金會(huì)亞太區(qū)、上海浦東軟件園和開(kāi)源中國(guó)聯(lián)合發(fā)起的,面向全球開(kāi)發(fā)者的一場(chǎng)盛大開(kāi)源技術(shù)盛宴。 5 月 27 日至 28 日,GOTC 2023 將于上海舉辦為期 2 天的開(kāi)源行業(yè)盛會(huì)。大會(huì)將以行業(yè)展覽、主題發(fā)言、特別論壇、分論壇的形式展現(xiàn),與會(huì)者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區(qū)塊鏈等熱門(mén)技術(shù)主題,以及開(kāi)源社區(qū)、AIGC、汽車(chē)軟件、開(kāi)源商業(yè)化、開(kāi)源教育培訓(xùn)、云原生等熱門(mén)話題,探討開(kāi)源未來(lái),助力開(kāi)源發(fā)展。

GOTC 2023報(bào)名通道現(xiàn)已開(kāi)啟,誠(chéng)邀全球各技術(shù)領(lǐng)域開(kāi)源愛(ài)好者共襄盛舉!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2988

    瀏覽量

    108664
  • 阿里云
    +關(guān)注

    關(guān)注

    3

    文章

    1007

    瀏覽量

    44029
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Java開(kāi)發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開(kāi)發(fā)者在用?

    Perforce JRebel是一款Java開(kāi)發(fā)效率工具,旨在幫助java開(kāi)發(fā)人員更快地編寫(xiě)更好的應(yīng)用程序。JRebel可即時(shí)重新加載對(duì)代碼的修改,無(wú)需重啟或重新部署應(yīng)用程序,就能讓開(kāi)發(fā)者即時(shí)看到代碼更改的效果,從而縮短開(kāi)發(fā)、調(diào)試和測(cè)試周期,大大提升開(kāi)發(fā)效率。
    的頭像 發(fā)表于 04-27 13:44 ?236次閱讀
    <b class='flag-5'>Java</b>開(kāi)發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b>開(kāi)發(fā)者在用?

    KENWOOD建 KR-V7080 KR-V8080功放維修手冊(cè)

    一臺(tái)健KR-V7080功放無(wú)聲,顯示正常,救助# KENWOOD建 KR-V7080 電路圖
    發(fā)表于 03-30 20:21

    樹(shù)莓派復(fù)古游戲機(jī):用科技重現(xiàn)經(jīng)典,讓童年永不落幕!

    復(fù)古游戲機(jī)是一種能讓你玩經(jīng)典游戲機(jī)上的視頻游戲的設(shè)備。有了復(fù)古游戲機(jī),你可以玩來(lái)自Atari的《太空侵略者》和《吃豆人》,或者來(lái)自NintendoNES的《超級(jí)馬里奧兄弟》。甚至還能玩來(lái)自SegaGenesis的《刺猬索尼克》。通過(guò)使用游戲模擬軟件,你可以將這些老式游戲機(jī)上的游戲安裝到RaspberryPi上,就像過(guò)去一樣暢玩。RetroPie游戲模擬軟件h
    的頭像 發(fā)表于 03-25 09:28 ?431次閱讀
    樹(shù)莓派復(fù)古游戲機(jī):用科技重現(xiàn)經(jīng)典,讓童年<b class='flag-5'>永不落</b>幕!

    Java應(yīng)用OOM問(wèn)題的排查過(guò)程

    導(dǎo)讀 本文記錄最近一例Java應(yīng)用OOM問(wèn)題的排查過(guò)程,希望可以給遇到類(lèi)似問(wèn)題的同學(xué)提供參考。 前言:此文記錄最近一例Java應(yīng)用OOM問(wèn)題的排查過(guò)程,希望可以給遇到類(lèi)似問(wèn)題的同學(xué)提供參考。在本地
    的頭像 發(fā)表于 02-12 11:15 ?617次閱讀
    <b class='flag-5'>Java</b>應(yīng)用OOM問(wèn)題的排查過(guò)程

    Java 23功能介紹

    Java 23 包含全新和更新的 Java 語(yǔ)言功能、核心 API 以及 JVM,同時(shí)適合新的 Java 開(kāi)發(fā)者和高級(jí)開(kāi)發(fā)者。從?IntelliJ IDEA 2024.2?開(kāi)始已支持 Java
    的頭像 發(fā)表于 12-04 10:02 ?938次閱讀
    <b class='flag-5'>Java</b> 23功能介紹

    爾特集團(tuán)與蔚來(lái)汽車(chē)戰(zhàn)略合作一周年

    日前,蔚來(lái)汽車(chē)副總裁Mr. Peter Hu和Mr. Carlos Wu,以及戰(zhàn)略合作總監(jiān)Mr. Yang Liu等一行7人應(yīng)邀到爾特集團(tuán)的沈陽(yáng)工業(yè)園參加了這場(chǎng)慶?;顒?dòng)。爾特集團(tuán)中國(guó)區(qū)
    的頭像 發(fā)表于 11-25 18:08 ?922次閱讀

    Java集合API的改進(jìn)介紹

    解答這些問(wèn)題。 我們將逐步學(xué)習(xí) Java 集合類(lèi)的優(yōu)化過(guò)程,并按版本逐一對(duì)比分析。主要討論的焦點(diǎn)將包括 JDK 1.0、1.2、1.4、1.5、1.6、1.8、9、10、11 和 21 版本的 Java 集合功能 Java 集合
    的頭像 發(fā)表于 11-22 11:12 ?540次閱讀
    <b class='flag-5'>Java</b>集合API的改進(jìn)介紹

    安森美與爾特電子攜手升級(jí)高精度電力電子應(yīng)用虛擬設(shè)計(jì)

    功率損耗模型生成工具現(xiàn)已包含無(wú)源元件,可更精準(zhǔn)地進(jìn)行設(shè)計(jì)建模,幫助客戶(hù)加快產(chǎn)品上市 ? 中國(guó)上海 ,2024 年 11 月 14 日 —— 安森美 (onsemi) 和爾特電子(Würth
    發(fā)表于 11-15 11:53 ?217次閱讀
    安森美與<b class='flag-5'>伍</b>爾特電子攜手升級(jí)高精度電力電子應(yīng)用虛擬設(shè)計(jì)

    對(duì)比Python與Java編程語(yǔ)言

    Python與Java都是目前非常流行的編程語(yǔ)言,它們各有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景。以下是對(duì)這兩種編程語(yǔ)言的對(duì)比: 一、語(yǔ)法和易用性 Python 語(yǔ)法簡(jiǎn)潔,代碼更易讀,非常適合初學(xué)者。 動(dòng)態(tài)類(lèi)型系統(tǒng)
    的頭像 發(fā)表于 11-15 09:31 ?991次閱讀

    基于Java的工具Power Stage Designer

    電子發(fā)燒友網(wǎng)站提供《基于Java的工具Power Stage Designer.pdf》資料免費(fèi)下載
    發(fā)表于 11-14 16:01 ?9次下載
    基于<b class='flag-5'>Java</b>的工具Power Stage Designer

    Java中時(shí)間戳的使用

    Java中時(shí)間戳的使用
    的頭像 發(fā)表于 11-06 16:04 ?488次閱讀
    <b class='flag-5'>Java</b>中時(shí)間戳的使用

    爾特電子USB Type-C產(chǎn)品方案

    爾特電子提供完整的解決方案,包括連接器、EMI濾波器、ESD保護(hù)器件,以及符合USB 3.1標(biāo)準(zhǔn)的AC/DC和DC/DC電源。
    的頭像 發(fā)表于 11-06 14:34 ?861次閱讀
    <b class='flag-5'>伍</b>爾特電子USB Type-C產(chǎn)品方案

    C語(yǔ)言與Java語(yǔ)言的對(duì)比

    C語(yǔ)言和Java語(yǔ)言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語(yǔ)法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C語(yǔ)言和Java語(yǔ)言進(jìn)行詳細(xì)對(duì)比。
    的頭像 發(fā)表于 10-29 17:31 ?1025次閱讀

    java反編譯能拿到源碼嗎

    Java反編譯是一種將編譯后的Java字節(jié)碼(.class文件)轉(zhuǎn)換回Java源代碼的過(guò)程。雖然反編譯可以幫助理解代碼的邏輯和結(jié)構(gòu),但它并不總是能完美地還原原始源代碼。反編譯工具通常會(huì)產(chǎn)生與原始代碼
    的頭像 發(fā)表于 09-02 11:03 ?1745次閱讀

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    Java Web和Java是兩個(gè)不同的概念,它們?cè)诠δ堋⒂猛竞蛯?shí)現(xiàn)方式上存在一些區(qū)別,下面將詳細(xì)介紹它們之間的區(qū)別。 1. 功能和用途: – Java是一種編程語(yǔ)言,它提供了一種用于開(kāi)發(fā)各種應(yīng)用程序
    的頭像 發(fā)表于 07-16 13:35 ?1417次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別