lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2019年5月8日

摘要: public final int getAndIncrement() { for (;;) { int current = get(); // 取得AtomicInteger里存储的数值 int next = current + 1; // 加1 if (compareAndSet(current, 阅读全文
posted @ 2019-05-08 22:56 白露~ 阅读(2080) 评论(0) 推荐(0) 编辑

摘要: 前记 在看JUC中并发相关的源码时经常看到AQS的身影,这到底是个什么鬼?必须要一探究竟。 一. AQS背景了解 JUC包中的锁,包括: Lock接口,ReadWriteLock接口,LockSupport阻塞原语,Condition条件, AbstractOwnableSynchronizer/A 阅读全文
posted @ 2019-05-08 22:22 白露~ 阅读(2234) 评论(0) 推荐(0) 编辑

摘要: PS: 在Java新版本开发的过程中,曾经传出Oracle要移除掉Unsafe类,引起了很大的恐慌,但在Java9发布时,发现jdk.internal.misc包路径出现了Unsafe类,不仅开放使用而且还增加了大量的注释方便理解,说明Java在开源的道路上依然在前进。 对于getXXVolatil 阅读全文
posted @ 2019-05-08 20:33 白露~ 阅读(429) 评论(0) 推荐(0) 编辑

摘要: 废话 个人理解:java 出现的原因之一,就是对内存的管理;在c/c++,内存可以随心使用,超高的性能也伴有极高的风险;java极大的规避了这种风险,却也降低了程序运行的性能;那么java是否提供直接操作内存的方法呢?当然:Unsafe 类就是java提供的,对系统硬件级别的底层操作; 1,Unsa 阅读全文
posted @ 2019-05-08 20:32 白露~ 阅读(546) 评论(0) 推荐(0) 编辑

摘要: 前提 参考资料: Java魔法类:sun.misc.Unsafe 在openjdk8下看Unsafe源码 Unsafe介绍 在Oracle的Jdk8无法获取到sun.misc包的源码,想看此包的源码可以直接下载openjdk,包的路径是: openjdk-8u40-src-b25-10_feb_20 阅读全文
posted @ 2019-05-08 20:28 白露~ 阅读(371) 评论(0) 推荐(0) 编辑

摘要: https://www.jianshu.com/p/2e5b92d0962e 1. Unsafe 类 Java 不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe 类提供了硬件级别的原子操作。 Unsafe 类在 sun.misc 包下,不属于 Java 标准。很多 Java 的基础类库 阅读全文
posted @ 2019-05-08 20:25 白露~ 阅读(441) 评论(0) 推荐(0) 编辑

摘要: 版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/u010862794/article/details/72892300 说起JAVA并发编程,就不得不聊聊CAS(Compare And Swap)和AQS了(AbstractQueuedSynchronize 阅读全文
posted @ 2019-05-08 20:14 白露~ 阅读(460) 评论(0) 推荐(0) 编辑

摘要: 关于AQS的一点总结 2017年03月13日 09:48:13 那只是一股逆流 阅读数:772 关于AQS的一点总结 2017年03月13日 09:48:13 那只是一股逆流 阅读数:772 关于AQS的一点总结 关于AQS的一点总结 2017年03月13日 09:48:13 那只是一股逆流 阅读数 阅读全文
posted @ 2019-05-08 20:08 白露~ 阅读(463) 评论(0) 推荐(0) 编辑

摘要: 转载。 https://blog.csdn.net/zhangdong2012/article/details/79983404 转载。 https://blog.csdn.net/zhangdong2012/article/details/79983404 转载。 https://blog.csd 阅读全文
posted @ 2019-05-08 20:02 白露~ 阅读(629) 评论(0) 推荐(0) 编辑

摘要: AQS工作原理分析 一、大致介绍1、前面章节讲解了一下CAS,简单讲就是cmpxchg+lock的原子操作;2、而在谈到并发操作里面,我们不得不谈到AQS,JDK的源码里面好多并发的类都是通过Sync的内部类继承AQS而实现出五花八门的功能;3、本章节就和大家分享分析一下AQS的工作原理; 二、简单 阅读全文
posted @ 2019-05-08 19:58 白露~ 阅读(4384) 评论(1) 推荐(0) 编辑

摘要: 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo 阅读全文
posted @ 2019-05-08 19:12 白露~ 阅读(422) 评论(0) 推荐(2) 编辑

摘要: --喜欢记得关注我哟【shoshana】--​ 前记 JUC中的Lock中最核心的类AQS,其中AQS使用到了CLH队列的变种,故来研究一下CLH队列的原理及JAVA实现 一. CLH背景知识 SMP(Symmetric Multi-Processor)。即对称多处理器结构,指server中多个CP 阅读全文
posted @ 2019-05-08 14:07 白露~ 阅读(4373) 评论(0) 推荐(2) 编辑

摘要: Java凝视Annotation 从JDK 5開始,Java添加了对元数据(MetaData)的支持,也就是Annotation(凝视)。Annotation提供了一种为程序元素设置元数据的方法。程序元素包含修饰包、类、构造器、方法、成员变量、參数、局部变量。从某些方面来看,Annotation就想 阅读全文
posted @ 2019-05-08 13:14 白露~ 阅读(353) 评论(0) 推荐(0) 编辑

摘要: 这篇文章,是对我自己常用阅读源码的习惯的总结。 (零):先做备份 当拿到一份源代码,不管是工作上临时接手的项目还是平时在网站上down下来的demo,如果想要完全看懂,往往需要做一些改动,有时候改动的比较多就会忘了原来的代码是什么样的,因此我建议,得到一份新的源代码后首先应该进行备份。 (一):编译 阅读全文
posted @ 2019-05-08 12:19 白露~ 阅读(3213) 评论(0) 推荐(0) 编辑

摘要: 1、腾讯IMWEB负责人说: 首先,搞清楚自己要读懂他们的原因和动机。其次,可以先看下这些优秀框架或者库的设计文档和架构图,这样会让你宏观上对一些概念有些认识。 然后,从你最感兴趣的一个点,开始设置断点,跟进去看发生了哪些事情。 和架构设计哪一块是match的。 有人补充:最快,最易懂方法。断点单步 阅读全文
posted @ 2019-05-08 12:17 白露~ 阅读(4134) 评论(0) 推荐(0) 编辑

摘要: 就我自己阅读安卓源代码的经验,本人研究过 settings,launcher,Sysupdate ,framework /services ,recovery的部分源代码。而且成功改动google留下来的bug. 假设就是熟悉代码,不带问题的去看。看的会比較累。可是仍然是有方法能够借鉴的,事实上这种 阅读全文
posted @ 2019-05-08 12:17 白露~ 阅读(714) 评论(0) 推荐(0) 编辑

摘要: 一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况去写框架。 而基本上没有谁能像天才一样从零写出一个框架,很多人写框架其实都是从模仿开始的。而你要模仿 阅读全文
posted @ 2019-05-08 12:09 白露~ 阅读(364) 评论(0) 推荐(0) 编辑

摘要: 说在前面 本人水平有限,下面的一些都是本人的思考与理解,如果有那里不对,希望各位大佬积极指出,欢迎在留言区进行评论交流、探讨。 主题 为什么要读源码 读什么样的源码 有什么技巧 思考、交流 坚持 为什么要源码 说到读源码,让我想起来了读书,古语有云:“读破万卷书,下笔如有神”。 多读读大师的想法技巧 阅读全文
posted @ 2019-05-08 12:09 白露~ 阅读(524) 评论(0) 推荐(0) 编辑

摘要: 一、前言 日常交流过程中,经常会被问到为何要阅读源码和如何阅读源码的问题,本文从作者的角度来写下对这两个问题的理解,希望大家共同探讨,共同进步。 本文内容: 为何要阅读源码,阅读源码能给我们带来什么? 如何阅读源码,阅读源码有什么技巧? 为何要阅读源码,阅读源码能给我们带来什么? 如何阅读源码,阅读 阅读全文
posted @ 2019-05-08 12:07 白露~ 阅读(635) 评论(0) 推荐(0) 编辑