自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BlockingQueue 、BlockingDeque 接口介绍

1. BlockingQueue 接口介绍 接口名 介绍 add(E e) 如果队列没有空间。则抛出异常 boolean offer(E e) 没有多余空间。则返回false void put(E e) 没有多余的空间,则进行等待 boolean offer(E e, long timeout, TimeUnit unit) 没...

2018-04-30 23:26:34 2852 1

原创 权限管理系统一

介绍流量整形(Traffic Shaping)是一种主动调整流量输出速率的措施。流量整形与流量监管的主要区别在于,流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,也称流量整形(Traffic Shaping,简称TS)。当报文的发送速度过快时,首先在缓冲区进行缓存;再通过流量计量算法的控制下“均匀”地发送这些被缓冲的报文。流量整形与流量监管的另一区别是,整形可...

2018-04-30 09:56:24 153

原创 使用HttpOnly保护cookie的安全性

XSS 介绍XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。由于Http是无状态协议。因此Http的状态要通过Cookie或者Session来维持。当cookie被用户获取后。会存在很大的安全隐患。httponly如果您在cookie中设置了HttpOnly属性,那...

2018-04-21 17:34:58 1755

原创 Spring Aop自动创建代理

1.介绍在Bean生命周期过长中调用BeanPostProcessor,将对象进行包装,生成代理对象。2.举例public class LogMethodInterceptor implements MethodInterceptor { @Override public Object invoke(MethodInvocation invocation...

2018-04-21 17:16:10 219

原创 java8 Spliterator迭代器

介绍java8 新增了一个叫Spliterator的迭代器。 它主要包含以下两个功能: 1.遍历迭代集合元素。同iterator 2.支持并行迭代序列1. Spliterator的常用apiboolean tryAdvance(Consumer action)。返回false表示元素遍历结束。如果为序列中的每个元素应用相同的动作。forEachRemain...

2018-04-17 22:12:19 357

原创 java8 新特性 lambad表达式

1.介绍java8提供了默认接口方法,Lambda表达式,方法引用和重复注解等新的特性及API2.允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法: 举例:public interface PhoneService { void call(); //接口中默认方法实现 ...

2018-04-15 23:14:47 1404 2

原创 java jdk动态代理

举例java中动态代理主要有JDK和CGLIB两种方式。JDK代理是面向接口的代理。而CGLIB是代理类。JDK代理的实现是通过Proxy Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), target.getClass().getInterfaces(),I...

2018-04-15 17:43:57 115

原创 ProxyFactory 源码分析

介绍spring 提供的编程式aop实现,即通过 ProxyFactory类完成的。举例@Testpublic void testRemoveAdvisorByReference() { //被代理的对象 TestBean target = new TestBean(); //代理工厂 ProxyFactory pf = new ProxyFa...

2018-04-15 11:35:45 789

原创 JdkDynamicAopProxy 源码分析

JdkDynamicAopProxy 介绍此类是spring aop框架基于java jdk(java.lang.Proxy)代理的实现类。 JdkDynamicAopProxy实现了AopProxy接口及InvocationHandler接口final class JdkDynamicAopProxy implements AopProxy, InvocationHandler, ...

2018-04-14 23:17:24 662

转载 跨域资源共享 CORS 详解

CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏...

2018-04-07 22:31:43 170

原创 spring中的@InitBinder和WebBindingInitializer接口

介绍 @InitBinder用于在@Controller中标注于方法,表示为当前控制器注册一个属性编辑器或者其他,只对当前的Controller有效。 @InitBinder必须有一个参数WebDataBinder WebBindingInitializer WebBindingInitializer:实现WebBindingInitializer,重写initBinder...

2018-04-07 16:03:01 552

原创 Spring @RequestMapping注解实现

介绍使用@RequestMapping注解时,配置的信息最后都设置到了RequestMappingInfo。RequestMappingInfo封装了 PatternsRequestCondition,RequestMethodsRequestCondition,ParamsRequestCondition等,所以自己不干活,所有的活都是委托给具体的condition处理。@Requ...

2018-04-07 15:46:28 648

原创 Spring HandlerMethodArgumentResolver接口

介绍HandlerMethodArgumentResolver是用来为处理器解析参数的,主要用在HandlerMethod中,每个Resolver对应一种类型的参数,其实现类特别的多。接口定义supportsParameter 用于判断是否支持对某种参数的解析resolveArgument 将请求中的参数值解析为某种对象public interface HandlerM...

2018-04-07 12:42:14 277

原创 Spring HandlerMethodReturnValueHandler接口

接口介绍HandlerMethodReturnValueHandler是RequestMappingHandlerAdapter用来处理完映射控制类,对方法返回的值进一步进行处理。接口定义/** * 策略模式接口:处理 Controller 方法返回值 */public interface HandlerMethodReturnValueHandler { /**...

2018-04-06 23:19:54 900

原创 Spring HttpMessageConverter接口

介绍HttpMessageConverter 是 Spring3.0 新添加的一个接口,负责将请求信息转换为一个对象(类型为 T),将对象(类型为 T)输出为响应信息。 接口定义public interface HttpMessageConverter<T> { /** * Indicates whether the given class c...

2018-04-06 23:03:34 225

原创 Spring ResponseBodyAdvice、RequestBodyAdvice接口

ResponseBodyAdvice主要作用是响应体写出之前做一些处理。@Order(1) @ControllerAdvice(basePackages = "com.github") public class MyResponseBodyAdvice implements ResponseBodyAdvice<Object> { @Override ...

2018-04-06 22:41:01 1078

原创 spring InitializingBean 接口

介绍InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候会执行该方法。与Init-method方法的区别实现InitializingBean接口与在配置文件中指定init-method有什么不同? 在spring初始化bean的时候,如果该bean是实现了Initi...

2018-04-06 21:24:36 160

原创 Redis集群

方案一: Redis sharding客户端实现Redis Sharding采用客户端Sharding方式,服务端Redis还是一个个相对独立的Redis实例节点,没有做任何变动。同时,我们也不需要增加额外的中间处理组件,这是一种非常轻量、灵活的Redis多实例集群方法。当然,Redis Sharding这种轻量灵活方式必然在集群其它能力方面做出妥协。比如扩容,当想要增加Redis节点时,...

2018-04-01 22:33:26 97

原创 Redis Sentinel机制

介绍Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。它支持以下特性:不时...

2018-04-01 17:37:18 120

原创 java 通用对象池的实现

本文以apache common-pools为例主要组成类PooledObject(可被池化的对象)默认实现DefaultPooledObject,里面封装了一个真正的用户需要池化的对象object。 其中DefaultPooledObject里面有两个方法: Exception borrowedBy :用于记录上次调用borrow时的堆栈,用于跟踪代码调用情...

2018-04-01 11:23:24 1433

空空如也

空空如也

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

TA关注的人

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