成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

阿里巴巴入選的JCP最高執行委員會,何方神圣?

開發 前端
時間撥回到2018年5月,阿里巴巴獲邀加入JCP最高執行委員會,以替代恩智浦被選舉為該委員會委員,成為第一家加入JCP的中國企業。一時間鋪天蓋地的新聞報道,轟動IT圈。

[[411939]]

前言

你好,我是A哥(YourBatman)

時間撥回到2018年5月,阿里巴巴獲邀加入JCP最高執行委員會,以替代恩智浦被選舉為該委員會委員,成為第一家加入JCP的中國企業。一時間鋪天蓋地的新聞報道,轟動IT圈。

JCP的執行委員任期2年,時至現在的2021年,午夜夢回中憶起此事,再去JCP官網查閱一下,還好牛皮可以繼續吹,(2020年投票選舉)連任成功!圖片很明顯這篇文章絕非吹捧阿里,旨在向你介紹作為一名Java程序員必知必會的JSR規范、JCP組織。

程序員是信息時代的技術人才,常聽到的一句話是“我現在有一個想法可以改變世界、可以顛覆行業、可以超越BAT,但就差一個程序員了”,可見程序員的重要性。中國軟件行業發展至今(2021年)已有700萬的程序員,雖然人數在全球遙遙領先,但聲音一直非常小,影響力也微乎其微。

阿里巴巴作為國內Javaer的“圣地”,almost代表著最高水平。作為一枚Java開發者,聽過無數J字縮略語:JDK、JRE、JVM、JSE、JCP、JPA、Jakarta...本文將以此為背景,為你介紹與每個Java程序員都息息相關的JCP(含JSR規范),然后就會感受到加入JCP這件事多么牛X了。圖片

所屬專欄

BATutopia-Java EE

相關下載

Java EE工程源代碼:https://github.com/yourbatman/BATutopia-java-ee

JSR-JCP工程源代碼:https://github.com/yourbatman/JSR-JCP

JSR文件網盤下載:https://wangpan.yourbatman.cn/s/nRtq 密碼:jsrjcp

版本約定

JSR、JCP

正文

若有人問你Java平臺分為哪三個版本,你應該能答出來:

  • Java標準版(Java SE)
  • Java企業版(Java EE)
  • Java Micro Edition(Java ME)

很好,60分及格。若奪命連環問繼續追問:聽過JSR、JCP嗎?如果說上道題還在嘿嘿的說是送分題,那這道題估摸可能大概就成為你的送命題了。

什么是JSR?

Java Specification Requests:Java規范請求/提案。

JSR是指的向JCP提出新增一個標準化技術規范的正式請求。每個JSR都是正式的、開放的標準文檔,由個人或組織提交給JCP組織進行審議,根據審議結果決定JSR是否最終發布。

課代表幫你總結一下JSR定義的關鍵點:

  • 任何人(個人/組織)都可以向JCP提交JSR,當然前提是你要注冊成為JCP的會員(個人會員免費,現在由Oracle管理維護)
  • 每個JSR都是正式的文檔,必須符合JCP的規定的格式(這個門檻不低)
  • JSR是開放的,任何人都應該可以很方便獲取到它
  • JSR的內容是對Java技術平臺提出的修改、補充和改進,包括Java技術棧增加新功能、修改bug、提升性能等

每個JSR都只是一個抽象的規范(還只是文檔,在紙面上的規范),通過設計API落地成為接口代碼規范,最后通過參考實現來提供具體的功能落地,進而供以使用。

JCP規定每個JSR規范都必須有一個官方參考實現,言外之意:可以有多個其它實現。

如圖,API代碼規范可認為是JSR規范的代碼表現形式,被納入Java體系內。值得注意的是:JSR并非Java EE的專屬,三個版本里都有,個數如下:

平臺 JSR個數
Java SE 69
Java EE 54
Java ME 85

說明:某些JSR直接與一個或多個Java平臺相關,還有許多JSR不是平臺的一部分,而是對平臺的擴充。此表格只列出了與特定版本相關的JSR(表格數據截止到2021年7月)

雖然Java每個平臺都有JSR,但我們常常只把JSR和Java EE一起提及。Java EE中的每個API實際上都是由審核通過了的某個JSR規范所定義的。換句話講:Java EE由各種組件構成,這些組件遵從JSR規范所規定的內容、功能。

