Java 与 Internet 一起发展
www, 万维网, 所有信息用链接连接起来
Java, 静态网页 -> 动态网页
JDK, Java Development Kit, Java开发工具包
1995, JDK 1.0 1998, JDK 1.2, Java2 2000, JDK 1.3 2002, JDK 1.4, assert, logging, re 2004, JDK 1.5, 语法增加 2006, JDK 1.6, 广泛, Compiler API(动态编译), 脚本语言支持, WebService支持 2010, Oracle并购SUN 2011, JDK 1.7, 带资源的try, 重抛异常 2014, JDK 1.8, 大改进, lambda表达式 注: 从 JDK 1.5 之后, JDK 1.x 也被称为 JDK x, 如 JDK 1.8 也被叫做 Java 8
Java的推动力
JCP, Java Community Process, 社区
JSR, Java Specification Requests, 规范
与 C++ 的区别
编写 Main.java
package javanote; public class Main{ public static void main(String args[]) { System.out.println("hello world"); } }
进入新建文件夹 ./javanote
, 然后新建源程序文件 Main.java
, 注意文件名和 public class
后面的类名一致
public class Main { // 注意 String[] args 不能省略 public static void main(String[] args){ System.out.println("hello world"); } }
编译, 将会得到 Main.class
目标文件(obj), 字节码 bytecode
, 不是实际机器的最终执行代码
# c 代表 compiler $ javac Main.java $ ls Main.class Main.java
运行
# 注意不是 java Main.class java Main
通过 JVM
读取并处理 class
文件, 最终转化成 CPU
的指令. JVM for Win/*nix/
模拟了一个操作系统/接口