桥接模式 定义 将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 上面的定义太简单了点,并不能很好的解释什么…
Builder 模式演义 (2)——OkHttp 源码中的 Builder 模式
引言 在上一篇Builder模式演义(1)中介绍了Builder模式的标准形式,以及两种基本变换——链式调用和省略指挥者角色。本文将通过分析OkHttp源码阐述Builder模式的另外两种变换——省略抽象Builde…
图论动态规划算法——Floyd最短路径
前言 推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 Floyd算法 Floy…
HashMap实现原理及源码分析
一、背景 在java中,HashMap是很常用的一种数据结构,最近重新温习了一下,这里以源码层面来分析总结一下HashMap,如有不合理或疑问的地方,欢迎沟通交流。 HashMap是Java中的一个容器,继承自Abstr…
Android面试指南 — 算法面试心得
大家好,我是宅男潇涧,目前是一名鹅厂移动客户端开发工程师。特别感谢小桦哥邀请我为《Android面试指南》小专栏写一篇面试心得,原本的要求是写一篇“对自己部门的面试题深度剖析”,但我本人刚毕业一年多一点(中间还跳槽过一次…
HTTPS和HTTP2.0详解
title: HTTPS和HTTP2.0详解 date: 2018-05-21 14:19:31 tags: HTTP HTTPS HTTP2.0 categories: 深入http HTTP的基本优化 影响一个HTT…
超高性能管线式HTTP请求(实践·原理·实现)
这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明显延时。 该篇实际是介绍pipe管线的原理,下面主要通过其高性能的测试实践,解析背后数据流量及原理。最后附带…
CVE-2016-10190 FFmpeg Http协议 heap buffer overflow漏洞分析及利用
作者: 栈长@蚂蚁金服巴斯光年安全实验室 ———————— 1. 背景 FFmpeg是一个著名的处理音视频的开源项目,非常多的播放器、转码器以及视频网站都用到了FFmpeg作为内核或者是处理流媒体的工具。2016年末pa…
设计模式---代理模式
/** * @author Rollen-Holt 设计模式之 代理模式 */ interface NetWork{ public abstract void browser(); } /** * Real 类代表用户上…
[Linux git]Linux下git 命令 免输密码设置
1. 在~/目录下, touch创建文件 .Git-credentials touch .git-credentials vim .git-credentials 点击 “i” 进入编辑文件模式 https://{use…
Java并发编程札记-(四)JUC锁-06LockSupport
LockSupport是JUC锁中比较基础的类,用来创建锁和其他同步类的基本线程阻塞原语。比如,在AQS中就使用LockSupport作为基本线程阻塞原语。它的park()和unpark()方法分别用于阻塞线程和解除阻塞…
Java I/O 文件加锁,压缩
文件加锁: 文件加锁机制允许我们同步访问某个作为共享资源的文件。 public class Test { public static void main(String[] args) throws IOException…