1.JDK和JRE
JDK:java development kit :
是功能齐全的java SDK.可以创建和编译。
拥有JRE全部(JVM+JAVA类库+java命令+其他的一些基础构件)+编译器(javac.exe)+ 工具(javadoc和jdb)
JRE:java runtime environment:
JVM+JAVA类库(lib)+java命令+其他的一些基础构件
2.JVM:
用于可执行bytecode字节码文件的“虚拟计算机”。指令集、寄存器集、结构栈、垃圾回收堆、内存区域。JVM负责将java.class字节码解释运行,边解释边运行,速度不如C++。JVM与平台相关。java编译与平台无关,由javac.exe执行。
3.局部变量和成员变量的区别
局部变量:方法中。
成员变量:
区别 | 局部变量 | 成员变量 |
---|---|---|
代码位置 | 方法中 | 类中方法外 |
代码作用范围 | 代码块 | 类的多个方法 |
是否有默认值 | 没有 | 有 |
是否初始化 | 需要(否则直接报错) | 不需要 |
内存位置 | 栈内存 | 堆内存 |
作用时间 | 当前方法执行前直至完 | 对象的创建至销毁 |
默认值:
数据类型 | 默认值 |
---|---|
byte | 0 |
int | 0 |
short | 0 |
long | 0 |
float | 0.0 |
double | 0.0 |
boolean | false |
char | ‘\u0000’(空格形式null) |
引用数据类型 | null |