标签:CTO

Java

Java 中的三种代理模式

xiaoli.wang 发布于 2018-08-16

代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以...

阅读(2)评论(0)赞 (0)

Java

深入理解 RxJava2:Scheduler(2)

4

songhua.gao 发布于 2018-08-16

前言 欢迎来到大家深入理解 RxJava2 系列第二篇,这里先插上一句,本系列文章用的源码都是基于 RxJava 2.2.0 正式版。本篇文章将先与大家一起理解 Scheduler 与 Worker ,顺着 RxJava2 的源码捋一下它们的实现原理。 Scheduler 与 W...

阅读(2)评论(0)赞 (0)

Spring

剖析 | 详谈 SOFABoot 模块化原理

6

hanze 发布于 2018-08-16

SOFA(Scalable Open Financial Architecture) 是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 SOFABoot 是蚂蚁金服中间件团队开源的基于 Spring Boot 的...

阅读(6)评论(0)赞 (0)

Java

Spring之RestTemplate中级使用篇

7

xubiao.zhuang 发布于 2018-08-16

Spring之RestTemplate中级使用篇 前面一篇介绍了如何使用 RestTemplate 发起post和get请求,然而也只能满足一些基本的场景,对于一些特殊的如需要设置请求头,添加认证信息等场景,却没有提及可以怎么做,这一篇则相当于进阶版,将主要介绍 exchange...

阅读(13)评论(0)赞 (0)

Java

深入剖析OkHttp系列(一) 来自官方的OkHttp设计思想(中英互译)

dulong 发布于 2018-08-16

本文译自OkHttp官方Wiki文档 The HTTP client’s job is to accept your request and produce its response. This is simple in theory but it gets tricky in ...

阅读(10)评论(0)赞 (0)

Java

【tomcat系统架构(一)】

3

尖兵 发布于 2018-08-16

四图带你了解Tomcat系统架构——让面试官颤抖Tomcat系列 Java高级架构——Tomcat源码解析之整体流程介绍 一、架构 下面谈谈我对Tomcat架构的理解 总体架构: 1、面向组件架构 2、基于JMX 3、事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结...

阅读(10)评论(0)赞 (0)

Java

源码阅读-HashMap

2

puefu.he 发布于 2018-08-16

扩容是一个特别耗性能的操作,因此建议使用HashMap时,尽量指定一定大小的初始容量 HashMap 是线程不安全的,并发环境中建议使用 ConcurrentHashMap JDK8中引入的红黑树优化了大量hash碰撞时的性能 HashMap中的红黑树代码作者实在没力气看了,因此...

阅读(15)评论(0)赞 (0)

Java

高性能无锁队列 Disruptor 初体验

1

dulong 发布于 2018-08-16

最近一直在研究队列的一些问题,今天楼主要分享一个高性能的队列 Disruptor 。 what Disruptor ? 它是英国外汇交易公司 LMAX 开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。基于 Disruptor 开发的系统单线程能支撑每秒600万订单。 目...

阅读(12)评论(0)赞 (0)

Spring

Spring MVC 目录穿越漏洞(CVE-2018-1271)分析

32

puefu.he 发布于 2018-08-15

作者: Badcode@知道创宇404实验室 时间: 2018/08/14 漏洞简介 2018年04月05日,Pivotal公布了Spring MVC存在一个目录穿越漏洞(CVE-2018-1271)。Spring Framework版本5.0到5.0.4,4.3到4.3.14以...

阅读(11)评论(0)赞 (0)

Java

HashMap漫谈(2)

4

darida 发布于 2018-08-15

HashMap原理解析–JDK1.8 在前面的文章中,我介绍了JDK1.7中HashMap的实现原理,这篇文章中,我将继续介绍在JDK1.8中的实现机理,从JDK1.7到JDK1.8中,HashMap的实现中经历了较大的优化(当然源码也更长,看起来更复杂),通过对数据结构的灵活应...

阅读(9)评论(0)赞 (0)

Java

Java集合源码分析之基础(五):平衡二叉树(AVL Tree)

21

小丁 发布于 2018-08-15

二叉排序树很好的平衡了插入与查找的效率,但不平衡的二叉排序树效率大打折扣。今天介绍的AVL树就是一种解决此问题的方案。 定义 平衡二叉树(Self-Balancing Binary Search Tree 或Height-Balanced Binary Search Tree),...

阅读(10)评论(0)赞 (0)

Java

感悟优化――Netty对JDK缓冲区的内存池零拷贝改造

2

likai 发布于 2018-08-15

NIO中缓冲区是数据传输的基础,JDK通过ByteBuffer实现,Netty框架中并未采用JDK原生的ByteBuffer,而是构造了ByteBuf。 ByteBuf对ByteBuffer做了大量的优化,比如说内存池,零拷贝,引用计数(不依赖GC),本文主要是分析这些优化,学习...

阅读(13)评论(0)赞 (0)

Java

原 荐 Dubbo服务调用——流程分析

2

darida 发布于 2018-08-15

我们根据官网的案例来分析Dubbo的调用过程是什么样的 1.首先粘贴下调用源头 public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = n...

阅读(10)评论(0)赞 (0)

Java

SpringSession+Redis实现集群会话共享

5

xirruiqiang 发布于 2018-08-15

WEB应用开发完成后部署到Tomcat或其他容器中供用户访问. 小型应用在一台服务器上安装Tomcat并部署WEB应用. 随着访问量增大, Tomcat的压力会越来越大, 直至崩溃. 为了保证WEB应用的承载能力, 需要对WEB应用进行集群处理. 技术发展到今天, 集群/负载均衡...

阅读(10)评论(0)赞 (0)

Java

Java8 Stream,简洁快速处理集合(下)

1

zhuangli 发布于 2018-08-15

前面介绍的如 int sum = list.stream().map(Person::getAge).reduce(0, Integer::sum); 计算元素总和的方法其中暗含了装箱成本, map(Person::getAge) 方法过后流变成了 Stream 类型,而每个 I...

阅读(8)评论(0)赞 (0)

Java

原 荐 浅析RPC与WebService

16

darida 发布于 2018-08-15

虽然现在非常火的RPC技术以SpringCloud和Dubbo(x)为主流,但是如果做接口调用,还是逃不了要用一些较传统的技术。前几天在做接口调用时恰巧用到了WebService的相关技术(8,9两节是真实的开发),正好都在这里写一写。 1. RPC相关基础 1.1 什么是RPC...

阅读(11)评论(0)赞 (0)

Java

Apache Groovy 2.5.2 发布,JVM 动态脚本语言

xiaoli.he 发布于 2018-08-15

Apache Groovy 2.5.2 已发布,这是 GROOVY_2_5_X 分支的维护版本,包含 20 项 bug 修复和改进,强烈鼓励所有使用此分支旧版本的用户进行升级。 更新内容: Bug [ GROOVY-8282 ] – Error while poppi...

阅读(9)评论(0)赞 (0)