JAVA基础
文章平均质量分 82
萤火虫飞
人生最可悲的事情,莫过于胸怀大志,却又虚度光阴——无梦者追梦~~
展开
-
从LongAdder看更高效的无锁实现
原文链接:http://coolshell.cn/articles/11454.html LongAdder确实用了很多心思减少并发量,并且,每一步都是在”没有更好的办法“的时候才会选择更大开销的操作,从而尽可能的用最最简单的办法去完成操作。追求简单,但是绝对不粗暴。 AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 接触到AtomicLong的原因是在转载 2016-08-22 14:07:11 · 1182 阅读 · 0 评论 -
Java中的CompareAndSet(CAS)
Atomic从JDK5开始, java.util.concurrent包里提供了很多面向并发编程的类. 使用这些类在多核CPU的机器上会有比较好的性能. 主要原因是这些类里面大多使用(失败-重试方式的)乐观锁而不是synchronized方式的悲观锁. 今天有时间跟踪了一下AtomicInteger的incrementAndGet的实现, 在这里就是做个笔记, 方便以后再深入研究.转载 2016-08-24 09:52:39 · 1696 阅读 · 0 评论 -
Java ThreadLocal详解
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.Thread转载 2016-08-24 10:01:08 · 279 阅读 · 0 评论 -
JDK动态代理实现彻底分析
代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问。 代理模式的结构如下图所示。 动态代理使用 java动态代理机制以巧妙的方式实现了代理模式的设计理念。 代理模式示例代码 public interface Subject { public void doSomething(); } public class RealSubject转载 2016-08-24 14:41:38 · 862 阅读 · 0 评论 -
经典好文:Java动态代理实现
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字节码文件是根据JVM虚拟机规范中规定的字节码组织规转载 2016-08-24 15:28:49 · 378 阅读 · 0 评论