自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

icodeyou的专栏

把编程当做一种 爱

  • 博客(19)
  • 收藏
  • 关注

原创 CopyOnWrite 浅层次总结

同 ConcurrentHashMap 一样,CopyOnWrite 也是一种多线程并发中使用的容器,实现起来要比 ConcurrentHashMap 简单不少。从 JDK1.5 开始 Java 并发包里提供了两个使用 CopyOnWrite 机制实现的并发容器,它们是 CopyOnWriteArrayList 和 CopyOnWriteArraySet。CopyOnWrite 容器非常有用,可以在

2015-11-01 11:12:11 686

原创 Android 开发艺术探索读书笔记

和《Android 群英传》一样,《Android 开发艺术探索》是一本进阶的书,比群英传还要进阶一些,特来拜读。不能在 onPause 中做重量级的操作,因为必须 onPause 执行完成以后新启动的 Activity 才能 onResume。其实 onPause 和 onStop 都不能执行耗时的操作,尤其是 onPause,这也意味着,应当尽量在 onStop 中做操作,从而使得新 Acti

2015-11-01 11:10:55 942

原创 ConcurrentHashMap 浅层次总结

学习了 ConcurrentHashMap 的源码,不由地为设计者的思想点赞,现在时间有限,先总结一些我觉得比较有用的知识点,先占个坑,等有时间再详细分析源码。Java 内存模型重排序编译器生成指令的次序,可以不同于源代码所暗示的“显然”版本处理器可以乱序或者并行的执行指令缓存会改变写入提交到主内存的变量的次序内存可见性执行线程 A 的处理器把变量 V 缓存到寄存器中执行线程 A 的处理

2015-11-01 11:09:51 1277

原创 说说 getMainLooper

关于 Handler、Looper、MessageQueue,我想大家都了解的差不多了,简单来说就是一个 Handler 对应一个 Looper,一个 Looper 对应一个 Message。那么再想个问题,一个 Handler 可以对应多个 Looper 吗? 一个 Looper 可以对应多个 Handler 吗?之所以会提出上面这个问题,主要是因为在看 Looper 的源码时,发现了其中的 ge

2015-11-01 11:08:48 7571

原创 HandlerThread 源码解析

Android 为我们提供好了一个类——HandlerThread,在其内部维护了一个 Looper 对象,通过线程的 start 方法启动后即可创建内部的 Looper 对象,并且此 Looper 对象运行在子线程,我们还可以通过 handlerThread.getLooper() 来取到这个 Looper 对象,免得我们自己创建了。Android 为我们提供好了一个类——HandlerThrea

2015-11-01 11:07:58 942

原创 IntentService 源码解析

