自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 第13章 线程池配置

本文介绍了Spring线程池ThreadPoolTaskExecutor的配置与核心参数。通过代码示例展示了若依项目中线程池的配置方法,包括核心线程数、最大线程数、队列容量等参数设置。详细解析了线程池的7个核心参数及其作用,包括线程数计算、生存时间、工作队列和拒绝策略等。特别说明了不同业务场景(I/O密集型和计算密集型)下线程数的合理配置建议。最后用流程图展示了线程池的工作流程,并推荐在任务过多时使用CallerRunsPolicy策略让主线程参与处理队列任务。

2025-09-19 00:08:39 462

原创 第13章 时间处理

本文介绍了Java中处理时间格式化和时区转换的方法。核心内容包括:1)使用Hutool工具的LocalDateTimeUtil进行时间格式转换示例;2)自定义DateTimeZoneConverter工具类,提供时区转换功能。该工具类支持多种时区转换方式,包括基础转换方法、安全转换(Optional包装)、UTC转上海时区的快捷方法,以及带格式解析的完整流程工具方法。关键特性包括线程安全、空值处理和异常捕获,适用于各种时间处理场景。

2025-09-19 00:08:19 76

原创 第13章 若依项目的数据库连接池配置

数据库连接池耗尽,活跃连接数已达上限(maxActive=20),无可用连接且等待超时(60秒),导致新请求无法获取连接。当设备增多后,数据库连接池可能会很快耗尽,可以适当增加连接数数量和等待时间。

2025-09-18 01:12:55 381

原创 第13章 如何读懂报错信息

1)用断点调试的方式一步步到达抛出异常的点。2)抛出异常后,用idea的评估表达式捕获异常。3)将异常交由AI或者用搜索引擎找解决方案。

2025-09-18 01:11:23 321

原创 第12章 IoT产品设备管理

IoT:物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。共享充电宝智能音箱智能家居智能农耕智能医疗IoTDA(Internet of Thing Device Access):是一种物联网的设备接入服务,是华为云的物联网平台。将用户的设备数据进行安全、可靠、高效的运输。将设备集中管理,数据采集和分析来支撑上层应用。行业AI先锋-华为云查询的接口返回交互数据用。

2025-09-18 01:10:41 857

原创 第11章 ThreadLocal

ThreadLocal 是 Java 提供的线程本地存储工具类,为每个线程创建独立的变量副本,实现线程间数据隔离。其核心特点包括线程隔离、无需同步和简化代码,通过 set()/get()/remove() 方法操作线程本地变量。相比 synchronized,ThreadLocal 采用"空间换时间"策略,性能更高但可能引发内存泄漏(由于 Entry 的弱引用 key 和强引用 value)。常见应用场景包括数据库连接管理、用户会话存储、日志追踪等。使用时需注意:1)及时调用 remov

2025-09-17 01:38:30 752

原创 第11章 RBAC权限模型

RBAC(基于角色的访问控制)是一种高效的权限管理模型,通过角色作为中间层解耦用户与权限的直接关联。该模型包含用户、角色、资源等核心实体,形成多对多关系网络,用户通过分配角色获得相应权限。RBAC显著简化了权限配置流程,当角色权限变更时,所有关联用户自动更新。该模型可扩展支持互斥角色、层级角色等复杂场景,特别适合用户规模大、权限需求多变的企业系统,在提升管理效率的同时增强了系统的灵活性和可维护性。

2025-09-17 01:37:58 958

原创 第11章 [特殊字符]️Hutool 常用工具类

Hutool是一款实用的Java工具类库,提供字符串处理、集合操作、JSON转换、HTTP请求等常用功能。通过简洁API简化开发,如StrUtil处理字符串判空/格式化,CollUtil管理集合分组/过滤,JSONUtil实现对象与JSON互转,HttpUtil简化HTTP请求(GET/POST)。Maven依赖引入即可快速使用,帮助开发者专注于业务逻辑而非底层实现。

2025-09-16 22:36:23 683

原创 第9章 Prompt提示词设计

摘要:本文介绍了Prompt提示词的设计方法,重点说明了Prompt的六个构成要素:角色、指示、上下文、例子、输入和输出。通过一个体检报告分析的案例,展示了如何设计专业化的Prompt,包括提取关键信息、风险评估、异常数据分析、系统评分等功能要求,并规范了JSON格式的输出结构。这个案例体现了Prompt设计需要结合专业领域知识,通过结构化指令引导AI生成符合需求的输出结果。

2025-09-16 22:35:05 264

