Java项目计算程序执行时间方法
一、总结 1.1、使用System.currentTimeMillis();计算程序执行毫秒数 // 开始时间1 long startTime1 = System.currentTimeMillis(); Thread.sleep(100); // 结束时间1 long endTime1 = Sys ...阅读全文
一、总结 1.1、使用System.currentTimeMillis();计算程序执行毫秒数 // 开始时间1 long startTime1 = System.currentTimeMillis(); Thread.sleep(100); // 结束时间1 long endTime1 = Sys ...阅读全文
前言 单例模式是最简单的一种模式。在Go中,单例模式指的是全局只有一个实例,并且它负责创建自己的对象。单例模式有减少内存和系统资源开销、防止多个实例产生冲突等优点。 因为单例模式保证了实例的全局唯一性,并且只被初始化一次,所以比较适合全局共享一个实例,且只需要被初始化一次的场景,例如数据库实例、全局 ...阅读全文
前言 策略模式定义了一系列算法,并将每个算法封装起来,使它们可以互相替换,且算法的变换不会影响使用算法的客户。 在项目开发中,我们经常要根据不同的场景,采取不同的措施,也就是不同的策略。假设我们需要对a、b这两个整数进行计算,根据条件的不同,需要执行不同的计算方式。我们可以把所有的操作都封装在同一个 ...阅读全文
在编程的世界里,我们经常需要对数据进行循环处理,常用的两种方法就是:for循环和foreach循环。想象你站在一条装满宝贝的传送带前,你要亲手检查每一件宝贝。使用for循环就像是你亲手控制传送带的速度和方向,而使用foreach循环则是传送带自动运转,你只需专注于宝贝本身。 ...阅读全文
概述 随着互联网的发展,软件系统由原来的单体应用转变为分布式应用。分布式系统把一个单体应用拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。这种分布式系统下不同服务之间通过远程协作完成的事务称之为分布式事务,例如用户注册送积分事务、创建订单减库存事务,银行转账事务等都是分布 ...阅读全文
在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求 在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜 ...阅读全文
各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 ...阅读全文
最近有同事看到字节跳动产品设计文档里有数据库表er图。就想问问又没有现成的工具也给直接生成一个er图,经查找验证发现并没有。因为现在表关系都是用的逻辑外键而非物理外键约束的,所以像navicat等工具就算生成了也没有描述关系的连接线。那么为了满足需求,这边就略微出手写了个代码实现er关系的工具。(注 ...阅读全文
促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。 特别是在新零售行业,促销更加重要,由于新零售是线上和线下结合的,顾客可以在线上看到促销信息,然后在实体 ...阅读全文
本篇文章主要是对静态代理和动态代理实现思路的简述,以示例为主,少涉及理论。 如果文中阐述不全或不对的,多多交流。 ...阅读全文
近年来,越来越多的开发者会选择使用无代码/低代码平台进行业务系统的开发。原因很简单:不用从零开始研发一整套系统,并且有易用的模板和可视化的操作界面,大大减少了业务开发的难度和所需时间。 然而,真正尝试过的开发者会发现,无代码/低代码确实能让开发变“简单”,但新的挑战也随之而来。 ...阅读全文
类/方法的封装、职责,这些跟谁用没关系。而是跟类/方法本身有关。我们分析类、分析方法,要看它的职责。面向对象编程不是面向人编程。 ...阅读全文
目录使用Docker部署Tomcat1. 获取镜像2. 第一次启动tomcat3.带参数启动4.查看tomcat日志5.时区问题 使用Docker部署Tomcat 1. 获取镜像 docker pull tomcat:8.5.38 docker images 2. 第一次启动tomcat 该步骤作用 ...阅读全文
转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 当我们使用 Mysql数据库到达一定量级以后,性能就会逐步下降,而解决此类问题,常用的手段就是引入数据库中间件进行分库分表处理,比如使用 Mycat、ShadingShpere、tddl,但是这种都是过去式了 ...阅读全文
一、定义 表示一个作用于某对象结构中的各个元素的操作。访问者模式让你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式 二、描述 访问者模式是一种较为复杂的行为型模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可 ...阅读全文
背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 图1.1 消息中间件 现需要考虑在不依赖于Mq的形式下如何更优雅 ...阅读全文
背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 图1.1 消息中间件 现需要考虑在不依赖于Mq的形式下如何更优雅 ...阅读全文
一、定义 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类不改变一个算法的结构即可重定义该算法的特定步骤。模板方法是一种类行为型模式 二、描述 模板方法模式结构比较简单,其核心是抽象类和其中的模板方法的设计,包含以下两个角色: 1、AbstractClass(抽象类):在抽象 ...阅读全文
在日常开发的过程中,我们会遇到各种各样复杂的业务系统,老猫通过这五种方式,基本就可以对系统有个比较好的拿捏。 ...阅读全文
在当今的互联网时代,微服务架构已经成为许多企业选择的架构模式,它能够提高系统的灵活性、可维护性和可扩展性。然而,微服务架构下的高可用性和弹性扩展是一个复杂的挑战。本文将介绍如何利用容器与中间件来实现微服务架构下的高可用性和弹性扩展的解决方案。 ...阅读全文