当前位置: 首页 > news >正文

同z科技面经

同z科技-2025-4-23

1.自我介绍

个人信息 + 校园经历 + 实习经历 + 项目经历 + 个人技能掌握 + 目前学习技术

2.封装缓存工具类怎么封装的

先介绍使用缓存的问题 + 解决的逻辑 + 封装的逻辑 + 应用

缓存穿透:

缓存雪崩:

缓存击穿:

https://www.yuque.com/hnsqls/rkzi78/mt4ywynev11fgn72

封装的逻辑—主要是对所有的类都支持运用泛型

/*** Redis 工具类* * 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间* * 方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓存击穿问题** * 方法3:根据指定的key查询缓存,并反序列化为指定类型,利用缓存空值的方式解决缓存穿透问题* * 方法4:根据指定的key查询缓存,并反序列化为指定类型,需要利用逻辑过期解决缓存击穿问题*/
@Component
public class CacheClient {private  final StringRedisTemplate stringRedisTemplate;public CacheClient(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate = stringRedisTemplate;}//range/*** 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间* @param key* @param value* @param time* @param unit*/public void set(String key , Object value, Long time, TimeUnit unit){stringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(value), time,unit);}/*** 方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓存击穿问题* @param key  redis的key* @param value* @param time* @param unit*/public void setWithLogicalExpire(String key , Object value, Long time, TimeUnit unit){//RedisData 是自定义类RedisData redisData = new RedisData();redisData.setData(value);redisData.setExpireTime(LocalDateTime.now().plusSeconds(unit.toSeconds(time)));stringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(redisData));}/***  方法3:根据指定的key查询缓存,并反序列化为指定类型,利用缓存空值的方式解决缓存穿透问题* @param* @param id* @return*/public <R,ID> R queryWithPassThrough(String keyPrefix, ID id, Class<R> type, Function<ID,R> dbFallback,Long time,TimeUnit unit){String key = keyPrefix+ id;// 1. 从redis中查询店铺缓存String json = stringRedisTemplate.opsForValue().get(key);//2.判断是否命中缓存  isnotblank false: "" or "/t/n" or "null"if(StrUtil.isNotBlank(json)){// 3.若命中则返回信息R r = JSONUtil.toBean(json, type);//            return Result.fail("没有该商户信息");return r;}//数据穿透判空   不是null 就是空串 ""if (json != null){return null;}//4.没有命中缓存,查数据库,因为不知道操作那个库,函数式编程,逻辑交给调用者完成
//       R r= getById(id); 交给调用者--》》函数式编程R r = dbFallback.apply(id);//5. 数据库为空,返回错误---》解决缓存穿透--》加入redis为空if (r == null){stringRedisTemplate.opsForValue().set(key,"",CACHE_NULL_TTL,TimeUnit.MINUTES);
//            return Result.fail("没有该商户信息");return null;}//6. 数据库不为空,返回查询的结果并加入缓存stringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(r),time, unit);return r;}/***  方法4:根据指定的key查询缓存,并反序列化为指定类型,需要利用逻辑过期解决缓存击穿问题* @param id* @return*/public <R,ID> R queryWithLogicalExpire(String keyPrefix,ID id,Class<R> type,Function<ID,R>dbFallback,String lockPrefix,Long time,TimeUnit unit){String key = keyPrefix+ id;// 1. 从redis中查询店铺缓存String json = stringRedisTemplate.opsForValue().get(key);//2.判断数据是否存在(我们对于热点key设置永不过期)  isblankif(StrUtil.isBlank(json)){// 3.若未命中中则返回空return null;}//4.若命中缓存 判断是否过期RedisData redisData = JSONUtil.toBean(json, RedisData.class);JSONObject data = (JSONObject) redisData.getData();R r = JSONUtil.toBean(data, type);LocalDateTime expireTime = redisData.getExpireTime();//未过期 直接返回查询信息if (expireTime.isAfter(LocalDateTime.now())){return r;}//过期// 重建缓存// 获取锁String lockKey = lockPrefix + id;if (tryLock(lockKey)) {//再次校验缓存是否未过期(线程1刚写入缓存然后释放锁,线程2在线程1释放锁的同时,执行到获得锁)//  从redis中查询店铺缓存json = stringRedisTemplate.opsForValue().get(key);//2.判断数据是否存在(我们对于热点key设置永不过期)  isblankif(StrUtil.isBlank(json)){// 3.若未命中中则返回空return null;}//4.若命中缓存 判断是否过期redisData = JSONUtil.toBean(json, RedisData.class);data = (JSONObject) redisData.getData();r = JSONUtil.toBean(data, type);expireTime = redisData.getExpireTime();//未过期 直接返回查询信息if (expireTime.isAfter(LocalDateTime.now())){return r;}//二次校验过后还时过期的就新开线程重构缓存// 获得锁,开启新线程,重构缓存 ,老线程直接返回过期信息CACHE_REBUILD_EXECUTOR.submit( ()->{try{//重建缓存//先查数据库 封装逻辑过期时间 再写redisR r1 = dbFallback.apply(id);this.setWithLogicalExpire(key, r1, time, unit);}catch (Exception e){throw new RuntimeException(e);}finally {unlock(lockKey);}});}//未获得锁 直接返回无效信息return r;}/**缓存穿透互斥锁解** @param keyPrefix* @param id* @param type* @param dbFallback* @param time* @param unit* @return*/public <R,ID>  R queryMutex(String keyPrefix, ID id, Class<R> type, Function<ID,R>dbFallback,String lockPrefix, Long time, TimeUnit unit) {String key = keyPrefix + id;//1.从redis中查询店铺缓存String json = stringRedisTemplate.opsForValue().get(key);//2.判断数据是否存在缓存if (StrUtil.isNotBlank(json)) {//2.1存在缓存R r = JSONUtil.toBean(json, type);return r;}//  2.2 是否缓存“”//判断命中是否为空值  ""if (json != null) {return null;}// 2.3不存在缓存// 3 缓存重建// 3.1 获取互斥锁String lockKey = lockPrefix + id;R r = null;try {boolean isLock = tryLock(lockKey);// 成功获取锁 - 》查数据库缓存重建if (isLock) {//二次校验 缓存是否有值json = stringRedisTemplate.opsForValue().get(key);//判断缓存是否存在if (StrUtil.isNotBlank(json)) {//存在缓存r = JSONUtil.toBean(json, type);return r;}if (json != null) {//缓存为 ""return null;}// 缓存不存在--》 查询数据库//  查询数据库r = dbFallback.apply(id);if (r == null) {//缓存空值stringRedisTemplate.opsForValue().set(key, "", time, unit);}//缓存重建stringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(r), time, unit);//返回数据return r;}// 3.2 获取锁失败 -》休眠重试//休眠Thread.sleep(50);// 递归重试return queryMutex(keyPrefix, id, type, dbFallback, lockPrefix, time, unit);}catch (InterruptedException e) {throw new RuntimeException(e);}finally {unlock(lockKey);}}//endrange/*** 线程池*/private  static  final ExecutorService CACHE_REBUILD_EXECUTOR = Executors.newFixedThreadPool(10);/*** 获取所* @param key* @return*/private boolean tryLock(String key){Boolean flag = stringRedisTemplate.opsForValue().setIfAbsent(key, "1", 10, TimeUnit.SECONDS);return BooleanUtil.isTrue(flag);}/*** 释放锁* @param key*/private  void unlock(String key){stringRedisTemplate.delete(key);}
}

