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