<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微軟全力擁抱 Java !

          共 5687字,需瀏覽 12分鐘

           ·

          2022-09-17 16:44

          作者 | 蘇宓
          出品 | CSDN(ID:CSDNnews)

          雖然一直以來,微軟的不少產(chǎn)品在很多層面都有使用 Java 語言,但近日其官網(wǎng)上的一則「Microsoft is committed to the success of Java developers」(微軟致力于 Java 開發(fā)者的成功)的公告正式吹響了微軟全面擁抱 Java 的號角。

          對此,我們也不禁好奇,繼構(gòu)建 C#、.NET、TypeScript、Visual BASIC、JScript 等語言之外,微軟為何要大費周章地再去深入 Java?在本文中,我們將從近年來微軟的種種足跡中探尋原因。


          微軟對 Java 的最新動作


          在這篇公告中,微軟開發(fā)者部總裁潘正磊(Julia Liuson)表示,“作為一家公司,我們致力于使 Java 開發(fā)人員盡可能地高效和高產(chǎn)。這一承諾意味著開發(fā)者能夠在任何操作系統(tǒng)上使用任何工具、框架和應(yīng)用服務(wù)器。”

          為此,微軟推出了一個專門針對 Java 所有相關(guān)內(nèi)容的新網(wǎng)站(developer.microsoft.com/java),該網(wǎng)站提供了微軟 Java 云開發(fā)團隊的最新內(nèi)容以及技術(shù)文檔、工具、資源、教程、視頻和代碼示例。

          除此之外,微軟也在工具方向增加了對 Java 的諸多支持,其中,在新版本的 VS Code 中帶來了更多 Spring 相關(guān)的新功能更新,譬如:

          • 其一,增加了查看實時進(jìn)程中的 Spring Bean 屬性。

          如果沒有 IDE 的支持,開發(fā)者必須編寫代碼來獲取 ApplicationContext 和調(diào)用 .getBeanDefinitionNames() 才能得到同樣的結(jié)果。比如說:

          System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames());

          在添加了這一功能之后,VS Code 可以展現(xiàn) Bean 的屬性信息,即它們是否是 Singleton、prototype 等,同時還可以用“defined”來標(biāo)記自己的 Bean,以保持事情的條理性。

          • 其二,更好的 Spring 入門體驗。

          通過讓 IDE 自動加載 Initializr 的 HELP.md 文件,為使用 Spring Initializr 初始化的項目提供了更好的啟動體驗。事實上,HELP.md 包含了有用的信息,但過去大部分開發(fā)者都忽略了它的存在,如今隨著這一功能的改進(jìn),方便開發(fā)者上手。

          • 其三,Java Project Explorer 集成了 Maven 和 Gradle

          有點像 Intellij,微軟加強了 VS Code,使其更容易訪問最頻繁的構(gòu)建操作,如訪問訪問 POM 或調(diào)用 Maven。

          與此同時,微軟并沒有把對 Java 和 Spring 的支持局限于 VSCode,它還加強了對 Intellij 和 Azure 的支持。


          微軟與 Java 的愛恨情仇


          當(dāng)然,以上僅是微軟近段時間為擴建自己的 Java 生態(tài)版圖所做的一些工作。其實,微軟對拿下 Java 開發(fā)者的“野心”也非一兩天之間才有的。

          如果說曾經(jīng)依靠 Windows 構(gòu)建起生態(tài)帝國的微軟不可一世,從藐視開源、嫌棄 Linux,再到開源、數(shù)字化浪潮下的“微軟愛 Linux”并穩(wěn)居開源貢獻(xiàn)榜單的 Top 之列,那么,它對 Java 的態(tài)度也有這樣的一個轉(zhuǎn)變過程。

          在 Java 誕生的第二年,一群有敏銳的前瞻意識的人發(fā)現(xiàn)了這門語言的潛力,其中就包括了來自微軟的專家們。時任微軟 CEO 的比爾·蓋茨也曾評價道,“Java 是很長時間以來最優(yōu)秀的程序設(shè)計語言。”

          在此趨勢之下,微軟在 1996 年 3 月與還沒有被 Oracle 收購的 Sun Microsystems 簽訂了一份 Java 許可協(xié)議。可以說,微軟應(yīng)用 Java 的這一舉措也極大地推動了 Java 自身的普及與發(fā)展。不過,好景并不長。

          在 1996 年 9 月的某一天,微軟瀏覽器部門主管向時任微軟 CEO 的比爾·蓋茨詳細(xì)解釋了 Java 給微軟帶來的威脅,并懇切提醒道:“Java 絕不僅僅是一種語言,它是 COM 的替代者(COM 即 Componet Object Model,在 Windows 中大量使用的編程模型)!”

          隨即,比爾·蓋茨給當(dāng)時身為微軟 CTO 的 Nathan Myhrvold 發(fā)了一封主題為“Java 運行時成為操作系統(tǒng)”的郵件,并表示“我很擔(dān)心 Java/Javabean 和其運行時到底會發(fā)展成怎樣、會讓多少人興奮。我真的在這個問題上失眠了,因為隨著轉(zhuǎn)向更多基于服務(wù)器的應(yīng)用程序,似乎會讓人們易于使用我們競爭對手的操作系統(tǒng)。”

          為了降低這樣的焦慮,微軟研發(fā)了一款 Java 集成開發(fā)環(huán)境,使用的語言是 J++。一定程度上可以將 J++ 視為是 Java 的一個變種,其語法、關(guān)鍵字等都與 Java 有異曲同工之處。

          這樣有些“擦邊球”的行為,引發(fā)了 Sun 公司的注意。于是,1997 年 11 月,Sun 公司以違反合同為由對微軟提起訴訟,指控微軟分發(fā)了與 Sun 不兼容的 Java 版本。Sun 于 1998 年 5 月修改了其訴訟書,添加了不正當(dāng)競爭和侵犯版權(quán)的指控。

          彼時 Sun 在法庭上辯稱,微軟將 Java 的“一次編寫,隨處運行”功能視為對 Windows 的威脅,因為 Java 降低了軟件開發(fā)人員為微軟操作系統(tǒng)編寫程序的動力。據(jù) Sun 公司稱,微軟發(fā)布的 Java 版本與其 Windows 軟件配合得更好。Sun 的律師表示,這樣的舉動威脅到 Java 提供跨平臺開發(fā)環(huán)境的能力。

          微軟強烈否認(rèn)有任何不當(dāng)行為,并堅稱它堅持與 Sun 簽訂的許可協(xié)議。該公司辯稱,微軟對 Java 所做的任何更改都只是允許開發(fā)人員利用 Windows 特有的功能。

          歷經(jīng)三年之后,在 2001 年 1 月,兩家達(dá)成和解,最終以微軟同意向 Sun Microsystems 支付 2000 萬美元,并且永久禁止在其產(chǎn)品上使用“Java 兼容”商標(biāo)。不過,此時的微軟還可以繼續(xù)提供采用 Sun 開發(fā)的 Java 技術(shù)的現(xiàn)有產(chǎn)品,但這一場官司也讓微軟有了其他的想法。

          在這一年的 7 月,微軟宣布開始在 Windows XP 系統(tǒng)中不再支持 Sun 的 JVM,從而扶持自家的 .NET 平臺,與 Java 分庭抗禮。


          為什么此時要對 Java 展開攻勢?


          那要問微軟為何要在時下再次擁抱 Java,根據(jù)微軟官方的解釋是,「如今,越來越多的 Java 開發(fā)者正在考慮如何將現(xiàn)有的 Java 應(yīng)用程序遷移到云中,或者如何構(gòu)建新的云原生應(yīng)用程序。我們一直在努力讓您更輕松地使用您喜歡的工具和框架將 Java 應(yīng)用程序遷移到云中。然后,您可以使用您已經(jīng)了解和信任的相同應(yīng)用程序服務(wù)器和開源技術(shù)輕松部署和擴展。」

          多年來,Java 已經(jīng)積累了龐大的開發(fā)者群體,且有數(shù)以萬計的設(shè)備使用 Java。在云時代下,微軟在產(chǎn)品研發(fā)過程中也添加了對 Java 的高度支持。

          除了在上文提到了的 VS Code 之外,微軟在 Intellij IDEA、GitHub、Playwright、Apache Maven、Gradle 等工具方面,以及在某些產(chǎn)品上都有 Java 的身影。

          如微軟在搜索引擎 Bing 中的支持 Windows 開始菜單中的搜索功能,便是使用 Java 來執(zhí)行與索引相關(guān)的功能,同時 Bing 橫跨 50,000 多臺服務(wù)器上有數(shù)十萬個 JVM。

          在 2019 年 8 月,微軟收購了一家主營業(yè)務(wù)是 Java 性能優(yōu)化的公司——jClarity。2021 年,時間點有些巧合的是,彼時 4 月 5 日,美國最高法院在 Google 與 Oracle 之間關(guān)于在 Android 使用 Java 的訴訟案中,最終判定 Google 開發(fā) Android 使用的 Java API 代碼合理。次日,與此事沒有任何關(guān)系的科技巨頭微軟便推出了自家的 JDK 項目 Microsoft Build of OpenJDK 版本。

          來源:https://cdn.graph.office.net/prod/media/java/infographic-evolution-of-java-at-microsoft.pdf?v={1/string}

          整體而言,微軟此舉一方面是想要在 Java 的市場中站穩(wěn)腳跟,另一方面根據(jù)官方發(fā)布的 Java 演進(jìn)圖顯示,微軟在自己的基礎(chǔ)設(shè)施中大量使用 Java,特別是它的 Azure 生態(tài)系統(tǒng)(Azure Spring Cloud、Azure App Service、Azure Functions、Azure Kubernetes),為此它需要有自己的統(tǒng)一和通用的構(gòu)建方式。

          再者,正如 i-programmer 評價道,“微軟此舉還有將 Azure 推給 Java 開發(fā)者的宣傳動機,微軟試圖引誘他們,甚至通過提供免費課程幫助他們遷移他們的應(yīng)用程序。”

          不過,歸根究底,對開發(fā)者而言,也是一個不錯的消息。

          參考資料:

          https://www.infoworld.com/article/2074908/sun-microsoft-settle-java-lawsuit.html

          https://www.i-programmer.info/news/80-java/15701-microsoft-goes-all-out-on-java.html

          相關(guān)圖書推薦


          ▊《深入理解Java核心技術(shù):寫給Java工程師的干貨筆記(基礎(chǔ)篇)》

          張洪亮(@Hollis)  著


          • 全網(wǎng)閱讀量千萬的Java工程師成神之路學(xué)習(xí)筆記,Java基礎(chǔ)知識點查漏補缺,隨書附贈一份驚喜彩蛋


          本書是《Java工程師成神之路》系列的第一本,主要聚焦于Java開發(fā)者必備的Java核心基礎(chǔ)知識。全書共23章,主要內(nèi)容包括面向?qū)ο蟆⒒A(chǔ)數(shù)據(jù)類型、自動拆裝箱、字符串、集合類、反射、序列化、枚舉、I/O、動態(tài)代理、注解、泛型、時間處理、編碼方式、語法糖、BigDecimal、常用工具庫及Java新版本特性等,比較全面地覆蓋了Java開發(fā)者日常工作中用到的大部分基礎(chǔ)知識。

          “有道無術(shù),術(shù)尚可求,有術(shù)無道,止于術(shù)”。本系列更加注重對Java之“道”的學(xué)習(xí),即對原理的解讀。對于很多語法概念及使用方式的介紹并不是本書的重點。所以,有一定編程語言常識或者寫過Java代碼的讀者閱讀起來會更加容易。

          本書既適合讀者進(jìn)行體系化的學(xué)習(xí),也適合讀者查缺補漏,將以往所學(xué)的知識點連成線,進(jìn)而構(gòu)建并完善自己的知識體系。

          ▊《詳解Spring Boot――從入門到企業(yè)級開發(fā)實戰(zhàn)》

          孫鑫 著


          • 講清原理+注重實戰(zhàn)快速上手+授人以漁要點突出+實例豐富圖示直觀+注釋詳細(xì)

          本書針對Spring Boot 2.6.x及以上版本,采用理論結(jié)合實際的講解方式,每章均配有多個示例,在內(nèi)容安排上由淺入深,在知識講解上深入淺出,讓讀者輕松掌握多種技術(shù)、中間件、框架與Spring Boot的整合開發(fā)。最后通過兩個實戰(zhàn)項目,讓讀者在進(jìn)入企業(yè)后可以快速從事基于Spring Boot的企業(yè)開發(fā)。

          全書共分為五篇:基礎(chǔ)篇、Web篇、數(shù)據(jù)訪問篇、企業(yè)應(yīng)用開發(fā)篇、項目實戰(zhàn)篇。本書內(nèi)容全面,涵蓋了常用的技術(shù)、中間件與框架;講解深入淺出,讓讀者學(xué)有所得。

          掃碼了解本書詳情


          ▊《實戰(zhàn)Java高并發(fā)程序設(shè)計(第3版)》

          葛一鳴 著


          • 詳解Java高并發(fā)程序設(shè)計基礎(chǔ)、思路、方法和實戰(zhàn)

          • 經(jīng)典實用,通俗易懂,內(nèi)容全面,實例豐富


          本書主要介紹基于Java的并行程序設(shè)計基礎(chǔ)、思路、方法和實戰(zhàn)。

          首先,立足于并發(fā)程序基礎(chǔ),詳細(xì)介紹Java中進(jìn)行并行程序設(shè)計的基本方法。其次,進(jìn)一步詳細(xì)介紹了JDK中對并行程序的強大支持,幫助讀者可以快速、穩(wěn)健地進(jìn)行并行程序開發(fā)。再次,詳細(xì)討論了有關(guān)"鎖”的優(yōu)化和提高并行程序性能級別的方法和思路。第四,介紹了并行的基本設(shè)計模式以及Java 8、9、10對并行程序的支持和改進(jìn)。第五,介紹了高并發(fā)框架Akka的使用方法。第六,詳細(xì)介紹了并行程序的調(diào)試方法。最后分析Jetty代碼并給出一些其在高并發(fā)優(yōu)化方面的舉例。

          《實戰(zhàn)java高并發(fā)程序設(shè)計》第1~2版得到了讀者的認(rèn)可,而今Java 版本一直在變化,新的技術(shù)也有迭代,本書更要與時俱進(jìn),進(jìn)行一些深層技術(shù)的更新,如GC一些優(yōu)化方式等等。

          (掃碼了解本書詳情


          《Offer來了——Java面試核心知識點精講(第2版)

          王磊 著


          • 超強Java面試寶典

          • 超詳盡Java知識點速查手冊

          • Java面試官的超趁手Java題庫參考書

          • 一書在手,Java我有


          本書講解Java面試中常被問及的核心知識點,涉及Java基礎(chǔ)、Java并發(fā)編程、JVM、Java高并發(fā)網(wǎng)絡(luò)編程、Spring基礎(chǔ)、Netflix的原理及應(yīng)用、Spring Cloud Alibab的原理及應(yīng)用、數(shù)據(jù)結(jié)構(gòu)、Java中常用算法的原理及其Java實現(xiàn)、關(guān)系數(shù)據(jù)庫及分布式事務(wù)、分布式緩存的原理及應(yīng)用、ZooKeeper的原理及應(yīng)用、Kafka的原理及應(yīng)用、Elasticsearch的原理及應(yīng)用、設(shè)計模式的概念及其Java實現(xiàn)

          本書內(nèi)容全面、細(xì)致,既可幫助讀者迅速查找Java知識點,也可幫助讀者完善其Java知識體系;不但可以作為Java面試知識速通手冊,也可以作為Java程序員的案頭手冊

          瘋狂Java講義(第5版)

          李剛 著


          • 10年原創(chuàng)經(jīng)典,影響數(shù)十萬讀者

          本書為所有打算深入掌握J(rèn)ava編程的讀者而編寫,適合各種層次的Java學(xué)習(xí)者和工作者閱讀,也適合作為大學(xué)教育、培訓(xùn)機構(gòu)的Java教材。但如果只是想簡單涉獵Java,則本書過于龐大,不適合閱讀。

          發(fā)布:劉恩惠

          審核:陳歆懿




          瀏覽 94
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲香蕉第一页 | 一级AAAAAA毛片免费 | 永久免费黄色视频 | 台湾无码一区二区 | 欧美视频一区二区三区四区五区 |