自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 java switch

先看下面代码:private void test(int num) { switch (num) { case 1: System.out.println("==========1"); case 2: System.out.println("==========2"); case 3: System.out.println("==========3"); ...

2020-11-10 10:23:41 140

原创 Android 版本主要变更与适配

android 10

2020-07-12 23:08:28 2281

转载 LeakCanary原理解析

使用LeakCanary是Square为Android应用提供的一个监测内存泄露的工具,源码地址:https://github.com/square/leakcanary。在gradle文件中引入依赖:dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4' releaseC...

2020-04-07 17:34:06 383

转载 Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数

Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界面更快捷更方便了。但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle ...

2020-04-06 19:34:14 218

转载 详解 Java 中的四种引用

文章目录 前言 另外三种引用 软引用 弱引用 虚引用 实验代码 引用队列 前言在 Java 中,引用随处可见,我们通过类似Object obj = new Object();的代码就可以创建一个引用,而我们直接通过这个代码段创建的引用被称为强引用(StrongReference),这种引用的特点是其指向的对象无论如何都不...

2020-03-29 22:22:44 105

转载 算法-水壶问题

对示例 1 的理解,感谢朋友 @robotliu0327 提供。这一类游戏相关的问题,用人脑去想,是很难穷尽所有的可能的情况的。因此很多时候需要用到「搜索算法」。「搜索算法」一般情况下是在「树」或者「图」结构上的「深度优先遍历」或者「广度优先遍历」。因此,在脑子里,更建议动手在纸上画出问题抽象出来的「树」或者「图」的样子。在「树」上的「深度优先遍历」就是「回溯算法」,在「图」上的「...

2020-03-22 13:16:53 2917 1

转载 java中的各种锁详细介绍

转自:https://blog.csdn.net/axiaoboge/article/details/84335452Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特...

2020-03-21 19:11:06 146

转载 java队列详解

Queue: 是一个队列,即一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。 Queue的实现1、没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java...

2020-03-21 11:02:13 291

转载 为什么面试要问hashmap 的原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面...

2020-03-18 16:47:17 98

转载 java 对象存活分析——引用计数法&可达性分析

java虚拟机总共分为五个区域,其中三个是线程私有:程序计数器,虚拟机栈,本地方法栈,两个是线程共享:堆,方法区。线程私有的区域等到线程结束时(栈帧出栈时)会自动被释放,空间比较容易清理。而线程共享的java堆和方法区中的空间较大而且没有线程的回收容易产生很多垃圾信息,GC垃圾回收真正关心的就是这部分。java堆和方法区主要存放各种类型的对象(方法区中也存储一些静态变量和全局常量等信息...

2019-12-12 20:09:54 167

转载 小白都能看得懂的java虚拟机内存模型

目录 一、虚拟机二、虚拟机组成1.栈栈帧2.程序计数器3.方法区...

2019-12-10 11:05:36 94

原创 Android AIDL 小结

一、无论是否是跨进程调用,以及不论是否在主线程bindService,onServiceConnected/onServiceDisconnected 都是在主线程执行;二、如果是跨进程调用1.客户端调服务端中的方法,不管客户端是否在主线程调用,服务端在binder线程中执行;2.服务端回调客户端方法:1)在服务端直接调用(没有开启子线程),客户端回调方法在调用服务端方法对应线程(...

2019-11-09 17:03:00 221

原创 Activity 生命周期

一、Activity A 中启动Activity B (两个普通Activity)先执行A 的onPause,接着是执行B 的onCreate、onStart、onResume,再执行A 的onStop二、Activity A 中启动Activity B (B 是Dialog类型的Activity android:theme="@style/Theme.ActivityDial...

2019-11-04 21:09:04 126

原创 Java类锁与方法锁(synchronized 实现)

对象锁,是针对一个对象实例的,它只在该对象的某个内存位置声明一个标识该对象是否拥有锁,所有它只会锁住当前的对象,而并不会对其他对象实例的锁产生任何影响,不同对象访问同一个被synchronized修饰的方法的时候不会阻塞。类锁是锁住整个类,当有多个线程来声明这个类的对象时候将会被阻塞,直到拥有这个类锁的对象呗销毁或者主动释放了类锁,这个时候在被阻塞的线程被挑选出一个占有该类锁,声明该类的对象。...

2019-10-20 22:48:48 601 1

转载 Java内部类详解

Java内部类详解  说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎...

2019-10-19 23:24:44 78

原创 运行时动态申请存储权限

private void startAlbum(){ final String[] PERMISSIONS_STORAGE = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" }; //检查权限

2018-02-02 00:25:41 3099

转载 Java synchronized用法举例

记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。

2017-04-21 10:19:46 408

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除