原创 项目一系列-第10章 代码检查插件

本文介绍了Alibaba Java Coding Guidelines插件的安装和使用方法,该插件可帮助Java开发者提升代码质量。安装步骤包括在IDEA插件市场中搜索并安装,使用时可对项目进行扫描生成包含阻塞性、紧要性和重要问题的代码质量报告。此外还简要提及了Code Review作为团队协作评估代码的过程。全文约140字,涵盖了插件安装、代码扫描和报告解读等核心内容。

2025-09-01 00:28:13 169

原创 项目一系列-第10章 日志管理

本文介绍了日志管理的重要性和具体操作方法。日志管理在系统运维中具有定位故障、监控性能、调试代码等关键作用。在Linux环境下,可以通过docker logs命令查看容器日志,或使用exec进入容器内部查看日志文件,常用tail、grep等命令实时监控和搜索日志内容。此外,还介绍了ELK(Elasticsearch、Logstash、Kibana)日志管理平台的使用方法,包括服务启动、日志收集配置等步骤,提供了完整的logback.xml配置示例,帮助实现日志的集中管理和可视化分析。

2025-09-01 00:27:40 843

原创 项目一系列-第10章 项目开发模式

本文介绍了三种主要的项目开发模式:瀑布模型、敏捷开发和DevOps。瀑布模型适用于需求稳定的项目,采用顺序开发方式;敏捷开发强调迭代和快速响应变化;DevOps则整合开发运维流程,实现自动化持续交付。此外,文章详细阐述了CI/CD(持续集成、持续交付、持续部署)的概念和实施流程,以及Jenkins作为支持CI/CD的关键工具。不同开发模式各有优缺点,适用于不同项目场景,开发者可根据实际需求选择合适的开发方法。

2025-08-31 00:58:09 391

原创 项目一系列-第10章 项目自动化部署

Jenkins是一款开源的自动化服务器,广泛用于支持持续集成与持续交付(CI/CD)流程。通过配置Jenkins,可以实现自动化的构建、测试和部署过程。启动命令: 使用Docker运行访问地址用户名: zzyl密码: itcast登录后可根据需求创建流水线任务以自动化CI/CD流程。

2025-08-31 00:57:06 941

原创 项目一系列-第9章 集成AI千帆大模型

本章介绍了健康评估模块的AI集成开发,主要内容包括: 模块功能:通过AI分析老人体检报告,生成健康评分、风险等级、护理建议等评估结果 技术实现:使用百度千帆ERNIE-4.0大模型处理PDF体检报告,包含PDF解析工具类开发 数据库设计:详细设计了健康评估表结构,包含23个字段记录评估结果 接口开发:需要实现4个接口,重点是PDF上传和AI智能评测功能 技术选型:采用Apache PDFBox处理PDF文件,集成百度ERNIE-4.0大模型进行分析 该模块实现了老人健康报告的AI自动化评估,为护理服务提供数

2025-08-30 00:10:01 1312

原创 项目一系列-第8章 性能优化&Redis基础

Redis是一个开源的高性能键值存储系统,常用于缓存解决方案。它不仅支持简单的key-value存储,还提供了丰富的数据结构,适用于多种场景。基于内存存储:提供极高的读写速度。支持多种数据结构:如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。NoSQL数据库:非关系型数据库是对传统关系型数据库的补充。

2025-08-30 00:02:24 905

原创 项目一系列-第7章 项目管理工具

摘要:本文介绍项目管理工具禅道的核心功能及使用方法。项目管理包括规划、团队组建、需求管理、进度控制等关键环节。禅道作为国产开源软件,支持产品管理、项目跟踪、质量控制和文档管理等功能,适合中小团队。通过Docker可快速部署禅道,提供不同角色的使用流程:管理员维护组织架构,产品经理创建需求,项目经理跟踪进度,测试人员提交Bug,开发人员处理任务。文章通过流程图展示各角色的工作流程,帮助团队高效协作。

2025-08-29 11:26:47 956

原创 项目一系列-第7章 若依框架的表单构建

若依框架表单构建功能提供可视化操作,支持拖拽配置多种字段类型(文本框、下拉框等),内置数据校验机制,可生成页面或弹窗组件。示例展示了老人信息表单构建,包括字段布局(每行两个字段)、Vue代码实现(使用el-row/el-col布局)以及数据校验规则。注意事项强调样式调整、必填项校验和文件上传配置。该功能简化了表单开发流程,保障数据质量,提升开发效率。

2025-08-29 11:25:18 474

