SlideShare a Scribd company logo
Submit Search
Upload
CH1:Java平台概論
Report
Justin Lin
Technology / Community Evangelist at Free lancer
Follow
•
2 likes
•
1,245 views
1
of
41
CH1:Java平台概論
•
2 likes
•
1,245 views
Download Now
Download to read offline
Report
Technology
簡介Java版本遷移 認識Java SE、Java EE、Java ME 認識JDK規範與實作 瞭解JVM、JRE與JDK 下載、安裝JDK
Read more
Justin Lin
Technology / Community Evangelist at Free lancer
Follow
Recommended
CH03:基礎語法
Justin Lin
528 views
•
48 slides
CH04:認識物件
Justin Lin
421 views
•
87 slides
CH02:從JDK到IDE
Justin Lin
481 views
•
58 slides
CH09:Collection與Map
Justin Lin
288 views
•
87 slides
CH11:執行緒與並行API
Justin Lin
320 views
•
89 slides
Ch09 整合資料庫
Justin Lin
233 views
•
92 slides
More Related Content
What's hot
Ch02 撰寫與設定 Servlet
Justin Lin
352 views
•
37 slides
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
204 views
•
69 slides
Ch06 使用 JSP
Justin Lin
250 views
•
83 slides
Ch13 整合 Spring MVC/Security
Justin Lin
280 views
•
58 slides
Ch03 請求與回應
Justin Lin
236 views
•
73 slides
Anti-Debugging - A Developers View
Tyler Shields
3.1K views
•
15 slides
What's hot
(20)
Ch02 撰寫與設定 Servlet
Justin Lin
•
352 views
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
•
204 views
Ch06 使用 JSP
Justin Lin
•
250 views
Ch13 整合 Spring MVC/Security
Justin Lin
•
280 views
Ch03 請求與回應
Justin Lin
•
236 views
Anti-Debugging - A Developers View
Tyler Shields
•
3.1K views
A arquitetura modular do Java 9
Helder da Rocha
•
1.1K views
Ch12 Spring 起步走
Justin Lin
•
273 views
Java Programming | Java Tutorial For Beginners | Java Training | Edureka
Edureka!
•
811 views
Java
sasi saseenthiran
•
272 views
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
•
3.4K views
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
•
5.3K views
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Edureka!
•
2.8K views
Everything I know about S3 pre-signed URLs
Luciano Mammino
•
147 views
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Justin Lin
•
10.1K views
Entity framework code first
Confiz
•
4.2K views
Introduction to Spring Framework
Hùng Nguyễn Huy
•
528 views
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
•
4.2K views
ASP.NET Core 6.0 全新功能探索
Will Huang
•
2.6K views
Introduction to Spring Framework
ASG
•
179 views
Similar to CH1:Java平台概論
Java平台概論
Justin Lin
2.4K views
•
45 slides
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Justin Lin
5.9K views
•
43 slides
Java SE 7 技術手冊試讀 - Java 平台概論
Justin Lin
5.5K views
•
16 slides
1, java intro
ted-xu
571 views
•
13 slides
Java Tutorial:Learn Java in 06:00:00
Justin Lin
27.5K views
•
98 slides
第一章 概述和Jdk的安装和配置
yinmei1983
144 views
•
16 slides
Similar to CH1:Java平台概論
(14)
Java平台概論
Justin Lin
•
2.4K views
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Justin Lin
•
5.9K views
Java SE 7 技術手冊試讀 - Java 平台概論
Justin Lin
•
5.5K views
1, java intro
ted-xu
•
571 views
Java Tutorial:Learn Java in 06:00:00
Justin Lin
•
27.5K views
第一章 概述和Jdk的安装和配置
yinmei1983
•
144 views
Weic2015 docker
Ray Lin
•
406 views
Nashorn on JDK 8 (ADC2013)
Kris Mok
•
2.6K views
Google app engine安裝教學
勝億 曾
•
5.3K views
Android工作坊
國立政治大學 數位內容碩士學位學程
•
309 views
2. java introduction
netdbncku
•
1.4K views
必备的 Java 参考资源列表
wensheng wei
•
239 views
[圣思园][Java SE]001 java se 第一讲(java se入门、jdk的下载与安装、第一个java程序、java程序的编译与执行)
ArBing Xie
•
96 views
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Justin Lin
•
2K views
More from Justin Lin
Ch14 簡介 Spring Boot
Justin Lin
872 views
•
22 slides
Ch11 簡介 JavaMail
Justin Lin
157 views
•
8 slides
Ch10 Web 容器安全管理
Justin Lin
153 views
•
30 slides
Ch08 自訂標籤
Justin Lin
133 views
•
54 slides
Ch04 會話管理
Justin Lin
238 views
•
30 slides
CH1. 簡介 Web 應用程式
Justin Lin
1.2K views
•
55 slides
More from Justin Lin
(20)
Ch14 簡介 Spring Boot
Justin Lin
•
872 views
Ch11 簡介 JavaMail
Justin Lin
•
157 views
Ch10 Web 容器安全管理
Justin Lin
•
153 views
Ch08 自訂標籤
Justin Lin
•
133 views
Ch04 會話管理
Justin Lin
•
238 views
CH1. 簡介 Web 應用程式
Justin Lin
•
1.2K views
14. 進階主題
Justin Lin
•
404 views
13.並行、平行與非同步
Justin Lin
•
237 views
12. 除錯、測試與效能
Justin Lin
•
153 views
11. 常用內建模組
Justin Lin
•
149 views
10. 資料永續與交換
Justin Lin
•
156 views
9. 資料結構
Justin Lin
•
292 views
8. open() 與 io 模組
Justin Lin
•
245 views
7. 例外處理
Justin Lin
•
115 views
6. 類別的繼承
Justin Lin
•
166 views
5. 從模組到類別
Justin Lin
•
169 views
4. 流程語法與函式
Justin Lin
•
188 views
3.型態與運算子
Justin Lin
•
199 views
1. Python起步走
Justin Lin
•
662 views
2. 從 REPL 到 IDE
Justin Lin
•
234 views
CH1:Java平台概論
1.
1
2.
Java平台概論 學習目標 • 簡介Java版本遷移 • 認識Java
SE、Java EE、Java ME • 認識JDK規範與實作 • 瞭解JVM、JRE與JDK • 下載、安裝JDK 2
3.
Java不只是語言 • 從1995年至今 • 不僅是個程式語言,也代表解決問題的平臺 •
原廠、各個廠商、社群、開發者與使用者溝 通的成果 3
4.
Java誕生 • 最早是Sun公司綠色專案(Green Project)中 撰寫Star7應用程式的程式語言 •
當時名稱不是Java,而是取名為Oak • 許多為了節省資源而做的設計 • 全球資訊網(World Wide Web)興起,Java Applet成為網頁互動技術代表 4
5.
• 1995年5月23 日,Oak正式改名為Java •
Java Development Kits(當時JDK全名)1.0a2 版本正式對外 • 這一天公認為Java的誕生日 • 1996年Netscape Navigator 2.0正式支援Java, Microsoft Explorer亦開始支援Java 5
6.
6
7.
從J2SE到Java SE • Sun在1998/12/04年發佈Java
2 Platform,簡稱 J2SE 1.2 • Java開發者版本一開始是以Java Development Kit名稱發表,簡稱JDK • J2SE是平臺名稱,包含了JDK與Java程式語 言 7
8.
8
9.
• 2004/09/29發表的Java平臺標準版的版號不是 1.5,而直接跳到5.0,稱為J2SE 5.0 •
2006/12/11發表的Java平臺標準版,除了版號 之外,名稱也有了變化,稱為Java Platform, Standard Edition 6,簡稱Java SE 6 • JDK6全名為Java SE Development Kit 6,也 就是不再像以前Java 2帶有"2"這個號碼 9
10.
江山易主 • 2010年Oracle宣佈併購Sun,Java也正式成為 Oracle所屬 10
11.
目前釋出週期 • 從Java SE
9開始,JDK採取以半年為週期, 持續發布新版本 • $FEATURE.$INTERIM.$UPDATE.$PATCH 11
12.
• 就企業而言,需要留意的是長期支援版本( Long-Term-Support) • 每三年釋出LTS •
Java SE 8、Java SE 11是LTS,下個LTS預計 是Java SE 17 • LTS版本實際維護時間視JDK來源而定,可能 會是三到六年不等的時間 • Java SE 9、12、13、14等,只是短期支援版 本,釋出後六個月後就不再維護 12
13.
• Sun公司在1999年6月美國舊金山的Java One 大會上,公佈了新的Java體系架構 –
J2SE(Java 2 Platform, Standard Edition) – J2EE(Java 2 Platform, Enterprise Edition) – J2ME(Java 2 Platform, Micro Edition) 13
14.
14
15.
JCP與JSR • Java不僅是程式語言,而是標準規範! • Sun公司於1998年組成了JCP(Java Community
Process) • 任何想加入Java的功能或特性,必須以JSR( Java Specification Requests)正式文件的方 式提交 15 System.out.println("Hello, World");
16.
• 若JSR成為最終文件,必須根據JSR實作出免 費且開放原始碼的參考實現,稱為RI( Reference Implementation) •
提供TCK(Technology Compatibility Kit) 作為技術相容測試工具箱 16
17.
• 在JSR規範的標準之下,各廠商可以各自實 作 • Java
SE 14的主要規範是在JSR 389文件之中 17 jcp.org/en/jsr/detail?id=389
18.
Oracle JDK與OpenJDK • Sun
JDK實現,就是JDK的參考實作( Reference Implementation) • 有興趣的廠商或組織可以根據JSR自行實現 產品 • 只有通過TCK 相容性測試的實作,才可以使 用Java這個商標 18
19.
• 2006年的JavaOne大會上,Sun宣告其參考實 作將開放原始碼 • 從JDK7
b10 開始有了OpenJDK,並於2009 年4月15日正式發佈 OpenJDK • Oracle接管Sun之後發佈的JDK7正式版本,指 定了OpenJDK7為官方參考實作 19
20.
Oracle JDK7與OpenJDK7 • Sun
JDK當時採JRL – 原始碼可用於個人研究使用,禁止任何商業用途 • OpenJDK7採GPL2 with the Classpath Exception – 允許商業上的使用 – 必須拿掉許多在兩個授權間有衝突的程式碼 – 不包括一些部署(Deployment)工具(像是Java Web Start等 )以及軟體套件(像是Java DB)等 20
21.
• 原始的OpenJDK7是不完整的,無法通過JCK 相容測試 • 如果執行java
-version,會顯示openjdk version字樣,而不是java version字樣 • Red Hat於2007年發起了IcedTea計畫 21
22.
Open JDK7與OpenJDK6 • OpenJDK6並不是Sun
JDK6的分支,而是將 OpenJDK7中JDK7的特性拿掉 • 實際上是OpenJDK7的分支 22
23.
使用哪個版本? • Sun BCL –
從Sun下載的JDK用於桌面個人電腦時,是免費 的(no-fee) • Oracle BCL – 從Oracle下載的JDK,只能用於一般用途( general purpose) 23
24.
• Oracle JDK
License – 除了開發、測試、原型、應用程式展示外,不可 用於任何資料處理、商業、產品、內部企業使用 等目的 • Oracle JDK使用者,必須取得商用授權 24
25.
• OpenJDK – 基於GPL2
with the Classpath Exception – 不能使用Oracle提供的臭蟲、安全性修補等服務 – 修補原始碼會回饋至OpenJDK的原始碼庫 – 可以自行取得原始碼進行建構 25
26.
• 預先建構好的OpenJDK LTS –
AdoptOpenJDK – Amazon Corretto • Azul Zulu為OpenJDK提供了付費服務 • 考量與作業系統整合度時,Red Hat提供內含 OpenJDK的建構版本 26
27.
• 就企業而言,需要留意的是LTS – Java
SE 8與Java SE 11 • Java SE 8釋出於2014年 • Java SE 9以後開始支援模組化 27
28.
建議的學習路徑 28
29.
• 深入瞭解JVM/JRE/JDK • 理解封裝、繼承、多型 •
掌握常用Java SE API架構 • 學習容器觀念 • 研究開放原始碼專案 • 學習模式與重構 • 熟悉相關開發工具 29
30.
JVM/JRE/JDK 30
31.
什麼是JVM? • Java Virtual
Machne(JVM) 31
32.
32
33.
33 • 編譯一次,到處到處執行
34.
JRE與JDK • Java Runtime
Environment • 包括了Java SE API與JVM 34
35.
• Java Development
Kit • 包括了Java程式語言、工具程式與JRE, JRE則包括了部署技術、Java SE API與JVM • 新版本的Oracle JDK或OpenJDK,都不再提 供獨立的JRE安裝或下載 35
36.
下載、安裝JDK • Oracle JDK –
www.oracle.com/java/technologies/javase- downloads.htm 36
37.
37
38.
38
39.
39
40.
OpenJDK • jdk.java.net/14/ 40
41.
認識JDK安裝內容 41