摘要:
商品秒杀多数发生在高并发的时候,本文利用redis单线程原子性解决并发,减库存; 思路方案: 1. 模拟100个用户下单抢10个商品; 2.使用redis加锁,来实现减去库存; 3.其他用户一直等待,直到解锁后后面用户再加锁减库存,依次操作,直到库存为0; 4.用户等待,设置一下超时时间,防止一直等 阅读全文
摘要:
简要 有的时候需要动态注入bean到spring容器中,@service,@component 满足不了,还可以在class上的根据注解来进行扩展,例如我想根据注解里的多个id来进行注入spring容器中,不用创建每个id来写@component,然后根据id中获取实例,还可以动态注入一些需要的属性 阅读全文
摘要:
责任链模式 概念就不必细说,该模式主要特点就是像链接式流一样,一步一步执行。 可以应用的例子,比如用来验证用户信息,用户登录后,判断是否用户等级,用户禁用,用户信息等内容。 不止可以用来验证用户信息,还有很多验证,打算做个框架jar包,来体现在spring boot上。 核心关键点: java 无法 阅读全文
摘要:
java 反射中没有直接提供给我们方法来根据接口获取所有实现的类,所以要自己去写,网上资料也很多,根据通过ClassLoader获取当前工作目录,对目录下的文件进行遍历扫描。 大致思路: 1) 获取当前线程的ClassLoader 2) 通过ClassLoader获取当前工作目录,对目录下的文件进行 阅读全文
摘要:
责任链模式 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。To 阅读全文
摘要:
比如我们有时候写这么一句: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动 我们需要变量名匹配并替换,解决方案肯定用正则表达式。 先贴代码 public static void parse() { Map<String, String> data = new HashMap<> 阅读全文
摘要:
Zuul服务网关的介绍与用途 Zuul简介 zuul是Netflix设计用来为所有面向设备、web网站提供服务的所有应用的门面,zuul可以提供动态路由、监控、弹性扩展、安全认证等服务,他还可以根据需求将请求路由到多个应用中。 zuul是用来解决什么问题的 (1)- 权限控制和安全性--为每个请求提 阅读全文
摘要:
来自 https://segmentfault.com/a/1190000009972187 第一章:课程介绍 1-1 初识Quartz Quartz概要 OpenSymphony提供的强大的开源任务调度框架 官网:http://www.quartz-scheduler.org 纯Java实现,精细 阅读全文
摘要:
简介 项目运用 1、由于多个服务项目在一起,所以需要一个主项目 idea 先创建个Empty Project 2、创建eureka-server文件项目 选择Spring Cloud Discovery -> Eureka Server pom.xml 新增 <dependency> <groupI 阅读全文
摘要:
在面向对象编程中必不可少需要在代码中定义对象模型,而在基于Java的业务平台开发实践中尤其如此。相信大家在平时开发中也深有感触,本来是没有多少代码开发量的,但是因为定义的业务模型对象比较多,而需要重复写Getter/Setter、构造器方法、字符串输出的ToString方法和Equals/HashC 阅读全文