自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSL方式连接Netty服务端失败:OpenSslEngine类无法加载NoSuchMethodError异常排查分析

一. netty客户端通过ssl方式连接服务端失败最近在重构项目代码,在测试时在本地通过ssl的方式连接服务端,服务端通过SniHandler处理ssl连接时,报一下异常:2019-05-27 17:32:26,104 110948 [nioEventLoopGroup-3-2] ERROR c.t.p.b.m.h.ChannelDisconnectedHandler(128) - Co...

2019-05-27 22:19:54 6810

原创 Spring的构造函数注入的循环依赖问题

一、循环依赖spring的循环依赖主要是指两个类相互之间通过@Autowired自动依赖注入对方,即类A包含一个类B的对象引用并需要自动注入,类B包含一个类A的对象引用也需要自动注入。对于循环依赖问题,spring根据注入方式的不同,采取不同的处理策略,对于双方都是使用属性值注入或者setter方法注入,则spring可以自动解决循环依赖注入问题,应用程序可以成功启动;对于双方都是使用构造函...

2019-05-26 11:02:18 16365 13

原创 Spring的三种依赖注入方式的使用和源码实现分析

一、自动依赖注入的方式注解类型spring提供了基于注解的属性自动注入特性,其中可以可用的注解包括spring自身提供的@Autowired和@Value,其中@Autowired是我们在项目中最常用来注入对象属性的,@Value注解通常用于注入属性文件properties的值,除此之外还可以使用JSR-330提供的注解@Inject,类型为javax.inject.Inject。如下:...

2019-05-26 00:14:00 8057

原创 Java类加载失败异常:NoClassDefFoundError与ClassNotFoundException

一、NoClassDefFoundError:运行时加载不到类在运行时,需要使用该类时,如调用该类的静态static方法或者创建该类的对象,无法从类路径加载该类而发生错误。无法加载可能类路径和mavne仓库确实是没有这个类,或者该类对当前的类加载器不可见,如tomcat容器中的不同应用使用不同类加载器。出现场景:常出现在:当通过手动安装某个第三方jar包,假如为A包,而A包又引用了另外一个...

2019-05-18 17:33:10 8423 5

原创 Code Review的基本思路

一、业务检查1. 业务流程正确性代码实现的业务流程是否合理,是否按照产品需求设计,或者是否对之前的业务流程有影响。2. 业务的可拓展性如某项业务数据的存储和结构是否能够支持未来业务的变化,如现在是统计A项数据,而未来可能统计与A相关的B项数据。二、设计检查1. 接口和方法设计(1)传参是否合理,如是否存在冗余传参,参数数据类型是否合理;(2)方法内部的相关判断和边界检查是否合理,如...

2019-05-16 11:09:51 4595 1

原创 Zookeeper学习(二):ZAB原子广播和集群leader选举策略

一、概述zookeeper作为分布式系统协调者和管理者,承担着联结分布式系统的各组件来组成一个完整服务的职责,如kafka作为一个分布式集群,在kafka的内部体系结构中包含消息生产者,消费消费者,消息存储broker三个核心组件,kafka通过在zookeeper中维护这三大组件的运作信息,并且这三大组件分别通过zookeeper获取其他组件的运作信息或者获取组件内部其他子组件的运作状态来协...

2019-05-13 00:09:09 8493

原创 Zookeeper学习(一):核心设计与运用场景剖析

概述Zookeeper的设计目的,可以根据它的名字“zoo”和“keeper”推断,即动物园的管理者,而这样命名的起因是很多分布式组件,如Hadoop是大象,tomcat是猫等,故zookeeper是一种分布式协调和分布式组件管理服务,即负责管理和协调一个复杂的分布式系统的各个组件,使得这些组件能够相互协作,共同构成一个分布式系统。具体来说,Zookeeper是Hadoop生态的中的一个用于...

2019-05-12 01:19:34 3985 2

原创 秒杀系统设计思路与实战(含源码实现)

一、限流与降级客户端限流按钮置灰js控制每秒只能发送一个请求站点层限流1. Nginx限流Nginx官方版本限制IP的连接和并发分别有两个模块:limit_req_zone: 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法。limit_req_conn: 用来限制同一时间连接数,即并发限制。2. 站点层限流客户端限流一般可以限制住普通用户,对于高端用户,则可能使...

2019-05-08 22:38:15 15987 19

空空如也

空空如也

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

TA关注的人

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