- 博客(30)
- 收藏
- 关注
原创 大厂面试题
在使用的时候,首先需要把关注的 Socket 集合通过 select/poll 系统调用从用户态拷贝到内核态,然后由内核检测事件,当有网络事件产生时,内核需要遍历进程关注 Socket 集合,找到对应的 Socket,并设置其状态为可读/可写,然后把整个 Socket 集合从内核态拷贝到用户态,用户态还要继续遍历整个 Socket集合找到可读/可写的 Socket,然后对其处理。回答:变成shutdown,执行shutdown()函数变成stop,执行shutdownnow函数。
2025-08-05 17:37:16
916
原创 xxljob分片广播
幂等性:确保你的任务是幂等的,即无论任务被执行多少次,结果都应该是相同的。异常处理:为可能发生的异常设置适当的处理机制,以保证即使某个分片失败也不会影响整个任务的成功执行。这样,我们可以实现灵活调度 1, N 个节点并行执行任务处理数据。在xxl-job⾥,假如可以配置执⾏器集群有10个机器,那么分⽚总。利用 XXL-JOB 的路由策略「分片广播」来调度定时任务;提供的日志功能,记录关键步骤的信息以便于后续排查问题。✅ 适合快速实现中等规模的分片任务。内存占用小、CPU 效率高。支持百万级以上数据处理。
2025-08-05 14:34:24
260
原创 字节-面试
方法,它会先看线程池是不是还在运行,然后再用 CAS 去抢一个线程名额,抢到了就 new 一个 Worker 并启动。:首先判断线程池的状态是否允许添加新的工作线程。只有在特定条件下(如线程池处于 RUNNING 或 SHUTDOWN 且满足“善后条件”),才会继续执行。:使用 CAS 操作尝试原子性地增加线程池中的工作线程数量,确保多线程环境下的安全性。:如果在任何阶段出现问题(比如线程启动失败),都会进行相应的清理工作,确保线程池的状态一致性。:成功更新线程数后,创建一个新的。
2025-08-03 17:50:11
715
原创 Spring
Spring Bean 的生命周期可以分为 15 个关键阶段,贯穿了从元信息配置到最终垃圾回收的全过程。这是 Bean 生命周期的起点,定义 Bean 的“蓝图”——即 。将配置源解析为 对象。将解析后的 注册到容器中。针对存在父子继承关系的 BeanDefinition 进行合并。根据 中的类名,使用 加载 Class 对象。允许在 Bean 实例化之前返回一个代理对象,跳过后续真实实例化过程。java深色版本七、Bean 实例化阶段(Instantiation)使用反射或
2025-08-01 14:51:32
581
原创 Spring面试
🔔 当 Spring 容器关闭时,会调用销毁方法。方式一:实现接口System.out.println("销毁:关闭数据库连接...");方式二:配置指定📌 用途:释放资源,比如关闭连接、线程池、文件句柄等。Cglib是一个强大的、高性能的代码生成包,它广泛被许多AOP框架使用,为他们提供方法的拦截。最底层是字节码,字节码相关的知识请参考JVM基础 - 类字节码详解ASM是操作字节码的工具cglib基于ASM字节码工具操作字节码(即动态生成代理,对方法进行增强)
2025-07-31 17:33:16
628
原创 深入序列化:一场关于对象“穿越时空”的旅程
如果类定义了:java深色版本// 先写默认字段out.writeUTF("加密后的密码");// 再写自定义数据在中:java深色版本// 反射调用用户的 writeObject 方法} else {// 走默认流程💡方法是private的,但它能被外部类调用,这是 Java 序列化机制的“特权”设计。协议(Protocol):定义数据如何编码(二进制/文本)、结构如何描述(自描述/预定义)。重建(Reconstruction)
2025-07-30 17:49:04
448
原创 VUE前端
Vue.js 作为一款优秀的前端框架,以其简洁易用的语法、强大的功能特性和活跃的社区支持,在前端开发领域占据了重要的地位。它的响应式数据绑定、组件化开发、声明式渲染等特性,使得开发者能够高效地构建出交互性强、性能优越的用户界面。尽管 Vue 存在一些劣势,如在大型项目中可能出现性能瓶颈、生态系统在某些方面的成熟度有待提高等,但随着 Vue 的不断发展和更新,这些问题也在逐步得到解决。Vue 3 的发布,引入了组合式 API、更好的性能优化等新特性,进一步提升了 Vue 的竞争力。
2025-07-30 15:50:21
917
原创 RabbitMQ
2.RabbitMQ 工作模型?消费者、生产者与broker进行连接采用TCP长连接方式,channel虚拟信道,减少服务器资源的消耗。
2025-07-30 13:27:23
87
原创 类加载器机制
这部分类加载器, 在tomcat7及以前是tomcat自定义的三个类加载器, 分别加载不同文件家下的jar包. 而到了tomcat7及以后, tomcat将这三个文件夹合并了, 合并成了一个lib包. 也就是我们现在看到的lib包我们来看看这三个类加载器的主要功能.commonClassLoader: tomcat最基本的类加载器, 加载路径中的class可以被tomcat容器本身和各个webapp访问;
2025-07-30 09:46:32
746
原创 【无标题】
ThreadLocal的作用原理ThreadLocal类为多线程环境提供局部变量机制,通过get和set方法保证每个线程访问独立的变量副本,从而解决了共享资源竞争问题。在多线程编程中,当多个线程可能同时修改一个共享变量时,往往会出现线性安全问题。为了解决这一问题,传统的同步方式如synchronized或Lock虽然有效,但可能影响系统性能。ThreadLocal的出现,提供了一种机制,使得每个线程都能在其内部访问到自己独有的变量副本,从而避免了对共享资源的竞争。 下面我就就来说一说是如何做到线程之间相互
2025-07-29 11:28:08
887
原创 G1收集器
G1收集器(Garbage-First Garbage Collector,简称G1 GC)是Java虚拟机(JVM)中的一种垃圾收集器,专为服务器端应用设计,特别适用于具有多核处理器和大内存的机器。G1 GC在JDK 7u4版本中被正式推出,并且在JDK 9中成为默认的垃圾收集器。它的主要目标是在满足高吞吐量的同时,尽可能缩短垃圾收集造成的停顿时间。
2025-07-29 10:03:35
791
原创 HashMap
HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突**(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)
2025-07-29 09:52:09
521
原创 多测试环境如何改造
不是我们自己写的业务服务是公司级基础设施,多个业务线共用没有内置的环境隔离能力需要我们主动改造,才能支持多环境隔离组件改造方式是否侵入复杂度备注Apollo集群隔离否★★☆Apollo 原生支持数据库字段/表前缀/影子表是★★★★★最大难点XXL-JOB执行器隔离否★★页面可选节点MQ消息 tag 路由是★★★需要消费者改造日志MDC 上下文是★★易实现,收益高。
2025-07-28 16:37:13
917
原创 多测试环境
问题解决方案环境不够用、要排队一键创建“虚拟环境”,想用就用环境不稳定每个项目独享环境,互不干扰开发抢测试环境开发也可以随时创建自己的环境成本太高共用资源 + 按需使用 = 大幅节省成本维护复杂统一模板 + 自动化部署 = 谁都能操作我们通过“打标签 + 全链路透传 + 容器化”的方式,实现了低成本、高效率、按需使用的多套测试环境动态创建能力,让每个项目都有自己的“专属测试空间”。
2025-07-28 14:38:36
329
原创 java基础
滴滴EHR面试:String、StringBuffer和StringBuilder类的区别Java提供了String、StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法。它们的相同点是都用来封装字符串;都实现了CharSequence接口。
2025-07-24 17:59:55
1002
原创 LangGrapH如何搭建多智能体
您的职责包括:1.分析研究者提供的信息和批评者的反馈2.以逻辑、易于理解的结构组织信息3.以清晰、引人入胜的写作风格呈现信息4.平衡不同观点并确保客观性5.创建全面、准确且精心撰写的最终响应以清晰、有组织的方式格式化您的响应,适当使用标题、段落和项目符号。您的职责包括:1.分析研究发现的准确性、完整性和潜在偏见2.识别信息中的空白或逻辑不一致3.提出可能被忽略的重要问题4.建议改进或替代观点5.确保最终信息平衡且全面您的批评应具有建设性,目标不是否定研究者的工作,而是增强其质量。
2025-07-18 15:27:23
334
原创 XXljob代码分析
xxl_job的数据库里有如下几个表:ER图如下:xxl_job_group:执行器信息表,用于维护任务执行器的信息xxl_job_info:调度扩展信息表,主要是用于保存xxl-job的调度任务的扩展信息,比如说像任务分组、任务名、机器的地址等等表在源码中由进行增删改查操作,通过和提供服务与接口支持,实现任务管理功能。xxl_job_lock:任务调度锁表防治任务重复执行,乐观锁。xxl_job_log:日志表,主要是用在保存xxl-job任务调度历史信息,像调度结果、执行结果、调度入参等等。
2025-07-07 09:56:23
563
原创 deepseek插件分享
但这些功能其他工具也能做到,虽然Scispace的这些功能可以用其他工具替代,比如改写可以用ChatGPT、Kimi,文献关联可以用ConnectedPapers,这些工具在专业性上可能更胜一筹,但Scispace通过浏览器交互的方式,操作起来可能更加便捷高效。这项功能特别适合处理扫描版PDF文件,它通过先进的图像处理和模式识别技术,能够将图像中的文字信息提取出来,并转换为计算机可以处理的文本数据,方便不同用户提取pdf中的内容。此外,UPDF还支持批量转换格式、批量打印和批量编辑,满足不同用户的需求。
2025-02-19 16:29:11
1428
原创 昇腾910B大模型分布式微调
adapter_name_or_path: /mnt/models/output/0806-004/checkpoint-100 #生成的微调路径。#第一步切换到两个容器实例上查看对应的输出文件(分布式情况下对应的实例都查看下或者查看日志output输出到具体的那个实例)model_name_or_path: /mnt/models/Qwen1.5-0.5B-Chat # 原模型路径。kubectl exec -it <pod_name> -- /bin/bash #对应的实例名字。
2025-02-13 10:30:51
1098
原创 【龙良曲博士】深度学习与PyTorch-lesson63-自定义数据集
【代码】【龙良曲博士】深度学习与PyTorch-lesson63-自定义数据集。
2023-05-06 08:29:46
288
原创 【龙良曲博士】深度学习与PyTorch-lesson5-手写数字问题
【代码】【龙良曲博士】深度学习与PyTorch-lesson5-手写数字问题。
2023-04-30 14:19:10
262
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人