加载中
更好的使用JAVA线程池

这篇文章结合Doug Lea大神在JDK1.5提供的JCU包,分别从线程池大小参数的设置、工作线程的创建、空闲线程的回收、阻塞队列的使用、任务拒绝策略、线程池Hook等方面来了解线程池的使用,其中涉...

2016/03/27 15:02
3.7W
源码解析线程池调度器之任务延迟调度实现机制

调度线程执行器ScheduledThreadPoolExecutor是线程执行器ThreadPoolExecutor的扩展,在ThreadPoolExecutor基础之上添加了在一定时间间隔之后调度任务的核心功能,也包括之后的按既定时间间隔...

2016/01/17 01:17
2.1K
聊聊线程技术与线程实现模型

做多线程应用开发,对于线程的理解是非常重要的,我们要为我们创建的每一个线程负责。这篇文章主要聊聊操作系统线程相关的主题,在了解线程定义、用户态与内核态、模态切换、线程上下文切换的...

Netty精粹之轻量级内存池技术实现原理与应用

在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件。最常见的IO事件即读写事...

2016/02/12 19:17
2.1W
Netty精粹之基于EventLoop机制的高效线程模型

Infoq有篇文章提到通过Netty4+Thrift压缩二进制编码技术有人实现了10W TPS(1K的复杂POJO对象)跨节点远程服务调用,对于RPC应用来说高性能的三个主题永远是IO模型、数据协议、线程模型,10W...

异步Servlet编程 | Servlet3.0新特性

这篇文章的内容主要围绕着Servlet3.0的一个新特性:异步Servlet。听起来让人兴奋的新特性我们在考虑使用这个它之前我们必须能够先回答一个问题:为什么要使用异步Servlet以及它的适应场景?...

2016/01/03 21:57
2.2K
更好地理解与使用Future

一个多月没有写东西了,今天想写的也是想记录下来的一些学习及思考结果,记忆能力有限,避免时间长久就忘记了,今天想写的也还是一些基础的东西,为什么我总是关注这些平时码业务代码很少能用...

基于JAVA的Promise模式实现

Promise模式是一种异步编程模式,即我们可以先开始一个任务,拿到这个任务的凭据而并不需要立即得到这个任务的执行结果才继续往下执行,我们拿着这个凭证可以在之后任何需要的时候去兑换结果...

2016/01/23 23:23
1.2W
一行JAVA代码

一、写在前面 写这篇文章主要是为了记录和分析前段时间对JVM的一些学习成果,虽然最近事情有点多,但是为了防止过段时间忘记了又要花一些时间去学习,所以还是决定抽出一些时间把已经获得的知...

2018/11/11 10:48
718
Netty精粹之JAVA NIO开发需要知道的

学习Netty框架以及相关源码也有一小段时间了,恰逢今天除夕,写篇文章总结一下。Netty是个高效的JAVA NIO框架,总体框架基于异步非阻塞的设计,基于网络IO事件驱动,主要贡献在于可以让用户基...

2016/02/07 22:52
4.1W
Netty精粹之玩转NIO缓冲区

在JAVA NIO相关的组件中,ByteBuffer是除了Selector、Channel之外的另一个很重要的组件,它是直接和Channel打交道的缓冲区,通常场景或是从ByteBuffer写入Channel,或是从Channel读入Buffer;...

2016/03/13 19:21
7.1K
Redis异步化组件模型

Redis对客户端的IO事件处理是由主线程串行执行的,除了IO事件之外,这个线程还负责过期键的处理、复制协调、集群协调等等,这些除了IO事件之外的逻辑会被封装成周期性的任务由主线程周期性的...

JAVA锁漫谈,最好的锁是无锁

关于synchronized 众所周知,JAVA中最简单的加锁方法是用关键字synchronized,我们可以使用这个关键字将一个方法变成线程安全的,也可以将一个代码块变成线程安全的,这样子我们不需要再担心...

2015/11/29 22:40
6.4K
扒一扒ReentrantLock以及AQS实现原理

提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒Lock是如何实现的,比如我们可以先提出一些问题:当我们通实例化一...

Netty精粹之设计更快的ThreadLocal

Netty是一款优秀的开源的NIO框架,其异步的、基于IO事件驱动的设计以及简易使用的API使得用户快速构建基于NIO的高性能高可靠性的网络服务器成为可能。Netty除了使用Reactor设计模式加上精心设...

2016/02/09 17:18
8.8K
理解CacheLine与写出更好的JAVA

今天查了很多资料,主要是想搞清楚写JAVA和CacheLine有什么关系以及我们如何针对CacheLine写出更高的JAVA。 CPU和内存 CPU是计算机的大脑,它负责运算,内存是数据,它为CPU提供数据。这里之...

2015/12/06 00:40
9.7K
MySQL数据库复制概论

每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:诶?这项技术又是什么玩意(What)?这项技术为什么会存在?我们已经有那么多解决方案(...

2016/03/05 22:04
9.2K
【译】可以不要再使用Double-Checked Locking了

Double-Checked Locking方法被广泛的使用于实现多线程环境下单例模式的懒加载方式实现,不幸的是,在JAVA中,这种方式有可能不能够正常工作。在其他语言环境中,如C++,依赖于处理器的内存模...

2016/05/03 01:00
5K
Redis网络架构及单线程模型

最近略有闲暇时间,于是对Redis进行了一些学习,学习途径除了官方文档还有Redis源代码,我看的版本是2.8.13,Redis源码总行数不到5W行,不同组件拆分非常细致,阅读起来也很清晰。这篇博客主...

Redis缓存失效机制

Redis缓存失效的故事要从EXPIRE这个命令说起,EXPIRE允许用户为某个key指定超时时间,当超过这个时间之后key对应的值会被清除,这篇文章主要在分析Redis源码的基础上站在Redis设计者的角度去...

2016/05/22 00:45
4.9K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部