首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Android面试指北
小海编码日记
创建于2023-02-13
订阅专栏
Java 八股,Android知识等
等 8 人订阅
共33篇文章
创建于2023-02-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
按Home键时SingleInstance Activity销毁了???
前段时间,突然有朋友询问,自己写的SingleInstance Activity在按home键的时候被销毁了,刚听到这个问题的时候,我直觉怀疑是Activity在onPause或者onStop中发生了
static的那些事儿
**开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天,[点击查看活动详情](https://juejin.cn/post/7194721470063312933 "http
面试问题002-SharedPreferences支持多进程调用吗,多进程安全吗?
SharedPreferemces在低版本上是支持多进程的,但其多进程操作不安全,后续不再支持。通过前文我们知道,可以通过 来获取SharedPreferences接口的实现类SharedPrefer
面试问题001-SharedPreferences线程安全吗?
首先可以肯定的讲SharedPreferemces是线程安全的,其底层是通过synchronized关键词锁类对象实现的,那么具体的实现细节是怎样的呢?我们一起来看下 SharedPreference
final的那些事儿
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 6 天,点击查看活动详情 final作为java中基础常用的关键字,相信大家都很熟悉,大家都晓得final可以修饰类,方法和变量且
Activity A启动B后生命周期变化
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情 当A Activity启动B Activity后,其生命周期如何变化呢?我们沿用前文中Hook Inst
ReentrantLock实现原理(1)-非公平锁
在线程间通信方式2一节中,我们了解了Lock,Condition和ReentrantLock,学习了简单使用Condition和RentrantLock完成线程间通信,从文章中我们了解到Reentra
AQS实现原理
了解了ReentrantLock和Semaphore实现原理,不难看出AQS担当着核心左右,AQS为独占锁和共享锁提供了基础框架能力,通过对AQS的封装,我们可以轻松实现线程状态管理。 AQS对象组成
线程池封装及拒绝策略
前文提到线程的使用以及线程间通信方式,通常情况下我们通过new Thread或者new Runnable创建线程,这种情况下,需要开发者手动管理线程的创建和回收,线程对象没有复用,大量的线程对象创建与
synchronized实现原理
synchronized作为java语言中的并发关键词,其在代码中出现的频率相当高频,大多数开发者在涉及到并发场景时,一般都会下意识得选取synchronized。 synchronized在代码中主
ReentrantLock实现原理(2)-公平锁
在ReentrantLock实现原理(1)一节中,我们了解了ReentrantLock非公平锁的获取流程,在本节中我们来看下ReentrantLock公平锁的创建以及锁管理流程 创建Reentrant
Java对象简介
对象创建过程 以简单对象的创建为例,说明对象创建过程,新建ObjectTest.java,代码如下: 随后执行javac ObjectTest.java命令,编译该文件,生成ObjectTest.cl
类加载器
前文中提到创建Java对象第一步就是校验字节码合法性,以及类模版是否已经被加载,如果还没有被加载的话,则需要先完成类加载才能继续创建对象的流程,那么如何进行类加载呢?方法就是使用ClassLoader
线程间通信方式(1)
前文了解了线程的创建方式和状态切换,在实际开发时,一个进程中往往有很多个线程,大多数线程之间往往不是绝对独立的,比如说我们需要将A和B 两个线程的执行结果收集在一起然后显示在界面上,又或者比较典型的消
JVM运行时内存分区
前文已经了解了对象的创建过程,对象内存空间的回收,在多线程环境下共享变量的同步等虚拟机知识,接下来我们来看下在虚拟机中是如何进行内存管理的,也就是Java虚拟机运行时内存分区。 运行时内存分区 如上图
[面试题]对象与内存结构
JVM内存结构中,那一部分不会发生内存泄漏? 核心知识 :JVM运行时内存分区,GC Root 答:我们知道发生内存泄漏的原因是本应该被释放的对象被生命周期大于它的对象持有,GC无法回收,从而导致内存
volatile实现原理
在Java内存模型一节,除了synchronized外,我们还提到一个常用关键词----volatile,我们说过volatile保证了并发环境的可见性和顺序性,使用volatile修饰的变量,当然值
Semaphore实现原理-共享锁
在线程间通信方式中,我们了解到可以使用Semaphore信号量来实现线程间通信,Semaphore支持公平锁和非公平锁,Semaphore底层是通过共享锁来实现的,其支持两种构造函数,如下所示: Se
对象管理
前文提到,Java对象创建后,会为对象分配一块内存空间,众所周知,设备的内存有限,也就意味着必须在一个合适的时机释放该内存空间,那么什么情况下这个对象的内存空间可以被释放呢?又是谁来执行该操作呢? 早
锁分类
前文中,我们已经了解了什么是线程,线程间常用通信方式,线程池以及其相关特性,可以看出锁在多线程环境中充当着重要作用,不管是线程间的数据通信,还是线程间的等待和唤醒,都依赖于锁,那么锁又有哪些特征以及分
下一页