3分钟将5000w订单的订单号从数据库中加载到Java内存中
需求:订单号是由20个字符组成,其中第一个字符是大写字母,其余19个字符是由雪花算法基于时间生成的数字;数据库中出库单表中有5000w订单信息,将数据库中所有订单的订单号加载到Java内存中。 环境: 本地Docker启动mysql8.0,内存=1024m,cpu=1; IDEA Java虚拟机:4
探索将20w数据插入1000w+的表中
问题:有一个1000w+数据的出库单表,这个表有两个字段,分别是主键id和订单号,现在在Java的list集合中有20w条待入库的数据,这些数据的订单号可能会跟数据库中的数据有重复。现在需要以最快的速度将这20w数据插入数据库中。 1.准备:用Docker启动一个mysql容器,cpu限制为1,内存
关于微服务的一些思考
最近很多人问我一些微服务相关的问题,这让我对微服务有了一些思考。 首先, 微服务并不是银弹。 场景一:需求是这样的,做一个学雷锋活动的小活动页面,用户可以通过转发该页面成为火炬手,后台做统计并展示在页面上; 需求中没有复杂的功能和页面,这样的需求需要用微服务吗?我个人的做法是都不要前后端分离,Spr
IDEA的一些插件
最近几年一直在用idea,同时也收集了很多很好用的插件,在此记录一下。 MyBatisX 接口与SQL互相跳转插件 插件名称:MyBatisX 直接搜索就能找到,有一个小鸟的 logo。 学过 MyBatis 框架的同学都知道,我们在 xxxDao 类中定义各个接口时,还需要到 xxxMapper.
关于微服务
微服务的出现时间 微服务概念的雏形最早可追溯至 2000年代初,但真正被系统化定义并广泛讨论是在 2014年。这一年,软件架构师 Martin Fowler 和 James Lewis 联合发表了《Microservices》一文,首次明确了微服务的核心原则,标志着这一概念的正式形成。此外,像 Ne
设计模式-命令模式
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。 命令模式将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式结构示意图: 介绍 意图
设计模式-责任链模式
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 责任链模式通过将多个处理器(处理对象)以链式结构连接起来,使得请求沿着这条链传递,直到有一个处理器处
设计模式-代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能,这种类型的设计模式属于结构型模式。 代理模式通过引入一个代理对象来控制对原对象的访问。代理对象在客户端和目标对象之间充当中介,负责将客户端的请求转发给目标对象,同时可以在转发请求前后进行额外的处理。 在代理模式中,我们创建具有现有
设计模式-享元模式
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个
设计模式-外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图 为一个复杂