java基础知识

1. equals和==的区别?

对于基本类型来说,比较的都是值;对于引用类型来说,equals比较的是值,==引用的是内存地址;
String是一个特殊的引用类型,重写了Object的equals方法,String的==也是对值的比较;String对象的创建用到了常量池技术;
因为java只有值传递,所以本质上都是对值的比较。

2. 为什么重写equals方法要重写hashCode方法?

为了保证两个相同的对象拥有相同的hashCode码。

3. 8大基本类型和包装类:

byte,short,int,long,float,double,char,boolean;
包装类型的大部分都使用了常量池技术,如Byte,Short,Integer,Long创建了[-128,127]的缓存数据,character创建了[0,127]范围内的缓存数据,Boolean直接返回true和false;

4. static关键字:

修饰后为类实例;

5. 异常:分为受检异常和非受检异常,除了RuntimeingException的都是受检异常;

6. 序列化和反序列化?

序列化的主要目的是通过网络传输对象或者说是将对象存储到文件系统、数据库、内存中。
序列化:把数据结构和对象转换为二进制字节流的过程;
反序列化:把序列化后的二进制字节流转换为数据结构和对象的过程;

posted @ 2021-06-11 23:37  晚风学习空间  阅读(24)  评论(0编辑  收藏  举报