【面试宝典】准备面试了~集合
1、ArrayList和linkedList的区别
它们都是继承自 Collection。
ArrayList 是基于数组的,在使用查询的时候效率比较高,但删除效率却非常低,因为它需要重新排数组中的所有数据。
LinkList底层是一个双链表,在添加和删除元素时更好的性能,但查询效率却非常低。
2、try catch finally,try里有return,finally还执行么?
首先,不管有没有异常,finally模块肯定会执行的,哪怕 try 里有 return,也是一样。
还有就是,finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
3、能简单的介绍下多路复用 IO 模型吗
多路复用 IO 模型其实就是NIO,在这个模型中,它会有一个线程,不断的去轮询socket的状态,如果socket发生真正的读写事件时,才会真正的调用实际上的读写操作。
它的优势就在于,在该模型下,只需要一个线程,就可以管理多个socket的状态。系统不需要再额外建立,或者去管理多个线程,极度节省了系统线程资源。
成于轮询,败于轮询,它是对到达的事件,进行逐一响应,所以一旦如果事件响应体较大,就会导致后续的事件迟迟得不到响应,会影响功能上的进度。
4、MQ如何避免消息重复投递或重复消费?
首先在消息生产的时候,在MQ的内部,会针对生产者生产的消息生成一个唯一ID,作为去重条件,可以避免消息重复进入队列里。
然后在消费时,必须要求消息体中有一个消费ID,作为消息消费的去重依据,防止同一条消息重复消费。
5、消息队列满了以后该怎么处理?
首先消息队列的延时或者过期失效,会导致消息不断积压。
首先肯定需要临时紧急扩容,然后再恢复consumer的问题,先确保恢复消费者的消费速度,然后再将现有的consumer都停掉。
第二步,新建一个topic,partition,queue数量,大小是原先的10倍。然后再手写一个临时分发数据的consumer消费者程序,部署到项目中去,代替停掉的消费者程序。
接着再征用10倍的机器来部署consuemr消费者程序,这种做法就是临时将消费者扩大了10倍,以之前正常速度的10倍来消耗。
6、如何停止一个正在运行的线程?
大家首先想到的肯定是调用 stop 方法强制终止。但是不推荐这个方法,因为这个方法在API里是过期作废的方法。
那么除了stop还可以使用退出标志,使线程run方法完成后,正常退出。
还可以使用interrupt方法中断线程。
class InterruptThreadDemo3 {
public static void main(String[] args) throws InterruptedException {MyThread m1 = new MyThread();System.out.println("Starting thread...");m1.start();Thread.sleep(3000);System.out.println("Interrupt thread...: " + m1.getName());m1.stop = true; // 设置共享变量为truem1.interrupt(); // 阻塞时退出阻塞状态Thread.sleep(3000); // 主线程休眠3秒以便观察线程m1的中断情况 System.out.println("Stopping application...");}
}
7、sleep()和wait() 有什么区别?
- sleep()方法属于Thread类中的方法,而wait()方法属于Object类方法。
- sleep()方法不会释放对象的锁,它只是暂时让出CPU资源,给其他线程,时间到了,会自动恢复运行。
- wait()方法,会释放对象的锁,会重新进入到对象等待池中,重新竞争锁资源,需要使用notify才能唤醒。
相关文章:
【面试宝典】准备面试了~集合
1、ArrayList和linkedList的区别 它们都是继承自 Collection。 ArrayList 是基于数组的,在使用查询的时候效率比较高,但删除效率却非常低,因为它需要重新排数组中的所有数据。 LinkList底层是一个双链表,在添加和删除元素时更好…...
华为OD机试真题Python实现【GPU 调度】真题+解题思路+代码(20222023)
GPU 调度 题目 为了充分发挥 GPU 算力, 需要尽可能多的将任务交给 GPU 执行, 现在有一个任务数组, 数组元素表示在这1s内新增的任务个数, 且每秒都有新增任务, 假设 GPU 最多一次执行n个任务, 一次执行耗时1s, 在保证 GPU 不空闲的情况下,最少需要多长时间执行完成。…...
gcc编译C源程序
一、安装 在Linux下,一般使用gcc或arm-linux-gcc交叉编译器来编译程序。在Ubuntu环境下,我们可以使用以下apt-get命令来安装这些编译程序。 apt-get install gcc apt-get install gcc-arm-linux-gnueabi 安装完毕后,使用以下命令查看编译器…...
Tina_Linux_各平台多媒体格式_支持列表_new
Tina Linux 各平台多媒体格式支持列表 1 概述 1.1 编写目的 本文档将介绍Allwinner Tina Linux 系统各个芯片平台支持的多媒体格式,旨在帮助软件开发工程师、技术支持工程师查找各芯片平台支持哪些多媒体格式。 1.2 适用范围 Tina Linux v3.5 及以上版本。 1.…...
归并排序及其应用
归并排序算法基于分而治之的概念,具体来说就是遍历一棵树,归并的过程是一个后序执行的动作。 由于我们知道每个子部分在合并后都是有序的,我们可以利用这个特性来解决一些问题。 上图可视化了merge sort algorithm的过程,我们很容…...
【PAT甲级题解记录】1007 Maximum Subsequence Sum (25 分)
【PAT甲级题解记录】1007 Maximum Subsequence Sum (25 分) 前言 Problem:1007 Maximum Subsequence Sum (25 分) Tags:DP Difficulty:剧情模式 想流点汗 想流点血 死而无憾 Address:1007 Maximum Subsequence Sum (25 分) 问题描…...
华为OD机试真题Python实现【 最小叶子节点】真题+解题思路+代码(20222023)
最小叶子节点 题目 二叉树也可以用数组来存储, 给定一个数组,树的根节点的值储存在下标1, 对于储存在下标n的节点,他的左子节点和右子节点分别储存在下标2*n和2*n+1, 并且我们用-1代表一个节点为空, 给定一个数组存储的二叉树, 试求从根节点到最小的叶子节点的路径, …...
mars3d动态轨迹DynamicRoamLine,如何获取实时运⾏的经纬度
问题 1.期望 实现 实时显示经纬度、⾼度,做电⼦围栏报警判断 2.第⼀步就是要,获取实时运⾏的经纬度信息、⾼度信息,然后通过算法做电⼦围栏判断 3.使⽤了参数getOverPositions,发现返回的不是经纬度 相关链接 http://mars3d.cn//e…...
jvm常识
Jvm工作原理学习笔记0126一、JVM的生命周期1.JVM实例对应了一个独立运行的java程序它是进程级别a)启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b)运行。ma…...
PHP部署、nginx与PHP的整合、PHP动态添加模块
文章目录前言一、基本知识1.php介绍2.PHP能做什么3.web工作原理4.PHP脚本主要用于领域5.php其他相关信息6.memcache介绍二、php的源码安装1.php安装2.php配置三、nginx与php整合四、php动态扩展模块(memcache模块)前言 一、基本知识 1.php介绍 官方下载…...
SpringCloud与SpringBoot的版本对应
一、SpringCloud与SpringBoot的版本对应 SpringCloud版本 SpringBoot版本 2021.0.1-SNAPSHOT Spring Boot >2.6.4-SNAPSHOT and <2.7.0-M1 2021.0.0 Spring Boot >2.6.1 and <2.6.4-SNAPSHOT 2021.0.0-RC1 Spring Boot >2.6.0-RC1 and <2.6.1 2021.0.0-M3 Sp…...
华为OD机试题,用 Java 解【N 进制减法】问题
最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...
Linux->进程概念于基本创建
1. 进程基本概念 当一个可执行程序被加载到内存当中,并由操作系统将其管理起来,此时这个程序就被称之为进程。也就是下方的: 程序的一个执行实例,正在执行的程序等 担当分配系统资源(CPU时间,内存ÿ…...
【MySQL】5.7版本解压安装配置
前言 之所以使用解压版本,而不使用exe安装,因为exe的安装方式删除过于麻烦!!! 如果安装MySQL过程中,出错了或者想重新在来一把,删除mysql服务即可 sc delete mysql # 删除已经安装好的Mysql&a…...
c++类对象数据成员和虚函数的内存布局
一直想搞清楚类对象的数据成员和虚函数的内存布局,今天刚好有时间,所以就写了个demo查看了一下具体的内存布局情况(使用的编译器为微软的)。下面是自己demo的代码:#include <iostream> #include <windows.h&g…...
Python 模块和包
1. 模块和包 **容器:**列表、元组、字符串、字典等,对数据的封装**函数:**对语句的封装**类:**对方法和属性的封装,即对函数和数据的封装 而模块(module)就是个程序,一个.py 文件&…...
Java零基础专栏——面向对象
1 面向对象思想1.1 什么是面向对象?2 类和对象2.1 类和对象的理解2.2 类的定义2.3定义类的补充注意事项2.4 对象的使用2.5 练习3 封装3.1 封装思想3.1.1 封装概述3.1.2 封装的步骤3.1.3 封装代码实现3.2 private关键字3.3 练习—private的使用4 构造方法4.1 构造方法…...
离散无记忆与有记忆信源的序列熵
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录离散无记忆信源的…...
算法该不该刷?如何高效刷算法?
一、算法该不该刷?最近有小伙伴向我咨询一个问题,就是算法该不该刷,该如何刷算法呢?这个问题可谓太大众化了,只要你去某乎、某度搜索一下相关的解答,会有无数种回答,可见这个问题困扰了多少学习…...
Allegro如何在关闭飞线模式下查看网络连接位置操作指导
Allegro如何在关闭飞线模式下查看网络连接位置操作指导 在用Allegro做PCB设计的时候,有时会因为设计需要,关闭飞线显示。 如何在关闭飞线显示模式下查看网络连接的位置,如下图 除了能看到网络连接的点位以外,还能看到器件的pin Number 如何显示出这种效果,具体操作如下 …...
BES-XGBoost多变量时间序列预测的‘秃鹰搜索优化算法‘与交叉验证抑制过拟合问题的Mat...
基于秃鹰搜索优化算法优化XGBoost(BES-XGBoost)的多变量时间序列预测 BES-XGBoost多变量时间序列 采用交叉验证抑制过拟合问题 优化参数为迭代次数、最大深度和学习率 matlab代码,注:暂无Matlab版本要求 -- 推荐 2016B 版本及以上 注:采用 XG…...
Agno 多 Agent 实战(二):搭建完整内容创作流水线
前情回顾 上一篇我们用路由模式做了一个智能问答系统,路由模式适合单步任务,一次分配。今天分享的是更复杂的场景:多步骤协作。 很多任务不是一步能做完的,比如写一篇文章:得先找资料,再写初稿,再审核修改,最后排版。这就需要多个 Agent 一步步协作,我们可以用协调模…...
tao-8k性能优化小技巧:如何提升向量化与检索速度
tao-8k性能优化小技巧:如何提升向量化与检索速度 1. 理解tao-8k的性能瓶颈 1.1 模型架构特点 tao-8k作为支持8192长度上下文的嵌入模型,其核心优势在于长文本处理能力。然而,这种能力也带来了独特的性能挑战: 计算复杂度&…...
基于朴素贝叶斯分类算法的收入预测:Python 数据挖掘项目实战
数据挖掘项目python--基于朴素贝叶斯分类算法的收入预测 项目流程:数据分析训练朴素贝叶斯分类器两个方案实现(pycharmjupyter) 包含内容:数据集代码(pycharmjupyter)文档在数据挖掘领域,预测任…...
GHelper全面革新:华硕笔记本硬件控制的智能突破方案
GHelper全面革新:华硕笔记本硬件控制的智能突破方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar…...
VR摩托车|沉浸式交通安全教育的新方向
在交通安全教育不断创新的今天,如何让参与者真正理解风险、形成安全意识,成为教育场景中的关键问题。传统的宣讲与视频观看虽然信息完整,却常因缺乏代入感而难以真正触动体验者。而“VR摩托车”作为一款结合虚拟现实技术、实景交互系统和交通…...
山东大学2022-2023学期实时绘制期末考试真题(回忆版)
山东大学2022年到2023年实时绘制期末考试 (一共9到小题,每题10分或12分,包含多个小问,上午考完下午回忆写的,大体就这些,复习时还是应该全面一点。) AABB包围盒构建过程;中间节点和叶…...
2025届最火的十大AI辅助论文平台横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网AIGC检测服务是学术规范领域里较为重要的技术工具,它的核心功能是去识别学术…...
如何快速掌握Pelican静态网站生成器:Full Stack Python的技术架构解析
如何快速掌握Pelican静态网站生成器:Full Stack Python的技术架构解析 【免费下载链接】fullstackpython.com Full Stack Python source with Pelican, Bootstrap and Markdown. 项目地址: https://gitcode.com/gh_mirrors/fu/fullstackpython.com 想要快速构…...
Phi-4-mini-reasoning部署教程:Nginx反向代理7860端口实现域名访问
Phi-4-mini-reasoning部署教程:Nginx反向代理7860端口实现域名访问 1. 项目介绍 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这款模型主打"小参数、强推理、长上下文、低延迟&q…...
