|
2 | 2 |
|
3 | 3 | ## 前置知识
|
4 | 4 |
|
5 |
| -+ 无。 |
| 5 | +- 无。 |
6 | 6 |
|
7 | 7 | ## Introduction to Java Platform
|
8 | 8 |
|
|
15 | 15 | - 从 1995 年开始,历史悠久的 Java 平台积累了兼具广度和可靠性的生态系统和开发者社区。
|
16 | 16 | - Java 至今仍然是最流行、最知名、使用最广的编程语言之一。
|
17 | 17 |
|
18 |
| - |
19 |
| - |
20 | 18 | ### History of Java
|
21 | 19 |
|
22 | 20 | - 1991, *James Gosling*, C++ and Oak
|
|
29 | 27 | - 2018, Java 10 started to adopt Time-Based Release Versioning
|
30 | 28 | - Today, Java 17 is current LTS, Java 18 GA, Java 19 RDP 2
|
31 | 29 |
|
32 |
| - |
33 |
| - |
34 | 30 | ### Why Java
|
35 | 31 |
|
36 | 32 | - Easy!
|
|
39 | 35 | - Forward evolution with backwards compatibility
|
40 | 36 | - Performance
|
41 | 37 |
|
42 |
| - |
43 |
| - |
44 | 38 | ### Why NOT Java
|
45 | 39 | - Performance ?
|
46 | 40 | - 相对贫弱的语法特性削弱了对程序员的吸引力。
|
|
50 | 44 | - Kotlin 获得了 Google 的青睐和 Android 平台的优先支持。
|
51 | 45 | - Scala 极为灵活的语法和强大的表达能力长期以来收到科学计算领域和分布式数据处理领域的欢迎。
|
52 | 46 |
|
53 |
| - |
54 |
| - |
55 | 47 | ### Some Terms of Java
|
56 | 48 |
|
57 |
| - |
58 | 49 | - JDK, Java Develop Kit, Java 开发工具包
|
59 | 50 | - JRE, Java Runtime Environment, Java 运行时环境
|
60 | 51 | - JVM, Java Virtual Machine, Java 虚拟机
|
61 | 52 | - OpenJDK, 开源 Java 平台实现的合作组织
|
62 | 53 | - LTS,Long Term Support, 长期支持版本
|
63 | 54 | - IDE, Integrated Development Environment, 集成开发环境
|
64 | 55 |
|
65 |
| - |
66 |
| - |
67 |
| - |
68 | 56 | ## Installation of JDK & IntelliJ IDEA
|
69 | 57 |
|
70 | 58 | ### Eclipse Adoptium
|
|
75 | 63 | - Eclipse Adoptium 是 AdoptOpenJDK 的继任者 。
|
76 | 64 | - 它们提供的 OpenJDK 分发版称为 Eclipse Temurin 。
|
77 | 65 |
|
78 |
| - |
79 |
| - |
80 | 66 | ### Java Version
|
81 | 67 |
|
82 | 68 | - 作为最新的*长期支持版本 LTS*,**Java 17** 将成为本次课程的目标平台。Java 平台保证前向兼容,因此更新版本的 Java 支持本课程讲的绝大多数内容。
|
83 | 69 | - Java 的语法特性和版本绑定,大版本的后续更新大多都是 bug 修复和性能增强。但是 Java7-9 的发布时间分别是 2011-2014-2017,以多年为跨度的更新使 Java 语法特性的进化严重落后于时代。
|
84 | 70 | - 因此,从 *[[JEP 322](https://openjdk.org/jeps/322), Java10]* 开始,采用新的根据固定时间的新版本发布计划和命名方案。Java 将会*每六个月*固定发布新版本,用于快速滚动开发、预览、发布新语法特性和修改。
|
85 | 71 |
|
86 |
| - |
87 |
| - |
88 | 72 | ### Install JDK *(Eclipse Temurin)*
|
89 | 73 |
|
90 | 74 | - 所有系统通用: 进网站,点下载,双击安装包。
|
@@ -131,8 +115,6 @@ OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
|
131 | 115 | OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode)
|
132 | 116 | ```
|
133 | 117 |
|
134 |
| ---- |
135 |
| - |
136 | 118 | ### *CodeLab 0-1*: helloworld
|
137 | 119 |
|
138 | 120 | **第$i$章的 CodeLab 代码位于 `codelab/chapter<i>/src`。**
|
@@ -168,24 +150,42 @@ helloworld
|
168 | 150 |
|
169 | 151 | ```
|
170 | 152 |
|
171 |
| ---- |
172 |
| - |
173 | 153 | ### JetBrains IntelliJ IDEA
|
174 | 154 |
|
175 | 155 | - [https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)
|
176 | 156 | - 目前最强大、使用最广泛的 Java IDE。
|
177 | 157 | - IntelliJ IDEA Community Edition 是免费开源版本,其包含了基础的 Java 语言支持、分析、构建与版本管理和 Docker 支持。
|
178 | 158 | - IntelliJ IDEA Ultimate 是收费版本,支持性能剖析,企业级框架支持,Web 技术支持,数据库工具,远程协作开发支持。
|
179 |
| - - 使用`@mails.thu.edu.cn`可以申请 JetBrains 学生包以获取全部开发工具。 |
| 159 | + - 使用 `<你的邮箱用户名>@mails.thu.edu.cn` 可以申请 JetBrains 学生包以获取全部开发工具。 |
| 160 | + |
| 161 | +在 IntelliJ IDEA 中,点击 File-New-New Project... 新建一个新的项目,项目名为 `hello-world`: |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | +IDEA 会自动生成一个 demo 代码,代码内容如下: |
| 166 | + |
| 167 | +```java |
| 168 | +public class Main { |
| 169 | + public static void main(String[] args) { |
| 170 | + System.out.println("Hello world!"); |
| 171 | + } |
| 172 | +} |
| 173 | +``` |
| 174 | + |
| 175 | +点击右上角的“编译并运行”按钮。 |
| 176 | + |
| 177 | + |
| 178 | + |
| 179 | +如果你的程序输出:`Hello world!`,那么,你已经能够成功编译并运行 Java 程序了! |
180 | 180 |
|
181 | 181 | ## 资源链接
|
182 | 182 |
|
183 | 183 | - [Eclipse Adoptium](https://adoptium.net/)
|
184 | 184 | - [JEP](https://openjdk.org/jeps)
|
185 | 185 | - JDK:
|
186 |
| - - [TUNA镜像](https://mirrors.tuna.tsinghua.edu.cn/help/adoptium/) |
187 |
| - - [Azul Zulu](https://www.azul.com/downloads/) |
188 |
| - - [BellSoft Liberica JDK](https://bell-sw.com/pages/downloads/?) |
189 |
| - - [GraalVM](https://www.graalvm.org/) |
| 186 | + - [TUNA镜像](https://mirrors.tuna.tsinghua.edu.cn/help/adoptium/) |
| 187 | + - [Azul Zulu](https://www.azul.com/downloads/) |
| 188 | + - [BellSoft Liberica JDK](https://bell-sw.com/pages/downloads/?) |
| 189 | + - [GraalVM](https://www.graalvm.org/) |
190 | 190 | - [JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/)
|
191 | 191 | - [本章CodeLab](https://github.com/xsun2001/tour-of-java/tree/master/codelab/chapter0)
|
0 commit comments