1、jdk是开发工具包
2、jre是运行环境,包括jvm。jvm是Java运行虚拟机。
3、可设置变量JAVA_HOME,然后去path设置路径%JAVA_HOME%/bin。
4、Java内部默认整数为int型,当byte类型赋值右边为byte类型变量时会编译出错
5、&&和&的区别就是&&只要有一个为假就不会算剩下的
6、位运算是二进制运算,一个数异或两次还是同一个数;6&3=2,110&011=010;3<<2=12=3*2(2);6>>2 =6/2(2)=1,高位是什么就用什么补,即符号不变;<<<无论高位是什么都用0补
7、(条件表达式)?表达式1:表达式2
8、for(初始化表达式;循环条件表达式;循环后操作表达式){循环体}
9、函数(方法)重载和返回值类型无关
10、内存的划分:1、寄存器。2、本地方法区。3、方法区。4、栈内存。5、堆内存。
11、栈内存:存储的都是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放。
12、堆内存:存储的是数组和对象(其实数组就是对象)凡是new建立,在堆中。
特点:1、每一个实体都有首地址。
2、堆内存中每一个变量都有默认初始值,根据类型不同而不同。整数为0,小数为 0.0或0.0f,boolean为false,char为'\u0000'。
3、垃圾回收机制
方法区:方法区在虚拟机启动的时候被创建,它存储了每一个类的结构信息,例如运行时常量池、字段和方法数据、构造函数和普通方法的字节码内容、还包括在类、实例、接口初始化时用到的特殊方法。
存储方式如下:

13、二维数组的内存方式:二维数组里面储存一维数组的地址,变量储存二维数组的内存值。
可以分别对里面的一维数组进行定义
int [] [] arr = new int [3][];
arr [0] = new int[1];
arr [1] = new int[3];
arr [2] = new int[2];

14、成员变量和局部变量的区别
1、成员变量定义在类中,整个类的可以访问。
局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。
2、成员变量存在于堆内存的对象中。
局部变量存在于栈内存的方法中(局部代码块)。
3、成员变量随着对象的创建而存在,随着对象的消失而消失。
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。