java基础必备
2023/7/3...大约 2 分钟
Java基础必备
1.为什么Java代码可以实现一次编写到处运行?
Java程序经过编译生成class字节码文件。运行class文件需要Java虚拟机,不同系统有对应的Java虚拟机。Java虚拟机会把class文件翻译成对应机器可以识别的执行,就可以在不同的机器上运行了。
2.一个Java文件里可以有多个类吗(不含内部类)?
不可以。
Java内部类分为:成员内部类、静态内部类、方法内部类、匿名内部类
3.说一说你对Java访问权限的了解
Java权限有4个,public、protected、default、private。
public:相同包可以访问,不同包可以访问
protected:相同包可以访问,不同包分情况
default:相同包可以访问,不同包不能访问
private:相同包不能访问,不同包不能访问
4.介绍一下Java的数据类型
5.int类型的数据范围是多少?
6.请介绍全局变量和局部变量的区别
7.请介绍一下实例变量的默认值
8.为啥要有包装类?
9.说一说自动装箱、自动拆箱的应用场景
10.如何对Integer和Double类型判断相等?
11.int和Integer有什么区别,二者在做==
运算时会得到什么结果?
12.说一说你对面向对象的理解
13.面向对象的三大特征是什么?
14.封装的目的是什么,为什么要有封装?
15.说一说你对多态的理解
16.Java中的多态是怎么实现的?
17.Java为什么是单继承,为什么不能多继承?
18.说一说重写与重载的区别
19.构造方法能不能重写?
20.介绍一下Object类中的方法
说说有几种序列化方式?
- Java对象流列化 :Java原生序列化方法即通过Java原生流(InputStream和OutputStream之间的转化)的方式进行转化,一般是对象输出流 ObjectOutputStream和对象输入流ObjectInputStream。
- Json序列化:这个可能是我们最常用的序列化方式,Json序列化的选择很多,一般会使用jackson包,通过ObjectMapper类来进行一些操作,比如将对象转化为byte数组或者将json串转化为对象。
- ProtoBuff序列化:ProtocolBuffer是一种轻便高效的结构化数据存储格式,ProtoBuff序列化对象可以很大程度上将其压缩,可以大大减少数据传输大小,提高系统性能。