数据一致性问题: 看业务,强一致性和弱一致性;

感觉可以在复习一下,还是有的说的,解决缓存的通用方法,设计思想(泛型),多线程,异步

3.prompt 的编写

https://www.yuque.com/hnsqls/rkzi78/dcpbg93idy3lszy2#Y1h4O

4.考勤系统的实现

5.大模型生成图片的流程

6.传统开发和大模型应用的优劣

传统应用

  • 强逻辑确定性
  • 精确控制,高可靠性

根据业务写代码,代码运行1w次,几年后,结果都是一样的,就体现强逻辑,精确控制,高可靠,但是不好处理一些模糊性,开放性的问题。

大模型应用

  • 处理发散性,开放性,模糊性的问题
  • 复杂模式的识别

所以要结合二者,选择二者的优点,进行开发,为现在传统的应用赋能。比如说大模型其实是没有记忆的,只不过可以用传统应用,用数据库存下来,在之后的交互,吧这些进行拼接起来。

比如说

  • 智能客服
  • 文本分析,摘要
  • 多模态创作
  • 分析复杂数据,给出推测性的结论,比如说烟草,周期性的爆品
  • 情感分析
  • 智能体 自动化办公

7.那些功能用大模型比较好

大模型知识负责根据输入来分析推理数据,既没有上下文,也没有其他的功能,现在的DeepSeek,ChatGPT,等等都是传统开发和大模型的结合,用数据库实现持久化,以及上下问。大模型还是仅仅是对问题进行分析处理。所以都是二者来结合的。