一個JSR從提出后,生命周期交由JCP組織管理,有可能被拒絕不通過,也有可能最終 Final RELEASE。一旦某個JSR通過了JCP的審核, 它就變成了Java技術棧的一部分,可以安全地用于生產環境。但這個門檻非常非常非常高,時間周期也會很長。

常見JSR及參考實現舉例

在日常開發中,JSR出現的頻率還是蠻高的。即使你不用EJB開發,而是使用Spring技術棧、又或者是Dubbo都經常能看到JSR的身影。JSR種類繁多,僅已經畢業(Final Release)的就有260+個:

我們不可能逐個去了解每個,下面課代表就幫搜集了些常見(現在大都在Spirng技術體系下開發,所以常用二字是以此為背景解釋)、常用、仍舊流行的JSR規范以及對應的主流實現(主流實現并非都是官方參考實現哦):

 

JSR 代表API 主流實現 簡介
JSR 315、JSR 369 Servlet、Filter Tomcat、Jetty 處理Http請求
JSR 303、JSR 380 Validator、@Valid Hibernate Validator Bean Validation數據校驗
JSR 330 @Inject、@Singleton Spring、Guice DI依賴注入
JSR 318、JSR 345 @EJB、EntityContext Glassfish 企業級Bean
JSR 317、JSR 907 @Entity、@ManyToMany、@Column Hibernate JPA數據持久化
JSR 250 @PostConstruct、@Resource Spring Common通用注解
JSR 914、JSR 343 @JMSProducer、MessageConsumer ActiveMQ、Artemis JMS MQ消息隊列
JSR 907 TransactionManager atomikos JTA分布式事務
JSR 919 @MailSessionDefinition JavaMail Java郵件
JSR 3 MBeanServer、@ManagedBean Java SE JMX擴展
JSR 221 Connection、Statement MySql、Oracle JDBC規范

這都是Java EE相關的JSR規范(一般Java EE接觸多),其實Java SE也有熟悉的規范,比如JSR 310日期時間(也叫Java 8日期時間)就是典型代表。

每個JSR都有一個.pdf文件做說明,這里都幫你收藏好了:https://github.com/yourbatman/JSR-JCP

什么是JCP?

Java Community Process:Java非正式過程(形式化和標準化Java技術的過程),官網地址:https://jcp.org

一個開放的國際組織,主要由Java開發者以及被授權者組成,職能是發展和更新。JCP由Sun公司于1995年創造,演進到如今有數百名來自世界各地Java代表成員一同監督Java發展的正式程序。

如果說JSR代表著一種具體的規范技術,那么JCP就是管理這些JSR發展、更新的組織。

JCP是為Java技術開發標準技術規范的機制。任何人都可以注冊該站點,參與對Java規范請求(JSR)的審查和提供反饋,任何人都可以注冊成為JCP成員,然后加入JSR專家組,甚至提交自己的JSR建議。

任何人?呵,開玩笑,不信你去注冊試試~

JCP它主要包含這幾塊內容:

  • Java技術規范:JSR規范
  • 參考實現(RI):JCP要求每個JSR都需要有一個參考實現
  • 技術兼容包(TCK):兼容測試工具包,一套測試、工具和文檔,用于測試實現是否符合規范
  • JCP Members:由個人or組織構成JCP的成員

Executive Committee (EC) :(最高)執行委員會。EC代表了主要的利益相關者和Java社區的一個代表性部門。EC負責批準通過JCP關鍵點的規范,并協調規范及其相關測試套件之間的差異

JCP Member還可細分為準會員、合作伙伴會員、正式會員,每種身份都有不同權利,這個對“不打算”參與提交JSR的我們來講沒啥用,so...對于JCP這個組織,我們或許對這些更感興趣些:

參與一個JSR規范生命周期的主要角色有哪些?

執行委員會(EC)這個組織有哪些成員?

一個JSR從提出到最終RELEASE需要經歷哪些過程,要多久?

參與JSR生命周期的角色

開發一個JSR標準技術的成本是非常昂貴的,JCP對此有嚴格的流程,期間會涉及到三個角色:

  1. 貢獻者
  2. 專家組
  3. 規范領導者

當然還少不了最高決策者:執行委員會EC。各個角色的分工、關系如下圖:

以Bean Validation 2.0(JSR 380)為例,團隊成員如下:

 

Gunnar Morling是誰?答:Hibernate Validator的作者,所以說JSR 380規范是由Hibernate主導的毫不為過。

