BichonCode BichonCode
4年前
ConcurrentHashMap
一、关键属性1.sizeCtl作用:_transient、_volatile修饰,用于数组初始化与扩容控制,只有一个线程能初始化散列表,但是可以多个线程参与扩容。|sizeCtl1|_表示当前table正在初始化(有线程在创建table数组),当前线程需要自旋等待.._ 1是一把锁,哪个线程能把sizeCtl设置成1,哪
刘望舒 刘望舒
4年前
Android深入理解Context(一)Context关联类和Application Context创建过程
Android框架层Android深入理解Contextcategories:Android框架层本文首发于微信公众号「刘望舒」前言Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它。<!more1.Context概述Co
全靠这份Android知识点PDF大全,月薪30K
第一阶段:Android基础知识回顾:回顾Android开发编程,深入理解Android系统原理和层次结构,深入分析Handler源码和原理;回顾Java,C/C,Kotlin、dart在Android开发中必用的语言,熟悉一下几种语言混淆后的特性;回顾AndroidIPC和JNI的底层原理和热更新技术回顾Native开发要点,使用C结
刘望舒 刘望舒
4年前
Android包管理机制(一)PackageInstaller的初始化
Android框架层Android包管理机制Android框架层本文首发于微信公众号「刘望舒」前言包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一。包指的是Apk、jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一个机制来进行包的加载、解析、管理等操作,这就是包管理机制。包管理
Wesley13 Wesley13
3年前
java多线程的3种实现方式
多线程相关的问题1.什么是进程?​正在执行的程序2.什么是线程?​进程的子单位,一个能够完成独立功能的执行路径3.为什么需要开启多线程?当执行某些耗时操作的任务的时候需要开启多线程,防止线程阻塞能够让两个任务看起来像是在同时执行
灯灯灯灯 灯灯灯灯
3年前
阿里二面必备考题之Java并发!全面解析
一、使用线程有三种使用线程的方法:实现Runnable接口实现Callable接口继承Thread类实现Runnable和Callable接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过Thread来调用。可以理解为任务是通过线程驱动从而执行的。实现Runnable接口cpublicclass
Wesley13 Wesley13
3年前
100 行写一个 go 的协程池 (任务池)
前言go的goroutine提供了一种较线程而言更廉价的方式处理并发场景,go使用二级线程的模式,将goroutine以M:N的形式复用到系统线程上,节省了cpu调度的开销,也避免了用户级线程(协程)进行系统调用时阻塞整个系统线程的问题。【1】但goroutine太多仍会导致调度性能下降、GC
Stella981 Stella981
3年前
IOS开发网络第一天之02NSThread的基本使用
创建子线程的三种方法1.第一种方式,创建线程后必须要开启线程! NSThread \thread\\NSThread alloc\initWithTarget:             self selector:@selector(longTimeOperation) object:nil\;
Stella981 Stella981
3年前
Android项目如果要将自己写的类写成要单独打成jar包?
<p<h需求条件:</h1</p<p自己没做过android,公司android开发临时有事请假了,老板说让我研究研究,反正都是java。我心里“XXXXXX”。这篇用来自己做个记录,老手请略过,Android新手临时替岗而已。前提是自己的类中含有用到Android的类库</p<p<h解决方案:</h1</p这module新建的时候
Stella981 Stella981
3年前
Kafka 生产者与可靠性保证ACK(2)
生产者消息发送流程消息发送的整体流程,生产端主要由两个线程协调运行。分别是main线程和sender线程(发送线程)。在Kafka(2.6.0版本)源码中,可以看到。源码地址:kafka\clients\src\main\java\org.apache.kafka.clients.producer.KafkaProdu