曾经有人说,作为Java程序员如果没有卷过这本书,就算不上是真正的Java程序员,那么我就也来卷卷它吧。下面是我的读书摘录笔记。
目录
2.1 安装 Java 开发工具包
2.1.1 下载 JDK
下载 Java 开发工具包,可以访问 Oralce 公司的网站:Java Downloads | Oracle
表2-1 Java 术语
术语名 | 缩写 | 解释 |
Java Development Kit(Java 开发工具包) | JDK | 编写 Java 程序的程序员使用的软件 |
Java Runtime Environment(Java 运行时环境) | JRE | 运行 Java 程序的用户使用的软件 |
Server JRE(服务器 JRE) | 在服务器上运行 Java 程序的软件 | |
Standard Edition(标准版) | SE | 用于桌面或简单服务器应用的 Java 平台 |
Enterprise Edition(企业版) | EE | 用于复杂服务器应用的 Java 平台 |
Micro Edition(微型版) | ME | 用于小型设备的 Java 平台 |
Java FX | 用于图形化用户界面的一个备选工具包,在 Java 11 之前的某些 Java SE 发布版本中提供 | |
OpenJDK | Java SE 的一个免费开源实现 | |
Java 2 | J2 | 一个过时的术语,用于描述 1998 ~ 2006 年之间的 Java 版本 |
Software Development Kit(软件开发工具包) | SDK | 一个过时的术语,用于描述 1998 ~ 2006 年之间的 JDKa |
Update | u | Oracle 公司的术语,表示 Java 8 之前的 bug 修正版本 |
NetBeans | Oracle 公司的集成开发环境 |
对于 Linux,还可以在 RPM 文件和 .tar.gz 文件之间做出选择。我们建议使用后者,这样可以在你希望的任何位置直接解压这个压缩包。
- 你需要的是 JDK,而不是 JRE
- 对于 Linux,选择 .tar.gz 版本
2.1.2 设置 JDK
安装这个开发工具包并明确要在哪里安装
- 在 Windows 上,默认位置,如 c:\Programe Files\Java\jdk-11.0.x
- 在 Mac 上,会把软件安装到 /Library/Java/JavaVirtualMachines/jdk-11.0.x.jdk/Contents/Home
- 在 Linux 上,只需要把 .tar.gz 文件解压缩到你选择的某个位置
在 Windows 或 Linux 上安装 JDK 时,还需要另外完成一个步骤:将 jdk/bin 目录添加到可执行路径中 —— 可执行路径是操作系统查找可执行文件时所遍历的目录列表
- 在 Linux 中,需要在 ~/.bashrc 或 ~/.bash_profile 文件的最后增加这样一行
export PATH=jdk/bin:$PATH
测试是否设置是否正确:打开一个终端窗口,键入
javac --version
然后按回车键。应该能看到显示以下信息
javac 9.0.4
2.1.3 安装库源文件和文档
类库源文件在 JDK 中以压缩文件 lib/src.zip 的形式发布
编译器、虚拟机、原生方法以及私有辅助类,访问 http://openjdk.java.net
文档包含在一个压缩文件中,它是一个独立于 JDK 的压缩文件,从网站 Java Downloads | Oracle 下载这个文档
本书的程序示例,可以从 http://horstmann.com/corejava 下载
2.2 使用命令行工具
javac Welcome.java
java Welcome
javac 程序是一个 Java 编译器,它将文件 Welcome.java 编译成 Welcome.class
java 程序启动 Java 虚拟机,虚拟机执行编译器编译到类文件中的字节码
- 如果手工输入源程序,一定要注意正确地输入大小写
- 编译器需要一个文件名,而运行程序时,只需要指定类名
- Java 区分大小写
2.3 使用集成开发环境
可以免费得到一些很棒的开发环境,如 Eclipse、IntelliJ IDEA 和 NetBeans
2.4 JShell
JShell 程序提供了一个“读取 - 计算 - 打印循环”(Read - Evaluate - Print Loop,REPL)
键入一个 Java 表达式;JShell 会评估你的输入,打印结果,等待你的下一个输入
要启动 JShell,只需要在终端窗口中键入 jshell
% jshell
| 欢迎使用 JShell -- 版本 13.0.2
| 要大致了解该版本, 请键入: /help intro
jshell> "Core Java".length()
$1 ==> 9
jshell> 5 * $1 - 3
$2 ==> 42
jshell> int answer = 6 * 7
answer ==> 42
jshell> Math.
E IEEEremainder( PI abs(
acos( addExact( asin( atan(
atan2( cbrt( ceil( class
copySign( cos( cosh( decrementExact(
exp( expm1( floor( floorDiv(
floorMod( fma( getExponent( hypot(
incrementExact( log( log10( log1p(
max( min( multiplyExact( multiplyFull(
multiplyHigh( negateExact( nextAfter( nextDown(
nextUp( pow( random() rint(
round( scalb( signum( sin(
sinh( sqrt( subtractExact( tan(
tanh( toDegrees( toIntExact( toRadians(
ulp(
jshell> Math.l
log( log10( log1p(
jshell> Math.log10(0.001)
$4 ==> -3.0
jshell> Math.log10(1000)
$5 ==> 3.0
jshell> /exit
| 再见