1. 类文件结构 根据jvm规范,类文件结构如下: 1.1 魔数 0~3 字节,表示它是否是 class 类型的文件 0000000 ca fe ba be 00 00 00...
Binder驱动情景分析 路径: 1. 启动 service manager 1.1 概述 (内核中,第一次调用binder_ioctl(),会创建一个binder_thre...
1. 概述 代码路径 1.1 架构介绍: 消息机制主要包含: Message:消息分为硬件产生的消息(如按钮、触摸)和软件生成的消息; MessageQueue:消息队列的主...
Java虚拟机在执行java程序的过程中会把它所管理的内存化分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间。有些区域随之虚拟机进程的启动而一直存在,有些...
1. 如何判断对象可以回收? 1.1 引用计数法 算法:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加一;引用失效时,计数器值减一。计数器为0 的对象时不被使...
* 同步模式之两阶段终止(Two Phase Termination) 在一个线程 t1 如何优雅结束线程 t2 ? 优雅的意思是:给线程t2 一个料理后事的机会 错误思路 ...
为什么说频繁的创建和销毁线程会浪费大量的系统资源? 线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间。在线程销毁时需要回收这些系统资源。频繁的创建和销毁...
1. CountDownLatch 1.1 说明 一种同步辅助工具,允许一个或多个线程等待其他线程执行的一组操作完成。 给定一个计数值。当每个线程完成后,调用{@link c...
1 AQS原理 全称是 AbstractQueuedSynchronizer ,阻塞式锁和相关同步工具的框架 1.1 特点 用state属性来表示资源的状态(分独占模式和共享...
前言 保护共享资源--加锁实现 执行结果:0 cost : 333ms 保护共享资源--无锁实现 可以看到使用原子类的效率更高执行结果:0 cost : 341ms0 cos...
Monitor 主要关注的是访问共享变量时,保证临界区代码的原子性。 1. java 内存模型 JMM即Java Memory Model ,它定义了主存、 工作内存的抽象概...
1. 一个例子 一间大屋子有两个功能:睡觉 学习 ,互不干涉现在小男要学习,小女要睡觉,但如果只用一间屋子(一个对象锁)的话,那么并发度很低。解决方法是准备多个房间(多个对像...
wait notify 原理 Owner线程发现条件不满足,调用wait方法,即可进入WaitSet 变为WAITING状态 BLOCKED 和WAITING 的线程都处于阻...