Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,泛型信息不保留到运行期,仅保留原始类型(如Object或限定类型)。通过实例对比和反射操作可验证擦除机制,并揭示其对多态、类型检查、静态成员等的影响及编译器的处理策略。
ArrayList扩容机制
本文深入解析ArrayList的add及扩容机制。通过源码分析,揭示其首次添加元素时默认扩容至10,后续每次扩容为原容量1.5倍的核心逻辑,并详解grow()方法如何通过位运算高效实现动态扩容,同时澄清length、length()、size()等易混淆概念。
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并转化为ER图。采用MI(时标性)、PPT(参与方-地点-物品)、Role(角色)和DESC(描述)四类原型,逐步提炼风控系统的数据架构,最终形成清晰的实体关系图,指导数据建模与系统设计。
One Trick Per Day
初始化Map应避免直接指定大小,建议用Guava或手动计算容量;禁止使用Executors创建线程池,防止OOM,推荐ThreadPoolExecutor或Guava;Arrays.asList返回不可变集合,禁用修改操作;遍历Map优先使用entrySet或forEach;SimpleDateFormat非线程安全,勿声明为static;并发更新记录时,根据冲突概率选用乐观锁或悲观锁。
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中导入并运行Java Web项目,涵盖基础软件安装(Eclipse、JDK、Tomcat)、项目导入步骤、Eclipse与Tomcat的绑定配置及常见问题处理,辅以图文说明和案例项目下载,帮助开发者快速搭建并运行SSM/SSH框架项目。
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,提升日志分析效率与治理能力。
SpringBoot跨域处理
本文介绍了跨域(CORS)的产生原因及解决方案。当协议、域名、端口任一不同,即为跨域。浏览器因同源策略限制,默认阻止跨域请求。通过@CrossOrigin注解、全局配置WebMvcConfigurer或自定义Filter添加响应头,可实现跨域资源共享,允许指定外域访问资源,解决前端请求被阻问题。
SpringBoot鉴权
本文介绍基于Spring Security与JWT实现客户端Token认证的完整方案,涵盖登录鉴权、Token生成与验证、角色权限控制等细节。通过自定义过滤器与认证组件,结合Redis或数据库可扩展实现高效安全的无状态认证体系,适用于Spring Boot微服务架构。
Thread.sleep(0) 到底有什么用
Thread.Sleep用于让线程暂停执行一段时间,期间不参与CPU竞争。Sleep(1000)不保证精确唤醒时间,受系统调度影响;而Sleep(0)会触发立即重新计算各线程优先级,实现CPU让步,避免界面假死。两者均有实际意义。
MyBatis映射关系(1-1 1-n n-n)
MyBatis中通过resultMap实现一对一、一对多、多对一及多对多映射。一对一用于属性与字段映射;一对多通过`<collection>`关联主表与子表,如用户对应多个角色;多对一用`<association>`,如博客关联作者;多对多借助中间类实现,如用户与部门通过UserForDept关联,完成复杂数据结构封装。
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON处理、日志配置、全局异常处理、AOP切面编程及MyBatis、Redis等主流框架集成,并结合实际项目搭建完整开发架构,助你快速掌握微服务开发技能。
MyBatis映射关系(1-1 1-n n-n)
本内容介绍MyBatis中四种关联映射:一对一(属性与字段映射,可用resultMap解决命名不一致)、一对多(如用户对应多个角色,使用`<collection>`)、多对一(如作者与博客,使用`<association>`)和多对多(如用户与部门,通过第三方类结合`<collection>`实现)。
MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,优化相等匹配、范围查询、排序等操作,显著提升大数据量下的查询性能。
@Configuration
被 @Configuration 标注的类视为Spring配置类,等同于XML配置文件。结合 @Bean 可注册Bean实例,通过AnnotationConfigApplicationContext加载配置类并启动IOC容器,实现组件自动注入与管理,配置类本身也会被纳入容器管理。
虚拟机安装(CentOS7)
准备CentOS7镜像及VMware Workstation虚拟机工具,可从百度云下载(提取码:h1y9/bkz3)。使用VMware创建虚拟机,参考知乎教程完成安装。默认登录用户为root,密码由用户自定义设置。需准备一台具备运行虚拟机条件的电脑。
Redis集群伸缩,转移插槽失败
Redis集群出现槽位配置不一致,提示节点192.168.206.129:7004的slot 0处于importing状态。需登录该实例,执行`cluster setslot 0 stable`命令,恢复槽位稳定状态,修复集群问题后再进行 rebalance 操作。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的常见成因及应对策略。涵盖数据库慢SQL、锁争用、连接池配置不当等典型问题,结合真实案例剖析根源,并提出fast-fail、流控、背压等防护建议,助力开发者提升系统稳定性。
XXLJob定时任务概述
定时任务指按时间表达式周期执行的任务,适用于对账、提醒、订单超时等场景。单体架构可用轮询、Timer、ScheduledExecutorService、Quartz、SpringTask等方案;分布式下需解决重复执行、动态调度、故障转移等问题,主流方案有XXL-JOB、Elastic-Job、ScheduleX等。
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。前者是跨模型、标准化的通信协议,实现多工具动态集成;后者是模型调用外部函数的内置机制。MCP如同“蓝牙协议”,支持多设备互联互通,具备高兼容性与扩展性;Function Call则像“语音助手”,依赖特定模型完成具体任务。二者在功能上互补:MCP构建通用接口层,解耦模型与工具;Function Call负责意图解析与指令生成。
大模型推理与应用术语解释
简介:大语言模型核心技术涵盖推理、生成式AI、检索增强生成(RAG)、提示工程、上下文学习、代理、多模态学习与语义搜索。这些技术共同推动AI在内容生成、知识检索、智能决策和跨模态理解等方面的能力跃升,广泛应用于问答系统、创作辅助、企业服务与自动化任务,正重塑人机交互与信息处理范式。(238字)
MyBatis常见配置
MyBatis配置优先级:方法参数 > resource/url > properties。支持缓存、延迟加载、主键生成等常用配置,可多环境管理,默认使用development环境。事务由JDBC或MANAGED控制,集成Spring后由其接管事务管理。
4-MongoDB索引知识
MongoDB索引基于B树结构,支持单字段、复合、地理空间、文本及哈希索引,有效提升查询效率,避免全表扫描,适用于等值、范围、排序与全文检索,显著优化大数据量下的查询性能。
大厂如何解决订单幂等问题
在分布式系统中,网络重试可能导致重复请求,需保证接口幂等性。创建订单时,可通过预生成唯一订单号并利用数据库主键唯一约束,防止重复插入;更新订单时,引入版本号机制,更新前校验版本并原子性自增,避免ABA问题。结合MySQL唯一索引与Redis标识,可有效实现各类服务的幂等控制,确保数据一致性。
RocketMQ for AI:重新定义 AI 应用通信范式
RocketMQ LiteTopic 专为 AI 场景设计,支持百万级轻量队列,实现会话级私有通道与细粒度订阅。LiteConsumer 可动态管理节点级订阅,免依赖 Redis 与广播,简化架构,提升稳定性。原生支持断点续传、状态恢复,保障 AI 多轮交互可靠闭环,构建高效、弹性通信新模型。(238 字)
低代码IDEA启动项目
使用IDEA启动Jeecg-Boot前后端项目:先初始化MySQL与Redis,安装Maven依赖,配置数据库及Redis信息,启动后端Java服务;前端通过pnpm或yarn安装依赖,配置代理与接口地址,运行dev命令启动Vue3项目,访问http://localhost:3100,账号admin/123456。
Java基础篇
`final`修饰类不可继承、方法不可重写、变量引用不可变;重载同名不同参,重写需签名一致;`==`比较地址或值,`equals`比较对象内容;反射可动态获取类信息,但性能较低;常用集合有List、Set、Map;`StringBuilder`非线程安全但高效;HashMap基于数组链表+红黑树,线程不安全;ConcurrentHashMap线程安全;线程池提升性能,合理配置核心参数;JVM由类加载器、运行时数据区、执行引擎等组成,内存划分为堆、栈、方法区等;双亲委派保障类加载安全;Stream支持函数式编程,JDK8引入Lambda、方法引用、Optional等新特性。
MyBatis映射关系(1-1 1-n n-n)
本文介绍MyBatis四大关联映射:一对一(属性与字段映射)、一对多(如用户含多个角色,用`<collection>`)、多对一(如博客关联作者,用`<association>`)和多对多(通过中间类实现,如用户与部门)。解决实体间复杂关系映射问题,提升数据查询效率。
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景的准确性与安全性。分块策略是其核心,直接影响检索效果与生成质量。本文系统解析五种主流分块方法:固定大小、语义、递归、基于文档结构及LLM分块,对比其优缺点与适用场景,并探讨RAG在金融、医疗等高风险领域的可验证性挑战与前沿优化路径。
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是AI时代的“万能接口”,由Anthropic提出,旨在统一大模型与工具、数据源的连接标准。它简化集成、提升任务处理能力,支持多步骤流程与安全合规,推动AI智能体从对话走向行动,重塑AI应用生态。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。