
----------JDK源码-------------
火锅技术栈
我不能保证写的每个地方都是对的,但是至少能保证每一句话、每一行代码都经过了认真的推敲、仔细的斟酌。每一篇文章的背后,希望都能看到自己对于技术、对于生活的态度。
我相信乔布斯说的,只有那些疯狂到认为自己可以改变世界的人才能真正地改变世界。面对压力,我可以挑灯夜战、不眠不休;面对困难,我愿意迎难而上、永不退缩。
其实我想说的是,我只是一个程序员,这就是我现在纯粹人生的全部。
展开
-
AQS原理
前言Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与AQS的关联,来深入解读AQS相关独占锁的知识点,同时采取问答的模式来帮助大家理解AQS。由于篇幅原因,本篇文章主要阐述AQS中独占锁的逻辑和Sync原创 2020-10-01 13:59:32 · 574 阅读 · 0 评论 -
Java“锁”事
前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。原创 2020-10-01 13:57:35 · 152 阅读 · 0 评论 -
synchoronized\Lock锁源码分析
owner 当前锁线程waitset 等待队列(o.wait())cxqEntryList 同步队列等待队列AQS加锁流程原创 2019-11-30 13:22:36 · 226 阅读 · 0 评论 -
Java 并发工具包-java.util.concurrent-源码jdk1.7全面解析
其实从类图我们能发现concurrent包(除去java.util.concurrent.atomic 和 java.util.concurrent.locks)中的内容并没有特别多,大概分为四类:BlockingQueue阻塞队列体系、Executor线程组执行框架、Future线程返回值体系、其他各种单独的并发工具等。原创 2017-08-16 21:03:25 · 945 阅读 · 0 评论 -
java unsafe 源码分析详解全面功能
http://www.cnblogs.com/mickole/articles/3757278.htmljava不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:1、通过Unsafe类可以分配内存,可以释放内存;类中提供的3个本地方法allocateMemory、reallocateMemo转载 2017-09-25 22:32:15 · 835 阅读 · 0 评论 -
笔记
都说concurrentHashMap是个线程安全的并发容器,所以没有显示加同步,实际效果呢并不如所愿。问题就出在increase方法,concurrentHashMap能保证的是每一个操作(put,get,delete…)本身是线程安全的,但是我们的increase方法,对concurrentHashMap的操作是一个组合,先get再put,所以多个线程的操作出现了覆盖。如果对整个incre...原创 2017-09-26 21:55:47 · 448 阅读 · 0 评论 -
JAVA GC JDK1.8描述
前言 与C语言不同,Java内存(堆内存)的分配与回收由JVM垃圾收集器自动完成,这个特性深受大家欢迎,能够帮助程序员更好的编写代码,本文以HotSpot虚拟机为例,说一说Java GC的那些事。Java堆内存 我们知道Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配。为了进行高原创 2017-10-07 13:50:40 · 7078 阅读 · 2 评论 -
JDK/JAVA 1.5到1.9版本特性对比
update:2017/9/25JDK发展历史: 96年SUN JDK 1.0 class VMWare、Visual97年JDK 1.1:具有AWT、内部类、JDBC、RMI、反射98年JDK 1.2:有JIT解析器、精确内存管理、提升GC性能2000年JDK 1.3:Hotspot发布默认的虚拟机2002年JDK 1.4:VM...转载 2017-08-03 13:39:13 · 8818 阅读 · 1 评论 -
阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集
前一段时间和大牛们交流了一下,据反馈现在Android岗位也没有以前那么多了,没这么好找了,面临2016年寒冬季节,大量公司模仿O2O模式导致死掉企业的很多,在加之培训机构大量的培训人,导致供大于求,当然这不意味着饱和,只是市场更趋于合理一些(只要技术好不用怕的)。最近结合一些面试的同学和大牛们(张旭童)反馈,前几天听童哥去阿里面试顺便整理了下一些面试题目。希望对大家有所帮助,后期会不断更新添加新...原创 2018-01-15 11:38:34 · 740 阅读 · 0 评论