大模型落地的场景

  1. 智能客服
  2. 文本分析,摘要总结
  3. 多模态创作
  4. 数据分析,推测 比如说烟草,周期性的爆品,可以根据大模型分析的预测品类销量,进货(对于银行等要求准确度高的数据,还是使用传统开发来做。)
  5. 情感分析 (语音)
  6. 智能体,自动办公(审核评价 是否是恶意评价)

8.ik 分词器

9.大模型处理复杂任务,怎么处理,有什么规范

复杂任务拆分处理,每一模块,编写特定prompt 让大模型专注这一功能进行分析。然后给其他的模块进行处理

10.MCP 怎么开发的

先聊 Function Calling 再聊 MCP ,再聊 mcp Sdk, 再聊spring ai 。

11.什么样的场景需要function calling

大模型的数据是滞后性的,要想获取最近或者获取训练库之外的数据,就需要function calling 去调用外部服务的接口,来获得外部数据。

12.hot-Key 组件

13.SQl优化

监控

分析 Explain

索引失效

回表

多表查询

14.什么情况创建索引

数据量大

查询字段

联合字段 - 覆盖索引

15.什么场景OOM内存溢出

大对象

递归调用

16.有什么编程习惯避免内存溢出

ThreadLocal

17.自己的规划

总结

缓存工具类要复习一下,有多线程,异步,以及通用的设计。

考勤系统,可以再说的具体一点,把难点提出来(多次上传,只记录一次数据,多次上传的数据中也有新增的数据;也就是如何去重的,数据库的设计, 可以提一下 insert ignore, 以及lamda 处理集合的使用分组使用)

大模型生图的流程,要加上MQ,异步的介绍。

JVM 要在复习一下常问的面试题。缺乏上线项目处理的经验多看看场景题目把。

长久更正:真实面经
https://github.com/hnsqls/interview

相关文章:

同z科技面经

同z科技-2025-4-23 1.自我介绍 个人信息 校园经历 实习经历 项目经历 个人技能掌握 目前学习技术 2.封装缓存工具类怎么封装的 先介绍使用缓存的问题 解决的逻辑 封装的逻辑 应用 缓存穿透&#xff1a; 缓存雪崩&#xff1a; 缓存击穿&#xff1a; https://www…...

制作一款打飞机游戏19:碰撞检测

在这一章中&#xff0c;我们致力于解决碰撞检测问题&#xff0c;但它并不如我们所愿工作。 碰撞检测问题 今天我想解决的是碰撞检测问题&#xff0c;这个令人畏惧的碰撞检测。我理解&#xff0c;这里有很多复杂的if语句&#xff0c;但我们可以做到。 不过&#xff0c;在此之…...

python后端程序部署到服务器 Ubuntu并配合 Vue 前端页面运行

