Java
Java 是加拿大程序员 James Gosling ,用 C/C++ 语言实现的 基于类面向对象、通用、跨平台、一次编译、到处运行(write once, run anywhere)的高阶编程语言, 它被广泛应用企业级服务端和手机移动端领域,首个公开版本 1.0 于 1996 年发布。
概要
Java 技术体系架构
Java 源代码 - Java 字节码(虚构的指令集) - 转换后执行 - 特定架构 CPU 指令集
----------------------------------------------------------
Java 虚拟机(JVM)
Java Runtime(JRE) = JVM + Java核心类库 + 运行时命令行工具库(java等等)
Java Development Kit(JDK) = JRE + 编译器(javac) + 命令行工具库(javadoc、jar等等)完整 Java 平台(Java Technology)实现包括
- 开发工具 提供程序编译、运行、监控、调试和生成文档等等(javac、java、javadoc)
- API 对象、网络和安全,生成 XML 和数据库访问
- 部署 JDK 提供标准机制如 Java Web Start 和 Java Plug-in 部署应用给终端用户
- 用户界面工具包 JavaFX, Swing 和 Java 2D 工具包
- 集成类库(IDL、JDBC、JNDI、RMI)
JVM 可对字节码完全编译和缓存,比解释器运行得更快,这个过程称为实时编译(JIT, Just-in-time compilation) 。 HotSpot、OpenJDK、OpenJ9 均是 JVM 的一种实现。
安装 JDK
JDK 有 Microsoft、IBM、Oracle、Alibaba 等等多个厂商实现和多个发行版,一般情况下使用 OpenJDK 长期支持版本(LTS, Long Time Support):
- Java 21, 2049
- Java 17, 2021
- Java 11, 2018
一些生产环境可能依赖发行于 2014 年的 Java 8 版本 JDK .
下载压缩包解压到指定目录,并设置环境变量:
JAVA_HOME=C:\pkgs\Java\jdk-21.0.2
PATH=%JAVA_HOME%\bin
编写编译和运行 hello world
File - New Project
Choose - Categories: Java with Maven - Projects: Java Application
Name and Location, Project Name: HelloWorldApp, Finish
Run - Run project方法二:Notepad(++) 编写和 命令行下编译和运行
C:\work\src\hellojava>javac HelloWorldApp.java
C:\work\src\hellojava>java HelloWorldApp
hello world
C:\work\src\hellojava>java -cp . HelloWorldApp
hello world
C:\Users\somebody>java -cp C:\work\src\hellojava HelloWorldApp
hello world要点:
- 文件名、类名大小写敏感
- 文件名和类名一致
- 内置库不用引入
import java.lang.System;
学习资源
- WikiBooks Java Programming
- Oracle Java Technologies
常用配置
IDE NetBeans maven 配置
v15 内置了 maven,配置文件目录在 <NetBeans安装路径>\netbeans\java\maven\conf 下; repository 路径在 Window - Services -> Maven Repositories -> local -> right click -> properties 。默认为 %USERPROFILE%\.m2\repository 。
添加阿里云 maven 镜像
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>IDE VSCode
- https://code.visualstudio.com/docs/java/java-spring-boot
- https://marketplace.visualstudio.com/items?itemName=pivotal.vscode-boot-dev-pack
