java基础
2024-08-26 15:26:31 0 举报
AI智能生成
java基础
作者其他创作
大纲/内容
基本语法
数据类型
java有哪些数据类型
基本数据类型在栈 引用数据类型在堆 数值 字符 布尔 类 接口 数组
编码
运算符
int和integer区别
基本类型 包装类型 默认值null ==比较的是引用地址
&与&&区别
短路与运算
int转byte有什么问题
关键字
final finally finalize区别
final关键词 finally异常处理 finalize是object的方法 判断对象是否可以被回收
this super区别
当前类 子类调父类
staic存在意义
类加载时会执行静态代码块
类
类与接口
抽象类与接口区别
类的抽象 行为的抽象。声明abstract 实现extends 单继承多实现 接口访问修饰符public
变量与方法
无参构造函数的作用
类初始化
Object根类
equals()与hashcode()区别
==与equals()区别
比较对象引用 堆里的同一个对象 比较对象值
深拷贝与浅拷贝,引用拷贝
引用属性的拷贝 类的拷贝指向不同的内存地址
深拷贝有哪几种方式
手动赋值 序列化和反序列化 fastjosn
内部类
内部类的分类
成员,局部,匿名,静态
局部/匿名内部类访问局部变量要加final
生命周期不一致 防止内部类引用的变量被销毁
重写与重载
构造器是否可被重写
可重载不可重写
重载和重写
重载发生在同一个类中 方法名相同 参数列表不同 重写发生在子类中 参数列表一致 返回类型,异常小于父类 访问权限大于父类
对象相等判断
IO流
BIO,NIO有啥区别
同步阻塞IO 同步非阻塞 通过管道实现多路复用
IO流分为几种
字节流和字符流,read.write 只读取字符串
反射与动态代理
反射
什么是反射
运行时能获取任意一个类的信息eg:给类名拿到类信息
获取反射的3种方法
new对象,Class.forName类路径,Student.class通过类名
Class.forName与ClassLoader区别
都会将.class加载到JVM classloader不执行静态块
动态代理
什么是动态代理
动态代理的2种实现方法
JDK
Cglib
静态代理与动态代理区别
编译前写好的 运行时创建的
序列化
什么是序列化
将对象流化方便传输eg:json xml 二进制等
如何实现序列化
使用输出流构造ObjectOutputStream对象 writeObject()
某些字段不序列化怎么办
transient关键字修饰成员变量 不可修饰方法,类
常用Api
Sting相关
字符型常量与字符串常量
单引号 双引号 字符串常量池在堆内存 没有就实例化返回其引用
String类的特性
final修饰 常量池优化
StringBuffer StringBuilder区别
继承AbstratStringBuilder StringBuilder是非线程安全的
Date相关
包装类相关
自动装箱与拆箱
基本类->包装类 包装类->基本类
int与integer区别
integer==比较的是对象的内存地址 127 int ==比较的是值
异常处理
error与exception
error系统级别错误 jvm抛出 exception可处理
运行时异常与一般异常
一般处理一般异常 运行时异常不处理
列出5个运行是异常
空指针,数据越界,数组存储,类型转换,缓冲区过载
0 条评论
下一页