首页 > 基础资料 博客日记

java2022大概面试题

2023-08-01 17:46:25基础资料围观339

这篇文章介绍了java2022大概面试题,分享给大家做个参考,收藏Java资料网收获更多编程知识

1.Spring boot的运行流程

(1)创建SpringApplication对象
(2)开始运行run方法

2.跨域的几种方式

(1)JSONP方案(理解,不常用)
(2)jQuery中的JSONP
(3)cors跨域 Cross Origin Resource Share,跨域资源共享
3.高并发怎么处理

(1)增加业务系统集群,通过负载均衡将请求分别分发到不同的服务器。
(2)将数据库分库分表 + 读写分离
(3)针对读多写少的请求,引入缓存集群。
(4)针对高写入的压力,引入消息中间件集群。

4.线程池有哪几种创建方式?

线程池的创建方法总共有 7 种,但总体来说可分为 2 类:
一类是通过 ThreadPoolExecutor 创建的线程池;
另一个类是通过 Executors 创建的线程池。
Executors.newFixedThreadPool:创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中等待;
Executors.newCachedThreadPool:创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建线程;
Executors.newSingleThreadExecutor:创建单个线程数的线程池,它可以保证先进先出的执行顺序;
Executors.newScheduledThreadPool:创建一个可以执行延迟任务的线程池;
Executors.newSingleThreadScheduledExecutor:创建一个单线程的可以执行延迟任务的线程池;
Executors.newWorkStealingPool:创建一个抢占式执行的线程池(任务执行顺序不确定)【JDK 1.8 添加】。
ThreadPoolExecutor:最原始的创建线程池的方式,它包含了 7 个参数可供设置,后面会详细讲。
单线程池的意义从以上代码可以看出 newSingleThreadExecutor 和 newSingleThreadScheduledExecutor 创建的都是单线程池,那么单线程池的意义是什么呢?答:虽然是单线程池,但提供了工作队列,生命周期管理,工作线程维护等功能。

5.什么是线程池?

线程池(ThreadPool)是一种基于池化思想管理和使用线程的机制。它是将多个线程预先存储在一个“池子”内,当有任务出现时可以避免重新创建和销毁线程所带来性能开销,只需要从“池子”内取出相应的线程执行对应的任务即可。


文章来源:https://www.cnblogs.com/ljx007/p/16516234.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云