- 博客(179)
- 资源 (67)
- 论坛 (2)
- 收藏
- 关注

原创 从 Java 角度深入理解 Kotlin
本文从 Java 字节码角度深入理解 Kotlin, 让我们写的每行 Kotlin 代码在底层都代表着什么, 让我们写的 Kotlin 程序更加自信
2021-01-10 17:27:02
11418
8

原创 Android 性能优化 ~ 包体积优化实战
概述用户通常都不愿意去下载一个比较大的程序,特别是不在 WIFI 的情况下。如果你的安装包很小,用户还是愿意下载安装体验下的。现在市面上满足某种需求的 App 通常都会有很多款,如何让用户愿意下载你的 App 来体验?安装包越小,在 WIFI 情况下,极速下载安装,开始体验。在移动网络情况下,包体积越小,用户安装的的可能性越大。所以安装包大小对用户的转换率有很大的影响。接下来就和大家分享下我在实...
2020-03-29 23:54:27
2418

原创 Android Jetpack(三)LiveData 组件原理剖析
Jetpack 源码分析系列:Android Jetpack(一) Lifecycle 组件原理剖析Android Jetpack(二)ViewModel 组件原理剖析Android Jetpack(三)LiveData 组件原理剖析本文主要内容:LiveData 简介LiveData 案例LiveData 原理分析Retrofit 整合 LiveDataLiveData...
2020-02-15 20:42:58
1215

原创 Android Jetpack(二)ViewModel 组件原理剖析
本文详细介绍了 Jetpack ViewModel 组件的使用和原理分析。
2020-02-06 18:23:18
2156

原创 Android Jetpack(一) Lifecycle 组件原理剖析
本文详解介绍了 Jetpack Lifecycle 的使用以及原理剖析。
2020-02-05 21:39:25
3113

原创 Android Retrofit 源码系列(五)~ 设计模式分析
前段时间研究了下 Retrofit 框架,也写了一些关于 Retrofit 的文章:Android Retrofit 源码系列(一)~ 原理剖析Android Retrofit 源码系列(二)~ 自定义 CallAdapterAndroid Retrofit 源码系列(三)~ 整合 RxJava、Coroutine 分析Android Retrofit 源码系列(四)~ 文件上传在阅...
2020-01-27 15:16:34
1068

原创 Android Retrofit 源码系列(四)~ 文件上传
本文主要介绍了 Retrofit 多图文上传功能,以及上传过程中遇到的中文乱码问题,我们从网页端、Android客户端、服务器端、Retrofit 源码角度 来分析了产生的原因及解决方案。
2020-01-18 18:20:10
1781