原创 项目一系列-第7章 父子组件通信

本文介绍了Vue框架中的父子组件通信机制,重点阐述了在若依框架入住详情页面开发中的应用。文章首先分析了将复杂页面拆分为多个子组件的必要性,然后通过示例详细说明了父组件通过props向子组件传递数据,以及子组件通过自定义事件向父组件传递数据的实现方法。最后,结合入住详情页面的实际案例,展示了父子组件通信在收集表单数据、实现组件协同工作方面的具体应用,强调了这种通信方式对提高代码可维护性和扩展性的重要性。

2025-08-28 18:33:56 710

原创 项目一系列-第7章 定时任务

本文介绍了在Spring框架中使用定时任务的实现方法。首先概述了定时任务在业务场景中的应用,如合同状态自动更新、优惠券发放等,并对比了多种实现方式。重点讲解了SpringTask的使用,包括cron表达式的语法规则和常用示例。通过代码示例详细演示了如何在Spring Boot项目中配置和创建定时任务类,并介绍了若依框架中定时任务的具体实现案例,包括解决自动填充报错等问题。内容涵盖了从基础概念到实际应用的全过程,为开发定时任务功能提供了实用指导。

2025-08-28 18:33:06 1133

原创 Redis持久化机制

Redis持久化机制包括RDB和AOF两种方式,用于解决内存数据易失性问题。RDB通过生成全量二进制快照实现,适合快速备份与灾难恢复;AOF通过记录所有写操作命令实现,数据安全性更高。RDB支持手动(SAVE/BGSAVE)和自动触发,AOF则通过appendfsync同步策略控制数据安全性与性能。AOF重写机制可压缩冗余命令。Redis启动时优先加载AOF文件恢复数据,若不存在则加载RDB。两种方式各有优劣,生产环境常结合使用以兼顾性能与数据安全。

2025-08-27 11:39:43 1237

原创 Java 编程最佳实践:第一次编码规约

本文介绍了Java编程中的三个常见误区及改进方案:1) 应将"*"作为equals()调用方而非参数,避免空指针异常;2) 使用getDeclaredConstructor().newInstance()替代已过时的newInstance()方法;3) 遵循单行注释在上、多行注释对齐的注释规范。这些最佳实践能帮助开发者编写更健壮、可读性更强的代码,强调了遵循编程规范对代码质量的重要性。文章通过具体示例展示了如何改进代码,提升其可维护性和鲁棒性。

2025-08-27 11:35:52 216

原创 Java设计模式-代理模式

本文介绍了Java设计模式中的代理模式,该模式通过代理对象控制对真实对象的访问,在不修改真实对象的前提下扩展功能。代理模式分为主题接口、真实主题和代理三个角色,典型应用包括远程调用、延迟加载、权限控制等。通过对比传统实现与代理模式实现,展示了代理模式在解决代码冗余、提高可维护性和保护真实对象方面的优势。代理模式使客户端仅依赖代理接口,实现功能增强与解耦,是扩展对象功能的优雅解决方案。

2025-08-23 00:05:41 1113

原创 Java设计模式-外观模式

Java外观模式摘要 外观模式是一种结构型设计模式,通过定义高层接口封装子系统复杂逻辑,为客户端提供统一简化接口。核心思想是"复杂系统的门面":外观类协调子系统交互(如灯光、空调、窗帘系统),客户端仅需调用外观接口(如homeMode()),无需了解内部细节。 优势: 降低客户端与子系统的耦合 简化复杂操作调用(一键完成多步骤) 提高系统可维护性(修改内部不影响客户端) 应用场景: 复杂系统初始化 跨子系统协作(如电商下单) 遗留系统封装 功能聚合操作 局限:外观类可能膨胀,需合理拆分;

2025-08-23 00:04:56 1022

原创 Java设计模式-适配器模式

Java适配器模式是一种结构型设计模式,通过转换接口实现不同类之间的协作,解决接口不兼容问题。核心组件包括目标接口(Target)、被适配者(Adaptee)和适配器(Adapter)。典型应用场景包括第三方服务集成、旧系统改造和多数据源整合。相比传统硬编码实现,适配器模式能有效解耦接口依赖,提高代码复用性和可维护性,但可能增加类数量。变体包括类适配器(继承实现)和对象适配器(组合实现),后者更灵活常用。该模式是系统集成和旧代码改造的重要工具。

2025-08-22 00:21:14 978

原创 Java设计模式-快速入门(重制版)

