- 博客(12)
- 收藏
- 关注
转载 Android View树的绘制流程
本文主要讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的。下文提到的窗口可泛指women能看到的界面,包括一个Activity程序呈现的界面(我们可以将之理解为应用程序窗口),一个Dialog,一个Toast,一个Menu菜单等。首先对相关类的作用进行一下简单介绍:Window类 位于/framework/base/core/java/android/view/Wind
2016-09-17 21:53:54 404
原创 线程同步:synchronized和Lock
多线程编程是有趣的事情,它很容易突然出现“错误情况”,这是由系统的线程调度具有一定的随机性造成的,不过即使程序偶然出现问题,那也是由于编程不当引起的。当使用多个线程来访问同一个数据时,很容易“偶然”出现线程安全问题。一、线程安全问题关于线程安全问题,有一个很经典的问题——银行取钱的问题。银行取钱的流程基本上可以分为如下几个步骤。①用户输入账户、密码,系统判别用户的账户、密码是否匹配 ②用户输入取款
2016-09-16 22:18:27 439
原创 Java:控制线程
Thread提供一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行。一、join线程Thread提供了让一个线程等待另一个线程完成的方法——join()方法。当在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,知道被join()方法加入join线程执行完为止。 join()方法通常由使用线程的程序调用,以将问题划分为许多小问题,每个小问题分配一个线程。当所有的小
2016-09-16 01:11:36 1085
原创 Java线程的生命周期
当线程被创建并启动以后,他既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New),就绪(Runnable)、运行(Running)、阻塞(Block)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直占用CPU独自运行,所以CPU需要在多个线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。一、新建和就绪状态当程序使用new关键字创建了一个线
2016-09-15 23:46:55 458
原创 Java线程的创建和启动
Java使用Thread类代表线程,所有线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码)。Java使用线程执行体来代表这段程序流。一、继承Thread类创建线程类通过继承Thread类来创建并启动多线程的步骤如下。 ①定义Thread类的子类,并重写改类的run()方法,该run()方法体就代表了线程需要完成的任务,因此把
2016-09-15 17:30:09 424
原创 线程概述
一、线程和紧凑几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程(Process)。当一个程序进入内存运行时,即便成一个进程,进程是处于运行的程序,并且具有一定的独立概念,进程是系统进行资源分配和调用的一个独立单位。一般而言,进程包含如下三个特征。 ①独立性:进程是系统中独立存在的实体。它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间,在没有经过进程本身允许的情况下,
2016-09-15 17:01:38 565
原创 操作集合的工具类:Collections
Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。一、排序操作Collections同一个了如下常用的类方法用于对List集合元素进行排序。void reverse(List list):反转List集合中元素次序voi
2016-09-14 10:21:11 536
原创 HashSet和HashMap的性能选项
对于HashSet及其子类而言,它们采用hash算法来决定集合中元素的存储位置,并通过hash算法来控制集合的大小; 对于HashMap、Hashtable及其子类而言,它们采用hash算法来觉得Map中key的存储,并通过hash算法来增加key集合的大小。hash表里可以存储元素的位置被称为“桶(bucket)”,在通常情况下,单个“桶”里存储一个元素时,此时拥有最好的性能:hash算法可以根
2016-09-14 10:10:03 5693 1
原创 Java 8增强的Map集合
Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从Map中取出数
2016-09-13 09:56:02 773
原创 网易0912笔试题 暗黑字符串
题目:一个只包含’A’、’B’、’C’的字符串,如果存在一段长度为3的连续子串中,恰好有’A’、’B’、’C’各有一个,那么这个字符串就是纯净字符串,否则这个字符串是暗黑的。 例如:BAACAACCBAAA这个字符串就是暗黑的。例如: BAACAACCBAAA这个字符串就是纯净的,因为其连续子串中包含了’C’、’B’、’A’各一个。你的任务就是计算出长度为n的字符串(包含’A’、’B’、’C’)
2016-09-12 18:05:03 2508 1
原创 List集合
List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List集合默认按元素的添加顺序设置元素的索引。一、Java 8改进的List接口和ListIterator接口List作为Collection接口的子接口,当然可以使用Collection接口里的全部方法。 而且由于List是有序集合,因此List集
2016-09-10 20:53:45 807
转载 android6.0以后动态获取权限
原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/48371123 http://inthecheesefactory.com/blog/things-you-need-to-know-about-Android-m-permission-developer
2016-09-03 11:22:17 2459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人