Java 多线程 (并发)总结
一、概念1. 维基百科解释进程是什么?http://zh.wikipedia.org/wiki/%E8%BF%9B%E7%A8%8B线程是什么?http://zh.wikipedia.org/wiki/%E5%9F%B7%E8%A1%8C%E7%B7%922. 一个巧妙的比喻《进程与线程的一个简单解释》...
View Article[原]Java多线程中的synchronized、volatile和无锁编程
1、Java线程的状态1. 新建状态(New):新创建了一个线程对象。 2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 4....
View Article致敬disruptor:CAS实现高效(伪)无锁阻塞队列实践
引言在多线程开发中,我们常常遇到这样一种场景:一些线程接受用户请求,另外一些线程处理这些请求,之所以把接受请求和处理请求的逻辑分开,一方面是出于资源调度的考虑(用户请求也许很多,但这些请求涉及的资源很少),另一方面也可能是异步响应的需求。这种场景存在于NIO的通信框架,存在于Tomcat的回调处理框架,存在于日志系统的异步flush,存在于各种类型的线程池中。总之,这种典型的生产者消费者场景比比皆是...
View Article[译]Java SE 8 新特性之旅 : Java开发世界的大变动
我很自豪的成为了adopt-OpenJDK的一员,像其他专业团队成员一样,但是我只刚加入了8个月,我们一同经历了Java SE 8 的开发、编译、编码、讨论……等等,直到JDK上线。Java SE 8发布于2014年3月18日,现在可供下载使用。 我很高兴发布这一系列“Java SE 8 新特性之旅”,我会写一些例子来简化Java SE 8知识的获取、开发经验、新特性和API,然后...
View Article线程的那些事
线程的那些事前言:这篇文章主要小结下linux下多线程的知识点,并且有一些多线程编程中的拓展概念。以及c语言编写线程池的思路linux线程简介线程的私有数据和公有数据线程的上下文切换创建线程线程终止互斥量条件变量多线程概念简单拓展 竟态条件 并发与并行同步与互斥volatileCAS(compare and swap)指令重排和内存屏障c语言实现线程池思想...
View ArticleJmeter常用函数之__CSVRead使用
http://blog.csdn.net/xinwang/article/details/9816293__CSVRead函数用于对脚本进行参数话,当脚本中不同变量需要不同参数值时,可以考虑__CSVRead函数。 以登录的用户名、密码为例:实际进行压力测试时,需要模拟使用不同的用户并发访问系统,此时需要我们对脚本中的用户名、密码进行参数化;下面具体介绍如何使用csvread函数: 1....
View ArticleGoogle 三年来最大的调整,这将影响到谁?
作者: 我是老红啊在今年的 Google I/O 上,Google 公布了其在 Google Play 应用商店内推出搜索广告服务的计划;而实际上,早在今年 2 月,Google 就已经在向部分用户和开发者测试了这个功能。近日,Google Play 的搜索广告功能得以正式上线。根据 Google 的官方描述,当用户在 Google Play 中搜索类似「里程追踪器」(mileage...
View ArticleLinux 使用 SSD 的最佳化分割、設定方式
SSD 和一般傳統硬碟的運作不太一樣,Flash memory 經不起大量多次的寫入,所以此篇做些設定部份的改善。Linux 使用 SSD 的最佳化分割、設定方式下述整理自此篇: Linux平台使用SSD必讀 (範例為Ubuntu)使用適當的磁區分割程式 (避免空間浪費)分割程式 (自動補齊磁區功能:...
View Article搭建远程会议系统(简单得集成到edx里)
这一周简直就是在客串系统管理员啊,搭建各种服务还是挺有意思的公司目前人员比较分散,挺多城市都有,可能需要召开远程会议什么的。edx项目中似乎也有远程教学的需求,所以准备搭建一个远程会议系统github首先当然是去github搜索一番,键入conference。按照star降序排列我们看到:WebRTC-Experimentbigbluebuttonvoicechat筛选一番觉得bigbluebutt...
View ArticleGalera:多主同步MySQL集群原理解析
引言Galera Cluster是基于MySQL/innodb二次开发而成的一个支持“多主同步”的数据库主从集群。强调主从集群意味着Galera Cluster的每个节点充当一个数据冗余,而没有在节点间做分库分表的水平扩展。Galaer官网中为Galera Cluster洋洋洒洒罗列了10大优势,其实总结下来无非上文用引号注明的两点:多主 Galera...
View Article产品经理
再谈下怎样能够算得上一个合格的产品经理,一个人不是说你能够有产品构思,能够画点原型,能够做团队和项目管理就是产品经理。苏杰原来有本书叫《人人都是产品经理》,看了后大家可能会觉得做一个产品经理是挺容易的一件事情,但是自互联网提供和设置了大量的产品经理岗位后,产品经理这个词基本就烂大街了。 我们如何来界定一个产品经理,如果简单点来讲可以理解为...
View Articlejava并发编程实践学习笔记
关键字: 原子操作:原子为不可再分操作。 Violation :可见关键字。 Synchronized:内部隐示锁 ReentrantLock:显示锁 ReentrantReadWriteLock:读写锁 final:创建后不变 jmm(java内存模型): 线程对所有变量的操作都是在工作内存中进行,线程之间无法相互直接访问,变量传递...
View ArticleDisruptor封装
在数据交换场景,disruptor受到越来越多的欢迎。下面是将原生disruptor封装成queue模型的代码,供参考 抽象类Disruptor,提供pull、take等接口 import com.lmax.disruptor.EventHandler; import com.lmax.disruptor.InsufficientCapacityException; import...
View Articledisruptor使用示例
LMAX 开源了一个高性能并发编程框架。可以理解为消费者-生产者的消息发布订阅模式。本文下载了官方示例代码,进行实验。longEvent事件数据 public class LongEvent { private long value; public void set(long value) { this.value = value; } public long get(){ return...
View ArticleDisruptor 学习笔记
Disruptor 是什么Disruptor 是一个高性能异步处理框架,也可以认为是一个消息框架,它实现了观察者模式。Disruptor 比传统的基于锁的消息框架的优势在于:它是无锁的、CPU友好;它不会清除缓存中的数据,只会覆盖,降低了垃圾回收机制启动的频率。 Disruptor 为什么快1. 不使用锁。通过内存屏障和原子性的CAS操作替换锁。2....
View ArticleDisruptor 极速体验 - haiq
已经不记得最早接触到 Disruptor 是什么时候了,只记得发现它的时候它是以具有闪电般的速度被介绍的。于是在脑子里, Disruptor 和“闪电”一词关联了起来,然而却一直没有时间去探究一下。 最近正在进行一项对性能有很高要求的产品项目的研究,自然想起了闪电般的 Disruptor ,这必有它的用武之地,于是进行了一番探查,将成果和体会记录在案。一、什么是...
View ArticleDisruptor使用入门
在最近的项目中看到同事使用到了Disruptor,以前在ifeve上看到过关于Disruptor的文章,但是没有深入研究,现在项目中用到了,就借这个机会对这个并发编程框架进行深入学习。项目中使用到的是disruptor-2.10.4,所以下面分析到的Disruptor的代码是这个版本的。并发编程网介绍Disruptor的文章是disruptor1.0版本,所以有一些术语在2.0版本上已经没有了或者被...
View Article[原]互联网金融系列-支付清算体系介绍-上
一,支付清算体系的简介 支付清算体系是一个国家的金融基础设施,或说公共服务。我国由央行主管此事,目前大体维持“结算-清算”二级制的支付体系。...
View Article你为什么会离开游戏行业?
文/Skywind这个题目本来不想讨论,现实生活中我是一个尊重他人的人,而尊重他人最重要的是尊重他人的选择,尊重他人的价值观和梦想。但是身边太多惨痛的教训,让我有种不吐不快的想法,大家偶尔也该停下忙碌的脚步来想想自己要走的路,也是一件很有意义的事情,所以如果言语中我伤害了你的梦想,请你绕道而行:下有地雷,玻璃们请小心绕路:观点1:开宝箱游戏更像一个项目,不是一个事业,研发个一两年产品上线,是死是活听...
View Article