将 PyCharm 研发的 Web 后端系统程序部署到 Ubuntu 24.04 服务器并配合 Vue 前端页面运行&#xff0c;可按以下步骤操作&#xff1a; 1. 服务器环境准备 在开始部署之前&#xff0c;需要在 Ubuntu 24.04 服务器上安装必要的软件。 # 更新系统软件包 sudo apt update sudo ap…...

9N60-ASEMI无人机专用功率器件9N60

编辑&#xff1a;LL 9N60-ASEMI无人机专用功率器件9N60 型号&#xff1a;9N60 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 最大漏源电流&#xff1a;9A 漏源击穿电压&#xff1a;600V 批号&#xff1a;最新 RDS&#xff08;ON&#xff09;Max&#xff1a;1.00Ω …...

Java单例模式详解:实现线程安全的全局访问点

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、什么是单例模式&#xff1f; 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;它保证一个类仅有一个实例&#xff…...

【无人机】无人机光流模块Optical Flow设置(三),光流测距一体传感器的配置。凌启科技的光流测距一体模块的测试。

目录 1、光流测距一体模块的配置&#xff0c;详细步骤 1.1、连接 1.2、上位机使用 1.3、切换为PX4协议 2、适配PX4飞控&#xff0c;QGC上参数配置 2.0、安装连接 2.1、串口配置&#xff1a; 2.2、启用光流辅助功能 2.3、启用测距辅助功能 2.4、高度参考设置 2.5、重…...

电路中的DGND、GROUND、GROUND_REF的区别,VREF、VCC、VDD、VEE和VSS的区别?

目录 1 DGND、GROUND、GROUND_REF的区别 1.1 DGND&#xff08;Digital Ground&#xff09; 1.2 GROUND&#xff08;Ground&#xff09; 1.3 GROUND_REF&#xff08;Ground Reference&#xff09; 1.4 区别 2 VREF、VCC、VDD、VEE和VSS的区别 2.1 VREF&#xff08;Refere…...

VSFTPD+虚拟用户+SSL/TLS部署安装全过程(踩坑全通)

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置虚拟用户1.创建虚拟用户列表文件2.生成数据库文件3.设置虚拟用户独立访问权限 配置PAM认证1.创建PAM配置文件2.测试PAM认证 创建虚拟用户映射的系统用户生成SSL/TLS证书配置VSFTPD服务1…...

Java-File类详解(一篇讲透)

一&#xff1a;File类的实例化及常用方法 1.1 定义 1.2 构造器 &#xff08;1&#xff09;File(String pathname) 文件的路径表示方式 测试&#xff1a; &#xff08;2&#xff09;File(String parent,String child) 在父路径下创建子文件&#xff08;没后缀是目录&#xff0c…...

Representation Flow for Action Recognition论文笔记

原文笔记&#xff1a; What&#xff1a; 在本文中&#xff0c;我们提出了一种受光流算法启发的CNN层&#xff0c;用于学习动作识别的运动表示&#xff0c;而无需计算光流。我们的表示流层是一个完全可微分的层&#xff0c;旨在捕获模型中任何表示通道的“流”。其迭代流量优化…...

云计算领域需掌握的核心技术

云计算作为现代信息技术的核心基础设施&#xff0c;涵盖从基础资源管理到上层应用开发的完整技术栈。它依靠强大的计算能力&#xff0c;使得成千上万的终端用户不担心所使用的计算技术和接入的方式等都能够进行有效的依靠网络连接起来的硬件平台的计算能力来实施多种应用。 一、…...

Android仿今日头条Kotlin版本

软件信息 gradle-8.0Sdk信息 //编译版本 compileSdk33 //最小版本 minSdk24 //目标版本 targetSdk31Android Studio Giraffe | 2022.3.1 Patch 2&#xff08;建议版本不要太低&#xff09;MVVMAndroid Jetpack 项目注意 没有服务器&#xff0c;用的是Apifox模拟服务器返回&a…...

Javashop新零售电商系统:构建智能零售生态的终极解决方案

