一个线程中的多个流程能不能获取同一把锁:可重入锁和非可重入锁 可重入锁 可重入性:表明了锁的分配机制,是基于线程的分配,不是基于方法调用的分配。是指在一个线程中可以多次获取同...
ObjectMonitor 在HotSpot中,Monitor采用ObjectMonitor实现。 Monitor是一个同步工具,通常被描述为一个对象。每一个Java对象都拥...
Java的中断是一种协作机制,线程中断不会终止线程的运行,但是可以通过线程中断来实现终止线程运行。 线程在不同状态下进行中断会产生不同的响应-->抛出异常/没有变化/结束线程...
集合 集合类是一种工具类,存储数量不等的对象,可以实现栈,队列等数据结构。可以分为:Set:无序,不可重复的集合; List:有序,重复的集合; Queue:队列集合实现...
CAS:Compare And Swap,是一种无锁算法。在不使用锁即没有线程被阻塞的情况下实现多线程之间的变量同步。 1.CAS算法的核心算法原理 比较和交换是用于实现多线...
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式...
几句闲扯:首先,我想说java的线程池真的是很绕,以前一直都感觉新建几个线程一直不退出到底是怎么实现的,也就有了后来学习ThreadPoolExecutor源码。学习源码的过...
引言 这个系列文章打算用图解的方式记录了自己阅读concurrent包的中一些类的大概流程,加深印象。 JDK版本 我这里依据的JDK版本如下: 如果你的版本和我不同,看到的...
需求背景分析: 产品和美工给了个根据专辑封面取主题色做背景,并且专辑封面还要融入背景的效果图,一开始看到取色觉得简单啊,不就是之前看过的palette嘛,可是专辑封面渐变消失...
(1) Android中为什么主线程不会因为Looper.loop()里的死循环卡死? 先说说说进程/线程,进程:每个app运行时前首先创建一个进程,该进程是由Zygote ...
AQS,全称AbstractQueuedSynchronizer,是Concurrent包锁的核心,没有AQS就没有Java的Concurrent包。它到底是个什么,我们来看...
创建、启动、控制、多线程同步、线程池 进程和线程 进程:是处于运行过程的程序,有一定的独立功能,是系统进行资源分配和调度的一个独立的单位。特征:独立性,动态性,并发行。线程:...
网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说...
作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Ja...
1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1.1....
本文转自:Android博客周刊专题之#插件化开发# 原文作者:陆镇生_Jomeslu 本人最近研究插件化, 偶然发现此合集, 按照部分链接的文章实际简单写了些demo,受益...