随笔 - 2228  文章 - 4  评论 - 371  阅读 - 1109万
04 2017 档案
Spring @Async之三:Spring @Async使用方法总结
摘要:引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。 1. 何为异 阅读全文
posted @ 2017-04-28 18:57 duanxz 阅读(22830) 评论(0) 推荐(7) 编辑
Spring @Async之一:实现异步调用示例
摘要:什么是“异步调用”? “异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。 同步调用 下面通过一个简单示例来直观的理解什么是同步调用: 定义Task类,创建 阅读全文
posted @ 2017-04-28 18:26 duanxz 阅读(9827) 评论(0) 推荐(2) 编辑
Java NIO系列教程(八)JDK AIO编程
摘要:目录: Reactor(反应堆)和Proactor(前摄器) 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《【转】第8章 前摄器(Proactor):用于为异步事件多路分离和分派处理器的对象行为模式》 《Java NIO系列教程(八)JDK AIO编程》- 阅读全文
posted @ 2017-04-28 18:14 duanxz 阅读(2965) 评论(1) 推荐(0) 编辑
Java NIO系列教程(十一) Pipe
摘要:Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例如: 1 Pipe pipe = Pipe.open(); 1 P 阅读全文
posted @ 2017-04-28 18:13 duanxz 阅读(851) 评论(0) 推荐(0) 编辑
零拷贝(zero-copy)
摘要:零拷贝(zero-copy)是一种目前只有在使用 NIO 和 Epoll 传输时才可使用的特性。它使你可以快速 高效地将数据从文件系统移动到网络接口,而不需要将其从内核空间复制到用户空间,其在像 FTP 或者 HTTP 这样的协议中可以显著地提升性能。但是,并不是所有的操作系统都支持这一特性。特别地 阅读全文
posted @ 2017-04-28 18:12 duanxz 阅读(1330) 评论(0) 推荐(0) 编辑
Spring Boot下Druid连接池+mybatis
摘要:目前Spring Boot中默认支持的连接池有dbcp,dbcp2, hikari三种连接池。 引言: 在Spring Boot下默认提供了若干种可用的连接池,Druid来自于阿里系的一个开源连接池,在连接池之外,还提供了非常优秀的监控功能,这里讲解如何与Spring Boot实现集成。 1. 环境 阅读全文
posted @ 2017-04-28 18:12 duanxz 阅读(1556) 评论(0) 推荐(0) 编辑
NIO文件锁FileLock
摘要:目录 《linux文件锁flock》 《NIO文件锁FileLock》 《java程序怎么在一个电脑上只启动一次,只开一个进程》 文件锁可以是shared(共享锁)或者exclusive(排他锁)。不是所有的平台都以同一种方式实现文件锁,不同的操作系统可能不同,同一操作系统上的不同文件系统也可能不同 阅读全文
posted @ 2017-04-28 18:11 duanxz 阅读(1719) 评论(0) 推荐(0) 编辑
Java NIO系列教程(七) selector原理 Epoll版的Selector
摘要:目录: Reactor(反应堆)和Proactor(前摄器) 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《【转】第8章 前摄器(Proactor):用于为异步事件多路分离和分派处理器的对象行为模式》 《Java NIO系列教程(八)JDK AIO编程》- 阅读全文
posted @ 2017-04-28 18:11 duanxz 阅读(2302) 评论(0) 推荐(0) 编辑
Java NIO系列教程(六) 多路复用器Selector
摘要:多路复用器Selector是Java NIO编程的基础,熟练地掌握Selector对于掌握NIO编程至关重要。多路复用器提供选择已经就绪的任务的能力。简单来讲,Selector会不断地轮询注册在其上的Channel,如果某个Channel上面有新的TCP连接接入、读和写事件,这个Channel就处于 阅读全文
posted @ 2017-04-28 18:08 duanxz 阅读(4918) 评论(1) 推荐(0) 编辑
Java NIO系列教程(五)Buffer
摘要:Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区实际上是一个容器对象 阅读全文
posted @ 2017-04-24 23:51 duanxz 阅读(1459) 评论(0) 推荐(0) 编辑
Java NIO系列教程(四) Scatter/Gather
摘要:Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chann 阅读全文
posted @ 2017-04-24 23:47 duanxz 阅读(1372) 评论(0) 推荐(0) 编辑
Java NIO系列教程(三) Channel之Socket通道
摘要:目录: 《Java NIO系列教程(二) Channel》 《Java NIO系列教程(三) Channel之Socket通道》 在《Java NIO系列教程(二) Channel》介绍了FileChannel,本章节介绍socket通道类。 一、Socket通道 新的socket通道类可以运行非阻 阅读全文
posted @ 2017-04-24 23:46 duanxz 阅读(13298) 评论(1) 推荐(2) 编辑
Java NIO系列教程(二) Channel通道介绍及FileChannel详解
摘要:目录: 《Java NIO系列教程(二) Channel》 《Java NIO系列教程(三) Channel之Socket通道》 Channel是一个通道,可以通过它读取和写入数据,它就像自来水管一样,网络数据通过Channel读取和写入。通道与流的不同之处在于通道是双向的,流只是在一个方向上移动( 阅读全文
posted @ 2017-04-24 23:44 duanxz 阅读(11321) 评论(0) 推荐(1) 编辑
Java NIO系列教程(一) Java NIO 概述
摘要:《I/O模型之四:Java 浅析I/O模型》 一、阻塞IO与非阻塞IO 阻塞IO: 通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为 阅读全文
posted @ 2017-04-24 23:07 duanxz 阅读(14443) 评论(2) 推荐(2) 编辑
Mina2 udp--zhengli
摘要:一、包与类名。 1、所有类和方法严格使用驼峰法命名。例:SSLFilter 更名为 SslFilter。NIO传输类在命名时增加 Nio 前缀。因为NIO 并不是 socket/datagram 传输的实现,NIO 的所有传输类前缀增加 Nio 。之前Java代码: [java] view plai 阅读全文
posted @ 2017-04-24 09:51 duanxz 阅读(416) 评论(0) 推荐(0) 编辑
NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
摘要:1、NIO超级陷阱 之所以说NIO超级陷阱,就是因为我在本系列开头的那句话,因为使用缺陷导致客户业务系统瘫痪。当然,我对这个问题进行了很深的追踪,包括对MINA源码的深入了解,但其实之所以会出现这个问题,它的根不是MINA的原因,而是JDK底层的问题。 JDK底层在实现nio时,为了能够唤醒等待在i 阅读全文
posted @ 2017-04-23 23:14 duanxz 阅读(452) 评论(0) 推荐(0) 编辑
NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
摘要:1、粘包与段包 粘包:指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收方不及时接收缓冲区的包,造成多个包接收 断包:也就是数据不全,比如包太大,就把包分解成多个小包,多次 阅读全文
posted @ 2017-04-23 23:13 duanxz 阅读(741) 评论(0) 推荐(0) 编辑
spring AOP 之一:spring AOP功能介绍
摘要:一、AOP简介 AOP(Aspect Oriented Programming):是一种面向切面的编程范式,是一种编程思想,旨在通过分离横切关注点,提高模块化,可以跨越对象关注点。Aop的典型应用即spring的事务机制,日志记录。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之 阅读全文
posted @ 2017-04-23 23:13 duanxz 阅读(3599) 评论(0) 推荐(0) 编辑
mina2中的session
摘要:简介 session类图 Mina每建立一个连接同时会创建一个session对象,用于保存这次读写需要用到的所有信息。从抽象类AbstractIoSession中可以看出session具有如下功能: 1、从attributes成员可以看出session可以存放用户关心的键值对 2、注意到WriteR 阅读全文
posted @ 2017-04-23 23:12 duanxz 阅读(2646) 评论(0) 推荐(1) 编辑
mina2的processor
摘要:processor顾名思义,就是进行IO处理,处理当前session的数据读写,并进行业务处理。 在mina server初始化的时候,会初始化一个processor池,通过NioSocketAcceptor的构造器传入池的大小,默认是当前处理器的个数+1。 processor池里面有一个jdk提供 阅读全文
posted @ 2017-04-23 23:10 duanxz 阅读(363) 评论(0) 推荐(0) 编辑
Spring Cloud 各组件调优参数
摘要:Spring Cloud整合了各种组件,每个组件往往还有各种参数。本文来详细探讨Spring Cloud各组件的调优参数。 Tomcat配置参数 Hystrix配置参数 如隔离策略是THREAD: 如果想对特定的HystrixThreadPoolKey 进行配置,则将default 改为 Hystr 阅读全文
posted @ 2017-04-18 15:54 duanxz 阅读(1854) 评论(0) 推荐(1) 编辑
可重入锁
摘要:锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。 四、可重入锁: 本文里面讲的是广义上的可重入锁,而不是单指JAVA下的Reentr 阅读全文
posted @ 2017-04-13 20:30 duanxz 阅读(1110) 评论(0) 推荐(0) 编辑
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
摘要:Round 1:概览 SpringCloud 与Dubbo Round 2:架构完整度 或许很多人会说Spring Cloud和Dubbo的对比有点不公平,Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一 阅读全文
posted @ 2017-04-07 17:04 duanxz 阅读(810) 评论(0) 推荐(0) 编辑
服务注册发现consul之五:Consul移除失效服务的正确姿势
摘要:《consul之:常用API接口》 spring cloud微服务不定期会出现网络请求失败的错误。于是看了下后台日志,发现有几个请求会报如下的异常: Caused by: feign.RetryableException: Connection refused (Connection refused 阅读全文
posted @ 2017-04-07 16:16 duanxz 阅读(12779) 评论(0) 推荐(0) 编辑
Spring Cloud构建微服务架构(七)消息总线
摘要:一、简介 在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。 本期我们来了解下 Spring Cloud 体系中的另外一个组件 Spring Cloud Bus (建议先 阅读全文
posted @ 2017-04-07 15:58 duanxz 阅读(2987) 评论(0) 推荐(0) 编辑
springboot+swagger
摘要:1、项目结构 和上一节一样,没有改变。 2、pom.xml 引入了两个jar。 1 <dependency> 2 <groupId>io.springfox</groupId> 3 <artifactId>springfox-swagger2</artifactId> 4 <version>2.2. 阅读全文
posted @ 2017-04-06 16:45 duanxz 阅读(486) 评论(0) 推荐(0) 编辑
Spring Cloud config之二:Spring cloud config Server源码分析,springboot健康检查请求路径分析
摘要:本文主要从一些spring-cloud-config-server 包中的注解和类来分析配置中心是如何对外提供配置。 从@EnableConfigServer开始 为了让一个spring boot应用成为配置中心,我们需要使用@EnableConfigServer注解 @Target(Element 阅读全文
posted @ 2017-04-06 15:09 duanxz 阅读(1238) 评论(0) 推荐(0) 编辑
Spring Cloud config之一:分布式配置中心config server介绍
摘要:Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在 阅读全文
posted @ 2017-04-06 14:24 duanxz 阅读(2264) 评论(1) 推荐(0) 编辑
服务注册发现Eureka之一:Spring Cloud Eureka的服务注册与发现
摘要:Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包含了 阅读全文
posted @ 2017-04-05 19:42 duanxz 阅读(4053) 评论(0) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示