首页
学习
活动
专区
工具
TVP
发布

Phoenix的Android之旅

专栏作者
135
文章
134579
阅读量
31
订阅数
Kotlin协程-协程的内部概念Continuation
+-------+           +-----------+ | START |----------------------->| SUSPENDED | +-------+           +-----------+                  |  ^                  V  |                +------------+ completion invoked +-----------+                | RUNNING |------------------->| COMPLETED |                +------------+          +-----------+
PhoenixZheng
2021-05-17
1.6K0
零基础理解RxJava和响应式编程
RxJava发展到现在已经在2016年推出了第二代。可能你听说过很多人讲起RxJava,但是很少在实际项目开发中用到它。 原因很简单,RxJava虽然很好用,但是它有一定的学习成本。很多人只是知道这么个东西,但是没有真正的去学习和推动RxJava。毕竟会觉得即使没有RxJava也一样能写好代码。 其实它的学习成本和带来的收益对比的话,是非常值得花点时间去学的。当你切换到Rx编程思维之后,会发现很多以前难以处理的问题在响应式编程下都变得易如反掌。 而很多公司没有推进RxJava的原因,主要在于船大难掉头。笔者见过一个上亿日活的项目,至今还在用ant构建。可想而知还有许多新技术受限于项目的历史原因没法应用。 另一个推动RxJava困难的原因在于开发团队水平层次不齐。如果你的团队里有成员连并发和线程都搞不清楚的话,RxJava可能只能带来负面效果。
PhoenixZheng
2018-09-29
7460
观察者模式--DataBinding的原理和坑
上一次我们介绍了DataBinding的应用,不过只在应用层面描述了下,没有做深入分析。 关于DataBinding的实现原理,它的根本思想是观察者模式。 这篇会结合上次的demo来分析它的原理和坑,关于demo源码可以在后台回复"数据绑定"获得。
PhoenixZheng
2018-09-29
1.9K0
开发必须了解的10个Android库
作为一个开发者来说,避免重复造轮子是很重要的,能让你节省很多时间去专注于开发自己的业务。2018年已经过去一大半了,今天介绍下今年以来业界内比较推崇的几个框架,希望能提高大家的开发效率。
PhoenixZheng
2018-09-29
2.2K0
深入了解Android的Looper
Handler我们都知道,它需要和Looper绑定,当Handler在主线程创建,则会默认绑定主线程的Looper,当是在子线程创建,则需要在Handler的构造方法里传入子线程的Looper的对象。
PhoenixZheng
2018-08-07
3270
你可能不了解的Synchonized和ReentrantLock
面试中经常会问到的一类问题是多线程相关的, 比如如何处理Android中的多线程通信,如何处理并发问题。归根结底,处理Java的并发,都离不开锁。 我们将花三到四分钟了解两种锁的用法和不同, 还有什么是公平锁。
PhoenixZheng
2018-08-07
3550
面试经常被问到的Interface的坑
曾经有一次面试被问到一个问题,Java的接口中能否定义一个非静态变量。当时我就懵了,一直只知道接口变量一定是静态,但从来没思考过为什么。不知道你有没有思考过这个问题呢?
PhoenixZheng
2018-08-07
2830
Java面试的基础中的基础
面试时经常从Java的基础知识开始,最基础的部分莫过于Java的集合类型。我们知道Java的集合类型有三种,Set,List,Map,那这三种有什么区别呢。
PhoenixZheng
2018-08-07
3010
其实热修复就这么简单
上几篇内容介绍了Java的ClassLoader和相关的知识点,总的来说 · Java加载class逻辑是双亲委托模式 · 对于不在class path中的class,可以通过自定义class loader来加载 · 同一个class的不同对象是否可以转换还要看是否在同一个class loader里
PhoenixZheng
2018-08-07
3420
双重检查锁定
双重检查锁定 - Double checked locking,是一种单例的方式。这种写法的关键在于用 volatile描述实例对象,同时在 synchronized块外面和里面判断实例对象是否为空。
PhoenixZheng
2018-08-07
2.3K0
Java 单例的五种写法
单例的目的是为了保证某个类只实例化一个对象。对于我们来说,理解这些单例写法的不同点,最好的方法是明白他们在什么情况下会失效。
PhoenixZheng
2018-08-07
4090
Java transient关键字
transient关键字是开发中用的比较少的一个关键字,它在序列化和反序列化中比较重要,通常面试时会考察它的作用和它的使用场景,还有它在什么情况下会失效。
PhoenixZheng
2018-08-07
1.7K0
匿名内部类导致内存泄露的面试题
内存泄露一直是Java中需要避免的问题,也是面试时经常拿来考察编程能力的题目。比如下面这个问题,
PhoenixZheng
2018-08-07
6.4K0
Java的克隆
说到克隆,本质都是使用一个已经实例化完成的对象的副本。 对于基本类型比较简单。比方说我们想复制一个变量,
PhoenixZheng
2018-08-07
5270
什么是策略模式
策略模式应该是Java设计模式中最简单的一种模式, 它的核心思想是,一个类的行为可以在运行时动态改变,有不同的实现逻辑。
PhoenixZheng
2018-08-07
5670
Java中的四舍五入
大概在小学的时候我们就学过四舍五入, 不过在编程语言中这个概念跟我们所熟悉的算法有点出入。 如果面试中考察你对Math.round()的用法,不知道能不能准确答的上来?
PhoenixZheng
2018-08-07
8290
Java中如何操作超大数
我们知道Integer的最大值是 2^31 - 1,Long最大值是 2^63 -1, 不管是32位机还是64位机都是这样, 通常来说我们要操作一个大于 Integer最大值的数的时候会用 Long来进行, 但万一我们遇到一个比 Long的最大值还大的数怎么办呢?
PhoenixZheng
2018-08-07
4030
为什么HashCode相同的两个对象可能不相等?
面试中曾经有这么一道题目,考察的是开发者对于 equals()和 hashCode()的理解, 题目是这样的,
PhoenixZheng
2018-08-07
2.9K0
只用一行代码的单例模式
作为Android开发者对Kotlin语言应该不会陌生, 下面这个单例模式就是用Kotlin写的,
PhoenixZheng
2018-08-07
3770
重新认识观察者模式
对于观察者模式,我们知道它是设计模式的一种, 利用接口将数据和使用数据的对象进行解耦。 如果你是个老鸟的话,就知道 Java的 util的 Observer接口是实现观察者模式的关键。 如果你是初学者的话对于观察者模式也应该不陌生, 比如Android的BaseAdapter使用的就是观察者模式。
PhoenixZheng
2018-08-07
1910
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档