04 2017 档案

摘要:前言 Java NIO 由以下几个核心部分组成: Buffer Channel Selector 以前基于net包进行socket编程时,accept方法会一直阻塞,直到有客户端请求的到来,并返回socket进行相应的处理。整个过程是流水线的,处理完一个请求,才能去获取并处理后面的请求;当然我们可以 阅读全文
posted @ 2017-04-24 15:07 _1900 阅读(3360) 评论(0) 推荐(1) 编辑
摘要:Java NIO 由以下几个核心部分组成: 传统的IO操作面向数据流,意味着每次从流中读一个或多个字节,直至完成,数据没有被缓存在任何地方。NIO操作面向缓冲区,数据从Channel读取到Buffer缓冲区,随后在Buffer中处理数据。本文着重介绍Channel和Buffer的概念以及在文件读写方 阅读全文
posted @ 2017-04-21 10:39 _1900 阅读(450) 评论(0) 推荐(0) 编辑
摘要:深入浅出ConcurrentHashMap(1.8) 前言 HashMap是我们平时开发过程中用的比较多的集合,但它是非线程安全的,在涉及到多线程并发的情况,进行put操作有可能会引起死循环,导致CPU利用率接近100%。 解决方案有Hashtable和Collections.synchronize 阅读全文
posted @ 2017-04-19 17:21 _1900 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:CAS,Compare and Swap即比较并替换,设计并发算法时常用到的一种技术,Doug lea大神在java同步器中大量使用了CAS技术,鬼斧神工的实现了多线程执行的安全性。 目前的处理器基本都支持CAS,只不过不同的厂家的实现不一样罢了。CAS有三个操作数:内存值V、旧的预期值A、要修改的 阅读全文
posted @ 2017-04-19 17:18 _1900 阅读(615) 评论(0) 推荐(0) 编辑
摘要:ava并发采用的是共享内存模型,线程之间的通信对程序员来说是透明的,内存可见性问题很容易困扰着java程序员,今天我们就来揭开java内存模型的神秘面纱。 在揭开面纱之前,我们需要认识几个基础概念:内存屏障(memory Barriers),指令重排序,happens-before规则,as-if- 阅读全文
posted @ 2017-04-19 17:16 _1900 阅读(630) 评论(0) 推荐(0) 编辑
摘要:一、概述 1. 什么是代理 我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品。关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者”对我们来说是不可见的;其次,微商代理主要以朋友圈的人为目标客户,这就相当于为厂家做了一次对客户群体的 阅读全文
posted @ 2017-04-19 16:58 _1900 阅读(539) 评论(0) 推荐(0) 编辑
摘要:摘要: 在JAVA NIO相关的组件中,ByteBuffer是除了Selector、Channel之外的另一个很重要的组件,它是直接和Channel打交道的缓冲区,通常场景或是从ByteBuffer写入Channel,或是从Channel读入Buffer;而在Netty中,被精心设计的ByteBuf 阅读全文
posted @ 2017-04-08 13:19 _1900 阅读(6015) 评论(0) 推荐(0) 编辑
摘要:摘要: 在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件。最常见的IO事件即读写事件,那么这个时候就会涉及到IO线程对数据的读写问题,具体到NIO方面即从内核 阅读全文
posted @ 2017-04-08 13:18 _1900 阅读(2859) 评论(1) 推荐(0) 编辑
摘要:其实,双亲委派模型并不复杂。自定义类加载器也不难!随便从网上搜一下就能搜出一大把结果,然后copy一下就能用。但是,如果每次想自定义类加载器就必须搜一遍别人的文章,然后复制,这样显然不行。可是自定义类加载器又不经常用,时间久了容易忘记。相信你经常会记不太清loadClass、findClass、de 阅读全文
posted @ 2017-04-08 13:16 _1900 阅读(43321) 评论(9) 推荐(23) 编辑
摘要:Java中的阻塞队列接口BlockingQueue继承自Queue接口。 BlockingQueue接口提供了3个添加元素方法。 3个删除方法。 常用的阻塞队列具体类有ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue、Linke 阅读全文
posted @ 2017-04-08 13:13 _1900 阅读(2011) 评论(0) 推荐(0) 编辑
摘要:引言 二叉查找树是一种能将链表插入的灵活性和有序数组查找的高效性结合起来的一种重要的数据结构,它是我们后面学习红黑树和AVL树的基础,本文我们就先来看一下二叉查找树的实现原理。 二叉查找树的定义 二叉查找树最重要的一个特征就是:每个结点都含有一个Comparable的键及其相关联的值,该结点的键要大 阅读全文
posted @ 2017-04-08 13:11 _1900 阅读(1306) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示