面试题

jdk自带的线程池

newFixedThreadPool 固定大小线程池

同时可运行的线程数量是固定的。当提交新任务时,如果线程池中已有线程正在执行任务且数量达到上限,则新任务将被放入队列中等待,直到有线程空闲出来。适用于处理长期存在且可以并行执行的任务,有助于防止资源过度消耗。

newCachedThreadPool 缓存线程池

线程池的大小不固定,可根据需要自动调整。当提交新任务时,若线程池中没有空闲线程,则会创建新的线程来执行任务。同时,对于空闲线程,线程池会根据其空闲时间进行回收以避免资源浪费。适用于处理大量短生命周期的异步任务,任务的并发度可能会动态变化。

newSingleThreadExecutor 单线程线程池

线程池只有一个工作线程,所有任务按顺序(通常为FIFO)执行

newScheduledTheadPool 定时/周期性任务线程池

除了具备基本的线程池功能外,还支持定时执行任务一次(延时执行)或定期重复执行任务(周期执行)。线程池大小可以自定义,但通常保持相对固定。适用于需要调度定时任务或周期性任务的场景。

阿里巴巴不让使用JDK自带的线程池

资源耗尽

newCachedThreadPool 由于没有预设最大线程数限制,当任务量过大时,可能导致线程数无限制增长,从而耗尽系统资源宕机

队列容量

FixedThreadPoolSingleThreadPool所使用的阻塞队列长度为21亿。这意味着当任务提交速率远大于处理速率时,大量任务会堆积在队列中,可能导致内存溢出

线程池的核心参数有那些

线程池大小、最大线程数、任务队列最大数

项目中有没有用过调度器

  1. Redis 定期检查key 的数量
  2. 消息队列 Rabbit MQ 定期检查队列信息
  3. 蚂蚁组队 定期检查超出时间的出行单

Spring 自带的tack与xxl-Job的区别

分布式,将项目发布到多态服务器上时,Spring Task不能保证在同一时刻只有一台服务器的任务在执行。而xxl-job可以通过调度器实现同一时刻只有一台服务器的任务在运行

MongoDB 与MySQL的区别?优势?

MySQL关系模型数据库,使用表格(tables)来组织数据 MongoDB 非关系型数据库文档采用类似JSON的BSON格式

在这里插入图片描述

Mongodb在哪些场景应用

灵活多变的数据(广告,推荐),日志,小程序、公众号的数据

ES是什么?分词器?

Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的硬件资源来应对数据和查询量的增长。

ik_smart 尽量进行较少的、更有意义的拆分,减少无意义的子词组合,提高搜索准确率,降低误报率

ik_max_word 最大化地拆分文本,即尽可能多地生成可能的词语组合,包括单字、双字直至整个短语

什么是MDC,原理

在日志记录领域,尤其是使用如log4j、logback等日志框架时,MDC是一种辅助多线程环境下日志追踪和关联的技术。

其原理是在每个线程的上下文中维护一个键值对映射表,用于存储与该线程执行上下文相关的特定信息(如用户ID、事务ID、请求ID等)。当线程在执行过程中生成日志时,MDC中的信息可以自动附加到日志条目中,无需在代码中手动传递这些上下文信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/565451.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TFTLCD原理硬件介绍

介绍 TFT LCD(薄膜晶体管液晶显示器)是一种广泛使用的显示技术,它结合了薄膜晶体管(TFT)和液晶显示(LCD)技术。TFT LCD的主要特点是使用TFT矩阵来控制施加到每个像素的电压,从而实现…

财务管理困扰外贸公司?软件解决方案大揭秘!

本文将探讨外贸公司在财务管理中遇到的难题,提出可能性的解决方案,并概述理想的外贸财务管理软件应具备哪些必备功能。 一、外贸公司财务管理难题 1、交易币种多样化 如何准确记录不同货币的财务活动,是外贸公司必须面对的问题。外贸公司的…

【昇腾产品应用】英码科技EA500I基于昇腾Mind SDK实现实时人体关键点检测

在教育、体育、安防、交通、医疗等领域中,实时人体关键点检测应用发挥着至关重要的作用,比如在体育训练时,实时人体关键点检测可以精确、实时地捕捉运动员的动作,从而进行动作分析和优化;在安防应用场景中,…

web前端框架设计第五课-计算属性与监听属性

