Java面试基础题(2024)

本文概述了Java中的关键概念,包括int与Integer的区别、Collection和Collections、序列化、Mybatis的占位符、SpringBoot的核心注解、垃圾回收机制、多态性、Java模块化、Java17新特性和协程与线程/纤程的区别。
摘要由CSDN通过智能技术生成
1.int和Integer的区别

int是Java中的原始类型,Integer是Java为int提供的封装类,int的默认值是0,Integer的默认值是null,在性能方面int类型比Integer更高效,因为int类型是直接存储整数值。而Integer是int的包装类,它是一种引用类型,需要额外的内存空间来存储对象。


2. Collection和Collections的区别

Collection是集合类上级接口,继承他的主要有List和Set
Collections是集合类的帮助类,提供了对集合的搜索、排序、线程安全化等操作。


3.什么是序列化

序列化意思是把对象转换为字节流的流程,方便在网络传输或持久化存储时使用,序列化可以把对象的状态保存到磁盘文件或通过网络传输到其他计算机里面,然后再把字节流反序列化为对象。


4.Mybatis中 #{} 和${}的区别

#{}是预编译占位符,用于接收传入的参数值。在sql执行之前会被替换为个问号(?)

#{}是字符串替换占位符,用于直接替换传入的参数值,可以在sql语句中直接使用参数值,(但也存在安全风险,容易受到sql注入攻击)(推荐使用#{},以提高安全性和可靠性


5.Spring Boot的核心注解是什么,它是由哪些注解组成的?

核心注解:@SpringBootApplication(以标识该类为应用程序的入口点,并启用Spring Boot的自动配置和组件扫描功能)

包含:@SpringBootConfiguration(实现配置文件功能),@EnableAutoConfiguration(打开自动配置功能),@CompoentScan(组件扫描功能),@Controller、@Service、@Repository


 6.什么是Java中的垃圾回收机制?

Java中的垃圾回收机制是自动管理内存的机制。当对象不再被引用时,垃圾回收器会自动回收该对象所占用的内存空间垃圾回收器会周期地检查对象的引用情况,将不再被引用的对象标记为垃圾,并回收他们所占用的内存


 7.什么是Java中的多态性?

多态性是指同一类型的对象,在不同的情况下表现出不同的行为。在Java中,多态性可以通过继承实现接口。通过继承则子类可以重写父类的方法,实现不同的行为。通过接口,类可以实现多个接口,从而具备多种行为。


8.什么是Java模块化(Java Module System)?它的优势是什么?

Java模块化主要目标是解决Java应用程序的可扩展性、可维护性和安全性等问题。通过将代码分别为模块,可以更好的管理代码和依赖关系,还提供了更细粒度的访问控制。

Java模块化的优势:更好的可维护性(提高代码可读性和可维护性,减少代码之间耦合)、

更好的可重用性(在不同的项目中可以共享和复用)、

更好的可扩展性(通过声明模块之间依赖关系,可以更方便地引用和替换模块)、

更好的安全性(可限制模块内部的私有代码和数据的访问

(总体来说Java模块化系统可以提供更好的代码组织和管理方式,提高代码的可维护性、可重用性、可扩展性和安全性)


9.介绍一下Java 17中的新特性

Java 17版本在于2021年7月发布,它的新特性:

1.基于垃圾回收器的内存分配:Java 17引入了一个实验性的特性,基于垃圾回收器的内存分配(Garbage Collector Interface)。它允许开发人员实现自定义垃圾回收器,并将其与Java虚拟机集成

2.Sealed类:Sealed类是一种限制继承的新特性。通过使用sealed关键字修饰接口,可以限制哪些类可以继承或实现该类或接口。这样可提供更严格的类继承和接口的控制


Java中的协程是什么?它的线程和纤程有什么不同

Java中的协程是指一种轻量级的并发编程机制,它可以在代码中实现协作式的多任务处理。

总体来说:协程是通过协作式调度和共享状态的方式实现高效的并发处理。与线程和纤程相比,协程具有更小的开销,更简单的编程模型和更好的性能。在选择并发编程机制时,需要根据具体的应用场景和需求进行权衡和选择

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值