普通的回调函数: 回调方法,模拟耗时操作 去掉回调,转换为挂起函数:
普通的回调函数: 回调方法,模拟耗时操作 去掉回调,转换为挂起函数:
泛型的概念 泛型是一种类型层面的抽象 泛型通过泛型参数实现构造更加通用的类型的能力 泛型可以让符合继承关系的类型批量实现某些能力 如上,我要两者的比较大小,比较的元素限制在C...
参考链接: java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现https://www.jianshu.com/p/af4b3264...
前言 翻译自 协程异常[https://medium.com/androiddevelopers/exceptions-in-coroutines-ce8da1ec060c]...
Kotlin比Java更方便的地方,其中之一是可以将函数作为参数。上面三者都是将函数作为其它函数的参数来使用,其形式虽然简单,但理解并不简单。一、共同点三者的返回值相同,均为...
接下来学习Kotlin中的注解(Annotations)和类型别名(Type aliases)。 类型别名(Type aliases) 1.1版本 类型别名为现有类型提供替代...
从Java语言转到Kotlin,最让人头疼的问题恐怕就是lambda表达式了。 lambda,准确的中文翻译是:匿名函数。不过,在Kotlin语言中本身就有匿名函数的概念,为...
Kotlin Coroutines(协程) 完全解析系列: Kotlin Coroutines(协程) 完全解析(一),协程简介 Kotlin Coroutines(协程) ...
Kotlin Coroutines(协程) 完全解析系列: Kotlin Coroutines(协程) 完全解析(一),协程简介 Kotlin Coroutines(协程) ...
内存泄漏的定义 不再使用的对象持续占用内存或者内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏。严重时会产生OOM。 内存泄漏的根本原因 长生命周期的对象持有短生命周期...
欢迎收看:Glide源码分析其一:基本流程 Glide****的生命周期的实现主要是通过创建一个****Fragment进行实现的 在****Glide.with(conte...
概述 快速排序算法借鉴的是二叉树前序遍历的思想,最终对数组进行排序。 优点: 对于数据量比较大的数组排序,由于采用的具有二叉树二分的思想,故排序速度比较快 局限 只适用于顺序...
转载 在RXJava中一种比较nice的思想是能够通过一系列的操作符看到数据是如何转换的: 假设想要给多个流重复利用一系列操作符该怎么办呢?比如,我想在工作线程中处理数据,在...
Kotlin协程实际上是所谓的stackless协程,即没有在线程之上实现类似线程栈的结构,可以认为是一种kotlin语言层面支持的 线程调度框架,使用这个框架,我们可以省去...
虽然协程和RxJava有着不同的设计理念,但他们都不约而同的解决了Java编程中回调地狱的硬伤。这篇文章就带大家尝试在特定业务场景下分别用Kotlin协程和用RxJava,来...
背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcode是什么样的体验? 慢慢有一些赞和感谢, 备受鼓舞, 于是我...
题目: 给定一个数列,求的问题可以转换为求:, 我们将输入的list排序后,给定nums[i], 我们需要寻找 nums[j]+nums[k] = - nums[i], 这里...