----------------虚拟机部分 start -----------------
谈谈对ClassLoader(类加载器)的理解
虚拟机原理,如何自己设计一个虚拟机(内存管理,类加载,双亲委派)
JVM内存模型,内存区域
----------------虚拟机部分 end -----------------
2,java中==和equals和hashCode的区别
==比较的两个变量的值是否相等如果比较的数引用行变量那么他比较的是内存地址,并不是里面的对象里面的数值
所有的java类都继承自Object,Object提供了equals方法。如果此方法没有被java类重写那么他跟==是一个意思比较的是引用
如果被重写了,那么根据重写的规则比较的是数值
hashCode是Object类中的方法,用于鉴定两个对象是否相等,返回对象在内存中地址转换成的一个int值,所以没有重写,任何对象的hashCode()方法都不相等
equals是给人调用的,hashCode用户一般不会调用他,比如hashMap他比较的是hashCode和equals,这种情况要都重写hashCode和equals
3,int、char、long各占多少字节数byte 1字节
boolean 1字节
char 2字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
int与integer的区别
int基本数据类型。初始值为0
integer是对象。初始值为Null
5,String、StringBuffer、StringBuilder区别
静态内部了,非静态内部类比喻
7,抽象类和接口区别
8,抽象类的意义
10,抽象类是否可以没有方法和属性?
抽象类可以不包含抽象方法,包含抽象方法的类一定是抽象类。
11,接口的意义
13,父类的静态方法能否被子类重写
父类的静态方法不能被子类继承,更谈不上重写,就算是子类中有一个和父类一模一样的静态方法,那也是子类本身的,和父类的那个静态方法不是一回事。方法加静态后就属于类不属于对象了。
14,