移动开发

Java并发编程——ForkJoinPool之WorkQueue

一、ForkJoinPool ForkJoinPool 是 JDK7 引入的,由 Doug Lea 编写的高性能线程池。核心思想是将大的任务拆分成多个小任务(即fork),然后在将多个小任务处理汇总到一个结果上(即join),非常像MapReduce处理原理。同时,它提供基本的线程池功能,支持设置最大并发线程数,支持任务排队,支持线程池停止,支持线程池使用情况监控,也是AbstractExecut

ES6的Map、Set和ES7的Array.includes()、乘方

一、ES6 1.Set 1.Set的基本使用 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap 数据结构:存储数据的方式 Set是一个新增的数据结构,可以用来保存数据,类似于数组,但和数组最大的区别是 元素不能重复 创建Set我们需要使用Set构造函数(暂时没有字面量创建的方式)

由系统组成的系统

书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录 4.5 由系统组成的系统 1、由系统组成的系统 我们已经知道如何实现粒子对象, 也学会了如何实现粒子对象组成的系统,这个系统称为“粒子系统”,粒子系统就是由一系列独立对象组成的集合。 但粒子系统本身不也是一个对象? 如果粒子系统也是个对象,我们可以让这些

IOS之二进制重拍

原理 App包数据并不是在启动的时候一次全部加载到内存中的,而是类似于懒加载的方式,以每页16KB的数据进行分页加载。启动的时刻,也是缺页加载次数最多的时刻。因为启动用到的类和方法,并不是全部集中在某几页数据中,而是根据编译顺序,分散到不确定的分页数据中。我们做二进制重拍,也就是要让启动用到的函数,集中到最前边的几张表中,减少分页加载的次数,也就节约了启动时间。 那么为什么减少分页加载的次数,可以

541.【GraphQL】_typename千万不要写成一样的

这个问题我已经经历过两三次了:*graphql 服务端定义接口时,千万不要把每个接口中的_typename写成一样的。 在go语言中,graphql 的实现里头, 错误的示例如下: var responseDimensionReadingType = graphql.NewObject(graphql.ObjectConfig{ Name: "ResponseCommon", Fi

Android graphics(二) bufferqueue

一、前言 本文主要内容 1、bufferqueue 的四大流程; 2、简要介绍四大流程的调用过程; 本文主要讲解安卓图形绘制中的buffer queue 页面数据通过canvas/Open GL ES/vulkan绘制后,形成一帧buffer,交给buffer queue,buffer queue再把数据送到屏幕上显示。所以buffer queue是图形绘制中很核心的一环,它本身就是一个缓冲区

iOS WKWebView同步设置Cookie的踩坑

一、存储Cookie 1. 登录成功后,存储Cookie到本地。因为下次重启APP,不再走登录接口的话,Cookie会丢失,所以需要先存本地。 存储时注意,要判断是当前登录系统对应的域名或IP。因为我遇到,登录接口成功后,还出现了友盟的Cookie的,防止被其他域名或IP的Cookie给覆盖。 1.存储Cookie // 存储Cookie        NSArray *cookie

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

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