会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
记录思考的痕迹
——人贵有思
博客园
首页
联系
订阅
管理
2017年9月23日
Java并发之CyclicBarrier、CountDownLatch、Phaser
摘要: 在Java多线程编程中,经常会需要我们控制并发流程,等其他线程执行完毕,或者分阶段执行。Java在1.5的juc中引入了 和`CyclicBarrier Phaser`。 CountDownLatch A synchronization aid that allows one or more thr
阅读全文
posted @ 2017-09-23 20:04 aheizi
阅读(3703)
评论(0)
推荐(0)
2017年7月6日
Java多线程之ThreadLocal
摘要: ThreadLocal简介 ThreadLocal是Java中的线程局部变量,用于存放线程的局部变量。 ThreadLocal为每个线程的中并发访问的数据提供一个副本,通过访问副本来运行业务,这样的结果是耗费了内存,但是确避免线程同步所带来性能消耗,也减少了线程并发控制的复杂度。 首先看一下Thre
阅读全文
posted @ 2017-07-06 11:53 aheizi
阅读(700)
评论(0)
推荐(0)
JVM总结之命令行工具
摘要: jps jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号。 jps相当于Solaris进程工具ps。不象”pgrep java”或”ps ef grep java”,jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用jav
阅读全文
posted @ 2017-07-06 10:15 aheizi
阅读(756)
评论(0)
推荐(0)
2017年7月5日
JVM总结之GC
摘要: 哪些内存需要回收 在Java堆中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要知道哪些对象还“存活着”,哪些对象已经”死去“。 引用计数算法 引用计数法的实现:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1,当引用失效时,计数器就减1,只要计数器为0的对象就
阅读全文
posted @ 2017-07-05 14:19 aheizi
阅读(513)
评论(0)
推荐(0)
2017年7月2日
JVM总结之内存区域
摘要: Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,有的区域是线程共享的,有的区域是线程隔离的。如下图: 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号
阅读全文
posted @ 2017-07-02 12:37 aheizi
阅读(604)
评论(0)
推荐(0)
2017年6月29日
Java注解--实现动态数据源切换
摘要: 当一个项目中有多个数据源(也可以是主从库)的时候,我们可以利用注解在mapper接口上标注数据源,从而来实现多个数据源在运行时的动态切换。 实现原理 在Spring 2.0.1中引入了AbstractRoutingDataSource, 该类充当了DataSource的路由中介, 能有在运行时, 根
阅读全文
posted @ 2017-06-29 21:02 aheizi
阅读(12328)
评论(5)
推荐(4)
Java注解--实现简单读取excel
摘要: 实现工具类 利用注解实现简单的excel数据读取,利用注解对类的属性和excel中的表头映射,使用Apache的poi就不用在业务代码中涉及row,rows这些属性了。 定义注解: 由于本例中只涉及根据Excel表头部分对Excel进行解析,只定义了一个name作为和Excel表头的隐射。 工具类完
阅读全文
posted @ 2017-06-29 13:58 aheizi
阅读(6565)
评论(0)
推荐(1)
2017年6月23日
java中的注解总结
摘要: 1. 什么是注解 注解是java5引入的特性,在代码中插入一种注释化的信息,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。注解也叫元数据(meta data)。这些注解信息可以在编译期使用预编译工具进行处理(pre compiler tools),也可以在运行期使用 J
阅读全文
posted @ 2017-06-23 17:31 aheizi
阅读(1308)
评论(0)
推荐(0)
2017年6月20日
高性能队列Disruptor系列3--Disruptor的简单使用(译)
摘要: 简单用法 下面以一个简单的例子来看看Disruptor的用法:生产者发送一个long型的消息,消费者接收消息并打印出来。 首先,我们定义一个Event: 为了使Disruptor对这些Event提前分配,我们需要创建一个EventFactory: 事件已经定义好了,我们需要创建一个消费者来处理这些消
阅读全文
posted @ 2017-06-20 11:08 aheizi
阅读(2501)
评论(1)
推荐(1)
2017年6月19日
高性能队列Disruptor系列2--浅析Disruptor
摘要: 1. Disruptor简单介绍 Disruptor是一个由LMAX开源的Java并发框架。LMAX是一种新型零售金融交易平台,这个系统是建立在 JVM 平台上,核心是一个业务逻辑处理器,它能够在一个线程里每秒处理 6 百万订单。业务逻辑处理器完全是运行在内存中(in memory),使用事件源驱动
阅读全文
posted @ 2017-06-19 10:32 aheizi
阅读(3137)
评论(0)
推荐(0)
下一页
公告