自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 新手学习Rotrofit+RxJava网络请求以及Material Design风格

先贴出代码地址吧:https://github.com/Pr-Jiang/NewsAPP近期,宣讲会也不多了,受 饿了么 sofish 的点醒,确实应该静下心来做点实际的东西。在寝室一个人,两天半的时间,做了这一个算是比较完整的项目吧。也参考了github上的开源项目进行学习~之前只是浅显的看了一些RxJava的文章,这一次实战,也切实体会到了Retrofit+RxJa

2016-11-09 17:11:12 2541 3

原创 Java中对象的初始化顺序

初始化分为两个阶段,类的初始化和类实例(对象)的初始化类的初始化阶段:静态变量的声明初始化和静态初始化块被执行类实例初始化阶段:实例变量的声明初始化和非静态初始化先被执行,然后是构造方法的执行。

2016-11-07 09:40:45 452

原创 JVM内存区域

JVM主要将将内存划分为:虚拟机栈、方法区、本地方法栈、堆、程序计数器程序计数器:线程私有。记录当前线程要执行下一条的指令。由于在JVM中,多线程通过切换来轮流获得CPU的执行时间,在任意时刻,CPU只会执行任一线程中的一条指令,因此每个线程都需要有一个独立的程序计数器来记录,使得线程在切换回来后可以继续顺序执行。JVM中规定,如果线程中执行 的是非Native方法

2016-11-01 00:26:59 1003 1

原创 输出数组中所有三个数相加为0的解

给定一个数组,有正有负,列出其中三个数和为零的组合public class FindThree { public static void main(String[] args) { int[] arr = { 2, 1, -1, -9, 10, 8, 7 }; System.out.println(process(arr)); } private static St

2016-10-29 23:10:42 4831

原创 Android更新UI解析

Android的UI访问是没有加锁的,所以规定只能是UI线程进行操作。在操作UI时,ViewRootImpl.checkThread()方法中会校验当前线程是否是主线程。ViewRootImpl 是在Activity.onResume() 调用之后创建。创建后才会有ViewRootImpl对象,所以在创建前是不会进行checkThread()校验的

2016-10-29 09:52:43 377

原创 Android Context 解析

本文 参考 郭大神 http://blog.csdn.net/sinyu890807/article/details/47028975 进行精简总结ContextWrapper为上下文功能的封装类ContextImpl为上下文功能的实现类ContextWrapper又有三个直接子类,是Application、Service、ContextThemeWra

2016-10-22 11:14:04 362

原创 Android内存回收机制

当Android应用程序退出时,并不清理其所占用内存,Linux内核进程也相应的存在,所谓“退出但不关闭”,使得用户再次调用程序时可以第一时间进行响应。当系统内存不足时,则系统将激活内存回收过程。为了不因内存回收影响用户体验,Android基于进程中运行的组件及其状态规定了默认的五个回收优先级:IMPORTANCE_FOREGROUNDIMPORTANCE_VISIBLEIMPOR

2016-10-22 10:59:15 553

转载 Java并发编程:Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,

2016-08-26 15:11:54 786

原创 Android Activity 全屏参数分析

View.SYSTEM_UI_FLAG_FULLSCREEN                                   隐藏状态栏View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN                状态栏上浮于ActivityView.SYSTEM_UI_FLAG_IMMERSIVE                              

2016-08-23 15:30:56 576

转载 深度优先和广度优先介绍

转载自http://www.cnblogs.com/skywang12345/深度优先搜索的图文介绍1. 深度优先搜索介绍图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和

2016-08-23 15:26:11 705

转载 fail-fast 机制

在JDK的Collection中我们时常会看到类似于这样的话:        例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器

2016-08-18 16:06:40 392

转载 HashMap和Hashtable的比较

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java

2016-08-18 14:19:36 396

转载 Volley 源码解析

项目:Volley,分析者:grumoon,校对者:Trinea本文为 Android 开源项目源码解析 中 Volley 部分项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo分析者:grumoon,校对者:huxian99、Trinea,校对状态:完成1. 功能介绍1.1. VolleyVolley 是 G

2016-07-22 16:18:31 384

原创 Android代码中取消废弃代码的删除线

@SuppressWarnings("deprecation")通过上述注解即可取消删除线

2016-06-05 19:44:16 2214

空空如也

空空如也

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

TA关注的人

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