标签:代码

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)

Java

嘿!我用python帮我干这些事

1

dulong 发布于 2018-08-16

python 无疑是当下火上天的语言,但是我们又不拿来工作,那么能拿来干啥呢?我是这么干的。 1. 平时工作开发用不上,就当个计算器吧! python # 加减乘除 >>> (3 + 2) - 5 * 1 5 # 位运算 >>> 3 <&...

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

Spring

剖析 | 详谈 SOFABoot 模块化原理

6

hanze 发布于 2018-08-16

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

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

Java

Java并发——阻塞队列集(上)

9

wenming.gapo 发布于 2018-08-16

阻塞队列是一个支持两个附加操作的队列,这两个附加操作支持阻塞的插入和移除方法 ①.支持阻塞的插入方法: 当队列满时,队列会阻塞插入元素的线程,直至队列不满 ②.支持阻塞的移除方法: 当队列空时,获取元素的线程会等待队列变为非空 在阻塞队列不可用时,这两个附加操作提供了4种处理方式...

阅读(14)评论(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

服务化改造实践(一):Dubbo + ZooKeeper

5

刘莉莉 发布于 2018-08-16

“没有最好的技术,只有最合适的技术。”我想这句话也同样适用于微服务领域, 没有最好的服务框架,只有最适合自己的服务改造 。在 Dubbo 的未来规划中,除了保持自身技术上的领先性,关注性能、大流量、大规模集群领域的挑战外,围绕 Dubbo 核心来发展生态,将 Dubbo 打造成一...

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

Java

Java 函数式编程(一)初识篇

changyuan.xu 发布于 2018-08-16

开发者使用Java8编写复杂的集合处理算法,只需要简单的代码就能在多喝cpu上高效运行,这就是Lambda表达式的初衷。 提示:函数式编程和语言无关,它是一种思想,任何语言都可以实现函数式编程,区别只是实现的难易程度不同而已。 在java中,lambda本身就是函数式编程的运用,...

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

Java

工作流引擎四重罪

dulong 发布于 2018-08-16

开源工作流引擎很多,主要以Activiti为主,后来有Camunda等等,但是这些工作流引擎有其基因问题,因为是基因问题,属于原罪,也称为四重罪: 1. 对于使用者来说,如果需要精通工作流引擎,必须同时掌握Java语言 BPMN XML语法和图形符号,需要在这三者之间做到一一对应...

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

Java

【tomcat系统架构(一)】

3

尖兵 发布于 2018-08-16

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

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

Spring

原 荐 SpringBoot | 第二十章:异步开发之异步请求

4

yanxinchi 发布于 2018-08-16

前言 关于 web开发 的相关知识点,后续有补充时再开续写了。比如 webService 服务、 发邮件 等,这些一般上觉得不完全属于 web开发 方面的,而且目前 webService 作为一个接口来提供服务的机会应该比较小了吧。所以本章节开始,开始讲解关于异步开发过程中会使用...

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

Java

源码阅读-HashMap

2

puefu.he 发布于 2018-08-16

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

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

Spring

在Sprint Boot实现Spring WebMVC与WebFlux的比较

xiaoli.he 发布于 2018-08-16

Spring Boot应用程序可以用命令风格(如传统Spring WebMVC)或函数风格(如Spring WebFlux)编写。下面是使用pring WebFlux两个注意点: 1.目前,spring boot支持Spring WebMVC或WebFlux模型,因此我们不能在一...

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

Java

深入理解多线程(一)——Synchronized的实现原理

1

xirruiqiang 发布于 2018-08-16

synchronized ,是Java中用于解决并发情况下数据同步访问的一个很重要的关键字。当我们想要保证一个共享资源在同一时间只会被一个线程访问到时,我们可以在代码中使用 synchronized 关键字对类或者对象加锁。那么,本文来介绍一下 synchronized 关键字的...

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

Java

高性能无锁队列 Disruptor 初体验

1

dulong 发布于 2018-08-16

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

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

Java

Java 渲染 docx 文件,并生成 pdf 加水印

4

yanxinchi 发布于 2018-08-15

最近做了一个比较有意思的需求,实现的比较有意思。 需求: 用户上传一个 docx 文件,文档中有占位符若干,识别为文档模板。 用户在前端可以将标签拖拽到模板上,替代占位符。 后端根据标签,获取标签内容,生成 pdf 文档并打上水印。 需求实现的难点: 模板文件来自业务方,财务,执...

阅读(11)评论(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)