JavaEE 從入門到放棄(一):Java EE 是個什麼東西

来源:https://www.cnblogs.com/Evan-Gao/archive/2018/09/26/9709743.html
-Advertisement-
Play Games

為什麼選擇 Java 想必有很多初學者會像我一樣,不知選擇什麼語言入門。在嘗試了 C、C++、C 、Python、PHP 後,我決定把 Java作 為第一門深入學習的編程語言。這個路著實有點長...... 不過放心,你可以大膽地選擇 Java。如果說 C++ 是編程界的曹操,那 Java 就是司馬懿 ...


為什麼選擇 Java

想必有很多初學者會像我一樣,不知選擇什麼語言入門。在嘗試了 C、C++、C#、Python、PHP 後,我決定把 Java作 為第一門深入學習的編程語言。這個路著實有點長......

不過放心,你可以大膽地選擇 Java。如果說 C++ 是編程界的曹操,那 Java 就是司馬懿,近三十年踏驚濤駭浪如履平地,熬死了無數對手。

誕生之初,Java 飽受爭議。而如今,那些受到攻擊的弱點一個個被解決甚至反超對手。人們開始驚嘆 Java 的生命力,長期以來,Java雄踞編程語言排行榜首位,擁有最多的受眾、最大的市場、最活躍的社區。

TIOBE 編程語言排行榜:https://www.tiobe.com/tiobe-index/

就在我寫這篇博客的今天(18.07.09),我看到了一則消息,JDK 11中將會引入新的GC(Garbage Collection,垃圾回收)演算法 ZGC,能夠處理 TB 級別的 HEAP GC,GC 停頓時間不超過10s,意味著,幾乎所有的民用場合,都可以用Java來寫了,而且可以隨心所欲地造對象,不用像以前一樣小心翼翼了。

當然,每個時期都有冉冉升起的新星。現在 Python 如日中天,Go 野心勃勃,選擇Java 的你,可以選擇喝杯茶看它們鬧騰了(逃......)

什麼是 JavaEE

JavaEE 概念

Java EE,Java 平臺企業版(Java Platform Enterprise Edition),之前稱為Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名為 Jakarta EE(這個名稱應該還沒有得到群眾認可)。是 Sun 公司為企業級應用推出的標準平臺,用來開發B/S架構軟體。Java EE 可以說是一個框架,也可以說是一種規範。

JavaEE 是 Java 應用最廣泛的部分。

JavaEE 與 JavaSE 的區別與聯繫

JavaEE 是在 JavaSE 的基礎上構建的,是對 JavaSE 的擴展,增加了一些更加便捷的應用框架。

除了 EE 和 SE,還有為移動端而生的 JavaME,但目前應用不算廣泛。三者的關係可以用下圖概括:

JavaSE\EE\ME關係

JavaEE主要技術

JavaEE 號稱有十三種核心技術。它們分別是:JDBCJNDIEJB、RMI、ServletJSP、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。

簡單介紹下需要重點關註的技術。

JDBC

Java 資料庫連接,(Java Database Connectivity,JDBC)是 Java 語言中用來規範客戶端程式如何來訪問資料庫的應用程式介面,提供了諸如查詢和更新資料庫中數據的方法。

JNDI

Java 命名和目錄介面(Java Naming and Directory Interface,JNDI),是 Java 的一個目錄服務應用程式界面(API),它提供一個目錄系統,並將服務名稱與對象關聯起來,從而使得開發人員在開發過程中可以使用名稱來訪問對象。

EJB

企業級 JavaBean(Enterprise JavaBean, EJB)是一個用來構築企業級應用的伺服器端可被管理組件

Servlet

Servlet(Server Applet),是用 Java 編寫的伺服器端程式。其主要功能在於互動式地瀏覽和修改數據,生成動態 Web 內容。

狹義的 Servlet 是指 Java 語言實現的一個介面,廣義的 Servlet 是指任何實現了這個 Servlet 介面的類,一般情況下,人們將 Servlet 理解為後者。

JSP

JSP(全稱JavaServer Pages)是由 Sun 公司主導創建的一種動態網頁技術標準。JSP 部署於網路伺服器上,可以響應客戶端發送的請求,並根據請求內容動態地生成 HTML、XML 或其他格式文檔的 Web 網頁,然後返回給請求者。

