- 博客(9)
- 资源 (6)
- 收藏
- 关注
原创 Java线程之基本概念(线程状态)
ThreadGroup是为了方便对Thread进行管理,ThreadGroup中可以有ThreadGroup和Thread,所以成树形结构。Thread中有很多方法都是native的,Thread实例化的时候,其实就只是简单的设置了一些变量,比如线程组、优先级、Runnable等,这个时候线程是“NEW”状态。然后调用start方法的时候,才真正执行动作,比如把线程放到线程组里、执行nativ...
2020-04-28 18:18:51 312
原创 Java线程之同步
在学习HandlerThread源码的时候,看到了线程同步的用法,借此机会粗浅的学习一下,为以后有机会深入学习的时候做个铺垫,要不然这块基础都是0基础,一想起就心虚。 @Override public void run() { mTid = Process.myTid(); Looper.prepare(); synchroniz...
2020-04-27 16:19:13 223
原创 ThreadLocal.ThreadLocalMap源码解析
采用开放寻址法设计一个ThreadLocalMap我们在分析ThreadLocalMap源码之前,我们自己先设计一个算法,看怎么给Map添加set一对值。设计前提:(1)和ThreadLocalMap源码的一样,我们也只采用数组实现,不采用数组+单链表(2)Map的key是有WeakRefrence类型的,也就是说会map中会出现key为null的元素设计思路:首先通过ke...
2020-04-26 15:44:42 291
原创 Android架构之组件化
先看看下面两篇两篇文章,可以对组件化开发能有个大概的了解Android 组件化最佳实践Android 组件化架构概要我们做开发做久了,都知道,写代码的时候,把所有的逻辑都写到一块是很糟糕的,尤其是随着版本的迭代,功能的扩展,开发成本久越来越高。最简单朴素的想法就是把逻辑(或者功能)拆分成到函数或者类中,然而随着项目的开发,代码量的不断增长,发现还是避免不了上帝类的存在,类里面的代码...
2020-04-22 16:22:09 133
原创 Glide之源码学习大杂烩
GlideBuilder初始化各种配置信息,实例化一个Glide对象。Glide的with静态方法是入口通过static getRetriever获取RequestManagerRetriever对象 调用RequestManagerRetriever的get获得RequestManager对象返回Glide的getRetriever静态方法通过static get获取...
2020-04-22 10:51:18 397
原创 什么是闭包Closure(kotlin、javascript)
闭包有人说是函数有人说是一个概念,其实表达的核心思想是一样的。比如:说法一:闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。说法二:简单讲,闭包就是指有权访问另一个函数作用域中的变量的函数。MDN 上面这么说:闭包是一种特殊的对象。它由两部分构成:函数,以及创建该函数...
2020-04-11 22:43:14 388
原创 Kotlin之初始学习
Kotlin也属于jvm语言,因为它也是被编译成字节码需要运行在虚拟机上的。Kotlin的语法灵活性像动态语言,当其实是静态语言,这是因为编译器辅助做了很多事情。kotlin中有很多java中没有的语法,或者说是java低版本没有的语法。kotlin object的关键字、还有密闭类(sealed)、数据类java没有kotlin没有类方法的概念kotlin有住次构造器的区分...
2020-04-07 16:36:14 179
原创 kotlin之带接收者的函数字面量
在kotlin中,带接受者的函数字面量这个使用的地方还是很多的,需要仔细理解总结一下在java中,函数(在java了,把函数称方法)是定义在类里面的,在调用函数的时候,都是先new一个类对象,然后,通过.调用函数。其实调用方法的过程,是把类对象传给了方法,这个也是java常说的一个概念,就是方法有个默认参数是类对象。在Kotlin中,由于函数是first class(一等公民),类的地位被...
2020-04-07 16:00:43 1499 4
原创 kotlin之匿名函数、lambda表达式
(1)匿名函数和普通函数没什么区别,只是没有名字而已(2)如果是单表达式的函数体,可以用赋值运算符代替大括号,而且可以省略返回值类型,编译器可以推断出是否有返回值,如果有类型是什么类型。这个其实和匿名函数没关系,普通函数也通用(3)如果编译器可以推断出匿名函数的形参类型,可以将形参类型省略(4)匿名函数是可以作为函数参数的,在实际使用中函数参数的类型是lambda函数类型,可是传个匿名...
2020-04-07 11:45:37 1496
onInterceptTouchEvent和onTouchEvent使用demo
2013-05-29
策略模式的小例子
2012-09-07
欧式距离+归一化
2011-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人