面试相关
文章平均质量分 89
hymKing
这个作者很懒,什么都没留下…
展开
-
CopyOnWriteArrayList实现原理源码分析
针对于并发场景下动态数组的选型,可以使用线程安全的列表Vector,Vector是jdk1.0版本就带有的一个线程安全的动态数组类,但是Vector的实现原理之前分析过,对于所有对内部存储数据结构的操作,都添加了同步锁,这样的实现方式,虽然保证了线程的安全性,大并发场景下,却等同于多个线程的串行化执行,效率低下。jdk1.5引入了新的线程安全的列表实现CopyOnWriteArrayList。一、CopyOnWriteArrayList的实现类图类图结构和ArrayList完全一致,这个也合理,从Co原创 2021-11-11 16:40:56 · 3335 阅读 · 0 评论 -
基于android10.0源码分析Activity的启动流程
一、梳理源码流程干什么Activity是四大组件中最重要的组件之一,下面来分析Activity的启动过程,了解Activity的启动过程能帮助我们更好的对组件Activity的理解,也能帮助我们更好的把控Activity生命周期的变化过程。当然Activity作为四大组件之首,10.0版本的Activity的代码函数在8000行,关联的一些类Instrumentation、ActivityTaskManager、ActivityStarter等等,怎么也是几万行的代码,一次完全分析起来会很困难,这里面主原创 2021-11-07 12:12:37 · 1548 阅读 · 0 评论 -
解决ifelse过多问题
问题if else过多问题可以分成三类问题:if…else 过多逻辑表达式复杂嵌套过深本节只讨论过多问题:public void test(){ if(condition1){ //do something &nbs...原创 2020-04-30 16:54:55 · 2440 阅读 · 0 评论 -
FLAG_ACTIVITY_CLEAR_TOP和singleTask的区别
Activity的Flags的设置,可以让Activity的运行具有一些特殊的特性,比如有些可以产生和启动模式相同或相似效果的,还有比如Activity在非前台的时候,也不会保存后台的历史列表中。本文重点分析FLAG_ACTIVITY_CLEAR_TOP,也简单介绍一下其它几个常用的Flag以及使用场景FLAG_ACTIVITY_NEW_TASK将Activity指定为singleTas...原创 2019-12-09 09:47:04 · 1460 阅读 · 1 评论 -
通过使用场景彻底明白Activity启动模式
先给出结论:Activity的启动模式的设计的主要目的是为了解决应用页面交互需求的不同场景。具体不同的启动模式,适合解决什么样的场景问题,我们先来看看Activity的启动模式都有哪些。1、standard标准模式在介绍标准模式之前,先介绍一下多个Activity实例在内存当中的维护数据结构是什么,所有的Activity实例被创建后,都会加入到栈数据结构中,在Android知识体系的术语中,...原创 2019-11-27 17:03:00 · 525 阅读 · 0 评论 -
"aa".equals(a)这种写法为什么就可以避免空指针。
public static void main(String[] args) { String a=null; if("aa".equals(a))//这种情形,不出现空指针异常 //if(a.equals("aa"))//出现空指针异常 { System.out.println(true); } else { System.out.println(false); } }原创 2014-05-04 21:08:09 · 3164 阅读 · 0 评论 -
Java 螺旋数组的实现方式-一个循环实现哦
随着编程的学习和工作,感触越来越深的原创 2014-05-10 22:27:19 · 2975 阅读 · 0 评论