色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Java21版本的使用

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-06-19 09:42 ? 次閱讀

如果你是一位苦逼的 Java 程序員,那么當你看到這張圖的時候也許震驚的會跳起來!

但是我最大的感受是:

臥槽,怎么就Java 21了?!我還在用Java 8 呢!

實際上,從Java 8 到Java 21,中間也就是Java 11, Java 17是長期支持版本,其他的都是“小”版本,變化不大。

這次去掉“public static void main”的提案來自JEP 445: Unnamed Classes and Instance Main Methods (Preview) ;翻譯過來是 “未命名類和實例 main 方法”,僅看標題你可能并不認為和上面那些東西有什么關系,但事實上,上述特性確實是由此 JEP 帶來的。

這種簡化寫法并不是 Java 的特例,其實早在 .NET 6,C# 就引入了一套 "控制臺模板" 語法,其允許你在 C# 的主類文件(這里是 Program.cs)這么寫:

//Seehttps://aka.ms/new-console-templateformoreinformation
Console.WriteLine("Hello,World!");

其等價于:

usingSystem;

namespaceMyApp//Note:actualnamespacedependsontheprojectname.
{
internalclassProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("HelloWorld!");
}
}
}

很神奇對不對,但實際上說簡單點這只是套語法糖而已。那么,JEP 445 也是如此嗎?答案是否定的,甚至,它連語法糖都沒有引入

基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://github.com/YunaiV/ruoyi-vue-pro

視頻教程:https://doc.iocoder.cn/video/

真的是變天了嗎?

如果你仔細查看 JEP 提案的原文,你會發現他們在 Summary 和 Goal 上提到最多的兩個詞是:sutdents 和 beginners:

7d95392e-0e41-11ee-962d-dac502259ad0.png

而仔細讀讀這部分內容你會知道,這個 JEP 設立的初衷是為了為學生和 Java 新手隱去晦澀難懂的部分,僅保留一些簡單的語法,方便他們快速入門和學習 Java,但并不是引入了一套額外的 Java 方言

從始至終,這套東西就不是給普通 Java 開發者使用的,而是面向學生和新手入門使用的。

有個可愛的美國老師居然創作了一首RAP來幫助新手記憶“public static void main”!

publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld");
}
}

對于新手來說,這簡單的五行代碼說,信息嚴重過載了:

(1) 類上的public

它只有在跨越package訪問時才有意義,為什么一個簡單的Hello World都必須把它寫上?

(2) class

新手只想寫個hello world ,他們還必須理解什么叫類嗎?

(3) 方法上的public

這是什么鬼?為什么要加個public

(4) static

新手根本理解不了什么靜態方法,為什么需要靜態方法。

(5) String[] args

這個參數的定義,對于新手來說也是一團霧水

(6) System.out.println(...)

System是個類,out是個靜態字段,println是實例方法,學生們唯一關心的是println啊。

在上課的第一天就需要解釋很多東西,快下課了,學生也寫不出任何程序,老師只好說:先記住吧,以后你會明白的。

所以Brian Goetz認為,必須要簡化這一切。

第一步使用更寬容的“啟動協議”,可以改成這樣:

classHelloWorld{
voidmain(){
System.out.println("HelloWorld");
}
}

第二步通過引入“未命名的類”,改成這樣:

voidmain(){
System.out.println("HelloWorld");
}

第三步,“自動導入靜態方法”,改成這樣:

voidmain(){
println("HelloWorld");
}

看起來更加清晰明了,對于Java初學者將會非常友好。

經過這二十多年的發展,圍繞Java建立了龐大的生態,各種各樣的軟件應有盡有,讓Java極其成功的同時,也讓Java背上了沉重的包袱,要想簡化成Python,JS那樣的腳本語言,幾乎不可能了,這次能夠邁出一小步已經是難能可貴了。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2973

    瀏覽量

    104939
  • RBAC
    +關注

    關注

    0

    文章

    44

    瀏覽量

    9978
  • 開發者
    +關注

    關注

    1

    文章

    590

    瀏覽量

    17054

