用户中心USER CENTER

首页/用户
  • AtomicInteger的decrementAndGet方法简单分析

    摘要:调用获取字段在对象中的偏移量其实就是一个字段到对象头部的偏移量,通过这个偏移量可以快速定位字段定义为类型,保证在多线程中的可见性调用参数为当前对象,偏移量,操作值最后是由于获取的值为交换前的值通过返回循环获取最新内存值方法包含两个参数 unsafe.objectFieldOffset 调用unsafe.objectFieldOffset获取value字段在对象中的偏移量(其实就是一个字...

    JasonZhang 发布于Java
  • Java多线程基础-ThreadLocal

    摘要:并没有提供语言级的线程局部变量,而是在类库里提供了线程局部变量的功能,也就是这次的主角类。 Yuicon 转载请注明原创出处,谢谢! 序 在多线程环境下,访问非线程安全的变量时必须进行线程同步,例如使用synchronized方式访问HashMap实例。但是同步访问会降低并发性,影响系统性能。这时候就可以用空间换时间,如果我们给每个线程都分配一个独立的变量,就可以用非同步的方式使用非...

    JasonZhang 发布于Java
  • 一起学设计模式 - 迭代器模式

    摘要:迭代器模式属于行为型模式的一种,提供一种方法访问一个容器中各个元素,而又不需要暴露该对象的内部细节。迭代器模式把在元素之间游走的责任交给迭代器,而不是聚合对象。 迭代器模式(Iterator Pattern)属于行为型模式的一种,提供一种方法访问一个容器中各个元素,而又不需要暴露该对象的内部细节。 概述 迭代器模式听起来可能感觉很陌生,但是实际上,迭代器模式是所有设计模式中最简单也是...

    JasonZhang 发布于Java
  • 第二部分:IDEA 常用设置

    摘要:系列文章第一部分通用操作第二部分常用设置第三部分重构第四部分模板与对比第五部分插件介绍 1、无歧义时自动导入 showImg(https://segmentfault.com/img/remote/1460000011451171?w=880&h=507); 2、注释位置调整 showImg(https://segmentfault.com/img/remote/14600000114...

    JasonZhang 发布于Java
  • Java NIO 的前生今世 之二 NIO Channel 小结

    摘要:通常来说所有的的操作都是从开始的一个类似于一个和对比我们可以在同一个中执行读和写操作然而同一个仅仅支持读或写可以异步地读写而是阻塞的同步读写总是从中读取数据或将数据写入到中类型有文件操作操作操作操作使用在服务器端这些通道涵盖了和网络以及文件 Java NIO Channel 通常来说, 所有的 NIO 的 I/O 操作都是从 Channel 开始的. 一个 channel 类似于一个 ...

    JasonZhang 发布于Java
<