移动开发

ThreadLocal 超强图解,这次终于懂了~

前言 大家好,我是小彭。 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap、LinkedHashMap 和 WeakHashMap 等基于分离链表法实现的散列表。 今天,我们来讨论 Java 标准库中一个使用开放寻址法的散列表结构,也是 Java & Android “面试八股文” 的标准题库之一 —— ThreadLocal。 本文源码基于

子线程发出的通知,主线程如何接收处理

1.关键点是在主线程的runloop中加入一个machport2.在子线程中,1)将要发出的通知加入一个数组中,然后通过主线程中的machport发出消息2)在主线程中接收port来的消息,但其内部其实是访问主线程生成的数组(该数组在子线程中也能进行操作,怪不得要加锁)即可。3.注意在主线程中处理通知的要区分出来当前线程(通知的监听者还能处理不同线程的)4.NSMachPort是线程间通信的一种方

Promise 对象

Promise 对象是一种连接生产者与消费者的特殊 JS 对象, 类似"订阅列表". let promise = new Promise( // 参数是执行器 executor function(resolve, reject) { // 扮演生产者的角色 通常是异步执行某些操作 // 生产者必须调用 resolve 或者 reject }); // promi

iOS开发 验证安全证书如何与服务端协作

在iOS开发中,客户端和服务端之间使用SSL/TLS协议进行加密通信时,需要进行证书验证以确保通信的安全性。以下是iOS开发中验证证书的流程和与服务端协作的方法: 1.在客户端实现证书验证 在iOS开发中,可以使用NSURLSession或NSURLConnection来建立安全连接。默认情况下,这些类将使用系统内置的根证书验证服务器提供的证书,但也可以自定义证书验证逻辑。例如,可以使用AFSec

13.优化 - 线程监控(matrix)

  本文来分析下matrix对于线程的监控,matrix对于线程的监控主要 hook pthread 的pthread_create pthread_detach pthread_join pthread_setname_np 几个方法。 原理   先来看下为什么 hook pthread 的几个方法就可以监控到线程。 一般的 java 线程写法 new Thread(new Runable{

iOS14 Universal Link隐藏顶部横幅方法

配置好Universal Link之后顶部都会有一个打开app的横幅,有时候我们不想显示这个横幅,iOS14之后苹果官方给出了解决办法。 假设Universal Link为www.abc.com 在浏览器输入www.abc.com会自动定位到www.abc.com/main,这时如果想要隐藏www.abc.com/main这个地址下顶部的横幅,方法如下: 单个app: { "applinks"

Android:exported 属性知识

1、android:exported 是 Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。 2、android:exported 代表是否能被其他应用隐式调用。 3、true允许被启动,false不允许被启动。 4、android:exported 默认值是由有无intent-filter决定的,如果有intent-fi

package.json 和 package-lock.json

1. 前言 应该很多人 搞不清楚, 我们天天见天天用的 这个 package.json 和package-lock.json到底有啥关系 那今天就来捋一下 2. package.json 首先在说下这个 我们自以为觉得熟的不能在熟的package.json package.json是帮我们管理项目中的依赖包的,让我们远离了依赖地狱。 遵循commonJS规范 ,通过 npm管理,