JavaEE框架

JavaEE 擁有廣泛市場的原因之一就是可以使用多種框架來使開發變得簡單。對於框架的選擇多種多樣,目前比較常見的框架組合SSHSSM。在後面的章節中會作詳細介紹。另外Spring本身也提供了多種層次的框架供選擇,可以到Spring官網瞭解詳情。

Spring: https://spring.io/

SSH

Structs + Spring + Hibernate

SSM

Spring +SpringMVC + MyBatis

JavaEE學習路徑

一般來講,初學者應該遵循以下路徑

Servlet -> JSP -> Spring -> 組合框架

Servlet 和 JSP 在日後的開發中雖然不會直接應用,但卻是各種框架的基礎,應該放在開始去瞭解。這兩部分也並不難,相信經過了 JavaSE 的洗禮,只需要進行短期(每天3小時左右,大概兩周)的學習,就可以投入實踐中了。

推薦看視頻 + 擼代碼相結合的學習方式,書本的話可以在大致瞭解以後買過來,遇到理解上的細節再去翻閱。視頻的優點之一是可以根據個人喜好調整倍速,個人以為比上課、看書的效率要高。

最後給大家分享點資料:

[1] 鏈接:https://pan.baidu.com/s/1sMCUtCr8m6w9dYbwC_XqEg
密碼:u28z

[2] 鏈接:https://pan.baidu.com/s/1batnglUmTUJ_lJW2IptqJA
密碼:k288

有時網盤的下載速度過於感人,如何使用迅雷等工具下載網盤分享的內容呢?參見我的文章——

「如何突破網盤限速?獲取下載鏈接的三種方法」

還有一個學習 Java 的良心網站,裡面有 Java 全棧知識,在每個階段都設置了練習內容,誰用誰知道。

點擊訪問 ——「How2J 的 Java 教程」


聲明

上述資源來自互聯網,如有侵犯版權請聯繫我,我會在第一時間處理。

資料僅作為個人學習使用,切勿用在商業用途,請於下載後24小時之內刪除,否則由此引發的法律糾紛及連帶責任本人概不承擔。

歡迎關註 Evan-Gao 的博客


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 迭代器 在Python如果一個對象可被迴圈(遍歷)該對象中每一個元素的過程叫做迭代。例如 ,字典、字元串、列表、元祖、集合等。他們可被迭代的原因是,都有一個共同的內置函數__iter__。通過執行內置對象的__next__函數,可以依次列印該對象的所有元素。例如 有一個列表,該列表存儲了1-100的 ...
  • [TOC] 在公司里一直在用RabbitMQ,由於api已經封裝的很簡單,關於RabbitMQ本身還有封裝的實現沒有瞭解,最近在看RabbitMQ實戰這本書,結合網上的一些例子和spring文檔,實現了RabbitMQ和spring的集成,對著自己平時的疑惑做了一些總結。 關於RabbitMQ基礎不 ...
  • 一些基礎演算法總結一下,作為一個記錄 ...
  • 一、什麼是電腦程式? 所謂程式就是一組電腦能識別和執行的指令。電腦的一切操作都是由程式控制的,本質是程式的機器,程式和指令是電腦系統最基本的概念。 二、什麼是電腦語言? 人和電腦交流信息要解決語言問題,需要創造一種電腦和人都能識別的語言,這就是電腦語言。 1、電腦發展的階段 機器語 ...
  • 教程:一:元組的創建 元組(tuple)與列表類似,不同之處在於元組的元素不能修改 (1)tuple寫在圓括弧之間,元素用逗號隔開 (2)元組元素的類型可以不同 (3)一個元素,需要在元素後添加逗號tup = (20,) (4)元組也可以被索引和切片,方法一樣二:元組的索引 變數[頭標:尾標] 從前 ...
  • 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重覆的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 1.前序遍歷是中,左,右;中序遍歷是左,中,右 2.前序遍歷的... ...
  • 讀書筆記 kancy ...
  • 為了用事實說明挖掘機技術到底哪家強,PAT 組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。 輸入格式: 輸入在第 1 行給出不超過 1 的正整數 N,即參賽人數。隨後 N 行,每行給出一位參賽者的信息和成績,包括其所代表的學校的編號(從 1 開始連續編號)、及其比賽成績(百分 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...