2024最新Java面试题及答案!( 2024年 1 月最新版,持续更新)
创建一个阻塞队列来容纳任务,在第一次执行任务时创建足够多的线程,并处理任务,之后每个工作线程自动从任务队列中获取线程,直到任务队列中任务为0为止,此时线程处于等待状态,一旦有工作任务加入任务队列中,即刻唤醒工作线程进行处理,实现线程的可复用性。每个任务必须实现的接口,供工作线程调度任务的执行,主要规定了任务的开始和收尾工作,和任务的状态。线程池中线程,可循环执行任务,在没有任务时处于等待状态。用于
2024了发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全~
这套互联网 Java 工程师面试题包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题面试专题
一、Java 基础
1.Java 中的线程池是如何实现的
创建一个阻塞队列来容纳任务,在第一次执行任务时创建足够多的线程,并处理任务,之后每个工作线程自动从任务队列中获取线程,直到任务队列中任务为0为止,此时线程处于等待状态,一旦有工作任务加入任务队列中,即刻唤醒工作线程进行处理,实现线程的可复用性。
线程池一般包括四个基本组成部分:
(1)线程池管理器
用于创建线程池,销毁线程池,添加新任务。
(2)工作线程
线程池中线程,可循环执行任务,在没有任务时处于等待状态。
(3)任务队列
用于存放没有处理的任务,一种缓存机制。
(4)任务接口
每个任务必须实现的接口,供工作线程调度任务的执行,主要规定了任务的开始和收尾工作,和任务的状态。
2. String str="i"与 String str=new String("i")一样吗?
不一样,因为内存的分配方式不一样。String str="i"的方式,java 虚拟机会将其分配到常量池中;而 String str=new String("i") 则会被分到堆内存中。
3. 如何将字符串反转?
使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。
篇幅限制下面就只能给大家展示小册部分内容了。包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题
需要全套资料的在【文章底部点击名片】即可免费获取 备注:“CSDN”
Java面试题目录
MyBatis面试篇
Zookeeper面试篇
Java基础篇(45道面试题)
字符串&&集合篇(74道)
并发编程篇(79道)
JVM篇(56道)
数据结构与算法(56道)
MySQL篇(59道)
另外还附带了 52条SQL优化策略 以及一千行SQL命令
Redis篇(48道)
Mongo篇(83道)
Spring篇(58道)
MyBatis篇(47道)
SpringBoot篇(43道)
常用注解篇
篇幅限制下面就只能给大家展示小册部分内容了。包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题
需要全套资料的在【文章底部点击名片】即可免费获取 备注:“CSDN”
这里就不一一展示了。
更多推荐
所有评论(0)