摘要: 转载自https://wangkuiwu.github.io/2013/02/02/avltree java/ AVL树的介绍 AVL树是根据它的发明者G.M. Adelson Velsky和E.M. Landis命名的。 它是最先发明的自平衡二叉查找树,也被称为高度平衡树。相比于"二叉查找树",它 阅读全文
posted @ 2016-05-11 22:56 zhou23 阅读(312) 评论(0) 推荐(0)
摘要: 一、介绍 在实际编程中,树是经常遇到的数据结构,但可惜的是,我们经常不知道该用树了。实际情况就是,我们在避免过早使用数据结构,以防止引入不必要的复杂性。 树的逻辑非常简单:除了根结点外,其他每个结点都只有一个父结点,除了叶结点外,其他所有结点都有一个或多个子结点。父结点和子结点间用指针链接。树有很多 阅读全文
posted @ 2016-05-11 22:55 zhou23 阅读(243) 评论(0) 推荐(0)
摘要: 1、介绍 在计算机科学里,树的遍历是指通过一种方法按照一定的顺序访问一颗树的过程。 对于二叉树,树的遍历通常有四种:先序遍历、中序遍历、后序遍历、广度优先遍历。(前三种亦统称深度优先遍历)对于多叉树,树的遍历通常有两种:深度优先遍历、广度优先遍历。 在学习前面三种深度优先遍历之前,很有必要了解它们之 阅读全文
posted @ 2016-05-11 22:53 zhou23 阅读(401) 评论(0) 推荐(0)
摘要: 一、源码解析 1、 LinkedList类定义。 LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即 阅读全文
posted @ 2016-05-11 22:52 zhou23 阅读(378) 评论(0) 推荐(0)
摘要: 一、介绍 先回顾一下List的框架图 由图中的继承关系,可以知道,ArrayList、LinkedList、Vector、Stack都是List的四个实现类。 AbstractList是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size() 阅读全文
posted @ 2016-05-11 22:52 zhou23 阅读(937) 评论(0) 推荐(0)
摘要: 第1部分 Vector介绍 Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。 Vector 继承了AbstractList,实现了List;所以,它是一个队列 阅读全文
posted @ 2016-05-11 22:51 zhou23 阅读(454) 评论(0) 推荐(0)
摘要: 一、 ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ​ ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l 阅读全文
posted @ 2016-05-11 22:51 zhou23 阅读(200) 评论(0) 推荐(0)
摘要: 对于 Map ,最直观就是理解就是键值对,映射,key value 形式。一个映射不能包含重复的键,一个键只能有一个值。平常我们使用的时候,最常用的无非就是 HashMap。 HashMap 实现了 Map 接口,允许使用 null 值 和 null 键,并且不保证映射顺序。 HashMap 有两个 阅读全文
posted @ 2016-05-11 22:50 zhou23 阅读(2168) 评论(0) 推荐(0)
摘要: 1. 概述 This class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order 阅读全文
posted @ 2016-05-11 22:49 zhou23 阅读(327) 评论(0) 推荐(0)
摘要: 1.概述 在理解了 7 介绍的HashMap后,我们来学习LinkedHashMap的工作原理及实现。首先还是类似的,我们写一个简单的LinkedHashMap的程序: 运行结果是: 我们可以观察到,和HashMap的运行结果不同,LinkedHashMap的迭代输出的结果保持了插入顺序。是什么样的 阅读全文
posted @ 2016-05-11 22:48 zhou23 阅读(267) 评论(0) 推荐(0)
摘要: 一、异同点: 1) 都是 final 类, 都不允许被继承; 2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的; 3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的。 StringBuilder 与 St 阅读全文
posted @ 2016-05-11 22:43 zhou23 阅读(281) 评论(0) 推荐(0)
摘要: 转载:http://blog.csdn.net/guolin_blog/article/details/12452307 最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2. 阅读全文
posted @ 2016-05-11 22:42 zhou23 阅读(6305) 评论(0) 推荐(1)
摘要: 一. 总述 简单的说,ARP协议就是将IP地址转换为MAC物理地址;而RARP,就是ARP的逆向,也就是将MAC物理地址转换为IP地址。看起来这两个协议是完全对称的,但发明这两个协议的初衷基本上没有什么关系。ARP协议是为了在链接层中传输的datagram只能识别MAC地址,所以只能将IP地址转换为 阅读全文
posted @ 2016-05-11 22:42 zhou23 阅读(8255) 评论(0) 推荐(0)
摘要: URI简介 URI(Universal Resource Identifier),又被称为"通用资源标志符"。 URI由许多部分所组成,示例及解说如下: Content URIs介绍 Android遵循URI的标准,定义了一套专用的Uri(即,Content URIs)。并且,Android提供了C 阅读全文
posted @ 2016-05-11 22:40 zhou23 阅读(336) 评论(0) 推荐(0)
摘要: SharedPreference是Android提供的一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如,默认欢迎语,登录用户名和密码等。其以键值对(key value对)的方式存储,使得我们能很方便进行读取和存入。 1.读取Preferences数据: SharedPreference 阅读全文
posted @ 2016-05-11 22:38 zhou23 阅读(775) 评论(0) 推荐(0)
摘要: Android 数据存储提供了四种存储方式: Shared Preferences 使用键值对(Map(key, value))来存储数据 Internal Storage 内部存储,存储在设备内存的 私人数据 External Storage 外部存储,存储在外部设备的 公共数据 SQLite D 阅读全文
posted @ 2016-05-11 22:37 zhou23 阅读(228) 评论(0) 推荐(0)
摘要: OSI參考模型 在過去的電腦網路上,由於資料通訊系統涉及複雜的軟硬體,可是又沒有統一的標準,導致通訊軟體不僅龐大複雜,而且不易測式、修改或分享。為此,ISO(國際標準組織)發展出一套OSI參考模型(Open System Interconnection reference model, 開放系統互連 阅读全文
posted @ 2016-05-11 22:36 zhou23 阅读(775) 评论(0) 推荐(0)
摘要: BroadCast的定义: 广播是一种订阅 通知 事件,广播接收者向Android系统 register (订阅广播),广播发送者向Adnroid系统 sendBroadCast(发送广播),然后Android 系统通知所有注册该广播的接收者,广播接收者收到自己注册的广播之后实现自己想做的事情(该事 阅读全文
posted @ 2016-05-11 22:35 zhou23 阅读(278) 评论(0) 推荐(0)
摘要: 转载自:http://blog.csdn.net/gtuu0123/article/details/6114197 本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。 一、设计模式是什么 (1)反复 阅读全文
posted @ 2016-05-11 22:34 zhou23 阅读(7178) 评论(0) 推荐(3)
摘要: ICMP(Internet 控制消息协议,Internet Control Message Protocol)协议用来给IP协议提供控制服务,允许路由器或目标主机给数据的发送方提供反馈信息。需要发送反馈信息的情况包括:数据包不能被发送到 目标主机,路由器缓冲区溢出导致数据包被删除,路由器想要把流量重 阅读全文
posted @ 2016-05-11 22:26 zhou23 阅读(3937) 评论(0) 推荐(0)
摘要: 一、管道 管道是进程间通信中最古老的方式,它包括 无名管道 和 有名管道两种,前者用于父进程和子进程间的通信,后者用于运行于同一台机器上的任意两个进程间的通信。 无名管道由pipe()函数创建。 二、消息队列 消息队列用于运行于同一台机器上的进程间通信,它和管道很相似,是一个在系统内核中用来保存消息 阅读全文
posted @ 2016-05-11 22:25 zhou23 阅读(2232) 评论(0) 推荐(0)
摘要: 1.Activity简介 Activity是Android一个非常重要的用户接口(四大组件之一),是可见的,主要是用户和应用程序之间进行交互的接口。在每个Activity中都可以放很多控件,所以也可以把Activity看作控件的容器。 2.Activity生命周期 onCreate:主要执行初始化工 阅读全文
posted @ 2016-05-11 22:23 zhou23 阅读(1895) 评论(0) 推荐(0)
摘要: IP数据报 IP是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP、IGMP数据都以IP数据报的格式传输。IP仅提供尽力而为的传输服务,如果发生某种错误,IP会丢失该数据,然后发送ICMP消息给信源端。另外,IP数据报可以不按发送顺序接受。 IP数据报的格式如下: 前20字节和紧接其 阅读全文
posted @ 2016-05-11 22:20 zhou23 阅读(618) 评论(0) 推荐(0)
摘要: 概述 总结一下TCP中3次握手过程,以及其原生的缺陷 引起的SYN Flood的介绍 1、TCP连接建立——三次握手 几个概念: seq:序号,占4个字节,范围[0,4284967296],由于TCP是面向字节流的,在 一个1个TCP连接中传送字节流中国的每一个字节都按照顺序编号,此外序号是循环使用 阅读全文
posted @ 2016-05-11 22:19 zhou23 阅读(363) 评论(0) 推荐(0)
摘要: 遇到了一个算命先生,对我说了三句话: 第一、你对技术过于偏执,忘记了真正重要的东西 第二、你过于谨慎,防御心太强。要尝试做一些大胆甚至出格的事情。 第三、你一直在逃避。去面对它,你有很多朋友会帮你。 三句话说得太好了,句句都在点上。不知道哪位贵人给我托梦,写在这里,为了让自己每天都能看见。 阅读全文
posted @ 2016-05-11 22:18 zhou23 阅读(120) 评论(0) 推荐(0)
摘要: Bug 出现 事情是这样的,昨天早晨我正做着项目,坐在我旁边的小伙伴呼唤了我一下,说项目运行不起来了。 我纳闷着,前天的时候还好好的,怎么过了一晚就出问题了。我问他是不是改了什么配置,或者添加了什么东西。他说,没有啊,刚打开 AndroidStudio,运行就报错,昨天晚上还是好的。 Bug 真身 阅读全文
posted @ 2016-05-11 22:17 zhou23 阅读(644) 评论(0) 推荐(0)
摘要: 我正在看一些一年前、两年前、三年前我的博客文章。 我认为我有资格且有充足的理由给出这些文章的症结所在:自我表达欲望过剩却观点浅薄。这些文章字里行间似乎都张大了嘴说着几句悄悄话:「你看,我知道这个,你不知道」;「我喜欢这个没多少人喜欢的东西,我厌恶这个很多人喜欢的东西,我能看见其中可悲与可笑」;「我和 阅读全文
posted @ 2016-05-11 22:17 zhou23 阅读(183) 评论(0) 推荐(0)
摘要: 九种基本数据类型的大小,以及他们的封装类 |类型 |字节 |默认值 |封装类| | | : | : | : : | |byte |1 |0| Byte| |char |2 |null |Character| |int |4 |0 |Integer| |long |8| 0 |Long| |float 阅读全文
posted @ 2016-05-11 22:16 zhou23 阅读(1032) 评论(0) 推荐(0)
摘要: 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复 阅读全文
posted @ 2016-05-11 22:15 zhou23 阅读(11829) 评论(0) 推荐(0)
摘要: java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为 阅读全文
posted @ 2016-05-11 22:15 zhou23 阅读(370) 评论(0) 推荐(0)
摘要: 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type defini 阅读全文
posted @ 2016-05-11 22:14 zhou23 阅读(742) 评论(0) 推荐(0)
摘要: 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢? 利用Thread类的setDefaultUncaughtExceptionHandler方法! defaultUncaughtHandler是T 阅读全文
posted @ 2016-05-11 22:13 zhou23 阅读(322) 评论(0) 推荐(0)
摘要: 安卓性能优化 性能优化的几大考虑 + Mobile Context + 资源受限 + 内存,普遍较小,512MB很常见,开发者的机器一般比用户的机器高端 + CPU,核心少,运算能力没有全开 + GPU,上传大的纹理(texture),overdraw + 内存开销大,会导致系统换入换出更频繁,GC 阅读全文
posted @ 2016-05-11 22:13 zhou23 阅读(898) 评论(0) 推荐(0)
摘要: 1.单例模式介绍 单利模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为。如在一个应用中,应该只有一个ImageLoader实例,这个ImageLoad 阅读全文
posted @ 2016-05-11 22:12 zhou23 阅读(187) 评论(0) 推荐(0)
摘要: 1. 享元模式的介绍 享元模式是对象池的一种实现,英文名为Flyweight,代表轻量级的意思。享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。 享元模式的部分状态是可以共享,可 阅读全文
posted @ 2016-05-11 22:11 zhou23 阅读(117) 评论(0) 推荐(0)
摘要: 1. 典型情况下生命周期分析 (1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRestart方法就会被调用。 (2)当用户打开新的Activity或者切换到桌面的时候,回调如下:onPause onStop,但是如果新Activity采用了透明主题,那么onStop方法不会被 阅读全文
posted @ 2016-05-11 22:11 zhou23 阅读(307) 评论(0) 推荐(0)
摘要: 1. 为什么需要消息机制? 首先我们知道Android中有两个特别重要的机制,一个是Binder,另一个是消息机制(Handler + Looper + MessageQueue)。毕竟Android是以消息驱动的方式来进行交互的。 为什么需要在android中添加这样的消息机制呢? 有时候我们需要 阅读全文
posted @ 2016-05-11 22:10 zhou23 阅读(250) 评论(0) 推荐(0)
摘要: 一、配置 1. 配置用户名和邮件地址: Git config –global user.name yourname git config –global user.email youremail@xxx.com 2. 查看已有的配置信息 git config –list 二、常用命令 1. 初始化 阅读全文
posted @ 2016-05-11 22:09 zhou23 阅读(141) 评论(0) 推荐(0)
摘要: Activity的主要作用是展示一个界面并和用户交互,它扮演的是一种前台界面的角色。 Service是一种计算型组件,用于在后台执行一系列计算任务。Service有两种状态:启动状态和绑定状态。启动状态时的Service不需要与外界交互,绑定状态的Service可以方便的和Service组件进行通信 阅读全文
posted @ 2016-05-11 22:08 zhou23 阅读(1356) 评论(0) 推荐(0)
摘要: 一.如何理解hashCode的作用: 以java.lang.Object来理解,JVM每new一个Object,它都会将这个Object丢到一个Hash哈希表中去,这样的话,下次做Object的比较或者取这个对象的时候,它会根据对象的hashcode再从Hash表中取这个对象。这样做的目的是提高取对 阅读全文
posted @ 2016-05-11 22:06 zhou23 阅读(431) 评论(0) 推荐(0)
摘要: #include #include "math.h" double e2h(double e) { return 0.5555*(e-10.0); } double D2e(double D) { return 6.11*exp(5417.7530*((1/273.16)-(1/(D+273.16)))); } double e2D(double e) { ret... 阅读全文
posted @ 2016-05-11 21:47 zhou23 阅读(213) 评论(0) 推荐(0)
摘要: #include #include using namespace std; int main() { int n=12; float money,sum=0; for(int i=0;i>money; sum+=money; } printf("$%.2f", sum/12); return 0; } 阅读全文
posted @ 2016-05-11 21:46 zhou23 阅读(106) 评论(0) 推荐(0)
摘要: 这道题的关键也就两句话 其余也没什么好说的 阅读全文
posted @ 2016-05-11 21:45 zhou23 阅读(160) 评论(0) 推荐(0)
摘要: 这个题就用stack来解决啦,如果一个用例中的couple可以全部移走,则将环拆成链后最后的一对couple依然相邻,可以全部移走,因此将环拆成一个链来解决不影响结果; 阅读全文
posted @ 2016-05-11 21:44 zhou23 阅读(170) 评论(0) 推荐(0)
摘要: //就是一个简单的字符串配对~~用map来解决很easy#include #include #include using namespace std; int main() { int n; while (cin>>n && n!=0) { string ip , name; string tmp; map m; ... 阅读全文
posted @ 2016-05-11 21:43 zhou23 阅读(210) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 bool cmp(string a, string b); 8 bool match(string a, string b); 9 10 11 int main(void) { 12 int testSize, couple... 阅读全文
posted @ 2016-05-11 21:41 zhou23 阅读(205) 评论(0) 推荐(0)