1、貢獻者

類似于Github上的Contributor,一般都是個人(JCP的準會員)。在1個或多個JSR上幫忙過,比如幫助測試、幫助修正、開發了JSR特征等。這是加入JCP“往上爬”的第一步,如果表現突出的話就會被放進專家組候選人,從而可能進入專家組。

類似于小組的一線員工

2、專家組

專家組對該JSR起到核心作用,均由對本JSR基礎十分熟悉、功底十分深厚、有一定權威的人擔任。他們算是JSR規范實施的“基層員工”,直接參與到JSR開發的具體工作。

類似于小組的技術優秀員工

3、規范領導者

一般是JSR的申請者/作者。

領導者的作用主要職責是指導專家組和貢獻者實施,統攬本JSR全局,為它負責。主要工作有:

  • 提供JSR參考實現
  • 完成TCK測試,確保JSR合法、合規、兼容性強
  • 時刻關注JSR的進程,并且將狀態同步到jcp.org的頁面上。并且提供草稿review、公開review、最終文檔等

類似于小組組長

執行委員會EC

執行委員會(EC),也叫最高執行委員會,在JCP中扮著決定性作用,它就像最高權力機關,掌握著每個JSR的生殺大權。該委員會的成員必須分析、評論、投票并決定批準提交給JCP的所有JSR。除此之外還得指導整個平臺的發展,以及JCP本身,使其能夠一直符合期望。真乃權利越大,責任越大。

類似于技術總監、CTO。總體來講EC有這4項任務:

  • 審核并投票批準或拒絕 新的 JSR提案
  • 審查和投票批準或拒絕public公開審查的JSR草案
  • 決定何時撤回JSR,比如過時的技術
  • 合作修訂JCP計劃

幾十年以來JCP最高執行委員會的18個席位都被美國、歐洲、日本等國家企業牢牢占據,直至2018年阿里巴巴的加入。

阿里巴巴入選JCP執行委員會EC

委員會的成員通過年度選舉產生。

時間撥回到2018年5月18日,阿里巴巴成功替代恩智浦被選舉為JCP最高委員會委員,任期2年(2020年的選舉繼續連任成功)。成為第一家加入JCP的中國企業,可謂是國人的驕傲。這是最新的EC成員表(共18個席位):

有個比較有趣的點:Alibaba以字母“A”打頭可謂占盡優勢,“排名第一”!

這份EC成員表單有這三大看點可以關注:

阿里巴巴的代表Kingsum Chow何許人也?周經森2016年加入阿里巴巴

Oracle之于JCP的影響有多大?JCP是一個國際組織并不屬于任何一家公司,但Oracle特殊,它是永久任期。自從2009年Oracle收購了Sun公司后,它在JCP里的話語權幾乎是壟斷式的~

成員中為何沒有大名鼎鼎的Apache基金會?曾經,JCP也擁有過Apache,只是后來Apache選擇了退出,究其原因Oracle“功不可沒”

一個JSR經歷的階段

JCP管理著所有的JSR規范,每個JSR都需要按照JCP組織制定的流程進行。我以已經發布的、大家相對比較熟悉的JSR 380: Bean Validation 2.0為例,看看它的經歷過程:

Final Approval Ballot最終投票結果:

從步驟上看一共8大步,從時間軸上看共歷時13個月,看似時間很長。但其實像Bean Validation這種路途其實是非常非常非常順利的,屬于全部一次性過。存在那種投票了N次才最終Final甚至一直沒有Final的,比如JSR 377: Desktop|Embedded Application API的路就比較坎坷:

看上面的投票截圖也許你會疑問,投票成員中為嘛沒有Alibaba呢?看看投票日期:2017-07,而阿里巴巴于2018-05才首次成為JCP的EC成員,咱們找一個投票日期近一點看看就有阿里的身影,這是來自東方的聲音 :

一個JSR從0到1需要經歷這些個步驟:

  • 起草寫一個JSR
  • 將此JSR提交到JCP
  • 公開早期的JSR接收review
  • 形成專家組EG(希望很大了)
  • 早期草案審查
  • 公開review
  • 擬議的最終草案
  • 最后的選票(可能經過多輪)

時間軸安排大致如下:

總之,一個JSR想要最終畢業,少則1-2年多則5年+,甚至流產。

JCP的影響力在減弱

