- 博客(12)
- 收藏
- 关注
原创 2021-08-22
java控制台输出进度条的一个工具类废话不多说,直接上干货进度条工具类调用方式运行结果 废话不多说,直接上干货 进度条工具类 public class PercentLogUtil { private static final String s = "####################################################################################################"; private static int t =
2021-08-22 02:51:40
124
1
转载 五种线程池的介绍
1、newCachedThreadPool 作用:创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们,并在需要时使用提供的 ThreadFactory 创建新线程。 特征: 线程池中数量没有固定,可达到最大值(Interger. MAX_VALUE) 线程池中的线程可进行缓存重复利用和回收(回收默认时间为1分钟) 当线程池中,没有可用线程,会重新创建一个线程 创建方式:...
2019-04-17 20:24:13
188
转载 添加分布式锁的几种方式
定义 何为分布式锁? 对于锁大家肯定不会陌生,在 Java 中 synchronized 关键字和 ReentrantLock 可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问。 但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。 于是人们为了在分布式环境中也能实现本地锁的效果,也是纷纷各出其招,今天让我们来...
2019-04-17 19:28:48
2435
转载 Spring详解
定义 spring是一个开源的,轻量级控制反转(IoC)和面向切面(AOP)的容器框架。 IOC(控制反转)或DI(依赖注入):明确定义组件的接口,独立开发各个组件,然后根据组件的依赖关系组装运行;即将创建及管理对象的权利交给Spring容器。Spring是一个轻型容器(light-weight Container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Mod...
2019-04-17 13:06:30
259
转载 抽象工厂模式
定义 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类 场景 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码 提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现 优缺点 优点: 具体产品在应用层的代码隔离,无需关心创建的细节 将一个系列的产品统一到一...
2019-04-17 11:32:20
191
1
转载 工厂方法模式
工厂方法模式 定义 定义一个用于创建对象的接口,但是让子类来决定到底创建哪一个实例。工厂方法模式让一个类的实例化延迟到其子类。 简单来说是来为了解决简单工厂模式所出现的一些缺点而进行的改进。比如当一个简单的工厂模式要生产一个飞机。能够生产直升机,战斗机,波音747.但是如果要新增一个水上飞机。那么就要修改源代码,也就是修改工厂的源代码!添加一个业务逻辑,显然不符合开闭原则,所以就有了工厂方法模式。...
2019-04-17 10:26:29
81
转载 单例模式解析
定义 由于某种需要,要保证一个类在程序的生命周期当中只有一个实例,并且提供该实例的全局访问方法。 结构 一般包含三个要素: 1、私有的静态的实例对象 private static instance 2、私有的构造函数(保证在该类外部,无法通过new的方式来创建对象实例) private Singleton(){} 3、公有的、静态的、访问该实例对象的方法 public static Singlet...
2019-04-17 09:45:14
116
转载 幂等性详解
什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。 这里需要关注几个重点: 幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询数据库操作,没有增删改,因此没有对数据库有任何影响)。 幂等还包括第一次请求的时候对资源产生了副作用,但是以后的多次请...
2019-04-16 19:39:00
323
转载 设计模式浅谈
简介 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 众所周知,设计模式有23种,这23种设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。 设计模式的三个分类 创建型模式:对象实例化的模式,...
2019-04-11 19:35:28
157
原创 商城项目避免重复下单
重复下单原因解析 1、客户端或页面问题:重复点击 2、网络不稳定 3、浏览器卡顿或App闪退 4、服务端冲突 5、人为原因 解决办法: 前端: 1、提交时禁用提交按钮 2、添加判断变量,提交时变量false阻止操作,为true时,正常提交,并在提交时修改该变量。 后端: 1、生成全局唯一ID(推荐雪花算法) dedup_key,如果带有指定dedup_key的订单已经存在,则直接返回;否则,用该d...
2019-04-11 19:10:31
2446
原创 雪花算法生成全局唯一ID
简介 SnowFlake的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等。 其结构为: 时间戳 + 工作机器id + 数据中心ID + 序列号组合在一起。 SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。 SnowFlake适用于数据敏感场景...
2019-04-11 18:35:45
1223
原创 Java静态代码块和静态属性加载顺序
Java静态代码块、静态属性、构造函数加载顺序 代码实例 //父类 public class B { public static B t1 = new B(); public static B t2 = new B(); public B(){ super(); System.out.println("B类构造块"); } stat...
2019-04-11 17:37:26
3250
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人