原创 Android Retrofit 源码系列(三)~ 整合 RxJava、Coroutine 分析
前面我们介绍了 Retrofit 的基本原来以及如何自定义 CallAdapter。今天我们来看看 Retrofit 是如何整合 RxJava、Kotlin Coroutine 的。整合 RxJavaRetrofit 结合 RxJava 使用非常简单,只需要将接口方法的返回类型改成 Observable 即可:private interface UserService { // O...
2020-01-17 14:43:41
928

原创 Android Retrofit 源码系列(二)~ 自定义 CallAdapter
本文详细介绍了 Retrofit 如何自定 CallAdapter 达到统一处理网络错误的目的。文章的最后还介绍了 CallAdapter 的执行原理
2020-01-12 13:18:04
4516

原创 Android Retrofit 源码系列(一)~ 原理剖析
本文以简单的案例为引子,从源码的角度,详细的介绍了 Retrofit 的整个执行过程,以及 Retrofit 里的一些核心概念如 动态代理、CallAdapter、Converter 等等
2020-01-11 11:17:00
1721

原创 2019 年终总结 ~ 逆风起航
时间过的很快,2019 年过去了,迎来了崭新的 2020。今天做一个 2019 年终总结,算是对 2019 年的一个交代。主要总结下 2019 年技术上的成长、读书、理财、时间管理方面的东西。技术关于 Kotlin翻开 2019 年第一篇博客,竟然是 2019-1-2 晚上 1:27 发表的,真不敢想象 2019 年初还这么作,不把健康放在心上。现在呢,嗯,10 点半就得睡觉了。20...
2020-01-01 14:00:01
1918

原创 深入理解 Java 虚拟机(六)~ Garbage Collection 剖析
本文详细介绍了 JVM 关于 Garbage Collection 相关的知识点。读完本文相信你对 JVM 的垃圾回收机制有一个全面而系统的了解。
2019-11-24 21:57:39
1792
1

原创 深入理解 Java 虚拟机(五)~ 对象的创建过程
本文详细介绍了对象的创建过程如类的加载、内存的分配和初始化,分配内存时的同步方式,对象的初始化操作。还介绍了对象的内存布局,如对象头、实例数据、对齐填充。最后介绍了 Hotspot 如何进行对象的访问定位。
2019-10-15 19:36:09
1634
1

原创 深入理解 Java 虚拟机(四)~ 各种容易混淆的常量池
本文详细介绍了 Java 中的常量和字面量的区别,字节码中的常量池和运行时常量池的区别,最后详细介绍了字符串常量池和 String.intern 方法
2019-10-13 20:43:43
2237

原创 深入理解 Java 虚拟机(三)~ class 字节码的执行过程剖析
本文详细介绍了 Java 内存区域结构,方法的调用及方法调用的指令,方法重载解析及动态分派的实现原理,还介绍了 Java 对动态类型的支持。最后介绍基于栈的指令集和基于寄存器的指令集的区别。
2019-10-11 18:54:22
1445

原创 深入理解 Java 虚拟机(二)~ 类的加载过程剖析
本文详细介绍了类的加载过程:加载、验证、准备、解析、初始化,重点介绍了和我们开发息息相关的类加载器,类加载器死锁问题。
2019-10-05 22:35:33
2907
1

原创 深入理解 Java 虚拟机(一)~ class 字节码文件剖析
本文分析了字节码文件的组成,如魔数、字节码版本、常量池、字段、方法、属性等,还介绍了 invokeDynamic 指令,并分析了其实现原理;接着分析了字节码指令集, 并通过一个案例分析了其对应的指令,每执行完一个指令,展示其对应的操作数栈和局部变量表的情况。最后通过分析字节码的方式知道实际开发工作,加深对 Java 语言的理解深度,帮助我们编写更好的 Java 代码。
2019-09-30 16:31:59
5683
12

原创 Java设计模式实战 ~ 深入理解代理模式
本文详细介绍了静态代理、动态代理,还详细分析了 JDK 动态代理的源码分析,最后介绍了代理模式和装饰模式的区别
2019-09-16 21:08:01
1908
2

原创 Java设计模式实战 ~ 装饰模式探究
本文详解介绍了装饰模式的原理、使用场景,通过日志案例介绍装饰模式的优势,最后分了装饰模式和适配器模式的区别
2019-09-15 12:08:25
4516
4

原创 Java设计模式实战 ~ 适配器模式分析与实战
本文详细介绍了适配器模式的原理、使用场景、优点,以及缺省适配器模式。最后通过真实案例介绍适配器模式的使用
2019-09-13 20:19:32
1419

原创 Java设计模式实战 ~ 工厂模式剖析与实战
本文详细介绍了工厂模式中的简单工厂模式、工厂方法模式、抽象工厂模式。简单工厂模式优点和缺点,然后引出工厂模式,由于无法很好应对多个产品等级结构的问题,引出了抽象工厂模式,以及它的应用场景。
2019-09-12 18:01:08
1986
1

原创 Java设计模式实战 ~ 深入理解建造者模式与实战
本文介绍了建造者模式的基本原理、建造者模式的演化、建造者模式与重叠构造函数/JavaBeans 模式的对比,还深入分析了建造者模式与静态工厂在真实案例的选择,最后通过真实项目演示了建造者模式的使用
2019-09-09 23:52:21
1589
1

原创 Java设计模式实战 ~ 单例模式分析与实战
本文介绍了单例模式的 5 种实现方式:饿汉、懒汉、DCL、静态内部类、枚举方式,最后介绍了 Android 开发中一个应用单例模式的场景
2019-09-08 21:23:35
3632
9

原创 Java设计模式实战 ~ 观察者模式分析与实战
本文主要介绍了观察者模式的原理、使用场景、JDK中的观察者模式、观察者模式的缺点、最后介绍了观察者模式在项目中的实践
2019-09-07 22:52:18
2030

原创 Java设计模式实战 ~ 模板方法模式分析与实战
本文介绍了日常开发中常用到的模板方法模式,详细介绍了模板方法模式的定义、优点、使用场景。最后通过项目中真实案例来讲解如何使用模板方法模式
2019-09-06 18:01:35
1798

原创 Java设计模式实战 ~ 面向对象 6 大设计原则剖析与实战
本文介绍了设计模式的基本分类、通过案例的方式介绍面向对象的 6 大设计原则,最后通过项目案例分析如何使用面向对象的设计原则
2019-09-05 20:09:41
4215
9

原创 Android MVP 架构改造 ~ 如何重用顶层业务
本文介绍了常规 MVP 在复杂业务中遇到的比较大的问题,通过多个业务案例改在 MVP 架构以应对复杂的业务需求。
2019-03-01 10:19:03
2570

原创 数据结构与算法(十四)深入理解红黑树和 JDK TreeMap 和 TreeSet 源码分析
本文从 2-3 树再到 2-3-4 树讲解红黑树的起源、《算法4》和《算法导论》里红黑树的差异以及红黑树 5 条基本性质的原理分析,最后对 JDK 中基于红黑树数据机构的 TreeMap 和 TreeSet 进行源码分析
2018-07-14 18:10:50
2138
4

原创 二维火 Android 云收银模块化架构实践
本文介绍了二维火 Android 云收银组件化架构的演进,解决组件化路由问题以及业务模块依赖问题
2017-10-25 20:23:45
11973
9

原创 Android 架构 ~ MVP 架构在 Android 中的实践
本文通过登录案例介绍了 MVP 架构在 Android App 中的实践和使用心得,同时也在 CSDN 首页推荐
2017-01-30 16:05:08
13552
16

原创 Android 性能优化 ~ 内存篇
一、android官方一些内存方面的内存tips二、使用 ArrayMap、SparseArray代替HashMap三、Thread与Thread Pool线程池四、IntentService与Service五、避免常见的内存泄露六、onTrimMemory(int level)与onLowMemory()
2017-01-12 14:01:49
3702
原创 Kotlin入门到精通(实战)- 空安全和实战技巧
1、空安全Kotlin 中包含可空类型(Nullable types)和不可空类型(Non-Null Types),任何复杂类型都包括可空类型和不可空类型,例如下面的 String 类型:fun main() { var name: String? // 可空类型 var name2: String // 不可空类型}类型后面加上? 则表示可空类型,否则是不可空类型。对于不可空类型不能将 null 赋值给它。fun main() { var name: String? /
2021-01-23 19:27:46
287
1
原创 Kotlin入门到精通(实战)- 流程控制(二)透彻解析 return、break、continue
由于 Kotlin 有 Lambda,匿名函数等概念,使得在 Kotlin 中 return 和 jump 相对于 C 语言稍微复杂点,本篇文章就给大奖讲清楚 Kotlin 中的 return 和 jump 的各种情况的用法。常见的 return 和 jump,主要包含 return、continue、break。return官方对 return 的介绍:By default returns from the nearest enclosing function or anonymous functi
2021-01-23 16:20:46
242
原创 Kotlin 操作符重载详解
本文从浅入深全面介绍了 Kotlin 算术操作符重载、比较操作符重载、集合相关的操作符重载、区间操作符重载、解构操作符重载、Kotlin 的属性委托的原理分析
2021-01-10 17:27:22
4745
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
165
原创 Kotlin入门到精通(实战)- 变量的定义和函数入门
写在前面的话:首先需要明确一个前提,我们介绍的 Kotlin 是 Kotlin for JVM ,这也是 Kotlin 使用最广泛的地方。Kotlin 代码最终编译后的产物是 Java class 字节码,也就是遵循 Java 虚拟机规范。所以,我们在介绍原理的时候 ,通常会反编译 Kotlin 代码,明白这些语法糖背后对应的其实就是类似 Java 代码来实现的,如果你熟悉 Java 语言,那么我将带你快速而深入的掌握 Kotlin 这门语言。函数和变量这两个概念是 Kotlin 中最基本的两个元素,.
2021-01-10 13:24:47
159
原创 Kotlin入门到精通(实战)- 总目录
学前必读Kotlin入门到精通(实战)- 前言Kotlin入门到精通(实战)- 总目录第1章 Kotlin 简单入门在这一章,我将带大家从从最基本的 Kotlin 函数和变量开始,为我们后面的 Kotlin 内容做好铺垫。还会从最基本的表达式和语句的概念开始讲起,让大家明白 Kotlin 的语法糖为什么是这样的,而不用去死记硬背。紧接着还会介绍 Kotlin 中的枚举类,并且还是着重讲解在实际开发中如何使用枚举,让你明白什么时候用枚举什么时候使用整型常量,你会明白枚举的语法虽然很简单。但是在实际开发
2021-01-09 19:50:25
313
原创 Kotlin入门到精通(实战)- 学前必读
一、我为什么推出这门课程呢?Google 在 IO 大会上宣布 Kotlin 晋升为开发Android的一级语言了。而且很多关于 Android 的开源项目都是基于 Kotlin 开发的。所以对于 Android 开发来说 掌握 Kotlin 是很多有必要的Kotlin本身的一些特性如简洁性,可以减少大量的模板代码,大大提高开发者的效率如 安全性,避免了空指针异常;如 Kotlin 和 Java 代码100% 的互操作性让 Kotlin 语言的应用场景更加广阔,能使用 Java 的地方都能使用 Kotl
2021-01-09 14:46:09
253
原创 2020 年终总结
不平凡 2020 终于过去了,回顾这一年,却也不知道写些什么。注册的个人公众号上一篇是 2019年1月1日,一年都没有更新了。2021 年一定要更新频繁些。附:《2019年终总结》2020 年的主要时间一方面花在日常的项目迭代中,另一方面花在框架的开发上。框架的开发主要是程序监控。以前由于没有监控,很多问题的排查只能靠猜,对于许多客户反馈的偶现问题,最后也就不了了之。没有监控,我们面临许许多多问题,主要表现在以下几个方面:排查线上问题效率低当 “消防群” 里...
2021-01-03 19:10:58
391
算法-第4版-完整版
2018-03-18
数据结构和Java集合框架(完整版)
2013-07-05
MQTTAndroid客户端AndroidPushNotificationsDemo
2013-07-26
Java数据结构和算法(第二版)
2013-07-11
Java Concurrency in Practice 中文版( JAVA并发编程实践)
2012-12-19
smack源代码
2012-07-05
Java Software Structures.Designing and Using Data Structures
2018-03-18
大话数据结构-程杰
2018-04-20
数据结构和Java集合框架(英文版)
2018-04-20
算法导论(第三版)
2018-06-27
Foundation HTML5 Canvas For Games and Entertainment
2012-05-06
HTML5-Canvas(英文版)
2012-05-06
pro git2 中英文版(2本)
2018-06-26
android关于获取控件高度的问题
发表于 2012-08-07 最后回复 2012-08-07
初来咋到,多关照
发表于 2012-08-03 最后回复 2012-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