2020/4/16java学习笔记
Java 类库组织结构和文档
Java虚拟机简介
java跨平台运行的原理:
Java源代码(Hellow.java)先经过javac.exe编译成Hellow.class(字节码)
然后运行交给JVM(Java虚拟机),JVM去和各大操作系统打交道,所以实现了跨平台的运行机制。
Java技术的两个核心
Java虚拟机:
用于运行生成的java字节码的虚拟计算机系统软件,它有一个解释器组件,可以实现java字节码和操作系统之间的通信。对于不同的运行平台,有不同的java虚拟机。java虚拟机屏蔽了底层运行平台的差别,实现了一次编译,随处运行。
运行过程:
javac.exe将源代码编译成.class字节码文件,java虚拟机根据设定好的classpath路径找到对应的.class文件,通过java.exe运行工具来运行.class自己吗文件。然后虚拟机找到的对应的.class文件进行装载,再进行校验、解释。
最后交给操作系统控制硬件执行(二进制文件),过程不需要程序员参与,都有虚拟机自动完成。
解释器和JIT的区别:
- 解释器:按行扫描执行指令。
- JIT代码生成器:将整个代码一次性翻译完毕,然后一次性运行,效率较高
垃圾回收器:
JAVA实行GC机制
C/C++中,由程序自己负责回收无用内存。
JDK对此提供了一个垃圾回收器GC。
java虚拟机提供了一种线性线程跟踪存储空间的分配情况,在java虚拟机空闲的时候,检查并释放那些可以被释放的内存。GC在java程序运行中自动启用,程序员不能精确控制
JAVA语言基础入门
知识要点:
- 变量
- 数据的分类
- 关键字、标识符、常量
- 运算符
- 表达式
- 流程控制
- 顺序语句
- 选择条件语句
- 循环语句
- javaDebug技术
这部分与C/C++类似下面给出一些不同的地方
Java的输出到屏幕函数为:System.out.println("Hellow");
代码框架为:
public class YourFileName {
public static void main() {
System.out.println("Hello");
}
}
数据类型:
八种基本数据类型:
- boolean
只能是ture or flase,不能用0 或 非0代替 - char
采用Unicode编码,字符都为2字节表示 - byte
占用一个字节,数据范围:-128 ~ 127 - short
占用两个字节,-2^(16 - 1) ~ 2^(16-1) - 1 - int
占用四个字节,-2^31 ~ 2^31 -1 - long
占用八个字节,-263~263 -1 - float
占用四个字节,-3.4E38~3.4E38 - double
占用八个字节,-1.7E308~1.7E308
为了保证java程序的可移植性,整形数据默认为int、数据类型,浮点型默认为double数据类型,要单独定义long或者float需要加上L,F
计算机中一个ASCII占一个字节,最高位奇偶检验位。
基本数据类型间的转换:
boolean不能转换成任何其它数据类型
- 自动转换类型:
容量小的数据类型可以自动转换成容量大的数据类型: - 强制类型转换
Java的50个关键字
运算符:
自带字符串连接运算符'+'
Scanner类:
系统提供的类
需要import java.util.Scanner
import java.util.Scanner
int a;
Scanner input = new Scanner(System.in)
a = input.nextInt();