🌓

Java反射中getGenericInterfaces和getInterfaces的解读

今天在做解析网络请求后得到的数据的转化的时候用到了:getGenericInterfaces这个方法。 /** * 获取回调接口中 T 的具体类型 * * @param clazz * @return */ public static Type getTType(Class clazz) { //以Type的形式返回本类直接...

阅读全文

关于位运算和HashMap中一个求最小2次幂的算法

今天在HashMap的内部源码的时候,看到这样一个算法: /** * Returns a power of two size for the given target capacity.* 返回大于或等于 cap 的最小2次幂 */ static final int tableSizeFor(int cap) { int n = cap ...

阅读全文

Java虚拟机类的加载机制

什么是虚拟机类的加载机制? 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换,解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从加载到虚拟机的内存中开始,直到卸载出内存为止,整个生命周期为: 加载(loading) 验证(verification) 准备(preparation) 解析...

阅读全文

Android中Handler使用导致的内存泄漏

1.什么是内存泄漏 用动态存储分配函数动态开辟的空间,在使用完毕后未被得到释放,结果一直占据该用内存单元,直到程序结束,即所谓的内存泄漏。 2.是内存泄漏与内存溢出的区别 内存溢出 Out of Memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是...

阅读全文

Android开发 LayoutInflater源码解析

本文主要是自己对LayoutInflater 使用的相关总结 我们经常实用的LayoutInflater这样用: View view = LayoutInflater.from(context).inflate(R.layout.resource,root,flase); 进入inflate进行源码解析 public View inflate(i...

阅读全文