贾楷阳的博客

也许不止是博客


  • 首页

  • 分类

  • 归档

  • 标签

  • 摄影

  • 关于

  • 站点地图

【Java面试题】Java中的“构造方法” 真的是 “方法” 吗?

发表于 2020-03-29 | 分类于 Java面试题
0. 背景最近,偶然在网上看到有人在问 “Java的构造方法到底有还是没有返回值?” 并在提问者还随着问题对网上自己已经搜索到的答案表示了不满: “Java构造方法有人说有返回值,有人说没有,难道就没人真正能给出正确答案吗?” 问题见https://www.zhihu.com/questio ...
阅读全文 »

【开源项目源码分析】EventBus 源码分析

发表于 2020-01-27 | 分类于 开源项目源码分析
0. 基础EventBus 是一个基于事件的“发布-订阅”模式的事件总线框架,有以下基础的概念: 订阅者(Subscriber):订阅消息的角色; 发布者(Publisher):发布事件的角色; 事件(Event):代表一个可以被发布的消息; 事件总线(EventBus):用于管理订阅关系和消息的 ...
阅读全文 »

【Java面试题】volatile 关键字到底是什么?

发表于 2020-01-05 | 分类于 Java面试题
0. 背景在Java的各种面试题中,一个出现频率很高的题就是:1volatile 关键字是什么意思?作用是什么? 想必熟悉Java的朋友应该对这个关键字已经有所了解了,同时应该也有很多朋友对这个关键字略有一知半解,只是知道它是“和并发编程相关的”。 那么,本文接下来将会介绍下 volatile 关键 ...
阅读全文 »

【百度算法题】找出两个单向链表的交点

发表于 2020-01-05 | 分类于 算法题解
1. 简介面试题:找出两个单向链表的交点。 问题说明:给出两个单向链表的第一个元素,找出它们的交点,如果没有交点则返回null,如果有多个则返回第一个。 2. 问题分析这个问题中,要求使用的是单向链表,那么我们回忆下单向链表的特性,有如下几点: 1) 每一个结点包含有下一个结点的引用 next2) ...
阅读全文 »

【Java面试题】Java类对象都是在堆上分配的内存吗?

发表于 2019-12-22 | 分类于 Java面试题
0. 背景JVM经典的内存模型想必大家都很熟悉了,我们都非常熟悉的栈内存 + 堆内存的结构中,引用变量和基础数据类型都是直接在栈内存上分配的,而类对象是在堆内存中分配的。 那么,面试题:1Java类对象都是在堆上分配的内存吗? 这个问题的答案是什么呢? 1. JVM虚拟机的内存结构在回答这个问题之前 ...
阅读全文 »

Timer/TimerTask 源码分析

发表于 2019-12-17 | 分类于 JDK源码分析
0. 背景在Java中,很常见的一个定时器的实现就是 Timer 类,用来实现定时、延迟执行、周期性执行任务的功能。 Timer 是定义在 java.util 中的一个工具类,提供简单的实现定时器的功能。和它配合使用的,是 TimerTask 类,这是对一个可以被调度的任务的封装。使用起来非常简单, ...
阅读全文 »

静态使用 SimpleDateFormat 的线程安全问题

发表于 2019-12-16 | 分类于 Android实践问题
0. 背景有时候,在项目中为了避免过多创建对象,会把SimpleDateFormat的对象声明为静态的。但是这样却会导致在多线程的环境中出问题。 一般的用法是生命一个静态的SimpleDateFormat对象,然后提供一个工具方法来调用它的 format 方法,在多线程的环境下,就会出现一些意想不到 ...
阅读全文 »

后台HandlerThread 使用的问题

发表于 2019-12-15 | 分类于 Android实践问题
1. 背景在实际项目开发中,经常会有这样的一些阻塞操作,如: 本地文件 I/O 操作 一些计算密集比较耗时的操作 网络请求操作 某些第三方SDK的初始化比较耗时 对于以上这些场景的场景,他们的共有特性是比较耗时,放在主线程会导致主线程的UI卡顿;同时这些又是一些低频无规律零散的操作,每一次都进行 ...
阅读全文 »

Android 模块解耦和的实践

发表于 2019-12-13 | 分类于 Android解决方案
0. 背景设想这样一个场景,作为一个研发人员,现在产品要在你们的App中添加一个新的功能,比如说是人脸识别登录的功能。 这个新加功能具有以下特点: 该功能较为独立; 仅在一部分较少的设备上支持; 该功能需要集成一些SDK,会对安装包的体积有较大的影响; 那么接下来,作为项目中的技术人员,在对这个 ...
阅读全文 »

异步多条件依赖模型解决方案-条件仓库模式

发表于 2017-02-23 | 分类于 编码经验
从一个例子开始现在假定一个开发人员,我们可以称他为小Y,他在负责公司C的一个移动端产品的开发。当前的工作进展是小Y正在开发产品的登录页面。这是一个很简单的页面,就想你所知道的最典型的登陆页面一样,包含一个账户名、一个密码两个文本输入框。在它们的下面是一个“登录”的按钮。当用户填写完成后点击“登录”按 ...
阅读全文 »
123
贾楷阳

贾楷阳

技术, Android, Java, 互联网

29 日志
17 分类
70 标签
GitHub E-Mail Instagram 知乎
友情链接
  • 技术的小黑屋
  • 袁辉辉的博客
© 2022 贾楷阳
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
本站访客数 人次 本站总访问量 次