面试高频问题----5
一、线程池参数的执行顺序
1.如果线程池中的线程数量小于核心线程数,则创建新的线程来处理任务
2.如果线程池中的线程数量等于核心线程数,但工作队列未满,将任务放入工作队列中执行
3.如果工作队列已满,但线程数小于最大线程数,则创建新的线程来处理任务
4.如果线程数已达到最大线程数,且工作队列已满,则使用拒绝策略来处理该任务
二、多线程中继承Thread 类和实现Runnable 接口的区别
1.实现Runnable接口是代理模式,交给Thread()类去start;一个类继承Thread类后本身就是一个线程对象,可以直接start
2.实现Runnable接口可以在创建线程时Thread类的构造器设置线程名;继承Thread类可以super()调用父类构造器起名
3.由于java是单继承,一个类继承thread类后不能继承其他类,而实现runnable接口侧面实现多继承
4.继承thread类不能实现线程变量资源共享;实现runnable接口线程变量可以共享也可以不共享,看线程创建方式
三、redis集群相比哨兵模式的优缺点
1.数据分片:集群模式通过数据分片提高了系统的扩展性和性能,而哨兵模式没有数据分片功能,适合数据量较小的场景;
2.高可用性:哨兵模式主要提供高可用性,能够在主节点故障时迅速进行故障转移。集群模式也提供高可用性,但是它通过分片和多个副本来实现,比哨兵模式复杂;
3.写能力:集群模式由于数据分片,可以在多个节点上进行写操作,提高了写能力。哨兵模式的写能力受限于单个主节点。
四、线程池的拒绝策略
当线程池无法处理新任务时,会触发拒绝策略。
1.中止策略:直接抛出异常,这是默认策略,可以明确地感知到任务被拒绝;
2.调用者运行策略:直接在调用execute方法线程中运行被拒绝的任务。不会造成数据丢失,但可能会降低调用线程的功能;
3.丢弃策略:不处理也不抛出异常,直接丢弃任务。可能造成数据丢失,且调用者无法感知到任务被拒绝;
4.丢弃最旧策略:丢弃队列中等待时间最长的任务,并执行当前提交的任务,可能造成数据丢失但会腾出空间执行新任务。
五、多态
定义
- 多态:指为不同数据类型的实体提供统一的接口
实现方式
- 类的继承(虚方法):子类可以重写父类的虚方法,以实现多态。
- 抽象类:抽象类定义了子类必须实现的方法,子类可以通过实现这些方法来实现多态。
- 接口:接口定义了方法的签名,但不提供实现。实现接口的类必须提供这些方法的具体实现,从而实现多态。
好处
- 可替换性:多态使得代码更易于维护和扩展,因为可以轻松地替换实现细节而不影响整体结构。
- 可扩充性:添加新的子类不会影响已存在的多态性。
- 接口性:多态提供了一个共同接口,使得子类可以轻松地实现或覆盖这些方法。
- 灵活性:提高了代码的灵活性和可重用性。
- 简化性:简化了对应用软件的代码编写和修改过程。
相关文章:
面试高频问题----5
一、线程池参数的执行顺序 1.如果线程池中的线程数量小于核心线程数,则创建新的线程来处理任务 2.如果线程池中的线程数量等于核心线程数,但工作队列未满,将任务放入工作队列中执行 3.如果工作队列已满,但线程数小于最大线程数…...
计算机网络 —— 网络层(子网掩码和子网划分)
计算机网络 —— 网络层(子网掩码和子网划分) 网络地址转换NAT子网掩码和子网划分举个例子第一步:看类型第二步:从主机号开始比对第三步:去头去尾 我们今天来看子网掩码和子网划分: 网络地址转换NAT 网络…...
2024 IDEA最新永久使用码教程(2099版)
本篇文章我就来分享一下2024年当前最新版 IntelliJ IDEA 最新注册码,教程如下,可免费永久,亲测有效,适合Windows和Mac。 本教程适用于 J B 全系列产品,包括 Pycharm、IDEA、WebStorm、Phpstorm、Datagrip、RubyMine、…...
http协议,tomcat的作用
HTTP 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全 2. 基于请求-响应模型的:一次请求对应一次响应 3HTTP协议是无状态的协议:对于事务处理没有记忆能…...
有哪些针对平台端口的常见攻击手段
针对平台端口的攻击可以通过多种手段进行,这些手段涵盖了从扫描探测到利用漏洞入侵的整个过程。以下是一些常见的攻击手段及其简要描述: 端口扫描攻击: 攻击者使用端口扫描工具(如Nmap)探测目标系统开放的端口。通过分…...
Xcode下载安装
1.Xcode可用版本判断: 2.Xcode下载安装: 方案1:AppStore 下载更新 若方案1失败则 方案2:指定版本Xcode包下载解压安装 苹果下载 3.Xcode命令行工具插件安装 xcode-select --install 备注: xcode_x.x.x.xip(压缩包存在时效性(使用前24h/…...
【 k8s 标签与选择器 】
一、标签(Label) 用于给Kubernetes资源(如Pod、Service、Deployment等)打上自定义的键值对标识。以便更方便地管理和操作这些资源。 在各类资源的 metadata.labels 中进行配置。可以通过改配置文件的方式打标签。 apiVersion: v1…...
【模拟-BM99 顺时针旋转矩阵】
题目 BM99 顺时针旋转矩阵 描述 有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。 分析 模拟,写几个样例,分析一下新矩阵元素下标与原矩阵元素…...
今年618,京东和爱奇艺为大屏品质“把关”
今年618电视大战,还是打响了。 根据京东618数据显示,618开门红阶段热卖TOP10电视均为75英寸以上的大屏,拥有超高画质的MiniLED电视成交量同比增长5倍。可以看到,大屏电视逐步成为消费主流,尤其是拥有出色视听体验的高…...
NSS题目练习7
[MoeCTF 2022]baby_file 打开看见一串源代码,需要get传参传入file 题目提示php伪协议 用dirsearch扫描发现flag.php 用php伪协议查看,回显一串base64编码 解码后得到flag [鹤城杯 2021]Middle magic 读取这两个文件 一个php正则表达式 补充:…...
聊一聊大数据需求的流程
大致的流程:需求对接、口径梳理、数据开发、任务发布、任务监控、任务保障 流程图 startuml skinparam packageStyle rectangleactor 需求方 participant 数据BP as 数据组 participant 离线数仓 participant 实时数仓需求方 -> 数据组: 提出需求 数据组 -> …...
老黄一举揭秘三代GPU!打破摩尔定律,打造AI帝国,量产Blackwell解决ChatGPT全球耗电难题
近日,老黄手持Blackwell向全世界展示的那一刻,全场观众沸腾了。 这是迄今为止世界上最大的芯片! 用老黄的话来说,它是「全世界迄今为止制造出来的最复杂、性能最高的计算机。」GPT-4o深夜发布!Plus免费可用!…...
HTML静态网页成品作业(HTML+CSS)—— 家乡南宁介绍网页(2个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…...
把qml程序制作成安装包(Windows)
先检查一下有没有安装Qt Installer FrameWork 需要用到Qt自带的打包工具: Qt Installer FrameWork,虽然有点拉胯,但是也能用用。一般放在Qt目录下的Tools文件夹下,如果没有看到,就去在线下载器去下载一下。 步骤1 随…...
内网中redis无法连接访问问题
这个错误信息说明 Redis 正在以受保护模式运行,这意味着它仅从本地回环接口(localhost 或 127.0.0.1)接受连接。如果你希望从外部计算机连接到 Redis,你需要采取一些措施来允许外部连接。 这里有一些解决方案: 禁用受…...
Unix环境高级编程第二版:深入探索与实战解析
Unix环境高级编程第二版:深入探索与实战解析 在信息化时代,Unix环境高级编程无疑是程序员们攀登技术高峰的必经之路。本文将针对《Unix环境高级编程第二版》一书,从四个方面、五个方面、六个方面和七个方面进行深入探讨,带您领略…...
SSL/TLS和HTTPS
HTTPS就是用了TLS包装的Socket进行通信的HTTP 混合加密 被称为混合加密。具体过程如下: 使用非对称加密协商对称密钥: 在通信的开始阶段,通常由客户端和服务器使用非对称加密算法(如RSA)来协商一个对称密钥。通常情…...
苹果将推出“Apple Intelligence”AI系统,专注于隐私和广泛应用|TodayAI
据彭博社报道,苹果公司将在下周的 WWDC 2024 开发者大会上揭晓其全新的 AI 系统——“Apple Intelligence”,该系统将适用于 iPhone、iPad 和 Mac 设备。这一新系统将结合苹果自身技术和 OpenAI 的工具,为用户提供一系列新的 AI 功能…...
配置Kubernetes资源管理Secret与ConfigMap
前言 Kubernetes 中的 Secret(提供加密模式)和 ConfigMap(提供配置)是关键的资源,用于安全地存储和管理敏感信息和配置数据。它们在应用程序开发和部署过程中扮演着重要的角色。本文将介绍如何有效地配置和管理这些资…...
韩顺平0基础学java——第19天
p396-406 final关键字 1.final修饰的为“常量”,需要给初始值。1可以直接定义时赋值,2在构造器中,3在代码块中。 注意静态代码块只能访问静态变量。 2.如果final修饰的关键字是静态的,那就不能在构造器中赋值,只能…...
医学影像组学实战:Pyradiomics YAML配置文件全解析(附完整示例)
医学影像组学实战:Pyradiomics YAML配置文件全解析(附完整示例) 在医学影像分析领域,特征提取是构建精准诊断模型的关键步骤。Pyradiomics作为开源的医学影像组学工具包,通过YAML配置文件提供了高度灵活的特征提取方案…...
超实数(Hyper-reals)的数学革命:从Hewitt到Robinson的探索历程
1. 超实数:一场颠覆传统数学认知的革命 想象一下,当你第一次学习实数时,老师告诉你数轴上的点与实数一一对应,没有任何空隙。这个看似完美的体系在20世纪中叶被一群数学家彻底颠覆了。超实数(Hyper-reals)的…...
Frida启动报错invalid address?手把手教你修复Android逆向工程环境
Frida启动报错invalid address?手把手教你修复Android逆向工程环境 当你满怀期待地启动Frida准备进行Android应用动态分析时,控制台突然抛出"invalid address"错误,那种感觉就像赛车手在起跑线上发现引擎故障。这个看似简单的错误信…...
利用Charles实现请求与响应的动态修改:从基础到实战
1. Charles工具简介与基础配置 Charles是一款功能强大的网络抓包工具,它就像是你手机和电脑之间的"透明玻璃",能让你清清楚楚地看到所有进出的网络请求。我第一次接触Charles是在调试一个电商APP的支付接口时,当时遇到一个诡异的bu…...
华为新机散热“封神”:拆解仿生羽翼涡扇,看“小翅膀”如何颠覆手机温控
🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 💌公众号:莱歌数字(B站同名) 📱个人微信:yanshanYH 211、985硕士,从业16年 从…...
OpenClaw可视化监控:百川2-13B-4bits任务执行状态的实时仪表盘搭建
OpenClaw可视化监控:百川2-13B-4bits任务执行状态的实时仪表盘搭建 1. 为什么需要可视化监控? 去年冬天,我部署了一个基于OpenClaw的自动化写作助手,对接本地运行的百川2-13B-4bits模型。最初几周运行良好,直到某天早…...
背包问题可视化:用动态规划表格理解0-1背包最优解
背包问题可视化:用动态规划表格理解0-1背包最优解 当你第一次面对背包问题时,可能会被那些复杂的公式和递归关系搞得晕头转向。我们常常会遇到这样的情况:明明看懂了算法描述,但一到手动计算就不知所措。这就是为什么我们需要一种…...
告别改板焦虑!手把手教你用Ansys SIwave 2022R2搞定PCB信号完整性仿真(附S参数导出Pspice全流程)
告别改板焦虑!Ansys SIwave 2022R2信号完整性仿真实战指南 在高速PCB设计领域,信号完整性问题如同悬在硬件工程师头顶的达摩克利斯之剑。当信号速率突破10Gbps,板间距离压缩至毫米级时,传统"设计-打样-测试"的迭代模式已…...
平衡小车/倒立摆核心:用STM32CubeMX和串级PID实现精准角度控制,调参避坑指南
平衡小车与倒立摆实战:STM32CubeMX串级PID调参全解析 平衡控制系统一直是嵌入式开发者的试金石。去年校电赛上,我亲眼见证一支队伍因为PID参数整定不当,导致他们精心设计的倒立摆在演示时像喝醉了一样左右摇摆,最终与奖项失之交臂…...
Android开发者必看:火山引擎API验签实战,5步搞定接口适配
Android开发者实战指南:火山引擎API验签与接口适配全解析 在移动应用开发领域,直接调用第三方API服务已成为提升开发效率的常见做法。火山引擎作为国内领先的云服务平台,其丰富的API接口为Android应用开发提供了强大支持。然而,由…...
