自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 synchnized和lock有什么区别

1、原始构成1.1、是关键字synchronized属于JVM层面monitorenter(进来):底层是通过monitor对象来完成的,wait/notify等方法也依赖于monitor对象,只有在同步块或方法中才能调用wait/notify等方法monitorexit(出去):这个在底层会出现两次,分别是正常退出和异常退出。相当于双重保险,主要是为了保证不产生死锁。1.2、lock是具体类java.util.concurrent.locks.Lock,是api层面的锁。2、使用方法2

2021-06-02 16:38:26 147

原创 springboot启动过程源码解析

创建SpringApplication保存一些信息判定当前应用的类型,ClassUtils,Servletbootstrappers:初始启动引导器(List):去spring.factories文件中找org.springframework.boot.Bootstrapper找ApplicationContextInitializer,去spring.factories找ApplicationContextInitializerList<ApplicationContextInitia

2021-05-26 10:51:20 129

原创 秒杀(高并发)系统问题及其解决

应该关注的问题服务单一职责+独立部署秒杀服务即便自己扛不住压力,挂掉,宕机,不要影响别人秒杀连接加密防止恶意攻击,模拟秒杀请求,1000次/s攻击防止链接暴露,自己工作人员,提前秒杀商品库存预热+快速扣减秒杀读多写少,无需每次实时校验库存,我们库存预热,放到redis中,信号量空指进来秒杀的请求。多加redis服务器动静分离nginx做好动静分离,保证秒杀和商品相求也的动态请求才打到后端的服务集群,使用CDN网络,分担本集群压力恶意请求拦截识别非法攻击请求并进行拦截流量错峰使用各种

2021-05-15 22:53:10 232 3

原创 如何保证消息可靠性

消息丢失消息发送出去,由于网络问题没有抵达服务器做好容错方法(try-catch),发送消息可能会网络失败,失败后要有重试机制,可记录到数据库,采用定期扫描重发的方式做好日志记录,每个消息状态是否都被服务器收到都应该记录做好定期重发,如果消息没有发送成功,定期去数据库扫描未成功的消息进行重发消息抵达Broker,Broker要将消息写入磁盘(持久化)才算成功。此时Broker尚未持久化完成,宕机publisher也必须加入确认回调机制,确认成功的消息,修改数据库消息状态自动ACK的状态

2021-05-15 16:43:59 100

原创 分布式事务及其解决办法

为什么有分布式事务任何一个大型的项目都不可能在一个服务器上运行,一般都采用分布式的办法,部署到很多机器上,会拆分成好多微服务。每个服务都是连接自己的数据库,操作自己的数据。所以一定会设计到分布式事务。分布式系统会经常出现异常,原因多种多样:机器宕机、网络异常、消息丢失、消息乱序、数据错误、不可靠的TCP、存储数据丢失…分布式系统定理CAP定理一致性:在分布式系统中,所有数据备份,在同一时刻是否同样的值可用性:在集群中一部分节点故障后,集群整体是否还能相应客户端的读写请求分区容错性:大多数分

2021-05-11 23:50:41 206 1

原创 spring本地事务失效问题

在同一个类里面,编写两个方法,内部调用的时候,会导致事务设置失效。原因是没找到代理对象的缘故。事务最大的特点是代理,如果调用的事务方法是其他类的就没问题。如果调用本身类里的事务方法,相当于是跳过了动态代理,也可以理解为是把事务方法的代码复制到外层事务方法里面执行了把自己的class调用事务方法也可以执行,但是不能使用@Autowired注入本身的类,这样相当于是循环依赖解决方法1.引入aop-start模块使用aspectj,在启动类上添加**@EnableAspectJAutoProxy(ex

2021-05-11 22:20:42 242

原创 商城项目-接口幂等性

什么是幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。那些情况需要防止对于业务中需要考虑幂等性的地方一般都是接口的重复请求,重复请求是指同一个请求因为某些原因被多次提交。导致这个情况会有几种场景:前端重

2021-05-11 11:29:22 314

原创 Spring框架介绍及其基本使用

SpringSpring框架概述Spring是轻量级的开源的JavaEE框架。Spring可以解决企业应用开的复杂性。Spring的核心:IOC和AOP。IOC:控制反转,把创建对象的过程交给Spring进行管理。AOP:面向切面,不修改源码的情况下,进行功能的添加和增强。Spring特点方便解耦,简化开发。AOP编程的支持。方便程序的测试(整合Junit)。方便和其他框架的整合。方便进行事务操作。降低API开发难度spring5spring5 jar包下载地

2021-05-09 21:45:13 537

原创 renren-fast跨域错误

用renren-fast开发项目时突然报跨域错误此时可以看到账号、密码和验证码都没问题,但是点击登录没有反应,看控制台发现了是报了跨域错误搜索之后看到一位大神的答案,解决了我的问题,附上解决办法下附大佬原文:版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/zd1007129657/article/details/82698854...

2021-01-20 23:40:31 1104 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除