happens-before:描述内存可见性
as-if-serial:无论怎么重排序,程序的运行结果不会改变

ReentrantLock依赖了队列同步器AQS,其实现方式是volatile变量的读写操作进行线程间通信,通过CAS修改state值,成功,其state值>0,则取锁成功

ConcurrentHashMap:有一个Segment的数组,它继承了ReentrantLock可重入锁的功能,在put时,通过hash及rehash,再取模确定Segment的index,Segment中有HashEntry数组,才是保存key,value的地方,通过put等修改操作修改mod,计算总数时,在mod不变时不加锁计算,发现mod变化后,加锁计算

DelayQueue,可以保存有效期,可用来实现缓存过期清理

Fork/Join,大任务切分子任务,再聚合结果

CountDownLatch,等待其他先出完成操作,可用来提示任务结束等

CyclicBarrier,等待多个线程到达同一个屏障后,再一起往下仔细,有reset方法,可重试

Semaphore作为信号量,可控制线程数量,用来管理有限的资源访问

多路复用器监听某个端口的事件,把就绪的事件选择集合进行I/O操作

ChannelPipeline:Channel数据管道,消息在其中流动传递,就像Filter链表一样,其上可以绑定channelHandler,它是线程安全的,可动态增删handler

Reactor多线程模型:一个NIO线程辅助监听服务端,接受TCP请求
网络IO操作有一个线程池负责

Reactor主从多线程模型:Acceptor:一个NIO线程池负责监听服务端,
sub reactor一个线程池负责IO

netty对网络闪断等问题已经优化,不会造成资源没有关闭,对业务异常进行拦截

ServerHandler、ClientHandler都是ChannelInBoundChannel,可以读取数据

redis备份rdb\aof ,bgSave,重写aof

byteBuffer position,limit

一些内存模型、并发、netty知识点的记录的更多相关文章

  1. Java内存模型---并发编程网 - ifeve.com

    Java内存模型 转自:http://ifeve.com/java-memory-model-6/ 原文地址  作者:Jakob Jenkov 译者:张坤 Java内存模型规范了Java虚拟机与计算机 ...

  2. 【Java并发编程】6、volatile关键字解析&内存模型&并发编程中三概念

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  3. java内存模型(netty权威指南)

    1.Java内存模型 Java虚拟机规范中试图定义一种java内存模型(java Memory Model,jmm)来屏蔽掉各种操作系统.虚拟机实现厂商和硬件的内存访问差异,以确保Java程序在所有操 ...

  4. volatile关键字解析&内存模型&并发编程中三概念

    原文链接: http://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java5之前,它是一个 ...

  5. Java 线程 — JMM Java内存模型

    JMM Java Memory Model,Java内存模型,属于语言级的内存模型 并发编程中存在的问题: 如何通信:用于线程之间交换信息.两种方式:共享内存,消息传递 如何同步:用于控制不同线程间操 ...

  6. JVM-7.Java内存模型与高效并发

    更多内容参见<并发与同步>系列 一.引子 二.JMM 三.Java中的线程 四.线程安全 五.锁优化       一.引子 运算能力 摩尔定律:晶体管数量,代表的CPU的频率 Amdahl ...

  7. JVM学习记录-Java内存模型(二)

    对于volatile型变量的特殊规则 关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制. 在处理多线程数据竞争问题时,不仅仅是可以使用synchronized关键字来实现,使用vo ...

  8. 并发编程之 Java 内存模型 + volatile 关键字 + Happen-Before 规则

    前言 楼主这个标题其实有一种作死的味道,为什么呢,这三个东西其实可以分开为三篇文章来写,但是,楼主认为这三个东西又都是高度相关的,应当在一个知识点中.在一次学习中去理解这些东西.才能更好的理解 Jav ...

  9. java内存模型知识点汇总

    1.像windows/linux这种操作系统中,自带jvm么?以方便java程序的运行? 答:是的,一般操作系统都自带jvm的.但不带jdk,也就是说java的运行环境有,但编译环境没有. 1.jav ...

随机推荐

  1. wsimport 命令不是内部命令

    问题: 1. webservice在输入命令的时候wsimport的时候会出现如下错误: wsimport不是内部或者外部命令. 2. javac不是内部或者外部命令 3 java 就可以显示配置成功 ...

  2. Can you solve this equation?

    Problem Description Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its sol ...

  3. Codeforces 376A. Night at the Museum

    A. Night at the Museum time limit per test 1 second memory limit per test 256 megabytes input standa ...

  4. Maven合并多个war包的工程需要用到的插件

    <build> <finalName>WebSite</finalName> <plugins> <!-- 配置war包合并的插件 --> ...

  5. 跨域请求CORS

    参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS http://www.ruanyifeng.com/b ...

  6. Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令

    上篇博客我们介绍了权限管理的ACL权限,通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限.这篇博客我们将介绍权限管理中用的比较多的两个命令 chattr 和 sudo . 1.设定文件系统 ...

  7. 前端html 中jQuery实现对文本的搜索并把搜索相关内容显示出来

    做项目的时候有这么一个需求,客户信息显示出来后我要搜索查找相关的客户,并把相关的客户信息全部显示出来,因为一个客户全部信息我写在一个div里面  所以显示的时候就是显示整个div.先看看实现的效果: ...

  8. NLP论文泛读之《教材在线评论的情感倾向性分析》

    NLP论文泛读之<教材在线评论的情感倾向性分析> 本文借助细粒度情感分类技术, 对从网络上抓取大量计算机专业本科教材的评价文本进行情感极性 分析, 从而辅助商家和出版社改进教材的质量.制定 ...

  9. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  10. jQuery的事件绑定命名空间

    jQuery的bind的函数在实际应用中用的不是特别多,只是他可以绑定一个事件,但不会即时触发,也可以通过unbind来解除绑定.在没有看到这篇文章之前,我一直不知道原来bind也可以有命名空间.事实 ...