![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java底层
文章平均质量分 62
richard1986317
这个作者很懒,什么都没留下…
展开
-
Java NIO实战
[size=small] 最近参与实现底层高并发处理的项目,接收socket客户端的连接请求,然后调用主机服务进行通讯。系统需要满足100TPS(吞吐量(tps)=活动的用户数/响应时间)的性能要求。 通过查阅相关的文献及网上的资料,最终采用java NIO技术方案来实现。系统上线后各方面性能表现不错,也给我们技术团队更多的信心。以下分享一下Java NIO这块的程序,希望对各...原创 2014-12-24 22:17:30 · 133 阅读 · 0 评论 -
由一个CUP占用率过高的问题去理解Java垃圾回收机制
[size=small]最近我们的高并发平台遇到用户高峰运行时总会出现CPU占用率过高的问题,经过一段时间的排查及查阅相关的JVM资料,发现在程序中有这样一块代码引起了注意:[/size][img]http://dl2.iteye.com/upload/attachment/0104/6278/ef27481d-ab26-33fe-a41f-837e16229958.png[/img]...原创 2014-12-25 22:29:16 · 548 阅读 · 0 评论 -
并发锁及java.util.concurrent包浅析
[size=small]我们在处理并发操作的时候经常使用锁机制,大家常用的synchronized和Lock.1.二者使用方式有所不同: synchronized可以在方法前或者代码块中,synchronized是java中的内置锁,由jvm控制锁的释放。 Lock使用在代码块中,加锁之后需要显示的释放,一般在finally中释放锁,主要有两种锁Reentran...原创 2015-02-28 19:21:22 · 114 阅读 · 0 评论 -
两个线程交替打印数字-Condition唤醒与等待
[b]看到一道关于多线程题:如何实现两个线程交替打印数字0-9?[/b]首先我们会想到要实现交替打印,那么就要其中一个执行的时候,另外一个处于等待状态,当该线程执行完的时候,唤醒另外一个。如此执行就可实现。我们可以通过wait和notify对线程进行状态控制,并且我们需要两个监视器分别对这两个线程的wait和notify控制。如果用synchronized的wait和notify,...2015-10-18 19:24:34 · 665 阅读 · 0 评论 -
java异步计算场景应用
最近项目中遇到一个业务场景:将当期数据库中的表迁移到另外一个数据库中,为满足迁移效率需要进行并发数据迁移。对每一数据表可以启动不同的线程同时迁移数据。迁移完成后,同步更新对应该迁移任务的状态字段。最先想到的是使用java中并发工具类:同步屏障CyclicBarrier。CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到...2016-02-14 09:06:24 · 241 阅读 · 0 评论