摘要: 原子性就是指该操作是不可再分的。java.util.concurrent.atomic中有一组使用无锁算法实现的原子操作类。AtomicInteger、AtomicBoolean、AtomicLong 外还有AtomicReference 。它们分别封装了对整数、整数数组、长整型、长整型数组和普通对 阅读全文
posted @ 2020-01-10 18:38 那些年的代码 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如 阅读全文
posted @ 2020-01-10 18:02 那些年的代码 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 总结 for(;;) 比 while(true) 好 为啥:如下(底层完全不同) “死循环”有两种写法:for(;;)和while(true),两者有啥区别,为啥源码中多数是for( ; ; )这种形式的, 编译前 编译后 while (1); mov eax,1 test eax,eax je f 阅读全文
posted @ 2020-01-10 17:38 那些年的代码 阅读(15198) 评论(1) 推荐(2) 编辑
摘要: 在笔者想要了解Thrift时候,找到一个博主写的系统间通信技术的架构设计,在了解和学习的过程中遇到很多小问题和基础知识,自己还是不够清楚,就查询和总结下。 因为笔者也都是从网上找的一些资料,好的资料笔者都是自己收敲一遍,这样觉得能够加深下印象,引发更多的思考,毕竟很多时候笔者感觉自己都是七秒的记忆。 阅读全文
posted @ 2020-01-10 16:14 那些年的代码 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 1.背景: countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。 2.概念 countDownLatch这个 阅读全文
posted @ 2020-01-10 15:31 那些年的代码 阅读(208) 评论(0) 推荐(0) 编辑
摘要: WebSocket是JavaEE7新支持的: Javax.websocket.server包含注解,类,接口用于创建和配置服务端点 Javax.websocket包则包含服务端点和客户断电公用的注解,类,接口,异常 创建一个编程式的端点,需要继承Endpoint类,重写它的方法。 创建一个注解式的端 阅读全文
posted @ 2020-01-10 10:17 那些年的代码 阅读(8424) 评论(0) 推荐(0) 编辑