java深入思考
文章平均质量分 93
曲终人散J
这个作者很懒,什么都没留下…
展开
-
深入理解Android消息处理系统——Looper、Handler、Thread
熟悉Windows编程的朋友可能知道Windows程序是消息驱动的,并且有全局的消息循环系统。而Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制。实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息转载 2014-09-27 22:03:10 · 565 阅读 · 0 评论 -
Android如何加载大图不出现OOM
高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(Out转载 2014-10-23 17:41:51 · 457 阅读 · 0 评论 -
java反射机制基础详解
1. ji什么是Java的反射? 要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用的是在编译期并不知道的类。这样的编译特点就是java反射。转载 2014-10-27 21:31:16 · 543 阅读 · 0 评论 -
Java集合总结
ListArrayList以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素--get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素--add(e)的性能也高,但如果按下标插原创 2015-05-04 16:10:18 · 1503 阅读 · 0 评论 -
JAVA中的动态代理
1. 相关概念1.1 代理在某些情况下,我们不希望或是不能直接访问对象 A,而是通过访问一个中介对象 B,由 B 去访问 A 达成目的,这种方式我们就称为代理。这里对象 A 所属类我们称为委托类,也称为被代理类,对象 B 所属类称为代理类。代理优点有:隐藏委托类的实现解耦,不改变委托类代码情况下做一些额外处理,比如添加初始判断及其他公共操作根据程序运行前代理原创 2015-05-04 16:21:58 · 557 阅读 · 0 评论 -
ThreadLocal总结
碰到ThreadLocal时,我们需要这样考虑:1.什么是ThreadLocal2.为什么使用ThreadLocal3.怎么用ThreadLocal4.优点缺点总结1.什么是ThreadLocaljava提供了ThreadLocal这个类型,具有该类型的成员变量,每个线程都可以保留一份它的备份数据,通过set方法设置;在线程内部用get方法获取自己备份的数据。这个备份并不是JVM自己备份的,而是通过原创 2015-05-13 17:27:39 · 1060 阅读 · 0 评论