主頁 > 後端開發 > Java已經25年了

Java已經25年了

2020-10-20 01:37:32 後端開發

  互聯網是有記憶的,而Java作為一種編程言語,在支撐這份記憶的程序中,立下了汗馬之勞,
  5月23日,在這一天,Java迎來了屬于自己的25歲生日,
  Java的過去
  25年前,Java生逢其時,
  在核算機革命開端之際,硬體資源的逐步富余為IT工程師們供給了各個層面足夠的創新與試錯機會,當然這其中也包含了開發東西層,
  不管是前期美國核算機科學學者與軟體工程師KenThompson開發的B言語,仍是后來DennisRitchie發明的C言語、繼而C言語衍生出了C++等等,其時的開發東西領域早已呈現出百家爭鳴
  百家爭鳴的盛況,
  不過,在彼時單片式核算機體系以其“低價的價格、強大的功用”風靡互聯網圈時,最被工程師們看好的東西備選C++,因其過于復雜的特性,以及不具備跨渠道等功用,讓想要在嵌入式使用領域搶
  占先機的企業與工程師們頭疼不已,
  正所謂這個世界上「沒有完美的軟體,也沒有完美的開發人員」,既然如此,“改”才是王道,因而,在一家名為Sun公司中,由一位JamesGosling的工程師帶領其團隊根據C++,雷厲風行地進
  行了改造,他們去掉了C++一些不實用的功用與特性,又結合了嵌入式體系的實時性要求,開發了一款面向物件的Oak言語,
  通過近三年漫長迭代與輾轉,在互聯網崛起之際,Oak在變身并更名為Java后,因其面向物件以及"寫入一次,隨處運轉"的可移植性而聲名大噪,Sun公司也于1995年5月23日這一天在Sun
  World會議上正式向外界揭開了Java的面紗,
  自此后的多年間,Java也按照自己的技能軌道穩步發展:
  1996年,JDK1.0發布,標志著Java成為一種獨立的開發東西;
  1997年,JavaOne會議舉行,參與者逾一萬人,創其時全球同類會議規模之紀錄;
  1998年,Java2企業渠道J2EE發布;
  1999年,Sun公司發布Java三大版別:標準版(J2SE)、企業版(J2EE)和微型版(J2ME);
  2000年,JDK1.3與JDK1.4發布;
  2001年,J2EE1.3發布;
  2002年,J2SE1.4發布,自此Java的核算才能有了大幅提升;
  2003年,J2SEE1.4.2發布;
  2004年,J2SE1.5發布,彼時Sun公司為了凸顯這個版別的重要性,將J2SE1.5更名為J2SE5.0;
  2005年,Sun公司揭露JavaSE6;
  2006年,Sun公司宣告Java全線采納GNUGeneralPublicLicenseVersion2,從而揭露了Java的源代碼;
  2007年,SunMicrosystems公司拋棄了對Java渠道的統馭,將權利交給了Java開發人員社區;
  2008年,JavaFX1.0發布;
  2009年,甲骨文宣告74億美元收買Sun公司,,
  2010年,JavaEE6發布;
  2011年,Java7發布;
  2014年,Java8正式發布;
  2017年,甲骨文宣告Java發布頻率改為每六個月一次;
  2018年,甲骨文宣告自2019年1月起,JavaSE8揭露更新將不向沒有商用許可證的業務、商用或出產用處供給,
  至今,Java已浸透到了企業級使用、游戲、嵌入式設備、桌面級使用等各個場景中,
  《Java發展簡史:初生遇低谷,崛起于互聯網》
  歷經波折
  開始得益于Java虛擬機支撐多個硬體渠道和操作體系,Java小程式能夠從網頁運轉,其時如IBM、Apple、Adobe、HP、Oracle、Netscape和微軟等各大科技巨子公司都紛紛停止了自己的相關開發
  專案,競相購買了Java運用許可證,并為自己的產品開發了相應的Java渠道,
  不過也正因而,在過往25年間,圍繞Java技能核心,有兩大讓業界較為重視的訴訟案,
  榜首起是Sun和微軟之間關于微軟在Windows中運用Java的問題,
  1997年,Sun公司一紙訴訟書將微軟起訴至美國加州地方法院,原因是Sun公司以為,在微軟運用Java技能簽定的合同時,微軟在自己的Java產品中做了“不恰當修正”違反了合同中許諾向用
  戶供給Java兼容產品的條款,
  通過漫長的調解,終究這一場官司于2001年,微軟贊同向Sun公司付出2000萬美元寬和才結束,自此,雖然微軟也能夠持續采用Sun公司開發的Java技能的現有產品,不過,將技能握在自己
  手中畢竟更為自由,所以2001年7月,微軟推出了.NET渠道,期望與Java有一戰,
  另外,還一同關于Java的知識產權糾紛,更為長久,至今仍未有結論,它就是后來收買了Sun公司的甲骨文和谷歌之間的Java知識產品糾紛案,
  2009年,甲骨文指控谷歌在Android開發中濫用了JavaAPI著作權,并直接復制了11330多行代碼,侵犯了自己的知識產權,
  通過近十年的激烈交鋒,2018年,聯邦巡回上訴法院認定安卓侵權,Google敗訴并要進行88億美金賠償,
  2019年,Google上訴,要求美國最高法院進行終究裁決,2019年11月最高法院贊同審理,而日前,Google、Oracle均向美國最高法院提交了自己的陳說,不過由于今年以來全球受疫情的影響,
  該起案子終究結論怎么尚未可知,
  不過,實際來看,不管終究判罰的結果怎么,終將在必定程度上影響移動開發中運用Java,乃至還會影響一切軟體開發,
  Java當下
  刨除外在的商業利益聯系,回歸到Java編程言語本身,在25年后的今日,憑借著面向物件、跨渠道、可移植、高功能等優勢,Java橫掃各大編程言語榜單,期間雖閱歷了Kotlin、Python、Go
  等后起之秀揚言“取而代之”的挑戰,卻仍舊被業界稱之為編程言語界的常青藤,也成為企業使用開發干流的存在,
  根據甲骨文的資料,2017年全球估量有900萬Java開發人員,與此同時,Java也催生了一個巨大的東西生態體系,從Spring框架到使用程式服務器,從IBM、紅帽和甲骨文等公司到JavaFX
  富媒體渠道,Java身影無處不在,
  在國內環境中,也有大量的企業采用Java,以阿里巴巴為例,其不僅在生態上具有14000開發者、90000使用實體、內部有1000000JVM實體等,在Spring、Spark、HBASE等技能堆疊中也均有
  Java使用,
  雖然目前Java的更新速度無人能及,開發者也叫苦不堪,直言“學不動”,不過Java根據本身的痛點仍在不斷改進中,
  在兩個月前發布的Java14中,供給了16個首要的改進和變更,包含兩個范訓器模塊、三個預覽特性、兩個棄用的功用以及兩個洗掉的功用,
  《Java14來了!》
  近來,OracleJava渠道組首席架構師MarkReinhold在OpenJDK社區中提出了一項建議,將處理長時刻Java的難題,包含啟動時刻慢、功能到達峰值的時刻緩慢以及占用空間大等問題,
  歷經風霜,我們不能確保多年后,Java仍是干流,但在當下,Java仍是編程之王,Java,25歲,生日快樂!
  賣掉3000平房子,50歲程式員回國寫代碼,三個月融資2000萬美元2年6個月11天,外包到阿里的修仙之路!|原力方案Flash已死,Deno當立?服務器軟體大掃盲!絕悟之后再超神,騰
  訊30篇論文當選AI頂會ACL中本聰并沒有呈現,那本相是?

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/181230.html

標籤:Java

上一篇:不用找了,基于 Redis 的分布式鎖實戰來了!

下一篇:Java還是真香啊!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more