刷新
设计模式学习(一)单例模式补充——单例模式析构

博主头像 目录前言无法调用析构函数的原因改进方法内嵌回收类智能指针局部静态变量参考文章 前言 在《单例模式学习》中提到了,在单例对象是通过new关键字动态分配在堆上的情况下,当程序退出时,不会通过C++的RAII机制自动调用其析构函数。本文讨论一下这种现象的原因以及解决方法。 无法调用析构函数的原因 在DCL ...

设计模式学习(一)单例模式的几种实现方式

博主头像 目录前言饿汉式懒汉式懒汉式DCLP局部静态式(Meyers' Singleton)单例模板参考文章 前言 单例模式,其核心目标是确保在程序运行的过程中,有且只有存在一个实例才能保证他们的逻辑正确性以及良好的效率。因此单例模式的实现思路就是确保一个类有且只有一个实例,并提供一个该实例的全局访问点。 单 ...

C语言中抽象函数与具体实现的命名与组织

博主头像 C语言中抽象函数与具体实现的命名与组织 在C语言的项目开发中,尤其是嵌入式系统和开源软件项目里,合理地命名和组织抽象函数及其具体实现对于提高代码的可读性、可维护性和可扩展性至关重要。以下是关于如何在这些项目中有效地处理抽象和实现的一些建议: 抽象函数与具体实现的区分 API作为接口:API定义了一组 ...

新零售SaaS架构:什么是线上商城系统?

博主头像 零售商家为什么要建设线上商城 传统的实体门店服务范围有限,只能吸引周边500米内的消费者。因此,如何拓展服务范围,吸引更多消费者到店,成为了店家迫切需要解决的问题。 缺乏忠实顾客,客户基础不稳,往往是一次性购物,门店无法形成有效的顾客回流。在当前的市场环境下,构建并维护粉丝群体,成为了商家的核心竞争 ...

基于RocketMQ实现分布式事务

博主头像 背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事务,我们可以协调这些服务 ...

过滤器和拦截器的辨析

博主头像 过滤器和拦截器的辨析 介绍 过滤器和拦截器都是为了在请求到达目标处理器(Servlet或Controller)之前或者之后插入自定义的处理逻辑 过滤器: 遵循AOP(面向切面编程)思想实现,基于Servlet规范提供的Filter接口,它是位于客户端请求与服务器响应之间的一个组件,依赖于Servle ...

什么是函数回调

博主头像 什么是函数回调? 介绍 函数回调是一种编程概念,它描述的是这样一个过程:一个函数(称为回调函数)作为参数传递给另一个函数(称为调用函数),当满足一定条件或者在某个特定时刻,调用函数会调用传递过来的回调函数。这种机制允许程序员在编写代码时,能够在不同的上下文中重用函数,同时也能实现异步处理、事件驱动编 ...

SpringBoot整合Log4j2日志框架

博主头像 SpringBoot底层默认使用logback日志框架。 切换使用Log4j2日志框架。 pom.xml配置 <!-- web场景启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b ...

微服务架构,客户端如何catch服务端的异常?

博主头像 在微服务架构或者分布式系统中,客户端如何捕捉服务端的异常?这里说的客户端指调用方、服务端指被调用方,它们通常运行在不同的进程之中,这些进程可能运行在同一台服务器,也可能运行在不同的服务器,甚至不同的数据机房;其使用的技术栈可能相同,也可能存在很大的差异。 ...

新零售SaaS架构:订单履约系统架构设计(万字图文总结)

博主头像 什么是订单履约系统? 订单履约系统用来管理从接收客户订单到将商品送达客户手中的全过程。 它连接了上游交易(客户在销售平台下单环)和下游仓储配送(如库存管理、物流配送),确保信息流顺畅、操作协同,提升整个供应链的效率和响应速度。 系统定位 订单履约系统的目标是让订单处理更快、更清晰,提高客户体验。 履 ...

SpringBoot外部化配置

博主头像 Spring Boot允许外部化项目配置,以便您可以在不同的环境中使用相同的应用程序代码。您可以使用各种外部配置源,包括Java属性文件、YAML文件、环境变量和命令行参数。 属性值可以通过使用@Value注释直接注入到bean中,通过Spring的环境抽象进行访问,或者通过@Configurati ...

使用xml文件配置SSM整合

博主头像 使用XML文件配置SSM整合。 缺点:xml解析低,降低项目响应效率。 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="ht ...

新零售SaaS架构:订单履约系统的概念模型设计

博主头像 订单履约系统的概念模型 订单:客户提交购物请求后,生成的买卖合同,通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。 子订单:为了更高效地进行履约,大订单可能会被拆分成多个子订单,子订单会根据商品类型、配送地址、仓库位置或供应商等因素进行拆分。 发货单: ...

SSM整合之使用配置类替换xml配置文件(2)

博主头像 SSM整合就是将MVC三层架构和框架核心API组件交给SpringIoC容器管理! 一般需要配置两个IoC容器进行三层架构组件管理。 容器名 盛放组件 web容器 web相关组件(controller,springmvc核心组件) root容器 业务和持久层相关组件(service,aop,tx,d ...

主流编程语言的“介绍”与“选择”

博主头像 前言: 《编程语言》本身没有优劣之分,不同的语言适合不同的场景,文中说的建议,多是站在小白要就业的立场给出的建议。 正文 我们看这张脑图,这张图右侧是《前端类》的编程语言,左侧是《后端类》的编程语言: 我们先说右侧。 第一个就是 JavaScript,简称 JS。 我强调下它 和 Java 是没有关 ...

123···50>