高级JAVA
文章平均质量分 97
BlueKitty1210
以微观之处证宏观,借他人之事鉴己身~
展开
-
高级JAVA - 多线程之CountDownLatch
package com.xbz.thread.juc.countDownLatch;import java.util.concurrent.CountDownLatch;/** * @title CountDownLatch类的应用 * CountDownLatch类位于java.util.concurrent(简称juc)包下 , 它是一个同步工具类 , 利用它可以实现类...原创 2018-07-18 15:35:46 · 508 阅读 · 0 评论 -
分布式session的6种解决方案
先来复习三个基础问题 :Q1 .session什么时候创建 ?一个常见的错误是在客户端请求到达的时候就被创建 , 然而实际上是直到某服务端程序(如servlet)调用HttpServletRequest.getSession(true)这样的语句时才会被创建 .如果在该语句之前有个拦截器拦截了该请求 , 则此时就不会创建session .Q2.分布式环境下 , 如果未...原创 2018-11-14 15:41:38 · 854 阅读 · 0 评论 -
高级JAVA - 高并发下接口限流 Semaphore
Semaphore的介绍Semaphore, 是JDK1.5的java.util.concurrent并发包中提供的一个并发工具类Semaphore字面意思即信号量 , 个人认为比较容易理解的说法应该是 许可证管理器官方的解释为Semaphore是一个计数信号量 从概念上将,Semaphore包含一组许可证 如果有需要的话,每次调用acquire()方法都会阻塞,直到获取一个可...原创 2018-12-07 14:42:18 · 2355 阅读 · 0 评论 -
JAVA设计模式 - 代理模式
在对象的一个业务方法完成之后, 有时候我们可能需要去添加一些新的功能(前置校验等). 但我们又不想更改原来的代码 , 代理模式就为我们提供了一种解决方案 .1 . 代理模式的定义代理模式就是在不改变原有代码的基础上 , 实现对目标对象的功能扩展 .以现实的情况为例 , 目前有一个艺人, 她会表演和唱歌 . 现在想扩展一个行为来为这个艺人来接通告 , 通常情况下我们是不想把这个业务交给原...原创 2019-04-23 17:41:32 · 310 阅读 · 0 评论 -
高级JAVA - 动态代理的实现原理和源码分析
在之前的一篇文章中 , 我们简单了解了一下代理模式(JAVA设计模式 - 代理模式) , 本篇我们来学习一下动态代理的实现原理 , 以及源码是怎样的 .JDK动态代理的主要实现步骤如下 :1 . 声明一个handler类 , 实现InvovationHandler接口 , 然后重写它的invoke方法 , 在此方法中完成扩展逻辑 . 在生成动态代理类之后 , 原方法的调用就是会执行这个...原创 2019-04-23 18:35:00 · 512 阅读 · 0 评论 -
高级JAVA - 手写简单的重试组件学习Spring Retry
目录一 . 定义注解二 . 利用cglib代理扩展重试业务三 . 编写代理类 , 使用自定义的XRetryInterceptor作为拦截器四 . 编写相关业务方法 , 测试代码五 . 测试结果之前讲了Spring Retry的用法及配置 , 这次通过手写一个简单的组件来学习Spring Retry的实现 .源代码 :https://download.csdn.ne...原创 2019-07-18 21:49:30 · 713 阅读 · 0 评论 -
高级JAVA - 利用函数式接口实现通用的取并集/交集/差集
package com.xing.dto;import com.xing.common.utils.XDataUtil;import lombok.Data;import java.util.ArrayList;import java.util.List;import java.util.function.Consumer;import java.util.function.Fu...原创 2019-07-23 21:56:18 · 660 阅读 · 0 评论 -
高级JAVA - 利用函数式接口实现通用的取并集/交集/差集进阶版
在前文(高级JAVA - 利用函数式接口实现通用的取并集/交集/差集)中我们实现了利用函数式接口获取交集/差集 , 但是只能全部生成 , 假如我们只需要一个交集的话 , 所有代码仍然会执行一次 . 比较浪费资源 , 故再改进一版package com.xing.dto;import com.xing.common.utils.XDataUtil;import java.util.Li...原创 2019-07-26 17:16:26 · 748 阅读 · 0 评论