摘要:
两个对象用equals方法比较为true,它们的Hashcode值相同吗? 答:不一定相同。正常情况下,因为equals()方法比较的就是对象在内存中的值,如果值相同,那么Hashcode值也应该相同。但是如果不重写hashcode方法,就会出现不相等的情况。 下面的话来自JDK: hashCode 阅读全文
摘要:
最近看了一些关于KMP算法的资料,在此写一篇博客总计一下。 1.KMP算法介绍 KMP算法是一种字符串搜索的改进算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减 阅读全文
摘要:
最近学习了算法导轮里B树相关的知识,在此写一篇博客作为总结。 1.引言 B树是为磁盘或其他直接存取的辅助存储设备而设计的一种平衡搜索树。B树类似于红黑树,但它与红黑树最大不同之处在于B树的节点可以拥有很多孩子,因此B树的高度会比红黑树小很多,也因此B树在磁盘I/O方面表现要比红黑树好。(对于磁盘操作 阅读全文
摘要:
最近学习了二叉搜索树中的红黑树,感觉收获颇丰,在此写一篇文章小结一下学到的知识,顺便手写一下Java代码。 1.引言 先来讲讲什么是二叉搜索树,二叉搜索树有如下特点:他是以一颗二叉树(最多有两个子结点)来组织的,对于树中的某个节点,其左子树的所有元素均小于该节点,其右子树的元素均大于该节点。我们知道 阅读全文
摘要:
最近学习了二叉搜索树中的AVL树,特在此写一篇博客小结。 1.引言 对于二叉搜索树而言,其插入查找删除等性能直接和树的高度有关,因此我们发明了平衡二叉搜索树。在计算机科学中,AVL树是最先发明的自平衡二叉搜索树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。对于N个节点 阅读全文
摘要:
用了几个月磕磕绊绊的总算把《算法导论》一书看完了,在此写篇博客总结一下学习到的知识。 首先先放上《算法导论》的思维导图: 由于本人的理解能力有限,故部分较难懂的内容没有加入到该思维导图中。 1.排序 排序问题是我们日常生活中经常遇到的一个问题,因此算法导论也把排序作为整个算法介绍的入门篇。在这么多排 阅读全文
摘要:
转自:http://blog.csdn.NET/chenyujing1234/article/details/8173519 UML中包括九种图:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种 阅读全文
摘要:
Socket发送和接收数据都是写入和读取mbuf(存储器缓存)来完成的。下面着重介绍下Sendto函数与mbuf的关系: 以UDP协议为例: 1.UDP的输出执行过程: UDP的输出执行过程 2.协议层的m_buf 添加了IP+UDP头部的mbuf 3.插口层端的m_buf 包括插口地址的m_buf 阅读全文
摘要:
“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生,原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题,因此内存分配器在保证空闲资源可用性方面扮演着重要的角色。 in 阅读全文
摘要:
1. 进程的有哪几种状态,状态转换图,及导致转换的事件。 状态: 1)就绪状态 进程已获得除处理机外的所需资源,等待分配处理机资源,只要分配到CPU就可执行。在某一时刻,可能有若干个进程处于该状态。 2)运行状态 占用处理机资源运行,处于此状态的进程的数目小于等于CPU的数目。 3)阻塞状态 由于进 阅读全文
摘要:
1、什么是进程(Process)和线程(Thread)?有何区别? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有 阅读全文
摘要:
最近这段时间正在积极准备面试,复习到操作系统部分,本篇文章就介绍操作系统基础内容,参考第四版《计算机操作系统》这本文章总结了面试中常考、常用到的基本知识点,希望对准备面试的同学和想回顾操作系统知识点的程序员们有所帮助,不对的地方欢迎指正! 一、操作系统引论 操作系统目标 1:方面性,2:有效性,3: 阅读全文
摘要:
阅读全文
摘要:
5. IPC几种通信方式 IPC即进程间通信(Inter-Process Communication),由于进程的用户空间是相互独立的,一般而言不能随便访问,因此我们需要一些IPC方式来进行进程间信息传递。常见的IPC方式有以下几种: 管道:管道主要分为普通管道(单工,父子进程)、流管道(半双工)和 阅读全文
摘要:
1. 进程和线程的区别 进程 进程,即正在运行的程序,程序从硬盘载入到内存就变成进程。进程是资源的拥有者,每个进程都拥有着自己的内存空间与多个线程。 线程 线程是指令的执行者,是计算机执行指令的基本单元,一个进程可以拥有多个线程。线程的引入主要有如下原因: 线程既有共享的资源,也有自己私有的资源,J 阅读全文