- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 单例模式中为什么用枚举更好
枚举单例(Enum Singleton)是实现单例模式的一种新方式,尽管单例模式在java中已经存在很长时间了,但是枚举单例相对来说是一种比较新的概念,枚举这个特性是在Java5才出现的,这篇文章主要讲解关于为什么我们应该使用枚举来实现单例模式,它与传统方式实现的单例模式相比较又有哪些优势?1. 枚举写法简单写法简单这是它最大的优点,如果你先前写过单例模式,你应该知道即使有DCL(
2016-06-29 11:59:45 316
转载 Java RMI原理与使用
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。Java RMI概念在Java中,只要一个类继承了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务。JavaDoc描述:Remote 接口用于
2016-06-28 14:10:03 358
转载 Java NIO 详解(二)
在我的上一篇文章JavaNIO详解(一)中介绍了关于标准输入输出NIO相关知识, 本篇将重点介绍基于网络编程NIO(异步IO)。异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write()调用将会阻塞直至数据能够写入,关于同步的IO请参考另一篇文章Java IO。另一方面,异步 I/
2016-06-28 14:08:48 315
转载 Java IO
一、java io 概述1.1 相关概念Java IOJava IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设
2016-06-28 14:08:05 342
转载 Java NIO 详解(一)
NIO即新的输入输出,这个库是在JDK1.4中才引入的。它在标准java代码中提供了高速的面向块的IO操作。一、基本概念描述1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再
2016-06-28 14:07:12 387
转载 解析Disruptor的依赖关系
原文地址:http://ifeve.com/dissecting-disruptor-wiring-up/作者:Trisha 译者:廖涵 校对:方腾飞现在我已经讲了 RingBuffer 本身,如何从它 读取 以及如何向它 写入。从逻辑上来说,下一件要做的事情就是把所有的东西拼装到在一起。我前面提到过多生产者的情况——他们通过 ProducerBarrier
2016-06-27 14:21:45 675
转载 Disruptor(无锁并发框架)-发布
原文:http://blog.codeaholics.org/2011/the-disruptor-lock-free-publishing/译者:罗立树假如你生活在另外一个星球,我们最近开源了一套高性能的基于消息传递的开源框架。下面我给大家介绍一下如何将消息通过Ring buffer在无锁的情况下进行处理。在深入介绍之前,可以先快速阅读一下Trish发表的文章,该
2016-06-27 14:15:24 392
转载 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
原文地址:http://ifeve.com/disruptor-padding/作者:Trisha 译者:方腾飞 校对:丁一我们经常提到一个短语Mechanical Sympathy,这个短语也是Martin博客的标题(译注:Martin Thompson),Mechanical Sympathy讲的是底层硬件是如何运作的,以及与其协作而非相悖的编程方式。我在上一篇文
2016-06-27 13:40:46 342
转载 剖析Disruptor:为什么会这么快?(一)锁的缺点
原文:http://ifeve.com/disruptor-locks-are-bad/作者:Trisha’s 译者:张文灼,潘曦 整理和校对:方腾飞,丁一Martin Fowler写了一篇非常好的文章,里面不仅提到了Disruptor,而且还解释了Disruptor 如何应用在LMAX的架构里。里面有提及了一些目前没有涉及的概念,但最经常问到的问题是 “Disruptor
2016-06-27 13:40:13 303
转载 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处
原文地址:http://ifeve.com/ringbuffer/作者:Trisha 译者:寒桐 校对:方腾飞最近,我们开源了LMAX Disruptor,它是我们的交易系统吞吐量快(LMAX是一个新型的交易平台,号称能够单线程每秒处理数百万的订单)的关键原因。为什么我们要将其开源?我们意识到对高性能编程领域的一些传统观点,有点不对劲。我们找到了一种更好、更快地在线程间
2016-06-27 11:35:09 379
转载 剖析Disruptor:为什么会这么快?(三)揭秘内存屏障
原文地址:http://ifeve.com/disruptor-memory-barriers/译者:杜建雄 校对:欧振聪最近我博客文章更新有点慢,因为我在忙着写一篇介绍内存屏障(Memory Barries)以及如何将其应用于Disruptor的文章。问题是,无论我翻阅了多少资料,向耐心的Martin和Mike请教了多少遍,以试图理清一些知识点,可我总是不能直观地抓到重点
2016-06-27 11:28:08 507
转载 如何使用Disruptor(二)如何从Ringbuffer读取
英文原文:http://ifeve.com/dissecting-the-disruptor-how-do-i-read-from-the-ring-buffer/作者:Trisha 译者:古圣昌 校对:方腾飞从上一篇文章中我们都了解了什么是Ring Buffer以及它是如何的特别。但遗憾的是,我还没有讲述如何使用Disruptor向Ring Buffer写数据和从Ri
2016-06-27 11:12:09 352
转载 LMAX Disruptor——一个高性能、低延迟且简单的框架
原文地址:LMAX Disruptor – High Performance, Low Latency and Simple Too 翻译:杨帆 校对:丁一Disruptor是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列,并且它是让LMAX Exchange跑的如此之快的一个关键创新。关于什么是Disruptor、为何它很重要以及它的工作原理方面的信息都呈爆炸性增长 ——
2016-06-27 11:10:40 1494
原创 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件
这个大坑... ....如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常: val conf = new SparkConf().setAppName("GenreicSaveLoad").setMaster("local") val sc = new SparkContext(conf)
2016-06-07 10:43:02 1372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人