1.java程序的执行过程:先编译后解释。也就是我们在idea写的文件叫做java源文件(.java结尾的文件),经过编译器会生成字节码文件(.class结尾的文件),再通过解释器进行实现
2.栈用来存储引用类型的地址,该地址指向堆里面的对象
3.JVM简单的内存划分
两个栈的区别:
本地方法栈:会执行一些底层由C/C++代码实现的方法
java虚拟机栈:就是我们平时泛指的“栈”
4.如果一个对象一直没有人引用它,此时,就会被JVM自动回收
5.如果2个引用对象同时指向一个对象的时候,通过任何一个引用都能修改这个对象的值
6.array1=array2,代表array1这个引用指向了 array2这个引用指向的对象
7.给引用=null,代表这个引用不指向任何对象
8.4类8种基本类型
整数型:byte,short,int,long
浮点型:float,double
布尔型:boolean
字符型:char
9.十进制首位不能为0,二进制以0b或0B开头,八进制以0开头,十六进制以0x或0X开头
10.int的取值范围:-2^31~2^31-1,因为int是4个字节,总共32比特位,其中第一位是符号位,所以只有31个数值位
11.浮点数默认是double类型的,整数型默认是int类型的
12.从小转大问题不大,从大转小问题很大
13.数据溢出画个圆就可得
14.在java中,0和1不能代表假和真,字符串也没有所谓的\0结尾的说法
15.常量的值是在编译的时候确定的,变量的值是在运行的时候确定的
16.从小到大:Bit Byte KB MB GB TB PB,进制1024
17.科学计数法:123.45可表示为1.2345E+2,即1.2345*10^2(E=10)
18.标识符可以用字母,数字,下划线_,美元符号$组合,但是不能以数字开头,关键字不能当作标识符使用
19.常考的转义字符:\b(后退一格),\n(换行),\t(横向跳格tab),\\(输出一个\),\uxxxx(1~4位十六进制数,表示对应Unicode字符),\0(ASCII码值为0的空字符)
20.boolean——1字节,byte——1字节,short——2字节,int——4字节,long——8字节,float——4字节,double——8字节,char——2字节,转换优先级为byte—>short—>char—>int—>long—>float—>double,boolean不能转换