隨著2009年Oracle收購Sun公司,使得它在JCP里處于一言堂的地位 ,別人都沒法玩了。2010年是個關鍵節點,Apache當年直接斥責Oracle濫用Java,于是“一生氣”退出了JCP,至今未歸。

2017年8月份,Oracle對外宣稱要讓Java EE更加敏捷、靈活(都是套話,就是覺得自己玩不轉了想當甩手掌柜),計劃交給開源社區。隨后的9月份便“賣給”了Eclipse基金會,但Java商標、Java SE部分仍舊自己牢牢掌握著。所以Java EE從此不得不改名為Jakarta EE且正式脫離JCP(參考文章:從Java EE到Jakarta EE,企業版Java的發展歷程)。

至此,JCP本為三大平臺Java ME、Java SE、Java EE貢獻JSR規范,現在僅剩Java SE(Java ME可認為基本已死)。而Java SE獨屬于Oracle,所以JCP的影響力逐漸步入衰落。作為開發者的我們也有切身感受:隨著EJB的敗下陣來,隨著Spring家族的異軍突起,打得Java EE都快找不著北了。

瘦死駱駝比馬大,在若干年內了解JCP了解JSR規范依舊非常非常非常重要,是剛需,因為考試要考、面試會問、工作要用。

總結

JCP組織輝煌時通過管理的JSR規范驅動著Java的三駕馬車(Java SE、EE、ME)向前發展,嚴格的流程規范是確保Java技術高質量、高兼容性的保證。隨著Apache基金會決裂的退出,隨著Spring家族的崛起,隨著Java EE的光芒越來越暗淡,正所謂眼看他起高樓,眼看他宴賓客,眼看他樓塌了,JCP組織影響力也在逐日減弱。

規范永遠屬于“一流技術”,作為一個Java程序員建議這是每個同學的必修課,因為它決定著自己的上限。而且這不僅僅是談資,而是實戰中切實會用到知識點。

 

責任編輯:武曉燕 來源: BAT的烏托邦
相關推薦

2018-05-17 16:55:31

Java 技術阿里巴巴

2012-03-07 10:03:29

連任

2020-09-18 13:59:20

阿里巴巴云原生平臺

2021-09-09 06:55:44

Sentry跟蹤系統

2016-06-17 12:31:10

Spark SQL數據處理Spark

2019-03-20 20:38:13

智慧物流物流自動化涌現

2019-03-29 17:47:07

阿里巴巴公益

2015-01-20 10:19:02

谷歌AraGoogle

2011-10-24 10:05:28

云存儲云計算

2013-03-14 09:59:26

超級計算機泰坦HPC

2019-09-27 10:30:28

技術研發開源

2009-04-28 07:59:56

奧巴馬谷歌微軟

2010-11-09 16:37:43

JCPJavaOracle

2021-06-01 09:08:37

微軟網絡安全網絡攻擊

2010-12-13 12:55:06

Apache退出JCPOracle挽留

2016-11-02 07:25:02

科技新聞早報

2023-10-06 23:27:09

2010-01-18 23:06:24

KoolPoint項目IT管理摩卡軟件

2017-06-12 16:17:07

2015-08-14 14:34:17

阿里巴巴Linux基金會
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产福利资源在线 | 美女爽到呻吟久久久久 | 激情a| 九九九国产| 日韩欧美在线一区二区 | 免费黄色大片 | 精品av | 国产羞羞视频在线观看 | 成人精品一区二区三区 | aaa在线| 视频第一区 | 欧美精品一区二区在线观看 | 午夜影视在线观看 | av在线天堂 | 国产日韩一区二区三免费高清 | 国产大片黄色 | 精品久久久999 | 欧美成人精品一区二区男人看 | 蜜桃一区二区三区 | 国产黄色大片在线免费观看 | 国产区在线观看 | 欧美成人精品二区三区99精品 | 日韩成人中文字幕 | 日韩精品中文字幕一区二区三区 | 日韩中文久久 | 黄频视频| 一区二区三区视频播放 | av免费在线观看网站 | 欧美高清视频一区 | 欧美黄色一区 | 在线观看中文字幕一区二区 | 黄色欧美在线 | 精品视频一区二区三区 | 久久不射电影网 | 毛片一区二区 | 不卡一区二区在线观看 | www.国产视频 | 成人免费视频在线观看 | 亚洲一区二区三区在线视频 | 伊人狠狠干| 亚洲国产精品一区二区第一页 |