JAVA
文章平均质量分 96
mengxiangqihangz
这个作者很懒,什么都没留下…
展开
-
-spring-如何利用spring对filter中新增的属性进行封装
问题背景: 公司在接收其他平台数据的时候,走的是restful api接口,但是有两个特殊要求。 需要对整个业务参数进行加密 开发的接口需要 提供swagger ui post请求 入参示例如下 业务入参如下 { "token":"accessToken", "securityKey":"ss212313", "data": { "IMEI":"123", "state":"off" } } 实际传参则是直接将data 中的业务数据整块加密 { "token":"原创 2020-05-31 16:23:20 · 395 阅读 · 1 评论 -
静态代理、动态代理
文章目录静态代理动态代理 静态代理 /** * 接口 */ public interface IUserDao { void save(); } /** * 接口实现 * 目标对象 */ public class UserDao implements IUserDao { public void save() { System.out.println("...原创 2019-04-24 14:13:08 · 160 阅读 · 0 评论 -
Tomcat源码四:Tomcat之NIO监听端口、建立连接
下面是Server容器部分模型。 Nio请求重点关注黑框中的部分。 对象结构是 connect对象中包含了一个protocolHandler[Http11NioProtocol] 的实例。 protocolHandler[Http11NioProtocol] 中包含了 endpoint[NioEndPoint] 实例 endpoint[NioEndPoint] 包含了  &nbsp...原创 2019-04-09 19:52:48 · 556 阅读 · 0 评论 -
Tomcat源码三:发布app
app的发布 在 StandardEngine[Catalina].StandardHost[localhost] 的start方法中发布的 tomcat 容器部分结构图 意思为 StandardService 容器中有一个 StandardEngine[Catalina] 的容器 StandardEngine[Catalina] 容器中有个 StandardEngine[Catalina].St...原创 2019-04-09 19:52:19 · 269 阅读 · 0 评论 -
Tomcat源码番外篇:Selector 、SelectionKey、NIO补充
本篇笔记的目的是:补充Selector基础不够牢固的问题 Selector 选择器 分析 Selector 键集 键集 已选择键集 已取消键集 通过关闭某个键的通道或者是调用该键的 cancel 方法来取消键,取消的键将被添加到已取消键集中。已取消键集中的键,在下一次“选择”(select())操作期间将注销该键的通道,而在注销时该键将从所有选择器的键集(键集、已选择键集、已取消键集)中...原创 2019-04-11 15:45:56 · 464 阅读 · 0 评论 -
TreeSet、排序集合、自定义排序
TreeSet set = new TreeSet(); set.comparator(); set.add(10); set.add(5); set.add(8); set.add(100); set.add(-12); Iterator it = set.iterator(); while (it.hasNext()) { int str = (int...原创 2019-01-18 16:46:58 · 221 阅读 · 0 评论 -
UDP协议 体系
udp: user datagram protocol 用户数据报协议(非连接协议)原创 2019-01-18 16:45:14 · 104 阅读 · 0 评论 -
Selector 选择器 分析
【整理自jdk1.7】 选择器 选择器中维护了三个键集(键值对,可选择通道到选择器的注册) 键集:所有注册到此选择器的通道都保存在此集合中 已选择键集:即前一次选择操作到本次选择期间,检测每个键的通道是否已经至少为该键的相关操作集所标识的一个操作准备就绪(即监听每一个通道的所有操作标识中,只要有一个是准备就绪状态,就把它添加到此集合中)。已选择键集始终是键集的一个子集 已取消键集:是已被取...原创 2019-01-18 16:43:31 · 107 阅读 · 0 评论 -
基于NIO的socket通信
普通的socket通信是 ServerSocket 和Socket NIO的Socket是 ServerSocketChannel和SocketChannel 我们知道ServerSocket 和 Socket是阻塞的 而ServerSocketChannel 和 SocketChannel 是否阻塞可以进行设置。 ------ configureBlocking(false) ---- 如果不...原创 2019-01-18 16:38:31 · 4728 阅读 · 1 评论 -
HashMap源码
核心属性 HashMap的设计思想: HashMap也叫散列表。由数组和线性链表组成。存储数据的核心是一个 Entry[] 的table数组。 线性链表 先看HashMap的一个内部类Entry Entry<K,V> implements Map.Entry<K,V> { final K key; V value; E...原创 2018-11-28 23:18:45 · 109 阅读 · 0 评论 -
ConcurrentLinkedQueue 源码
ConcurrentLinkedQueue:无界非阻塞线性安全的队列 无界:相比 LinkedBlockingQueue有边界,默认为Integer.MAX_VALUE,而且有带初始化容器大小的含参数构造器。ConcurrentLinkedQueue没有边界 ...原创 2018-11-28 22:56:44 · 596 阅读 · 0 评论