- 博客(937)
- 收藏
- 关注
原创 庄小焱——个人基本介绍
我是庄小焱。曾任职于阿里巴巴,PMP项目管理专家、系统架构设计师(高级)、CSDN博文专家。 博主在支付交易领域,信贷金融领域深耕,我在博客中分享业务、技术、产品相关知识,欢迎大家和我交流学习。
2020-07-02 11:44:35 1949 2
原创 设计模式——Singleton(单例)设计模式
本文介绍了单例设计模式的概念、实现和应用场景。单例模式确保某个类只有一个实例,节省资源并提供全局访问点。文章详细解释了单例模式的实现要素,包括私有构造方法、静态实例和公共静态方法,并探讨了其在数据库连接池、日志记录器和配置管理器等场景中的应用。
2024-12-12 23:22:05 517
原创 设计模式——Strategy(策略)设计模式
本文介绍了策略设计模式(Strategy Pattern),一种行为型设计模式,用于动态选择算法或行为。通过Spring框架的自动装配功能,实现策略的自动扫描和装配,并通过传入策略名称动态切换支付策略。文章还区分了策略模式和状态模式,从关注点、核心思想、适用场景、行为选择方式、对象设计等方面进行对比,并提供了UML图。
2024-12-11 22:20:47 886
原创 设计模式——Template(模版方法)设计模式
本文介绍了模板方法和策略两种设计模式,并通过代码示例展示了它们的实现方式。文章比较了两种模式的适用场景和选择标准,指出模板方法模式适用于固定流程中部分定制的场景,而策略模式适用于算法可互换和行为变化的场景。最后,文章讨论了两种模式的结合使用,并提供了参考博文。
2024-12-10 23:03:40 876
原创 Spring——@Autowired和@Configuration注解区别
本文主要介绍了Spring框架中@Autowired和@Configuration注解的区别。@Autowired用于自动注入依赖,支持属性、构造器和方法注入。@Configuration则用于定义配置类,允许在类中使用@Bean注解声明Bean。文章详细解释了这两个注解的作用、使用场景和核心特性。
2024-12-10 22:21:04 805
原创 设计模式——Adapter(适配器)模式
本文介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成另一个接口以实现类之间的协同工作。文章详细阐述了适配器模式的定义、类型、作用、优点,并提供了使用场景和Spring框架下的示例代码。适配器模式通过解耦和扩展性,提高了系统的灵活性和可维护性。
2024-12-08 23:20:12 957
原创 Spring——Template相关类使用示例
本文详细介绍了Spring框架中的各种Template类,包括TransactionTemplate、RedisTemplate、RocketMQTemplate、KafkaTemplate、MongoTemplate和ElasticsearchRestTemplate的使用和配置。文章涵盖了Maven依赖、配置方法、基本操作以及高级功能如分布式锁和事务消息,旨在帮助开发者理解和应用这些模板类以提高开发效率。
2024-12-08 22:21:32 624
原创 定时任务——xxl-job源码解析
本文深入解析了xxl-job的源码,xxl-job是一个分布式任务调度平台,其核心设计思想是将调度行为抽象成“调度中心”,而任务逻辑则由“执行器”处理,实现调度与任务的解耦。文章详细介绍了调度器和执行器的初始化流程、任务执行机制,并探讨了xxl-job的关键组件和线程池的设计,以及任务触发和执行的具体实现。
2024-12-07 22:34:16 1189
原创 Spring——SpringBean初始接口
本文详细介绍了Spring框架中SpringBean的初始化接口和注解,包括BeanPostProcessor接口、InitializingBean接口和@PostConstruct注解。文章解释了这些接口和注解的原理、作用、适用场景,并提供了示例代码。最后,对比了不同SpringBean初始化方式的优缺点。
2024-12-07 21:55:25 834
原创 设计模式——类关系与UML组成
本文介绍了UML(统一建模语言)在软件系统分析和设计中的应用,详细解释了六大类关系(泛化、实现、依赖、关联、聚合、组合)及其在UML类图中的表示方法,并通过具体例子阐述了这些关系在实际编程中的应用。同时,文章还概述了UML的基本元素,包括类、接口、协作、用例、组件和节点。
2024-12-04 20:27:12 1044
原创 设计模式——Chain(责任链)设计模式
责任链设计模式是一种行为设计模式,通过链式调用将请求逐一传递给一系列处理器,直到某个处理器处理了请求或所有处理器都未能处理。它解耦了请求的发送者和接收者,允许动态地将请求处理职责分配给多个对象,支持请求的灵活传递或中断。
2024-12-04 20:18:57 1158
原创 设计模式——Decorator(装饰器)设计模式
本文介绍了装饰器设计模式,这是一种结构型设计模式,允许在不修改对象的情况下动态地为其添加功能。文章概述了装饰器模式的定义、作用、优点、缺点、类图实现和使用场景,强调了其在功能拓展、动态行为改变、避免类爆炸问题、增强现有对象功能、组合独立功能以及功能与行为解耦方面的优势。
2024-12-04 08:47:23 917
原创 设计模式——Proxy(代理)设计模型
本文介绍了代理设计模式(Proxy Pattern),这是一种结构型设计模式,通过引入代理对象来控制对原对象的访问。文章详细阐述了代理模式的定义、作用、优点、缺点,并提供了类图实现。此外,还探讨了代理模式的多种使用场景,包括远程代理、虚拟代理、保护代理等,并以图片延迟加载为例,展示了虚拟代理的实际应用。
2024-12-01 23:37:01 846
原创 设计模式——Facade(门面)设计模式
本文介绍了外观设计模式,这是一种通过简单接口封装复杂系统的设计模式。它简化了客户端与子系统之间的交互,降低了耦合度,并提供了统一的调用接口。文章还探讨了该模式的优缺点,并提供了类图实现和使用场景。
2024-12-01 18:40:51 821
原创 系统监控——分布式链路追踪系统
本文深入探讨了分布式链路追踪系统的必要性与实施细节。随着软件架构的复杂化,传统的日志分析方法已不足以应对问题定位的需求。文章首先解释了链路追踪的基本概念,如Trace和Span,并讨论了其基本原理。接着,文章介绍了SkyWalking这一开源链路追踪系统,包括其架构设计、部署方式、数据采集与存储等关键特性。最后,通过大众点评的实践案例,文章展示了链路追踪在实际业务中的应用效果,强调了其在提升分布式系统可观测性方面的重要性。
2024-12-01 15:56:16 1684
原创 Java开发经验——Java泛型原理与示例
本文介绍了Java泛型的概念和使用。泛型允许在编译时进行类型检查,避免运行时错误和强制类型转换。文章通过代码示例展示了泛型类的定义和使用,强调了泛型在静态类型检查中的优势。解释了Java泛型的类型擦除机制,即编译器将泛型类型替换为原生类型,以保持向后兼容性。同时,讨论了泛型的多态性和桥接方法,以及泛型中不能使用基本类型、不能实例化泛型类型等限制。最后,文章还探讨了泛型在异常处理中的应用。
2024-12-01 09:48:25 1087
原创 Java开发经验——SpringRestTemplate常见错误
本文分析了在使用Spring框架的RestTemplate发送表单请求时遇到的常见错误。主要问题在于将表单参数错误地以JSON格式提交,导致服务器无法正确解析参数。文章提供了错误案例的分析,并提出了修正方法。
2024-11-24 13:00:42 967
原创 Java开发经验——Spring Test 常见错误
本文详细介绍了Java开发中Spring Test的常见错误和解决方案。文章首先概述了Spring中进行单元测试的多种方法,包括使用JUnit和Spring Boot Test进行集成测试,以及Mockito进行单元测试。接着,文章分析了Spring资源文件扫描不到的问题,并提供了解决方案。最后,文章探讨了Spring的Mock问题,包括Spring Context启动缓慢的原因和优化方法。
2024-11-24 11:33:28 670
原创 Java开发经验——接口设计
本文主要讨论了Java接口设计中的几个关键点,包括异常处理、自动包装响应体、自定义注解@NoAPIResponse的使用,以及接口版本控制策略。文章强调了接口响应的明确性、版本控制的重要性,并提出了接口处理方式的同步与异步选择。
2024-11-23 14:16:25 842
原创 Java开发经验——系统日志问题
本文讨论了Java开发中的系统日志设置问题,特别是性能优化。文章分析了使用占位符记录slowString的耗时问题,并提出了使用lambda表达式和Log4j2 API来延迟参数内容获取,以解决性能问题。同时,文章还提到了SLF4J适配器的好处,即允许使用不同日志框架而保持代码的一致性。
2024-11-23 09:33:39 575
原创 代码重构——软件设计模式解决代码重复
本文探讨了代码重构中的软件设计模式,特别是如何通过注解、反射和属性拷贝工具减少代码重复。文章详细介绍了使用注解和反射动态组装API参数的过程,同时,讨论了属性拷贝工具如MapStruct、ModelMapper和Dozer在消除重复代码中的作用。希望大家的自己代码中的能够用得上本文技术,让自己子在代码设计有更多的进步。
2024-11-23 09:06:42 1368
原创 Java开发经验——JDK工具类的安全问题
本文探讨了Java开发中JDK工具类的安全问题,重点分析了不同工具类(包括Java自带的Objects工具类、Apache Commons Lang、Guava和Spring Framework的ObjectUtils)在比较对象相等性时的使用方法和优势。同时,文章还涉及了Integer类型拆箱与封箱、Lombok代码生成异常、计算精度问题、List集合类问题和异常处理问题等多个Java开发中的常见问题。
2024-11-20 23:17:55 896
原创 Java开发经验——Spring声明式事务问题
Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA) 等事务 API,实现了一致的编程模型,而 Spring 的声明式事务功能更是提供了极其方便的事务配置方式,配合 Spring Boot 的自动配置,大多数 Spring Boot 项目只需要在方法上标记 @Transactional 注解,即可一键开启方法的事务性配置。
2024-11-20 22:41:23 601
原创 Java开发经验——开发常用工具类
本文介绍了Java开发中常用的工具类,包括Apache Commons Collections的SetUtils、Google Guava的Sets、Apache Commons Lang的ArrayUtils等,以及它们在集合操作、数组操作、字符串处理、JSON处理等方面的应用。文章还涉及了Optional类、Money工具类、JDK流式函数等,旨在提高Java开发效率和代码质量。
2024-11-20 09:00:09 1334
原创 Java开发经验——HTTP调用超时、重试、并发问题
本文探讨了Java中HTTP调用的超时、并发和重试问题。强调了合理设置超时参数的重要性,包括连接超时和读取超时,并讨论了超时参数配置的常见误区。同时,分析了服务端接口幂等性对请求重试的影响,以及并发连接数限制对服务性能的潜在影响。
2024-11-19 22:52:40 1005
原创 Java开发经验——线程池的安全问题
本文探讨了线程池和连接池的安全问题,包括线程池的声明、管理策略、复用性、混用策略以及CallerRunsPolicy策略可能导致的程序阻塞问题。同时,文章还讨论了连接池的鉴别、复用性和配置问题。
2024-11-18 23:26:17 1029
原创 Java开发经验——并发工具类库线程安全问题
本文探讨了Java并发工具类库中的线程安全问题,特别是ThreadLocal导致的用户信息错乱异常场景。文章通过一个Spring Boot Web应用程序示例,展示了在Tomcat线程池环境下,ThreadLocal如何因线程重用而导致异常,并讨论了其他并发工具类的线程安全问题,包括ConcurrentHashMap、computeIfAbsent方法、CopyOnWrite性能问题以及List线程安全方案。
2024-11-17 09:22:25 1159
原创 代码重构——变量初始化、依赖混乱、代码不一致
本文讨论了代码重构中的几个关键问题,包括变量初始化、依赖混乱、代码不一致性等,并提供了Java语言中的具体实例和改进方法。文章强调了使用Java 8的新类和函数式编程、Java 9的List.of和Guava库的ImmutableList.of等现代Java特性来简化代码和提高代码质量。
2024-11-16 23:13:40 618
原创 代码重构——重复代码、长函数、长参数、大类
本文探讨了代码设计中的几个常见问题:重复代码、长函数、长参数和大类。文章强调了识别和避免这些问题的重要性,并提出了一些改进代码质量的方法,如遵循DRY原则、优化长函数、减少参数数量和合理划分类功能。
2024-11-16 00:55:48 808
原创 代码重构——滥用控制语句、代码缺乏封装性
本文讨论了代码设计中的两个常见问题:滥用控制语句和代码缺乏封装性。文章指出滥用控制语句会导致代码嵌套过深、难以维护,并提出了减少嵌套、使用对象多态等改进措施。同时,强调了封装性的重要性,建议用对象取代基本类型,以提高代码的可维护性和可扩展性。
2024-11-16 00:34:16 1001
原创 财务运营域——发票系统设计
采购发票系统在整个财务系统中处于核算层的财务运营系统部分。采购发票系统作为企业采购发票的统一管理平台,承担了商品采购业务中供应商发票信息采集、校验、认证及采购发票影像管理工作。采购发票系统和销售开票系统共同构成了发票管理系统。采购发票系统前端与采购合同业务系统对接,获取采购供应商结算信息;与电子影像系统对接,实现采购发票的电子化管理;后端与网上报账系统对接,实现采购报账结算信息的实时更新。如图所示。
2024-11-15 10:50:13 1737
原创 代码重构——java代码如何精准命名
文章围绕 Java 代码精准命名展开讨论,首先剖析了常见的命名问题,包括命名过于宽泛,如 “processChapter” 难以精准体现函数功能;技术术语命名,像 “bookList” 基于实现细节命名易引发混淆;违反语法规则,如 “completedTranslate” 不符合动宾结构;不准确的英语词汇,如 “audit” 和 “review” 在审核场景中使用不当;英语单词拼写错误,如 “sortFiled”。接着提出命名建议,强调要用业务语言写代码,建立团队词汇表以确保团队成员对业务术语理解一致,同时
2024-11-15 10:19:59 978
原创 支付域——新零售支付
新零售是一种以互联网为依托,通过大数据、人工智能等技术手段对商品生产、流通和销售进行升级改造的商业模式。它强调线上线下服务与现代物流的深度融合,以提升用户体验。阿里巴巴的马云在2016年首次提出新零售概念,认为未来将不再有纯电子商务,而是线上线下的无缝结合。自概念提出以来,众多企业如阿里巴巴、腾讯、京东等开始探索新零售模式,例如阿里巴巴的“盒马鲜生”、腾讯京东系的“超级物种”等。新零售的核心在于“人、货、场”的结合,通过技术进步和用户体验升级,重塑零售业形态。
2024-11-14 19:48:36 181
原创 好书推荐——《优秀的产品经理》
本文讨论了产品经理在制定产品增长策略时,明确使命宣言和产品原则的重要性,以及如何通过反指标监控产品带来的负面影响。强调了即使在追求增长的同时,也必须坚守产品的核心价值和原则,以确保长期的成功和用户满意度。
2024-11-12 21:26:48 752
原创 定时任务——xxl-job原理与实现
本文详细介绍了分布式任务调度平台xxl-job的原理与实现。xxl-job以其开发迅速、学习简单、轻量级和易扩展的特性被广泛使用。文章概述了xxl-job的核心特性,包括任务的CRUD操作、动态调度、高可用性、弹性扩容缩容、丰富的触发策略、调度过期策略、阻塞处理策略、任务超时控制、失败重试、告警机制、路由策略、分片广播任务、动态分片、故障转移、任务进度监控和实时日志查看等。
2024-11-06 23:03:53 1219
原创 好书推荐——《优秀的产品经理》
本文主要探讨了产品经理如何通过数据分析来提高产品的日活数和用户留存率。文章通过案例分析,提出了关于用户关注数量和被关注数量对留存率影响的假设,并探讨了如何通过A/B测试来验证这些假设。同时,文章还涉及了产品经理在组织会议和团队沟通方面的技巧。
2024-11-05 21:52:14 776
原创 好书推荐——《优秀的产品经理》
本文讨论了产品经理在功能取舍、产品需求文档撰写和数据驱动决策方面的能力实战。文章通过案例分析和实际操作,展示了如何利用现有架构、跨部门合作、处理功能预期外情况、避免重复推荐问题,并使用数据来提高用户留存率和日活数,最终形成有效的产品策略。
2024-11-02 11:01:31 753
原创 支付域——资金调拨系统设计
本文详细阐述了支付域中的调拨系统设计,包括系统背景、需求分析、总体设计、详细设计和数据模型管理。调拨系统旨在满足金融市场发展、企业财务管理精细化和监管要求,通过优化资金配置、提高流动性、控制风险和集成财务管理,以支持金融机构和企业高效、安全地进行资金调拨。
2024-11-01 23:09:42 65
原创 支付域——资金合规业务
本文讨论了支付领域中的资金合规业务,包括三方平台资金二清问题及其风险,以及电商平台在没有支付牌照的情况下如何通过银行或第三方支付公司合规地进行资金清结算。文章强调了资金合规的重要性,并提出了解决方案,以确保商户和客户资金的安全。
2024-11-01 08:47:46 450
原创 好书推荐——《优秀的产品经理》
本文讨论了获取真实用户需求的重要性和方法。产品经理必须确保产品能解决用户的实际问题,避免陷入自我假设的误区。文章通过平衡车和区块链项目的例子,强调了验证用户痛点的必要性,并提出了从痛点出发、逐步改进产品的方法。同时,文章还介绍了如何通过确定目标用户、数据分析和用户调查来获取用户需求。
2024-10-30 22:59:20 889
机器学习(预测模型):苹果公司从2009年到2024年的财务数据
2024-12-13
机器学习(图形识别):全球性的降雨数据集
2024-12-13
机器学习(预测模型):无人机检测和识别而设计的多模态数据集
2024-12-13
机器学习(预测模型):Vietnam子论坛帖子和评论的数据集
2024-12-13
机器学习(图像识别):服装属性识别的数据集
2024-12-13
机器学习(预测模型):从2006年到2019年气候变化和全球变暖的英文推文数据集
2024-12-13
机器学习(预测模型):家庭用电数据的集合
2024-12-13
机器学习(预测模型):亚马逊公司从2015年到2024年股票市场数据的数据集
2024-12-13
机器学习(预测模型):欺诈性招聘信息的集合数据集
2024-12-13
预测模型(预测模型):识别个体心理状态的数据集
2024-12-13
机器学习(预测模型):彭博亿万富翁指数数据集
2024-12-13
机器学习(信贷风控):风控评分卡实战课程
2024-12-09
机器学习(预测模型):全球移民动态的综合性数据集
2024-12-06
机器学习(预测模型):空气质量数据集
2024-12-06
机器学习(预测模型):森林火灾检测的数据集
2024-12-06
机器学习(预测模型):2个月的英国每日天气历史数据集
2024-12-06
机器学习(预测模型):500条与金融知识普及和消费者行为数据集
2024-12-06
机器学习(预测模型):房价指数的集合数据集
2024-12-06
机器学习(预测模型):足球比赛和赔率数据集足球比赛和赔率数据集
2024-12-06
机器学习(图像识别):乳腺癌患者的影像资料数据集
2024-12-06
机器学习(预测模型):柏林城市道路网络信息的数据集
2024-12-06
机器学习(预测模型):阅读习惯与情绪影响数据集
2024-12-06
机器学习(预测模型):金融分析或风险评估数据集
2024-11-29
机器学习(分类模型):水果质量分类和检测的数据集
2024-11-29
机器学习(预测模型):从基因表达数据中预测患者的生存情况
2024-11-29
机器学习(预测模型):2025年欧洲冠军联赛球员数据的数据集
2024-11-29
机器学习(预测模型):英国男子音乐组合One Direction所有歌曲的数据集
2024-11-29
机器学习(预测模型):漫威电影宇宙(MCU)中多部电影信息的数据集
2024-11-29
机器学习(预测模型):Expedia公司提供的旅行数据集
2024-11-29
机器学习(预测模型):(TikTok的购物平台)上影响用户冲动购买行为的因素数据集
2024-11-29
机器学习(预测模型):学生入学信息数据集
2024-11-29
机器学习(预测模型):财务报表数据的数据集
2024-11-29
机器学习(大模型):OpenAI 发布的编程问题集合数据集
2024-11-24
机器学习(大模型):医疗预约信息的数据集
2024-11-24
机器学习(大模型):机器阅读理解和问答任务的数据集
2024-11-24
机器学习(大模型):多样化PDF文件的集合
2024-11-24
机器学习(大模型):多学科多项选择题数据集
2024-11-24
机器学习(大模型):专注于编程、调试和任务这相关数据集
2024-11-24
机器xuex(大模型):语言模型在生成问题答案时的真实性数据集
2024-11-24
机器学习(大模型):公开可用的简历数据集
2024-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人