JavaShop Javashop新零售电商系统&#xff1a;构建智能零售生态的终极解决方案引言&#xff1a;数字化转型浪潮中的零售业变革Javashop新零售系统核心优势1. 全渠道融合&#xff1a;打破线上线下壁垒2. 智能化门店管理&#xff1a;赋能传统零售3. 智慧营销与会员运营 系统功能模…...

vscode如何多行同时编辑,vscode快速选中多行快捷键

目录 vscode如何多行同时编辑&#xff0c;vscode快速选中多行快捷键 一、实践情景 二、不同多选情景的操作方案 1、使用 Alt 鼠标点击选择任意行的任意位置 2、使用快捷键 Shift Alt 鼠标拖动 3、使用快捷键添加多行光标 4、结合正则表达式批量编辑 5、使用扩展插件&…...

珈和科技助力“农险提效200%”!“遥感+”技术创新融合省级示范项目荣登《湖北卫视》!

近日&#xff0c;湖北卫视《湖北十分》栏目报道了珈和科技遥感赋能农业保险创新&#xff0c;典型项目入选十大省级卫星应用示范标杆事迹&#xff0c;系统展示了珈和科技在卫星遥感与农业保险融合领域的创新成果。 作为空天农业领域的领军企业&#xff0c;珈和科技依托创新构建…...

UIAutomator 与 Playwright 在 AI 自动化中的界面修改对比

UIAutomator 与 Playwright 在 AI 自动化中的界面修改对比 在 AI 驱动的 UI 自动化中,Playwright(主要用于 Web)和 UIAutomator(用于 Android)的设计定位不同,对界面修改的支持也截然不同。下面从界面修改能力、API 设计、替代方案和实践建议等方面进行分析,对比两者在…...

Redisson Watchdog实现原理与源码解析:分布式锁的自动续期机制

引言 在分布式系统中&#xff0c;Redis分布式锁是解决资源竞争问题的常用方案。然而&#xff0c;当持有锁的客户端因GC、网络延迟或处理时间过长导致锁过期时&#xff0c;可能引发数据一致性问题。Redisson的Watchdog&#xff08;看门狗&#xff09;机制通过自动续期解决了这一…...

在C#串口通信中,一发一收的场景,如何处理不同功能码的帧数据比较合理,代码结构好

在 C# 串口通信的一发一收场景里&#xff0c;处理不同功能码的帧数据可采用以下合理的代码结构&#xff0c;它能让代码更具可读性、可维护性和可扩展性。 实现思路 定义帧结构&#xff1a;创建一个类来表示通信帧&#xff0c;其中包含功能码、数据等信息。功能码处理逻辑&…...

easypoi 实现word模板导出

特此非常致谢&#xff1a;easypoi实现word模板 基础的可以参考上文&#xff1b; 但是我的需求有一点点不一样。 这是我的模板&#xff1a;就是我的t.imgs 是个list 但是很难过的是easy poi 我弄了一天&#xff0c;我都没有弄出来嵌套list循环怎么输出显示&#xff0c;更难过…...

集结号海螺捕鱼服务器调度与房间分配机制详解:六

本篇围绕服务器调度核心逻辑进行剖析&#xff0c;重点讲解用户连接过程、房间分配机制、服务端并发策略及常见性能瓶颈优化。适用于具备中高级 C 后端开发经验的读者&#xff0c;覆盖网络会话池、逻辑服调度器与房间生命周期管理等关键模块。 一、服务器结构概览 整体系统采用…...

opencv--图像滤波

图像滤波 含义 方法 噪声是怎么产生的 线性滤波 概念 利用窗口对图像中的像素进行加权求和的滤波方式。 图像来源于小虎教程。 图像的滤波是二维滤波的过程。 滤波器窗口&#xff1a; 滤波器窗口&#xff08;也称为卷积核或模板&#xff09;是一个小的矩阵&#xff08;通常为…...

uniapp返回上一页接口数据更新了,页面未更新