Service 运行在主线程,IntentService 运行在子线程并且可以在执行完 onHandleIntent 方法后自动结束,下面通过分析 Android 源码分析下上述的原理。IntentService 代码量不大,下面来看一下主要的变量和几个函数:public abstract class IntentService extends Service { // 保存从 Handle

2015-11-01 11:07:16 1071

原创 Android 群英传读书笔记

偶然在知乎上看到了关于《Android 群英传》的介绍,感觉还不错,尤其是作者前言中写的内容和我简直心照不宣——Android 学习的瓶颈与进阶,读了快半本了,感觉非常不错,不合适初学者,但绝对适合学习到了瓶颈期,想要突破自我的 Android 开发者,比如我。View 通过刷新来重绘视图,系统通过发出 VSYNC 信号来进行重绘,刷新间隔为16ms。当如游戏刷新频繁时,会频繁阻塞主线程,导致画面

2015-11-01 11:05:54 1174

原创 单链表逆置

明天阿里面,并无卵用的假装复习一下数据结构,总结一下单链表的逆置算法,包括 复制逆置 和 就地逆置。复制逆置所谓复制逆置,就是再开一个同样的空间,用于存储新的单链表,空间复杂度为O(n)。具体做法:从原链表顺序取元素,采用头插法插入到新的空链表中,完成逆置。复制逆置没有什么难度,主要考的还是 就地逆置。就地逆置就地逆置要保证时间复杂度为O(n) && 无辅助空间。总的来说:设置一指针p总是指向第一个

2015-11-01 11:05:07 1226

原创 Java 字符集与编码

读《Java 特种兵》总结之前不会的相关知识。Java 中的 char 是 UTF-16 编码,每个字符占两个字节的宽度。例如发送 2 个汉字,用 UTF-8 编码发送后会占用 6 个字节,对方若知道传来的数据是 UTF-8 编码,便知道这 6 个字节代表哪 2 个汉字,就自然能得到正确的 char 字符了。但是如果对方用 GBK 来编码,则可能会认为有 3 个字符,若按照每 2 个字节计算 1 个

2015-11-01 11:04:17 562

原创 Java 基础知识 - 知识导图

Java 基础知识

2015-11-01 11:03:07 966

原创 Android 进阶 - 知识导图

Android 进阶

2015-11-01 11:02:26 996

原创 数据结构 - 知识导图

数据结构

2015-11-01 11:01:45 1161

原创 设计模式 - 知识导图

个人GitHub: http://github.com/icodeu个人网站: http://icodeyou.com个人微信号:qqwanghuan 技术交流

2015-11-01 11:00:56 749

原创 《第一行代码》 - 知识导图

强制自己使用思维导图,收益匪浅。最近复习 Android 相关知识,涉及 Java 基础知识, 《第一行代码》, Android 进阶, 数据结构, 设计模式。《第一行代码》个人GitHub: http://github.com/icodeu个人网站: http://icodeyou.com个人微信号:qqwanghuan 技术交流

2015-11-01 11:00:09 1043 2

原创 Android开发中的大坑

在Android开发的过程中,有哪些坑是值得你放在checklist中警示自己的?1、TextView(往往 TextView 派生子类同样适用)调用 setText 方法设置一个 int 型的数据,千万要将该值转为 String,否则在某些设备中它会默认去查询 R 文件中定义的资源。2、上线之前一定要使用正式签名打包3、在 Activity 中尽可能少的创建 Handler 对象,创建一个主线程

2015-11-01 10:59:08 772

原创 mac抓包工具--Charles

上篇文章介绍了 Mac 中 Debookee 抓局域网数据包的使用方法,主要是基于 ARP 欺骗。这次将要介绍的 Charles 的原理是设置中间代理来完成抓包的工作。Charles 的安装与破解(都是程序员,女人何必为难女人)下载原版 Charles 路径:我的七牛云存储 or 官网,并正常安装(此版本为 3.10.2,目前为官网最新)下载破解 jar 包:我的七牛云存储显示 Charles

2015-11-01 10:58:05 2114

原创 mac工具--通过 arp 欺骗抓取局域网内设备数据包

使用 Debookee 抓取同局域网内设备数据包,太神奇了。因为有个需求,就是想看某手机app内部网络部分是如何实现的,所以要抓取其数据包(主要是 Http 协议部分),Windows 下可以用 Fidder 为手机设置代理实现,Mac 下有一款 Debookee 的软件可以实现同样的功能,但是原理不同 Fidder 设置代理。首先先看截图:这是扫出来的局域网内所有主机情况:将目标主机设置为 tar

2015-11-01 10:56:27 8833

原创 Ubuntu 下安装好 Wireshark 却找不到 Interface 的解决办法

今天在做网络攻防时需要在 Ubuntu 中使用 Wireshark 来抓取观察网络数据包,也就有了这篇文章。注:本篇文章非原创,部分内容参考:http://www.94cat.com/blog/?p=11071.安装 Wireshark Ubuntu 下安装 Wireshark 的话直接从软件中心搜索安装即可2.启动 Wireshark 直接启动 Wireshark 的话会发现

2015-11-01 10:54:26 2424

原创 【视频教程】典型 TCP 攻击实验

记录典型 TCP 攻击实验的原理及操作步骤。在本次实验中,启用了三个虚拟机,处于同一子网中。同时使用了 Wireshark 来进行网络抓包分析,使用 netwox 工具箱来进行攻击实验。1.ARP缓存中毒(ARP cache poisoning)ARP 缓存是 ARP 协议的重要组成部分。ARP 协议运行的目标就是建立 MAC 地址和 IP 地址的映射,然后把这一映射关系保存在 ARP 缓存中,使得

2015-11-01 10:52:42 4032 2

空空如也

空空如也

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

TA关注的人

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