摘要: 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChan... 阅读全文
posted @ 2016-01-26 13:46 开发者里程碑 阅读(273) 评论(0) 推荐(0)
摘要: Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表... 阅读全文
posted @ 2016-01-26 13:45 开发者里程碑 阅读(169) 评论(0) 推荐(0)
摘要: Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的... 阅读全文
posted @ 2016-01-26 13:44 开发者里程碑 阅读(184) 评论(0) 推荐(0)
摘要: Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具... 阅读全文
posted @ 2016-01-26 13:43 开发者里程碑 阅读(159) 评论(0) 推荐(0)
摘要: 1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1... 阅读全文
posted @ 2016-01-26 13:42 开发者里程碑 阅读(636) 评论(0) 推荐(0)
摘要: 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。Java编程入门类一 对于没有Java编程经验的程序员要入门,随便读什么入门... 阅读全文
posted @ 2016-01-25 15:45 开发者里程碑 阅读(559) 评论(0) 推荐(0)
摘要: 一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。Java... 阅读全文
posted @ 2016-01-25 15:44 开发者里程碑 阅读(1746) 评论(0) 推荐(0)
摘要: Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术,具体的应用需求还得具体分析。如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还... 阅读全文
posted @ 2016-01-25 15:43 开发者里程碑 阅读(2529) 评论(0) 推荐(0)
摘要: 分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三... 阅读全文
posted @ 2016-01-25 15:43 开发者里程碑 阅读(176) 评论(0) 推荐(0)
摘要: 本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法。具体参考文章,详见最后的链接。三、LVS负载均衡LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,用来实现Linux平台下的简单负载均衡。LVS是Li... 阅读全文
posted @ 2016-01-25 15:36 开发者里程碑 阅读(219) 评论(0) 推荐(0)