用弱引用是为了在handler中使用activity时不影响GC对该activity的回收。static是为了在activity中创建的handler不再持有该activity对象的引用,防止内存泄露。
解读在Activity中使用Handler的内存泄漏问题在开发过程中,我们经常会遇到这样一种情况,当在Activity中使用handler时,直接创建匿名内部类,会得到一个警告,意思是可能出现内存泄漏,推荐使用静态内部类。这也是面...
用弱引用是为了在handler中使用activity时不影响GC对该activity的回收。static是为了在activity中创建的handler不再持有该activity对象的引用,防止内存泄露。
解读在Activity中使用Handler的内存泄漏问题在开发过程中,我们经常会遇到这样一种情况,当在Activity中使用handler时,直接创建匿名内部类,会得到一个警告,意思是可能出现内存泄漏,推荐使用静态内部类。这也是面...
最近一段时间做了一个特别恶心的项目,先来吐槽一下,项目需求大致就是给网址分类,鉴别出它是属于什么类型的网站,比如娱乐游戏、音乐影视、新闻咨询等。可能有的公司是用AI来鉴别的,...
Redis是一个用ANSI C语言编写的,基于内存并且可以持久化的日志型、高性能key_value数据库。它通常被称为数据结构服务器,因为其存储的value可以是字符串、哈希...
HBase是一个在HDFS上开发的面向列的分布式数据库。如果需要实时地随机访问超大规模数据集,就可以使用HBase。本篇介绍HBase的基础知识,包括安装配置、部署运行、表的...
Hive是一个构建在Hadoop上的数据仓库框架,是一个通用的、可伸缩的数据处理平台,它设计的目的是让精通SQL技能的分析师能够对存放在HDFS中的大规模数据集执行查询。 一...
在项目开发中,有时我们需要通过HDFS的api来对文件进行操作,比如将数据上传到HDFS或者从HDFS获取数据等。本篇来介绍一下HDFS中API的具体使用。直接上代码: 上面...
HDFS(Hadoop Distributed File System)是一种分布式文件系统,它具有高容错的特点,并且可以部署在廉价的通用硬件上,提高吞吐率的数据访问,适合那...
对于Zookeeper的介绍和安装教程这里不再赘述,网上很多资料都介绍得很专业,上一篇文章在搭建Hadoop集群的时候也简单介绍了下。本篇主要内容如下:1、Zookeeper...
对于Hadoop的背景介绍,这里就不叙述了,本篇只介绍生产环境中Hadoop集群的搭建。本集群采用HA模式,一共4台服务器,一个名字节点,一个第二名字节点,两个数据节点。4台...
上一篇通过分析Retrofit2的源码,我们了解了整个请求流程的底层实现,其最终是通过OKHttp3中的OkHttpClient对象创建一个RealCall来完成实际请求的。...
前面讲了几篇关于网络编程基础方面的文章,我们现在来看看一些有关网络的应用框架。本篇先来分析大名鼎鼎的Retrofit2,下一篇分析OKhttp3,这些都是我们Android开...
前面讲到TCP和UDP是属于网络层的协议,Socket是网络层和应用层之间的一个抽象层,本篇现在来了解一下常用的两个应用层协议:HTTP和WebSocket。 1. HTTP...
前面两篇分析了TCP和UDP协议,本篇来分析一下Socket,有了前面的基础,对理解Socket有很大的帮助,同时也是对TCP和UDP的更深层次的了解,经过多天的资料研究和代...
上一篇分析了TCP,接下来再来看看传输层的另外一个协议:UDP。 简介: UDP( User Datagram Protocol )是一个面向数据报的协议,其特点有: 无连接...
在TCP/IP协议五层模型中,传输层有着两大主角:TCP和UDP。本篇来分析TCP协议。 我们知道,TCP是面向连接的协议,在两端通信时,必须先建立链接,然后才能传输数据。而...
在Android开发中,我们知道可以在主线程中直接使用Handler,这是因为在APP的入口,系统就已经调用Looper.prepareMainLooper(),和Loope...
在Android开发中,相信有很多小伙伴都用过AsyncTask,我们在做轻量级的耗时任务并且需要更新UI时,需要将这些任务放到子线程里去执行,这时可以选择AsyncTask...