- 博客(185)
- 资源 (64)
- 收藏
- 关注
原创 Kotlin 操作符重载详解
本文从浅入深全面介绍了 Kotlin 算术操作符重载、比较操作符重载、集合相关的操作符重载、区间操作符重载、解构操作符重载、Kotlin 的属性委托的原理分析
2021-01-10 17:27:22 6892 1
原创 Kotlin入门到精通(实战)- 流程控制(一)when、if、loop
一,条件判断1. when在 Java 中有 switch 语句,在 Kotlin 中使用 when 来代替 switch。同时 when 也可以代替 if 。你以为 when 只是用来代替 switch 和 if 的吗?其实远远不止这些,其中还包含了一些不为认知的小秘密。下面我们都会为大家一一揭晓。1.1 when 的基本语法when(parameter){ branch1 -> logic branch2 -> logic}when 括号里是参数,参数是可选的。
2021-01-10 15:50:58 1154
原创 Kotlin入门到精通(实战)- 变量的定义和函数入门
写在前面的话:首先需要明确一个前提,我们介绍的 Kotlin 是 Kotlin for JVM ,这也是 Kotlin 使用最广泛的地方。Kotlin 代码最终编译后的产物是 Java class 字节码,也就是遵循 Java 虚拟机规范。所以,我们在介绍原理的时候 ,通常会反编译 Kotlin 代码,明白这些语法糖背后对应的其实就是类似 Java 代码来实现的,如果你熟悉 Java 语言,那么我将带你快速而深入的掌握 Kotlin 这门语言。函数和变量这两个概念是 Kotlin 中最基本的两个元素,.
2021-01-10 13:24:47 1123
原创 Kotlin入门到精通(实战)- 总目录
学前必读Kotlin入门到精通(实战)- 前言Kotlin入门到精通(实战)- 总目录第1章 Kotlin 简单入门在这一章,我将带大家从从最基本的 Kotlin 函数和变量开始,为我们后面的 Kotlin 内容做好铺垫。还会从最基本的表达式和语句的概念开始讲起,让大家明白 Kotlin 的语法糖为什么是这样的,而不用去死记硬背。紧接着还会介绍 Kotlin 中的枚举类,并且还是着重讲解在实际开发中如何使用枚举,让你明白什么时候用枚举什么时候使用整型常量,你会明白枚举的语法虽然很简单。但是在实际开发
2021-01-09 19:50:25 3383 6
原创 Kotlin入门到精通(实战)- 学前必读
一、我为什么推出这门课程呢?Google 在 IO 大会上宣布 Kotlin 晋升为开发Android的一级语言了。而且很多关于 Android 的开源项目都是基于 Kotlin 开发的。所以对于 Android 开发来说 掌握 Kotlin 是很多有必要的Kotlin本身的一些特性如简洁性,可以减少大量的模板代码,大大提高开发者的效率如 安全性,避免了空指针异常;如 Kotlin 和 Java 代码100% 的互操作性让 Kotlin 语言的应用场景更加广阔,能使用 Java 的地方都能使用 Kotl
2021-01-09 14:46:09 1953
原创 2020 年终总结
不平凡 2020 终于过去了,回顾这一年,却也不知道写些什么。注册的个人公众号上一篇是 2019年1月1日,一年都没有更新了。2021 年一定要更新频繁些。附:《2019年终总结》2020 年的主要时间一方面花在日常的项目迭代中,另一方面花在框架的开发上。框架的开发主要是程序监控。以前由于没有监控,很多问题的排查只能靠猜,对于许多客户反馈的偶现问题,最后也就不了了之。没有监控,我们面临许许多多问题,主要表现在以下几个方面:排查线上问题效率低当 “消防群” 里...
2021-01-03 19:10:58 1308
原创 使用 Google Repo、Python脚本管理 Android 组件化项目
本文介绍了 Android 工程化过程中关于如何使用 repo 来管理 Android 组件化项目
2019-12-04 15:31:48 3132 9
原创 Android NDK ~ 基础入门指南
本文介绍了 NDK 相关的概念如 ABI、JNI、NDK。如何使用 AndroidStudio 开发 NDK 程序。最后介绍了 JNI 的规范中的数据类型和描述符
2019-09-21 18:00:04 2164
原创 (十)Flutter FutureBuilder 优雅构建异步UI
如何使用 Flutter FutureBuilder 优雅构建异步UI, StreamBuilder 和 FutureBuilder 之间的异同点
2019-08-25 15:33:32 2459
原创 (九)Android 项目集成 Flutter 模块
如何在已有的 Android 项目中集成 Flutter 模块, 本文介绍了两个集成的方式, 一种是源码依赖, 一种是 AAR 的方式依赖
2019-08-23 20:34:35 2005 1
原创 (八)Flutter 和 Native 之间的通信详解
本文详细介绍了 Flutter 与 Native 之间的通信方式, 通过案例的方式介绍了MethodChannel、EventChannel、BasicMessageChannel 不同的使用场景和区别
2019-07-28 23:03:27 3228 1
原创 (六)Flutter 学习之 Dart 异步操作详解
本文详细介绍了 Dart 的异步操作,详细讲解了 Future 和 Stream 各个方面,让你对 Dart 异步有更全面的了解
2019-07-24 08:47:39 2470
原创 (五)Flutter 学习之 Dart 面向对象详解
本文详细介绍了 Dart 面向对象,以及 Dart 一些特有的语法功能,最后重点介绍了功能强大的 Mixin 特性
2019-07-22 08:36:19 1038
原创 (四)Flutter 学习之 Dart 操作符、控制流和异常处理
本文介绍了 Dart 条件表达式、常用操作符、操作符重载、控制流语句、断言、异常处理
2019-07-08 16:56:56 1334
原创 (二)Flutter 学习之 Dart 展开操作符和 Control Flow Collections
本文介绍了 Dart 展开操作符以及展开操作符语义分析、控制流集合(Control Flow Collections)
2019-07-04 14:43:42 5090 3
原创 (一)Flutter 学习之 Dart 变量和类型系统
本文介绍了 Dart 变量、常量以及常用的数据类型,重点介绍了 List、Set、Map
2019-07-01 00:21:37 4974
原创 最全的 Charles 抓包工具详解
本文介绍了详细介绍了 Charles 的 HTTP/HTTPS 抓包功能,其中包括模拟慢网速、断电功能、 Compose功能、重写功能、映射功能、Repeat功能、以及 Android 7.0 抓包问题
2019-04-23 21:07:03 69670 12
原创 (教程)零基础入门到深度掌握Kotlin
精心准备的 Kotlin 视频,帮你从零基础到深度掌握Kotlin,让你在使用 Kotlin 的过程中游刃有余
2019-04-11 19:09:21 3862 1
原创 数据结构与算法(十三)平衡二叉树之AVL树
本文主要包括以下内容:平衡二叉树的概念AVL树插入操作保持AVL树的平衡删除操作保持AVL树的平衡平衡二叉树的概念为什么需要平衡二叉树?通过前面的 二分搜索树(Binary Search Tree)和 BinarySearchTree的时间复杂度分析 的介绍我们知道,二分搜索树的性能跟树的高度(h)有关系 :h 为二分搜索树的高度,那么高度 h 和二分搜索树节...
2018-06-19 23:34:21 1663
原创 数据结构与算法(十二)并查集(Union Find)及时间复杂度分析
本文主要包括以下内容:并查集的概念并查集的操作并查集的实现和优化 Quick FindQuick Union基于size的优化基于rank的优化路径压缩优化并查集的时间复杂度并查集的概念在计算机科学中,并查集 是一种树形的数据结构,用于处理不交集的合并(union)及查询(find)问题。并查集 可用于查询 网络 中两个节点的状态, 这里的网络是一个抽象的概...
2018-06-17 22:21:57 45095 10
原创 数据结构与算法(十一)Trie字典树
本文主要包括以下内容:Trie字典树的基本概念Trie字典树的基本操作 插入查找前缀查询删除基于链表的Trie字典树Set性能对比LeetCode相关线段树的问题 LeetCode第208号问题LeetCode第211号问题LeetCode第677号问题Trie字典树的基本概念上一篇我们介绍了 线段树(Segment Tree),本文主要介绍Trie字典树...
2018-06-16 10:02:57 37266
原创 数据结构与算法(十)线段树(Segment Tree)入门
本文主要包括以下内容:线段树的概念线段树的基本操作实现一个线段树LeetCode相关线段树的问题线段树的概念线段树(Segment Tree)也是一棵树,只不过元素的值代表一个区间。 常用区间的 统计 操作,比如一个区间的最大值(max),最小值(min),和(sum)等等如一个长度为10的数组,它对应的 求和 线段树,如下图所示(图中的数字表示索引):根节...
2018-06-10 17:47:31 14207 1
原创 数据结构与算法(九)Set集合和BinarySearchTree的时间复杂度分析
本文主要包括以下内容:Set集合的基本概念Set集合的基本操作Set集合的BST实现和LinkedList实现Set集合两种实现方式的时间复杂度分析Set集合的基本概念Set集合是对数学中集合的抽象,Set集合有两个特性:Set集合里没有重复元素Set集合是无序集合Set集合的基本操作插入删除Set是否为空Set是否包含某个元素Set元素个...
2018-06-08 22:36:08 5111 3
原创 数据结构与算法(八)二分搜索树(Binary Search Tree)
本文主要包括以下内容:二分搜索树的基本概念二分搜索树的基本操作 插入删除查询实现二分搜索树二分搜索树的不足二分搜索树的基本概念二分搜索树(Binary Search Tree)满足一下几个条件:若它的左子树不为空,左子树上所有节点的值都小于它的根节点若它的右子树不为空,右子树上所有的节点的值都大于它的根节点它的左、右子树也都是二分搜索树如果插入的元素在二...
2018-06-06 17:51:22 4611
原创 数据结构与算法(七)树和二叉树
本文主要包括以下内容: 1, 树的基本概念2,二叉树 1, 二叉树的基本概念 2,二叉树的分类 1,完全二叉树(Complete Binary Tree) 2,完美/满二叉树(Perfect Binary Tree) 3,完满二叉树(Full Binary Tree)...
2018-06-04 23:30:17 22160 6
原创 数据结构与算法(六)二叉堆、优先队列和 Java PriorityQueue
本文主要包括以下内容:堆的基本概念堆的基本操作构建大顶堆和小顶堆优先队列的基本概念实现一个优先队列Java PriorityQueue源码分析优先队列通常是使用二叉堆来实现的 ,接下来先介绍一下二叉堆。二叉堆的基本概念二叉堆(binary heap)是一个由二叉树组织的堆数据结构。二叉堆是 J. W. J. Williams于1964提出的用于堆排序的数据结构。...
2018-06-02 18:34:10 1466
原创 数据结构与算法(五)深入理解递归
由于后面介绍的数据结构和算法会大量使用到递归,而且递归也是很多讲解数据结构与算法相关书籍的必不可少的章节,所以单独介绍一下递归。本文主要包括一下几个部分: 1. 递归的基本概念 1. 基线条件 2. 递归条件 3. 递归和栈 2. 微观分析递归 3. 宏观分析递归 4. 递归的优点与不足 1. 尾部递归 2. 循环递归的基本概念在计算机科学...
2018-06-01 13:03:54 3050
原创 数据结构与算法(四)队列和 Java ArrayDeque 源码剖析
本文主要包括以下内容:队列基本概念队列的相关操作队列的顺序存储循环队列队列的链式存储Java LinkedList中的双端队列Java ArrayDeque源码分析 ArrayDeque双端队列ArrayDeque循环队列位运算与取模(%)ArrayDeque扩容机制ArrayDeque使用方法总结如果对队列的基本概念、相关操作、顺序存储链式存储、循环队列等比较熟...
2018-05-25 21:02:42 1470
原创 数据结构与算法(三)栈和 Java Stack 源码分析
前面两篇文章介绍了线性表的两种实现方式:顺序(数组)存储和链式存储。本文介绍的栈是由线性表发展而来,可以把栈当做被限制的线性表,因为栈的定义是只能在固定的一端(栈顶)进行插入和删除操作。栈的基本概念是一个只能在某一端进行插入、删除操作的线性表。通常在线性表的尾端,或称栈顶。由此我们知道栈是一个后进先出(LIFO,Last In First Out)的线性表从栈顶插入一个元素...
2018-05-19 12:18:49 1138
原创 数据结构与算法(二)线性表之链式存储和 LinkedList 实现
上一篇文章 线性表之顺序存储和ArrayList、Vector实现介绍了线性表的顺序存储和ArrayList的实现细节,这一篇主要介绍线性表链式存储。我们知道线性表的顺序存储需要一块连续的内存空间(数组)来存储元素。链式存储是采用一组地址任意的存储单元来存放元素,也就是说存放地址的空间不用是连续的。这样可以充分利用计算机的内存空间,实现灵活的内存动态管理。从上一篇文章我们知道线性表元素之间...
2018-05-17 15:27:29 1363 1
原创 数据结构与算法(一)线性表之顺序存储和 ArrayList、Vector 源码剖析
可能作为上层开发的开发者,直接编写数据结构与算法的情况很少,但是我们开发过程中数据结构与算法无处不在,比如我们使用的集合框架,排序,查找等。当然编程语言为我们提供了api供我们使用。但是我们依然需要明白其内部原理,才能更好的使用它们。本系列介绍的数据结构包括数组、链表、栈、队列、哈希表,二叉树、二分搜索树、平衡二叉树、AVL、红黑树、哈夫曼树、Trie、堆、线段树、KD树,并查集等。在介绍...
2018-05-01 18:25:26 2344
原创 RxJava(十五)RxJava 线程的自由切换
RxJava系列文章目录导读: 一、RxJava create操作符的用法和源码分析 二、RxJava map操作符用法详解 三、RxJava flatMap操作符用法详解 四、RxJava concatMap操作符用法详解 五、RxJava onErrorResumeNext操作符实现app与服务器间token机制 六、RxJava retryWhen操作符...
2018-04-21 19:50:27 14940
原创 RxJava(十四)interval、takeWhile 操作符实现获取验证码功能
RxJava系列文章目录导读: 一、RxJava create操作符的用法和源码分析 二、RxJava map操作符用法详解 三、RxJava flatMap操作符用法详解 四、RxJava concatMap操作符用法详解 五、RxJava onErrorResumeNext操作符实现app与服务器间token机制 六、RxJava retryWhen操作符...
2018-01-11 18:29:59 3327
原创 Android Fragment 使用详解和源码分析
1,App进程被系统杀死后用户重新进入APP的问题2,Activity向Fragment中传递参数的问题3,Fragment的状态保存、Fragment栈4,Fragment生命周期
2017-06-11 17:06:29 3077 3
原创 RxJava(十三)RxJava 导致 Fragment Activity 内存泄漏问题
RxJava系列文章目录导读: 一、RxJava create操作符的用法和源码分析 二、RxJava map操作符用法详解 三、RxJava flatMap操作符用法详解 四、RxJava concatMap操作符用法详解 五、RxJava onErrorResumeNext操作符实现app与服务器间token机制 六、RxJava retryWhen操作符...
2017-03-28 19:24:26 9925 17
smack源代码
2012-07-05
(统计代码量)projectCodeInfo_plugins.rar
2012-06-20
Java.Concurrency.in.Practice(java多线程)
2012-05-18
算法导论(第三版)
2018-06-27
pro git2 中英文版(2本)
2018-06-26
数据结构和Java集合框架(英文版)
2018-04-20
算法-第4版-完整版
2018-03-18
Java Software Structures.Designing and Using Data Structures
2018-03-18
MQTTAndroid客户端AndroidPushNotificationsDemo
2013-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人