自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 技能图谱学习路线系列-Java基础之ThreadLocal的原理和用法

一、ThreadLocal的实现原理在Thread类中,定义了一个变量ThreadLocal.ThreadLocalMap threadLocals = null;用于保存与此线程有关的ThreadLocal值,也就是说在ThreadLocal存在一个Map被用来保存和当前线程有关的变量值。1、setInitialValue方法,先来看一下源码private T setInitialValu...

2019-01-15 16:57:37 177

转载 Android 技能图谱学习路线系列-Java基础之Java锁的种类

转载自:https://www.cnblogs.com/chinaifae/articles/10232169.html一、java锁的种类java锁分为15种,分别为:公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁二、具体介绍1、公平锁 / 非公平锁公平锁公平锁是指多个线...

2019-01-15 14:01:14 170

原创 Android 技能图谱学习路线系列-Android基础之Application生命周期

一、Application的定义1、继承关系如下:Object <- Context <- ContextWrapper <- Application <- CustomApplication(自定义)每个应用都会定义自己的CustomApplication,用于在启动的时候初始化一些资源,监听App的各种状态,做出相应的处理,如:锁屏,进入后台,横竖屏切换等2、A...

2019-01-14 13:54:50 643

转载 Android 技能图谱学习路线系列-Java基础之线程同步的方法:Synchronized、lock、reentrantLock分析

转载自 https://blog.csdn.net/hunterliy/article/details/53954197Synchronized当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,它是在 软件层面依赖JVM实现同步。synchronized方法或语句的使用提供了对与每个对象相关的隐式监视器锁的访问,但却强制所有锁获取和释放均要出现在一个...

2019-01-14 10:25:41 172 1

原创 Android 技能图谱学习路线系列-Java基础之方法锁、对象锁、类锁

先了解一下Synchronized的用法。一、Synchronized的用法在修饰代码块的时候需要一个reference对象作为锁的对象。在修饰方法的时候默认是当前对象作为锁的对象。在修饰类时候默认是当前类的Class对象作为锁的对象。二、三种锁得区别与用法1、方法锁(synchronized修饰方法时)在定义方法时加入 synchronized关键字来声明 synchronized...

2018-10-11 15:25:34 222

转载 Android 技能图谱学习路线系列-Java基础之volatile

转载 https://www.cnblogs.com/paddix/p/5428507.html一、volatile的作用  如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用Synchronized来解决问题。而volatile关键字就是Java中提供的另一种解决可见...

2018-10-10 17:31:40 120

原创 Android 技能图谱学习路线系列-Java基础之Synchronized

一、Synchronized的作用修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。二、Synchronized使用方式先看一下没有同步的情况 public class TestNoSynchronized { ...

2018-09-30 14:26:03 116

转载 Android 技能图谱学习路线系列-Java基础之泛型

转载 https://www.cnblogs.com/coprince/p/8603492.html一、什么是泛型  泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。  二、泛型的使用2.1 泛型类泛型类型用于类的定义中,被称为泛型类。通过泛型可以完...

2018-09-29 16:53:04 122

转载 Android 技能图谱学习路线系列-Java基础之代理模式

转载 https://www.cnblogs.com/linzhong/p/7234051.html一、什么是代理模式  即Proxy Pattern,23种java常用设计模式之一。对其他对象提供一种代理以控制对这个对象的访问。简单说即是在不改变源码的情况下,实现对目标对象的功能扩展。  代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能...

2018-09-29 16:04:13 100

转载 Android 技能图谱学习路线系列-Java基础之反射机制

转载 https://www.cnblogs.com/Eason-S/p/5851078.htmlJava反射机制一、什么是反射机制  JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。  二、反射机制的作用   在运行时判断任意一个对象...

2018-09-29 14:50:51 110

转载 Android 技能图谱学习路线系列-Java基础之GC机制

转载 https://www.cnblogs.com/xiaoxi/p/6486852.htmlJava垃圾回收(GC)机制详解一、为什么需要垃圾回收  如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?   哪些内存需要回收是垃圾回收机制第一个要...

2018-09-29 14:01:29 155

原创 Android 技能图谱学习路线系列-Java基础之ArrayList与LinkedList

Java中ArrayList与LinkedList的区别对于实现方式,ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。对于查询操作,ArrayList优于LinkedList,ArrayList可以根据下标以O(1)时间复杂度对元素进行查询。而LinkedList的每一个元素都依靠地址指针和它后一个元素连接在一起,在这种情况下,查找某个元素的时间复杂度是O...

2018-09-29 10:27:57 114

转载 Android 技能图谱学习路线系列-Java基础之HashCode

转自https://www.cnblogs.com/dolphin0520/p/3681042.htmlHashCode是Java Object类中的一个方法。public native int hashCode();根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。为何Object类需要这样一个方法?它有什么作用呢?今天...

2018-09-28 17:04:23 284

转载 Android 技能图谱学习路线系列-Java基础之HashMap和HashTable的区别

转载自https://www.cnblogs.com/williamjie/p/9099141.html一、HashMap简介HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentH...

2018-09-28 16:05:44 186

转载 Android 技能图谱学习路线系列-Java基础之HashMap原理(JDK1.8)

转载自https://www.cnblogs.com/little-fly/p/7344285.htmlJava中HashMap底层实现原理(JDK1.8)源码分析在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8...

2018-09-28 15:01:57 98

原创 Android 技能图谱学习路线系列-Java基础之Object类方法

Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?1.getClass方法public final native Class<?> getClass();final方法,获得运行时类型。2.hashCode方法public native int hashCode();该方法用于哈希查找,重写了equals方法一般都要重写hashCo...

2018-09-28 11:09:07 218

空空如也

空空如也

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

TA关注的人

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