Java面试题及知识点Day1

自动拆箱和自动装箱

装箱就是自动将基本数据类型转换为包装器类型

拆箱就是自动将包装其类型转化为基本数据类型

重写和重载

重写

1.发生在子类和父类之间

2.参数的方法名,参数,返回值,必须相同

3.权限修饰符不能小于重写方法的权限修饰符

4.抛出的异常不能比重写方法抛出的异常更加宽泛

重载

重载方法的参数类型不同,参数个数不同,参数顺序不同,但是与返回值类型无关

hashcode 作用

根据对象的内存地址算出一个值,存放再该位置上,如果相等调用equals(),相同就不存了,不相同散列到其他位置

java的四种引用

强软弱虚

泛型以及使用好处

编写的代码可以别不同类型的对象所使用

好处有代码复用,不必为不同数据类型写多个集合,可以在编译时检查类型的合法性,约束数据类型

java创建对象的方式

1.new创建对象

2.反射创建对象

3.clone创建对象

4.通过反序列化创建对象(ObjectInputStream)

深拷贝和浅拷贝的区别

浅拷贝拷贝基本数据类型的值和引用数据类型的引用

深拷贝是创建一个对像复制其内容,与原来的对象完全独立

final有那些用法

被final修饰的类不可以被继承

被final修饰的方法不可以被重写

被final修饰的常量不可以被改变,修饰引用,引用不可以修改,引用的内容可以改

被fianl修饰的常量编译阶段会存入常量池之中

被fianl修饰的放JVM会尝试将其内联,提高效率

static的用法

用于修饰静态方法和静态变量

静态代码块,用于类的初始化

用于修饰静态内部类(实现单例模式)

3*0.1 == 0.3返回值是false

因为浮点数是不能精确表示有误差的

IO流的分类

按照流的流向来划分:输入流,输出流

按照流的操作单元来划分:字符流,节点流

按照角色来划分:节点流,处理流

javaIO和NIO

NIO是 new IO在java1.4中引入,NIO以块为单位,速度相较IO更快

java API中提供了两套NIO,一套用于网络编程,一套用于标准输入输出

反射

反射是一种运行期间的动态技术,可以在运行是访问,检测,修改自己的类,方法,属性

获取Class对象有四种方法

1.Class.forName("类的路径")

2.类名.Class

3.对象名.getClass

4.对于包装类可以使用Type属性

反射机制的优缺点

优点:

1.反射能够动态获取类的实例,提高灵活性

2.能够动态编译结合

缺点:

1.反射效率较低,需要解析字节码,从内存中获得对象

2.相对不安全,破坏了封装性

相关推荐
uhakadotcom7 分钟前
Apache APISIX 简介与实践
后端·面试·github
uhakadotcom10 分钟前
Kong Gateway 简介与实践
后端·面试·github
杨凯凡16 分钟前
JUnit 全面指南:从基础到高级测试实践
java·junit·单元测试
cccl.18 分钟前
MyBaitis-Plus 使用动态表名 selectPage 不生效
java·mybatis
uhakadotcom19 分钟前
Apache SkyWalking:分布式系统的可观测性平台
后端·面试·github
mask哥21 分钟前
一文详解k8s体系架构知识
java·spring boot·docker·微服务·云原生·架构·kubernetes
何似在人间57522 分钟前
JAVA实现动态IP黑名单过滤
java·开发语言·tcp/ip·nacos·黑名单过滤
uhakadotcom23 分钟前
RocketMQ:解密阿里巴巴都在用的高性能消息队列
后端·面试·github
uhakadotcom24 分钟前
Apache Beam:统一的大数据处理模型
后端·面试·github
uhakadotcom24 分钟前
Apache Superset:现代化数据分析与可视化平台
后端·面试·github