注意&#xff1a;不是组件套组件可以不使用setTimeout延时 返回上一页一般会走onshow&#xff0c;但是接口更新了页面未更新 onShow(() > {// 切换城市后重新调用数据if (areaId.value) {const timer setTimeout(async () > {timer && clearTimeout(timer);…...

redis 使用 Docker 部署 简单的Redis 集群(包括哨兵机制)

目录 环境准备 步骤 1&#xff1a;创建 Docker Compose 配置文件 步骤 2&#xff1a;创建配置文件 主节点配置文件 (redis.conf) 从节点配置文件 (slave.conf) 哨兵配置文件 (sentinel.conf) 步骤 3&#xff1a;启动 Redis 集群 步骤 4&#xff1a;验证集群状态 1. 检…...

私有知识库 Coco AI 实战(三):摄入 Elasticsearch 官方文档

相信经常使用 Elasticsearch 的小伙伴&#xff0c;难免要到 ES 官网查找资料&#xff0c;文档内容多难以查找不说&#xff0c;还有很多个版本&#xff0c;加上各种生态工具如 Filebeat、Logstash 头就更大了。今天我来介绍如何使用 Coco AI 快速搜索 Elasticsearch 官方文档。在…...

12-DevOps-Gitlab托管Jenkinsfile

前面通过执行脚本的方式&#xff0c;完成了pipline流水线的构建。脚本是保存在Jenkins中的&#xff0c;这种方式不利于迁移&#xff0c;也不利于查找脚本的历史变更信息。 通过把脚本放到GitLab中&#xff0c;然后在Jenkins中引用的方式来解决上述的问题。 创建Jenkinsfile文件…...

CSS3 基础(边框效果)

一、边框效果 属性功能示例值说明border-radius创建圆角border-radius: 20px;设置元素的圆角半径&#xff0c;支持像素&#xff08;px&#xff09;或百分比&#xff08;%&#xff09;。值为 50% 时可变为圆形。box-shadow添加阴影box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5)…...

使用 VSCode 编写 Markdown 文件

目录 一、安装 Markdown 插件二、新建 Markdown 文档三、Markdown 基本语法目录和标题文本样式列表图片链接代码表格注脚与注释符号表情 四、将 Markdown 文档导出为 PDF 一、安装 Markdown 插件 参考文章&#xff1a;【[Markdown] 使用vscode开始Markdown写作之旅】 打开 VSco…...

搭建 Stable Diffusion 图像生成系统并通过 Ngrok 暴露到公网(实现本地系统网络访问)——项目记录

目录 &#x1f4da; 背景与需求 &#x1f4dd; 需求明确 &#x1f511; 核心功能 &#x1f30d; 网络优化 &#x1f6e0;️ 方案确认 ⚙️ 技术栈 &#x1f4c8; 实现流程&#xff08;Flask端口Ngrok注册authtoken&#xff09; &#x1f3af; 优化目标 &#x1f50d; 实…...

伺服器用什么语言开发呢?做什么用什么?

最近因为要评估帮合作对象做连接我们工具的语言翻译器&#xff0c;所以顺便做了一个小范围的调查&#xff0c;看看那些语言是应该在我们优先制作翻译器的部分&#xff0c;当然&#xff0c;各种语言在伺服器开发中其实各有拥护者&#xff0c;而选择也很常受到应用场景、产业特性…...

实现SpringBoot底层机制【Tomcat启动分析+Spring容器初始化+Tomcat 如何关联 Spring容器】

下载地址&#xff1a; https://download.csdn.net/download/2401_83418369/90675207 一、搭建环境 创建新项目 在pom.xml文件中导入依赖 &#xff08;一定要刷新Maven&#xff09;排除内嵌的Tomcat&#xff0c;引入自己指定的Tomcat <?xml version"1.0" enco…...

spark—kafka

消息队列与Kafka介绍 消息队列模式&#xff1a; 点对点模式和发布订阅模式。Kafka主要使用发布订阅模式。 Kafka角色&#xff1a; 包括broker、topic、分区、生产者、消费者、消费者组、副本、leader和follower 术语 解释 Broker 安装了kafka的节点 Topic 每条发…...