web前端框架设计第五课-计算属性与监听属性 一.预习笔记 1.计算属性 computed split():拆分 reverse():倒序 join():拼接 计算属性与方法,两者效果一致,但是computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 met…

openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置

文章目录 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置268.1 中断调优268.2 网卡固件确认与更新 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置 本章节主要介绍openGauss数据库内…

多项式相关题()

D - S老师的虚树 值得一提的是如何求这个 a i a_i ai​,可以考虑按dfs序考虑同一种边,运用树状数组即可统计(注意不要加重了,不需要打区间覆盖,这样可以不用打线段树) F(i, 1, n) {ll sz d[i].size() - 1…

PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿

PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿 文章目录 PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿背景介绍P_TRIG: 扫描 RLO 的信号上升沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 P_TRIG 背景介绍 这是一…

Python 数据库简化操作:dataset 库介绍

文章目录 Python 数据库简化操作:dataset 库介绍第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见…

AB5 点击消除

AB5 点击消除 可以用栈来解决。 当栈为空的时候,直接将字符入栈当栈非空的时候 当前字符与栈顶字符相同 出栈 当前字符与栈顶字符不同 入栈 重复上述2步即可。 栈在输出的时候不能从栈底开始输出,需要先把栈顶元素弹出并保存下来,在进行输…

力扣HOT100 - 104. 二叉树的最大深度

解题思路: class Solution {public int maxDepth(TreeNode root) {if (root null) return 0;return Math.max(maxDepth(root.left), maxDepth(root.right)) 1;} }

ragflow 大模型RAG知识库使用案例

参考: https://github.com/infiniflow/ragflow/blob/main/README_zh.md 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据, 网页等。 运行步骤: 1、确保 vm.max_map_count 不小于 262144 【更多】: 如需确认 vm.…

ZISUOJ 数据结构--队列及其应用

说明: 基本都是bfs的常见模板题型,思路都很直接,不过后面有两道题很搞心态,它们给的坐标x、y是反的,导致刚开始一直错。题目还是要看仔细,不能先入为主。 题目列表: 问题 A: 围圈报数(完善程序…

电磁兼容(EMC):静电放电(ESD)抗扰度试验深度解读(五)

静电放电过程是一个很复杂的过程,下面比对人体持金属对产品放电和静电发生器对产品进行接触放电过程的详细分解说明。 1. 人持金属对产品放电过程 人对产品所产生的静电放电,会发生下面一系列的事件: 1)当手持金属片接近产品的…

嵌入式Linux开发实操(十九):Nand Flash驱动的实现

前言: nand flash从硬件连接上看,如下图,有专用接口,数据线有8或16根。 Nand Flash按每个存储单元Cell内存储比特个数不同可分为 SLC(Single-Level Cell存储1个比特)、MLC(Multi-Level Cell存储2个比特) 、 TLC(Triple-Level Cell存储3个比特)、QLC(Quad-Level C…

39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程

作者:Aitrainee | AI进修生 排版太难了,请点击这里查看原文:39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程 39.1k Star ! Meta GPT:AI Agent 排名第一&…

XV6源码阅读——页表

文章目录 前言分页硬件实际转换 内核地址空间 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 分页硬件 RISC-V指令(用户和内…

一款支持串口、网口自定义协议的调试软件

ComMax通讯调试软件是一款支持自定义串口,网口通讯协议的调试软件,用户可以根据需要,自定义协议包,然后根据接受的数据选择要发送的数据包。是一款强大、好用的调试软件。 点击下载 提取码:wmfg 不用安装 下载解压即…

LMbench单独执行某一个组件 | benchmark教程

LMbench官网 > https://lmbench.sourceforge.net/man/ 下载源码,编译得到的Benchmark是由很多文件组成的,上面的链接中官方给出了每个组件的各参数的含义,可以对照着修改使用,以达到测试在某个组件上表现的作用。 以bw_mem为例…

代码随想录第43天|1049.最后一块石头的重量II 494. 目标和

1049.最后一块石头的重量II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之背包问题,这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II_哔哩哔哩_bilibili 有…

虚拟局域网PPTP配置与验证

虚拟局域网PPTP配置与验证 前言PPTP服务侧安装配置REF 前言 虚拟专用网(Virtual Private Network,VPN)是一种通过公共网络建立安全的连接的技术。它能够在不同的地理位置之间建立私密的通信通道,实现远程访问网络资源的安全性和隐…