MyBatis映射关系
本文介绍MyBatis中四种映射关系:一对一(resultMap处理字段与属性映射)、一对多(使用`<collection>`标签关联集合)、多对一(通过`<association>`建立关联)及多对多(借助中间类实现双向集合映射),适用于复杂对象关系的数据持久化处理。
领域模型图(数据架构/ER图)
数据架构核心输出为ER图,包含实体、关系与属性,用于构建数据模型。通过业务域分解与领域建模,结合四色原型法(MI红色、PPT绿色、Role黄色、DESC蓝色)抽象业务,逐步提炼系统数据架构。
QLExpress使用及源码分析
QLExpress是阿里巴巴开源的轻量级规则引擎,支持通过注解与YAML配置实现业务逻辑与代码解耦。提供AST语法树解析、上下文构建及高效执行机制,适用于动态规则场景。GitHub地址:https://github.com/alibaba/QLExpress
01-认识Activiti
工作流指具有审批流程的业务(如请假、报销等),通过流程引擎实现可视化管理。它支持单/多节点审批,广泛应用于CRM、TMS、WMS等系统。主流技术包括BPMN、Activiti、Flowable等,推动了泛微、金蝶、用友等企业的发展。
[MES]数据库改造H2到MySQL(☆☆)
本文介绍如何运行并改造一个SpringBoot项目,包括从Gitee克隆代码、环境配置(JDK/Maven)、数据库从H2切换至MySQL等步骤,强调新人如何应对技术栈不熟、环境配置难等问题,并引导思考如何高效请教同事、快速融入团队开发。
先把磁盘文件拷贝到 PageCache 上,再拷贝到进程中
PageCache通过缓存磁盘数据到内存,提升读取性能,并支持预读和合并IO。但传输大文件时易占满缓存,影响小文件性能,此时应使用异步IO+直接IO,避免额外拷贝与缓存污染,尤其适用于高并发场景。
Java线程池实现架构
Java中线程池相关类主要包括Executor、ExecutorService、ScheduledExecutorService及其具体实现ThreadPoolExecutor和ScheduledThreadPoolExecutor。Executors为工厂类,用于创建不同类型的线程池。Executor是顶层接口,仅支持执行无返回值任务;ExecutorService扩展其功能,支持有返回值任务及线程管理;ScheduledExecutorService进一步增加定时调度能力。
ArrayList扩容机制
本文深入分析了Java中ArrayList的add及扩容机制。通过源码解析,详解ensureCapacityInternal、ensureExplicitCapacity和grow方法的工作流程,揭示其首次扩容默认至10,之后每次扩容为原容量1.5倍的核心逻辑,并区分length、length()与size()的用法差异。
认识OAuth2.0
OAuth2.0是一种开放授权协议,允许第三方应用在用户授权下获取资源访问权限,而无需获取用户账号密码。其核心是通过令牌(token)实现安全授权,广泛应用于第三方登录、服务间资源调用等场景,支持授权码、简化、密码和客户端四种模式,兼顾安全性与灵活性。
SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,弥补了分散技术栈的整合难题。它具备约定大于配置、组件丰富、开箱即用等特点,完美支持云原生架构。版本以伦敦地铁站命名,如Hoxton.SR12,避免与子项目版本冲突,便于统一管理。
映射关系(1-1 1-n n-n)
MyBatis中通过resultMap实现关联映射:一对一使用resultMap解决字段与属性名不一致;一对多在“一”方配置<collection>,如用户包含多个角色;多对一通过<association>关联,如博客关联作者;多对多借助中间类,双方均用<collection>维护集合关系。
5.LoadBalance
本文深入解析Dubbo四大负载均衡算法:随机、轮询、最少活跃数与一致性哈希。结合流程图与数学分析,详解每种策略的实现原理与适用场景,重点剖析最小活跃数统计机制及一致性哈希的虚拟节点设计,帮助理解集群容错核心逻辑,助力面试与实战。
容器化部署引擎Docker
本节介绍Docker技术,解决微服务部署中环境不一致、依赖冲突等问题。Docker通过打包应用及依赖,实现跨环境无缝迁移;利用容器隔离机制,确保各服务互不干扰。相比虚拟机,Docker更轻量、启动更快、资源占用少,是现代应用交付的首选方案。
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中导入并运行Java Web项目,涵盖基础软件安装(Eclipse、JDK、Tomcat)、项目导入步骤、Eclipse与Tomcat的绑定配置及常见问题处理。提供多个SSM/SSH实战项目案例与视频讲解,助你快速搭建开发环境并成功运行项目。
MyBatis常见配置
本文介绍了 MyBatis 的核心配置机制,包括属性加载优先级(方法参数 > resource/url > properties 元素)、常见配置项如缓存、延迟加载、执行器类型等,并详解了多环境配置方式及事务管理器(JDBC 与 MANAGED)的使用场景,适用于多数据源管理和容器集成。
ArrayList扩容机制
本文深入分析了Java中ArrayList的add()及扩容机制。添加元素时,先调用ensureCapacityInternal()确保容量,首次添加时默认扩容至10;当元素数量超过当前数组长度时,触发grow()方法,将容量扩大为原来的1.5倍(通过位运算优化性能),并通过实例详解了扩容流程,同时辨析了length、length()和size()的区别。
为什么学习Spring Boot
Spring Boot 是 Spring 官方推出的快速开发框架,旨在简化配置、编码与部署。其“Build Anything”理念助力开发者快速搭建应用,配合 Spring Cloud 可构建完整微服务体系,是未来Java开发的重要趋势。
Spring Boot是什么
自2002年Spring兴起,Java EE开发因繁重的XML配置和整合难题渐显笨拙。2012年Mike Youngstrom提出无容器架构设想,催生了Spring Boot项目。它与Spring深度融合,通过极简配置、开箱即用的特性,大幅提升开发效率,让开发者专注业务逻辑。
4.Watcher机制(一)
本文深入分析ZooKeeper的Watcher机制核心类及源码实现,涵盖Watcher接口、Event枚举(KeeperState与EventType)、WatchedEvent事件封装、ClientWatchManager与ZKWatchManager的Watcher管理逻辑,重点解析事件触发时的监听器回调与移除机制,帮助理解ZooKeeper分布式协调中的状态通知原理。
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并逐步推导出ER图。利用MI(时标性)、PPT(参与方-地点-物品)、Role(角色)和DESC(描述)四类原型,结合风控系统案例,从业务流程中提取实体与关系,最终形成清晰的数据架构模型,指导数据库设计。
第一章 Java基础
本文系统讲解Java核心知识,涵盖基础语法、面向对象、集合类、异常处理、IO流、多线程并发、JVM原理、反射泛型、Lambda表达式及Tomcat优化等内容,结合代码示例与底层机制分析,助力深入理解Java编程与面试要点。
OAuth2.0四种授权模式
OAuth2四种授权模式简介:授权码模式最安全,适用于第三方登录;简化模式适用于无后端的应用;密码模式需高度信任;客户端模式用于服务间调用,无需用户参与。
成功的 SQL 注入攻击的后果
SQL注入可导致多种安全威胁:绕过身份验证、窃取敏感信息、篡改或删除数据、破坏网页内容,甚至执行远程系统命令。利用如xp_cmdshell等存储过程,攻击者可控制数据库服务器,造成严重危害。
SpringCloud诞生
微服务技术繁多,各司其职却缺乏统一方案。Dubbo、Nacos、Redis等组件需自行整合,架构复杂。Spring团队推出Spring Cloud,提供一站式解决方案,实现服务发现、配置管理、负载均衡等功能,简化微服务架构设计与开发。
Thread.sleep(0) 到底有什么用(读完就懂)
本文深入解析Thread.Sleep函数的原理与应用。通过生动的“分蛋糕”比喻,对比Unix时间片与Windows抢占式调度机制,阐明Sleep(1000)不保证精确唤醒、Sleep(0)实为触发CPU重新竞争等核心概念,揭示多线程调度的本质。