【AI 加持下的 Python 编程实战 2_09】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(上)

DIY 拓展&#xff1a;从扫雷小游戏开发再探问题分解与 AI 代码调试能力&#xff08;上&#xff09; 1 起因 最近在看去年刚出了第 2 版《Learn AI-assisted Python Programming》&#xff0c;梳理完 第七章 的知识点后&#xff0c;总感觉这一章的话题很好——问题分解能力的培…...

【JVS更新日志】物联网、智能BI、智能APS 4.23更新说明!

项目介绍 JVS是企业级数字化服务构建的基础脚手架&#xff0c;主要解决企业信息化项目交付难、实施效率低、开发成本高的问题&#xff0c;采用微服务配置化的方式&#xff0c;提供了低代码数据分析物联网的核心能力产品&#xff0c;并构建了协同办公、企业常用的管理工具等&…...

品融电商:领航食品类目全域代运营,打造品牌增长新引擎

品融电商&#xff1a;领航食品类目全域代运营&#xff0c;打造品牌增长新引擎 在竞争激烈的电商市场中&#xff0c;食品类目因其高频消费与强复购属性&#xff0c;成为品牌必争之地。然而&#xff0c;行业同质化严重、用户心智难突破、流量成本攀升等痛点&#xff0c;让许多食…...

非关系型数据库 八股文 Redis相关 缓存雪崩 击穿 穿透

目录 图 缓存雪崩 大量数据同时过期解决方案 也有可能是 Redis 挂了 故障 缓存击穿 用互斥锁解决 热点数据永远不过期 缓存穿透 重点 可能的原因 限制 请求的 访问 缓存空值或者默认值 布隆过滤器(重要) 总结 参考资料 图 缓存雪崩 缓存雪崩是指大量缓存数据同时…...

uniapp自定义拖拽排列

uniapp自定义拖拽排列并改变下标 <!-- 页面模板 --> <template><view class"container"><view v-for"(item, index) in list" :key"item.id" class"drag-item" :style"{transform: translate(${activeInde…...

汽车免拆诊断案例 | 2013款大众辉腾车发动机抖动

故障现象  一辆2013款大众辉腾车&#xff0c;搭载CMV发动机&#xff08;燃油喷射方式为缸内直喷&#xff09;&#xff0c;累计行驶里程约为21.8万km。该车发动机怠速、加速时均有抖动&#xff0c;且组合仪表上的发动机故障灯异常点亮。 故障诊断 用故障检测仪检测&#xff0…...

【氮化镓】同质结GaN PiN二极管的重离子单粒子烧毁SEB

2025 年,范德堡大学的 A. S. Senarath 等人通过实验研究的方法,深入探究了在同质结 GaN 垂直 PIN 二极管中,边缘终止设计对重离子诱发的单粒子漏电(SELC)和单粒子烧毁(SEB)的影响。该研究获得了多个美国军方机构的支持,包括空军卓越辐射效应中心、海军研究办公室、能源…...

Java基础 4.23

1.包的命名 命名规则 只能包含数字 字母 下划线 小圆点 但不能用数字开头 不能是关键字或保留字 命名规范 一般是小写字母小圆点 一般是 com.公司名.项目名.业务模块名 比如 com.sina.crm.user 用户模块com.sina.crm.order 订单模块com.sina.crm.utils 工具类 2.常用的包…...

【学习准备】算法和开发知识大纲

1 缘起 今年&#xff08;2025年&#xff09;的职业升级结果&#xff1a;不通过。没办法升职加薪了。 需要开始完善学习&#xff0c;以应对不同的发展趋势&#xff0c;为了督促自己学习&#xff0c;梳理出相关学习大纲。 分为算法和开发两部分。 算法&#xff0c;包括基础算法和…...

Godot学习-3D基本环境设置以及3D角色移动

