自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android事件分发机制

前言Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等 今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的 1. 基础认知1.1 事件分发的对象是谁?答:点击事件(Touch事件) 定义  当用户触...

2018-08-15 10:11:51 112

转载 Android View滑动冲突

滑动冲突的常见场景与处理思路                                  1.外层与内层滑动方向不一致,外层ViewGroup是可以横向滑动的,内层View是可以竖向滑动的(类似ViewPager,每个页面里面是ListView) 2.外层与内层滑动方向一致,外层ViewGroup是可以竖向滑动的,内层View同样也是竖向滑动的(类似ScrollView包裹List...

2018-08-14 20:11:39 146

转载 Android常用第三方框架整理

缓存 DiskLruCacheLRU(Least Recently Used),即近期最少使用算法。使用缓存策略, 对网络上下载的图片等资源文件进行缓存, 当再次请求同一个资源url时, 首先从缓存中查找是否存在, 当不存在时再从网络上下载。采用缓存, 除了提高获取资源的速度, 也对减少使用用户手机上的流量有很好的作用. 核心思想是当缓存满时,会优先淘汰那些最少使用的缓存对象。采用...

2018-08-14 11:48:00 910

转载 Java类加载器

类加载的机制的层次结构每个编写的“.java”扩展名类文件都存储着需要执行的程序逻辑,这些“.java”文件经过Java编译器编译成扩展名为“class”的文件,“class"文件中保存着java代码经过转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的“.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程成为类加载,这里我们需要了解一下类加载的...

2018-08-02 16:30:54 122

原创 java的gc(gc工作原理,gc回收机制,gc内存分配)

收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现。自动内存管理解决的是:给对象分配内存 以及 回收分配给对象的内存。为什么我们要了解学习GC与内存分配呢?在JVM自动内存管理机制下,不再需要为每一个new操作写配对的delete/free代码。但出现内存泄露和溢出问题时,如果不了解虚拟机是怎样使用内存的,那么排查错误将是一项非常艰难地工作。GC(垃圾收集器)在对堆回收前,...

2018-07-30 20:38:20 2553

转载 HashMap 和 concurrentHashMap 的实现原理

一:HashMap实现原理及源码分析        哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。1:什么是哈希表      哈希表,相比于数组、线性链表、二叉树等数据结构,在哈希表中进行添加,删除,查找等操作,性能十分之高...

2018-07-28 16:02:47 153

转载 Java内存模型理解

Java内存模型即 Java Memory Model,简称JVM。JVM定义了java虚拟机(JVM)在计算机内存的工作方式,JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。关于并发编程。并发编程领域,有两个关键问题:线程之间的通信和同步。线程之间的通信线程的通信是指线程之间以何种机制来交换消息。在命令式编程中,线程之间的通信机制有两种共享内存和消息传递。共享内存的并...

2018-07-27 11:43:57 114

转载 AtomicInteger类保证线程安全

J2SE 5.0提供了一组atomic class 来帮助我们简化同步处理。基本工作原理是使用了同步Synchronized的方法实现了对一个long,integer,对象的增、减、赋值(更新)操作,比如对于++运算符AtomicInteger可以将它持有的Integer能够atomic的递增,在需要访问两个或者两个以上atomic变量的程序代码(或者是对单一的atomic变量执行两个或者两个以上...

2018-07-26 16:44:25 917

转载 thread 中的join() 的用法

1:首先来说说线程Thread的join方法:顾名思义就是往线程中添加东西;该方法可以用于临时加入线程,一个线程在运算过程中,如果满足于条件,我们可以临时加入一个线程,让这个线程运算完成,另外一个线程在继续运行。/** * join方法可以用于临时加入线程,一个线程在运算过程中,如果满足于条件, * 我们可以临时加入一个线程,让这个线程运算完,另外一个线程再继续运行。 * */...

2018-07-26 10:59:32 7402

原创 线程的使用、实现及原理

一:线程池的实现原理:提交一个任务到线程池中,线程池的处理流程如下:        1:判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下一个流程。        2:线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的人物存储在这个工作队列里。如果工作队列满了,则进入下...

2018-07-25 16:04:42 226

空空如也

空空如也

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

TA关注的人

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