11月24日
1、jdk1.6 vs. jre vs. jvm
1)jdk1.6
a.bin
java 所有命令存放处
b.lib
java 运行时的类库
c.jre
java 运行时的必要环境
d.开发者
2)jre
java程序运行的环境
3)jvm
运行 java 程序的软件
2、变量
本质上是内存上的一小块区域
3、配置 java 环境变量
1)JAVA_HOME = jdk 安装的目录 (optional)
作用
a.方便 path 引用
path = %JAVA_HOME%/bin;
b.其它的应用程序的引用
Tomcat/ jboss...
2)path = jdk 的 bin 的位置 (required)
os 使用它来搜索命令的路径
3)classpath = jre 的位置 (optional)
jvm 使用它来搜索和加载 .class 文件的路径
4、java 语言的特性
1)面向对象
2)跨平台
编译解释型语言
3)健壮性
5、java 源程序
1)以 .java 为后缀名
2)文件名与 public 类的类名一致,可以包含多个类,最多有一个 public 类
3)有一个且只有一个 main() 方法,是程序的入口
public static void main(String args[]){....}
4)区分大小
5)类体
方法体
语句
以分号作为结束符
6)注释(3种)
a.// 单行注释
b./*
...多行注释
*/
c./*
* ...多行注释,且可以被 Doc 工具解析
*/
7)编译程序
javac -> .class 文件(字节码文件 bytecode)
字节码文件名与类名一样
8)运行程序
启动虚拟机,执行 xx 类里的 main 方法
java xx.class
1)加载 xx 字节码文件 (xx.class 存在)
2)从字节码中解析出 xx 类 的信息
类名、方法、属性...
6、异常
1)NoClassFoundException
没有找到字节码文件(运行时)
主要与 classpath 有关
由于 NoClassFoundException 会引起 NoClassDefFoundError
2)NoClassDefFoundError
没有找到类的定义的信息(找到字节码),虚拟机会退出
7、package & import
1)package
a.写在程序的第一行,相当于 file system 中的目录
b.作用:
解决命名冲突
更好地组织、管理程序
c.包含包在 dos 下访问 com.Test.java (成级地生成包)
javac -d . Test.java //编译可以生成相对应的目录在 file system
java com.Test //运行这个类
2)import
导入包或类
系统默认导入 java.lang 包