-
Q:什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
A: -
Q:JDK和JRE的区别是什么?
A: -
Q:Java:支持的数据类型有哪些?什么是自动拆箱装箱?
A: -
Q:什么是编译器的常亮优化?
A: -
switch语句:
case的穿透性:在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运
行,直到遇到break,或者整体switch结束 -
方法的重载:overload
方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法。 -
Java的内存划分
方法区存储方法的信息,包括方法名,参数,返回值等。
方法运行时,将方法区的信息加载到栈内存中,在栈中为该方法开辟一块内存,即进栈。
堆中存储数组的数据,栈中存储的是变量,值为数组的地址。因此println时候,结果是地址。
有两个独立数组的内存图
两个引用指向同一个数组的内存图
ArrayA和ArrayB数组名不同,但地址相同,故里面的值一直相同。