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.相对不安全,破坏了封装性

相关推荐
小烤箱11 分钟前
自动驾驶工程师面试(定位、感知向)
人工智能·面试·自动驾驶
一线大码15 分钟前
SpringBoot 优雅实现接口的多实现类方式
java·spring boot·后端
花伤情犹在20 分钟前
Java Stream 高级应用:优雅地扁平化(FlatMap)递归树形结构数据
java·stream·function·flatmap
yaoxin52112332 分钟前
212. Java 函数式编程风格 - Java 编程风格转换:命令式 vs 函数式(以循环为例)
java·开发语言
摇滚侠43 分钟前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
滑水滑成滑头44 分钟前
**发散创新:多智能体系统的探索与实践**随着人工智能技术的飞速发展,多智能体系统作为当今研究的热点领域,正受到越来越多关注
java·网络·人工智能·python
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
十年小站1 小时前
一、新建一个SpringBoot3项目
java·spring boot
2401_841495641 小时前
【数据结构】最长的最短路径的求解
java·数据结构·c++·python·算法·最短路径·图搜索
麦麦鸡腿堡1 小时前
Java的代码块介绍与快速入门
java·开发语言