原文標題:Java21的 main 方法聲明要變天了嗎?

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分享兩很好的編程的書C++和JAVA

    這是國外兩很好的編程的書,其風格很獨特。中文版本,適合初學者入門,文件類型是epub,打不開的可以用格式工廠轉換一下格式。像計算機科學家一樣思考C++像計算機科學家一樣思考JAVA
    發表于 04-22 20:46

    IDEA插件MyBatisCodeHelperPro 21版本介紹

    開發了兩年多的 IDEA插件 MyBatisCodeHelperPro 21 版本發布
    發表于 07-12 17:07

    Java語言平臺版本 及語言特點是什么?

    使用計算機的方式有哪些?Java語言平臺版本 Java語言的特點是什么?
    發表于 11-06 07:52

    請問AD21版本如何重新定義板子形狀?

    請問AD21版本如何重新定義板子形狀?
    發表于 02-07 09:15

    java和javac版本不一致該如何去修改呢

    也是這個原理.Javac版本修改:下面是修改javac的過程查看命令路徑root@build-server:/home/build# which java javac/usr/bin/java/usr
    發表于 10-28 15:33

    21天學通JAVA2_袁國忠譯

    21天學通Java2》包括4周的課程。第一周介紹Java語言的基本知識,包括數據類型、變量、表達式、對象、數組、條件語句、循環、類、接口、包異常和線程等;第二周介紹Java類庫,包括
    發表于 12-06 10:38 ?0次下載
    <b class='flag-5'>21</b>天學通<b class='flag-5'>JAVA</b>2_袁國忠譯

    Java學習路線教程之Java新手必須學習那21個技術點詳細資料說明

    Java新手必學的21個技術點 以下為大家盤點作為Java新手必學的21個技術點,希望能夠對想要學習編程,學習JAVA的人有些幫助! JN
    發表于 12-19 15:23 ?19次下載

    三星驍龍888版本和Exynos 2100版本對比差異

    據臺媒eprice消息,他們最近將三星Galaxy S21 Ultra 5G在中國臺灣地區銷售的驍龍888版本,以及在歐洲地區銷售的Exynos 2100版本放在一起進行了一次PCMark續航對比,內容為測試手機電量從100%降
    的頭像 發表于 01-26 10:53 ?4501次閱讀

    Altium Designer 21版本的操作界面環境

    相對于Altium Designer以前的版本21版本給用戶提供了一個更加人性化、更加集成化的操作界面環境,如圖2-9所示,主要包含菜單欄、工具欄、面板控制區、用戶工作區等,其中工具欄、菜單欄的項目顯示會跟隨用戶操作環境的變化
    的頭像 發表于 08-09 11:37 ?3667次閱讀

    SpringBoot正式棄用Java8 Java17將成為未來主流版本

    了Spring Boot 3.0.0的第一個里程碑版本 M1 。 下面一起來來看看Spring Boot 3.0.0 M1版本都有哪些重大變化: Java基線從 Java 8 提升到了
    的頭像 發表于 10-09 18:03 ?3656次閱讀

    MegaRAID SCSI GAM UnixWare 6.02版本-21

    電子發燒友網站提供《MegaRAID SCSI GAM UnixWare 6.02版本-21.zip》資料免費下載
    發表于 08-22 16:32 ?0次下載
    MegaRAID SCSI GAM UnixWare 6.02<b class='flag-5'>版本</b>-<b class='flag-5'>21</b>

    JDK 21 GA,虛擬線程正式穩定!你還堅守Java8?

    Java 21 / JDK 21 已正式 GA,此版本是繼 JDK 17 后的長期支持版本 (LTS),Oracle 將為其提供至少八年的技
    的頭像 發表于 09-20 15:47 ?1052次閱讀
    JDK <b class='flag-5'>21</b> GA,虛擬線程正式穩定!你還堅守<b class='flag-5'>Java</b>8?

    Java11和Java17使用率達48%和45%

    2018 年 9 月發布的 Java 11 和 2020 年 9 月發布的 Java 17 是使用最廣泛的 Java 版本,使用率分別為 48% 和 45%。其次是 2014 年 3
    的頭像 發表于 11-01 12:30 ?619次閱讀

    一文了解Java 21的新功能

    JDK 21 于 2023 年 9 月 19 日發布,是繼之前的 LTS 版本 JDK 17 之后最新的長期支持 (LTS) 版本。在本文中,我們將探討 JDK 21 新引入的功能。
    的頭像 發表于 12-21 16:19 ?1348次閱讀
    一文了解<b class='flag-5'>Java</b> <b class='flag-5'>21</b>的新功能

    Java集合API的改進介紹

    解答這些問題。 我們將逐步學習 Java 集合類的優化過程,并按版本逐一對比分析。主要討論的焦點將包括 JDK 1.0、1.2、1.4、1.5、1.6、1.8、9、10、11 和 21 版本
    的頭像 發表于 11-22 11:12 ?239次閱讀
    <b class='flag-5'>Java</b>集合API的改進介紹
    主站蜘蛛池模板: 嗯呐啊唔高H兽交| 含羞草完整视频在线播放免费| 午夜一级视频| 欧美三级不卡在线观线看| 免费女人光着全身网站| 理论片87福利理论电影| 久久伊人中文字幕有码| 精品久久久久中文字幕日本 | 尤物99久久久合集一区区| 校花爽好大快深点h| 亚洲免费久久| 最近免费视频中文2019完整版 | 国产精品视频一区二区猎奇| 闺蜜扒开我尿口使劲揉| 国产成人无码一区AV在线观看| 国产成人在线免费观看| 国产成人综合在线观看网站| 国产精品自产拍在线观看网站| 国产又粗又猛又爽黄老大爷| 久久性生大片免费观看性| 免费在线观看的毛片| 日本一本2017国产| 亚洲AV无码专区国产精品99 | 护士美女照片| 久久婷婷久久一区二区三区| 欧美一级久久久久久久大| 甜性涩爱全集在线观看| 伊人精品影院一本到综合| 91avcom| 国产精品…在线观看| 久久精品亚洲AV无码三区观看| 男生互捏jiji的故事| 歪歪爽蜜臀AV久久精品人人槡| 亚洲午夜精品一区二区公牛电影院 | 久久久青青| 视频三区 国产盗摄| 在线看片成人免费视频| 俄罗斯videosbest8| 久久偷拍国2017的| 丝袜美女自摸| CHINSEFUCKGAY无套|