文章目录 一、新建项目和导入资产二、创建玩家场景1.修改模型节点类型为CharacterBody3D2.添加碰撞对象并且设置碰撞区域3.根据动画的运动状态调整碰撞区域 三、使用CSGMesh3D创建地面1.设置网格尺寸2.设置网格材质 四、添加3D相机和光照五、为角色移动编写代码1.基本移动和旋转…...

高效并发编程:无锁编程

无锁编程是一种并发编程的技术&#xff0c;旨在避免使用传统的锁机制来保护共享数据。相比有锁编程&#xff0c;无锁编程可以提供更高的并发性能和可伸缩性。在无锁编程中&#xff0c;线程或进程通过使用原子操作、CAS&#xff08;Compare-and-Swap&#xff09;等技术来实现对共…...

Java与C语言核心差异:从指针到内存管理的全面剖析

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;AI 【前言】 在计算机编程领域&#xff0c;Java和C语言都是极具影响力的编程语言。Java以其跨平台性、安全性和面向对象…...

亚远景-基于ASPICE标准的汽车软件过程优化路径

基于ASPICE标准的汽车软件过程优化路径可以从以下几个方面展开&#xff1a; 1. 评估现状与设定目标 评估现状 &#xff1a;企业需要对当前的软件开发过程进行全面评估&#xff0c;识别与ASPICE标准之间的差距&#xff0c;明确薄弱环节。 设定目标 &#xff1a;根据评估结果和…...

集结号海螺捕鱼游戏源码解析(第三篇):拉霸机模块开发详解与服务器开奖机制

本篇聚焦“拉霸机”子游戏模块&#xff0c;全面剖析客户端滚轮动画机制、服务端中奖算法、中奖广播同步与配置解析方式&#xff0c;适用于技术团队针对拉霸玩法的二次开发与稳定性优化。 一、模块目录结构说明 拉霸机模块的源码目录一般如下&#xff1a; 子游戏/slot_machine…...

图聚类中的亲和力传播

图中展示的是Affinity Propagation&#xff08;亲和力传播&#xff09;算法中的一个关键步骤——更新吸引度矩阵。Affinity Propagation是一种聚类算法&#xff0c;它通过消息传递的方式找到数据集中的代表性样本&#xff08;称为exemplar或原型&#xff09;&#xff0c;并将其…...

Apache中间件解析漏洞与安全加固

Apache作为全球使用最广泛的Web服务器&#xff0c;其灵活性和模块化设计使其成为开发者的首选。然而&#xff0c;其解析机制和配置不当可能导致严重的安全风险。本文将从​​漏洞原理​​、​​攻击案例​​和​​安全配置​​三个维度&#xff0c;结合真实场景&#xff0c;解析…...

MyBatis-Plus分页插件的使用

从MyBatis-Plus 3.4.0开始&#xff0c;不再使用旧版本的PaginationInterceptor &#xff0c;而是使用MybatisPlusInterceptor。 下面是MyBatis-Plus 3.4.3.3新版分页的使用方法。 配置 使用分页插件需要配置MybatisPlusInterceptor&#xff0c;将分页拦截器添加进来&#xff…...

集结号海螺捕鱼游戏源码解析(第二篇):水浒传捕鱼模块逻辑与服务器帧同步详解

本篇将全面解构“水浒传”子游戏的服务端核心逻辑、帧同步机制、鱼群刷新规则、客户端命中表现与服务器计算之间的协同方式&#xff0c;聚焦于 C 与 Unity3D 跨端同步的真实实现过程。 一、水浒传捕鱼模块资源结构 该模块包含三部分核心目录&#xff1a; 子游戏/game_shuihuz…...

开发体育直播系统后台权限设计实践分享|ThinkPHP 技术栈落地案例

今天我们分享的是一套由 东莞梦幻网络科技 自研的体育直播源码&#xff0c;在 ThinkPHP MySQL 技术栈的加持下&#xff0c;后台权限系统如何从0到1落地&#xff0c;并支撑整个平台稳定运行。 一、整体架构设计 用户端&#xff08;APP / H5 / PC&#xff09;↓ 前端接口层&am…...