摘要: volatile的作用及原理 当一个变量被volatile修饰时,会拥有两个特性: 保证了不同线程对该变量操作的内存可见性.(当一个线程修改了变量,其他使用次变量的线程可以立即知道这一修改). 禁止了指令重排序. 1. 保证内存可见性 JMM操作变量的时候不是直接在主存进行操作的,而是每个线程拥有自 阅读全文
posted @ 2021-02-16 20:40 songguojun 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 集合框架的线程安全问题 在高并发的场景下有些集合框架是非线程安全的,比如ArrayList、LinkedList、HashSet、HashMap等,因此在高并发环境下使用时是非常不安全的。所以Java也提供了对应的线程安全的并发版本。 集合框架 线程安全集合框架 说明 ArrayList CopyO 阅读全文
posted @ 2021-02-16 20:33 songguojun 阅读(37) 评论(0) 推荐(0) 编辑
摘要: Netty概述 Netty是由Jboss提供的一个异步的,基于事件驱动的高性能网络通信开源框架,可以快速的开发高性能,高可靠的网络IO程序,其实就是对Java原生IO的优化和重写。 Netty主要是针对TCP协议下(TCP/IP -> JDK原生IO -> NIO-> Netty),面向Client 阅读全文
posted @ 2021-02-16 18:35 songguojun 阅读(870) 评论(0) 推荐(0) 编辑