本文介绍了Java设计模式的基础知识,包括其定义、价值与分类体系。设计模式是解决特定问题的通用解决方案框架,可提升代码可维护性、扩展性和复用性。文章详细解析了SOLID五大核心原则及其他重要原则,并按创建型(如单例、工厂)、结构型(如适配器、装饰器)和行为型(如观察者、策略)三大类对23种设计模式进行了概括,用生活化比喻说明每种模式解决的问题。通过学习可掌握优化代码结构、提升系统灵活性的方法。

2025-08-22 00:20:05 719

原创 Java设计模式-享元模式

享元模式通过分离对象的内部状态与外部状态,利用共享机制大幅减少内存占用,是处理大量相似对象场景的高效解决方案。如果关注Java设计模式内容,可以查阅作者的其他Java设计模式系列文章。😊。

2025-08-21 12:15:29 866

原创 Java设计模式-解释器模式

本文介绍了Java设计模式中的解释器模式。该模式通过定义语言的文法表示并设计相应解释器,将复杂语法分解为简单表达式的组合来实现解析。核心组件包括抽象表达式、终结符/非终结符表达式、上下文和客户端角色。文章通过数学表达式解析案例对比了传统实现与解释器模式的优势:传统方法难以扩展且无法处理复杂表达式,而解释器模式通过组合简单表达式类,支持灵活扩展语法规则,同时分离解析与执行逻辑,提高代码可维护性。该模式适用于需要解析特定语言的场景,是"将语言规则拆解为积木"的设计艺术。

2025-08-21 12:14:48 1392

原创 Java设计模式-命令模式

命令模式将请求封装为对象,解耦调用者与接收者。通过定义统一命令接口(Command),具体命令类(如LightOnCommand)绑定接收者执行操作,调用者(如RemoteController)只需触发命令,无需知道具体实现。该模式支持功能扩展(新增命令类)、撤销/重做等操作,优于传统强耦合实现,适用于GUI事件、事务管理等场景。核心在于将"动作"对象化,提升系统灵活性和可维护性。

2025-08-20 23:32:49 1158

原创 Java设计模式-模板方法模式

摘要:模板方法模式是一种行为型设计模式,通过定义算法骨架(模板方法)并将可变步骤延迟到子类实现,实现代码复用与扩展性的平衡。核心组件包括抽象模板角色(定义流程骨架和基本方法)和具体模板角色(实现差异化步骤)。相比传统实现,该模式能消除冗余代码、规范执行流程,但也可能增加类数量。典型应用场景包括具有固定流程但步骤实现不同的业务(如饮料制作、数据库操作)。模式变体包括钩子方法和参数化模板,最佳实践是保持抽象类稳定并合理设计抽象方法。

2025-08-20 23:32:20 927

原创 如何将Date类型的数据转换为LocalDateTime类型

Java8提供了Date转LocalDateTime的两种推荐方法:1)使用Instant的atZone()方法,2)使用LocalDateTime.ofInstant()。两种方式都需指定时区(ZoneId.systemDefault()),并处理空值。示例代码展示了如何将Date和sql.Date转换为LocalDateTime,以及反向转换。工具类封装了这些转换逻辑,便于复用。建议使用建造者模式的atZone()方法,代码更清晰。

2025-08-19 22:18:05 296

原创 项目一系列-第5章 前后端快速开发

本章介绍了前后端快速开发的关键技术点:1)使用Element Plus组件优化UI展示效果,包括列表、新增和修改弹窗;2)利用若依框架的数据字典功能管理常量数据,如状态、性别等;3)集成阿里云OSS实现文件上传功能,通过创建独立模块管理OSS相关配置。重点讲解了数据字典的应用场景、表结构关系以及前端引用方式,并详细说明了OSS模块的创建步骤和配置方法。

2025-08-19 22:04:28 1107

原创 Java设计模式-原型模式

Java原型模式摘要 原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复执行高成本初始化操作。核心思想是让对象能够复制自身,客户端只需调用clone()方法即可获得新实例,无需关心对象创建细节。 关键点: 适用于对象创建成本高的场景(如涉及IO、数据库访问) 通过克隆避免重复初始化,提升性能 主要角色包括抽象原型、具体原型和客户端 相比传统new创建方式,能显著减少重复操作开销 优势: 提升性能、简化创建流程、支持动态配置 典型应用: 图形系统、游戏角色生成、报表模板等需要大量相似对象的场

2025-08-18 08:22:50 1114

原创 Java设计模式-桥接模式

摘要: 桥接模式是一种结构型设计模式,通过分离抽象(如形状)与实现(如颜色),使两者能独立变化。传统继承方式会导致类爆炸(如RedCircle、BlueCircle等),而桥接模式通过组合关系动态关联抽象与实现,解决紧耦合问题。核心角色包括抽象化(Shape)、扩展抽象化(Circle/Rectangle)、实现化(Color接口)和具体实现化(RedColor/BlueColor)。该模式适用于跨平台开发、数据库驱动等场景,优势在于解耦、灵活扩展和避免类膨胀。案例对比显示,桥接模式通过组合颜色对象,仅需少

2025-08-18 08:20:56 784

原创 Java设计模式-状态模式

Java状态模式是一种行为型设计模式,允许对象在内部状态改变时改变其行为。核心思想是将状态相关的行为封装到独立的状态类中,通过状态切换动态改变对象行为。该模式解决了传统实现中条件判断冗余、代码臃肿的问题,使状态转换更显式化。主要角色包括抽象状态(定义公共接口)、具体状态(实现状态行为)和上下文(维护当前状态)。适用于订单状态流转、交通灯切换等工作流场景,相比传统if-else实现,具有更好的可维护性和扩展性,符合开闭原则。

2025-08-17 01:21:21 677

原创 Java设计模式-策略模式

摘要:策略模式是一种行为型设计模式,通过将算法封装成独立类(策略)实现运行时动态切换。核心包含抽象策略接口、具体策略实现类和上下文类。相比传统if-else实现,策略模式能消除条件判断、提高扩展性(开闭原则)和复用性。典型应用如支付方式选择,案例展示了电商系统中支付宝、微信等支付策略的优雅实现方式,上下文类仅持有策略引用并委托执行,实现算法与使用的解耦。

2025-08-17 01:20:07 575

原创 Java设计模式-迭代器模式

迭代器模式,将集合对象的遍历逻辑和集合对象本身的实现分离。

2025-08-16 00:21:24 945

原创 Java设计模式-备忘录模式

备忘录模式摘要:备忘录模式是一种行为型设计模式,用于在不破坏对象封装性的前提下保存和恢复对象状态。核心角色包括发起人(创建/恢复状态)、备忘录(存储状态)和管理者(保存备忘录)。模式分为"白箱"(状态公开,易被篡改)和"黑箱"(状态私有,更安全)两种实现方式,典型应用于文本撤销、游戏存档等场景,通过状态快照实现"时光机"功能,同时解耦状态管理与业务逻辑。(149字)

2025-08-16 00:18:55 1163

原创 Java设计模式-单例模式

Java单例模式摘要 单例模式是一种创建型设计模式,确保一个类仅有一个实例,并提供全局访问点。其核心思想是通过私有构造方法和控制实例化逻辑来保证唯一性,常用于配置管理、日志系统、连接池等场景。 关键特点: 私有构造方法防止外部实例化 静态方法提供全局访问入口 线程安全实现(如双重检查锁定) 首次调用时固定初始化参数 优势: 避免重复创建对象,节省资源 提供全局一致的状态管理 简化对象访问逻辑 典型应用:日志记录器、配置管理器、数据库连接池等需要全局唯一实例的场景。实现时需注意线程安全和初始化参数的固定处理。

2025-08-15 00:32:14 731

原创 Java设计模式-中介者模式

摘要:中介者模式是一种行为型设计模式,通过引入中介对象来解耦对象间的直接交互。核心思想是将对象间的通信集中到中介者中处理,从而降低系统耦合度。该模式包含四个角色:抽象中介者、具体中介者、抽象同事类和具体同事类。典型应用场景包括GUI组件交互、聊天系统等。相比传统强耦合的实现方式(如用户间直接引用),中介者模式通过让对象仅与中介者交互,显著提高了系统的灵活性和可维护性。案例展示了聊天系统中如何使用中介者模式替代直接用户交互,解决对象间高耦合问题。

2025-08-15 00:31:40 744

原创 Java设计模式-建造者模式

摘要:建造者模式是一种创建型设计模式,用于逐步构建复杂对象,将构建过程与表示分离。通过定义Builder接口和具体实现,可灵活配置对象属性(必填/可选参数),避免构造函数膨胀问题。典型应用包括需要多参数配置且支持不同组合的对象创建(如电脑配置)。相比传统构造方法+Setter的方式,建造者模式提供更清晰的构建流程,确保对象状态一致性,同时支持生成不可变对象。核心组件包括Director、Builder、ConcreteBuilder和Product四种角色,通过分步构建最终生成完整产品。

2025-08-14 17:56:27 969

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除