- 博客(743)
- 资源 (1)
- 收藏
- 关注
原创 计算机网络基础(三)
arp协议:1,ARP协议和RARP协议是作用于数据链路层的,ARP协议的作用是将IP地址转换为物理地址,它的工作原理是,将ARP请求报文广播到所在网络上的所有主机,报文中含有目的主机的IP地址,只有目标主机可以返回一个ARP应答报文,报文中含有该主机的物理地址。2,网络层的协议是IP协议和ICMP协议。3,传输层的协议是TCP和UDP。4.arp属于网络层TCP三次握手S...
2016-09-04 01:15:00 94
原创 计算机网络基础(二)
OSI的基本协议物理层:RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) - 数据链路:PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥,交换机) - 网络层:IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) - 传输层:TCP 、 UDP 、 SPX - 会话层: NFS 、 SQL 、 NE
2016-09-04 00:43:45 1249
原创 计算机网络基础(二)
OSI的基本协议物理层:RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) -数据链路:PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥,交换机) -网络层:IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) -传输层:TCP 、 UDP 、 SPX - 会话层: ...
2016-09-04 00:43:00 177
原创 加密算法-RSA
RSA概述RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
2016-09-03 23:52:02 1866
原创 加密算法-RSA
RSA概述RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据...
2016-09-03 23:52:00 328
原创 网络基础概念(一)
NAT:NAT(Network Address Translation,网络地址转换)。 NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。 通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭 NAT不仅能解决了lP地址不足的问题,而且还
2016-09-03 23:09:13 1646
原创 网络基础概念(一)
NAT:NAT(Network Address Translation,网络地址转换)。 NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭NAT不仅能解决了lP地址不足的问题,而且...
2016-09-03 23:09:00 215
原创 HashMap方法介绍
1. Map的遍历方式(1) for each map.entrySet()Map<String, String> map = new HashMap<String, String>();for (Entry<String, String> entry : map.entrySet()) { entry.getKey(); entry.getValue();}(2) 显示调用m
2016-09-02 15:36:09 2089
原创 HashMap方法介绍
1. Map的遍历方式(1) for each map.entrySet()Map<String, String> map = new HashMap<String, String>();for (Entry<String, String> entry : map.entrySet()) { entry.getKey(); entry...
2016-09-02 15:36:00 352
原创 Collections类解析
最常用的排序:需要实现Comparable接口1.什么是Comparable接口此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比
2016-09-02 15:16:09 1141
原创 Collections类解析
最常用的排序:需要实现Comparable接口1.什么是Comparable接口此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元...
2016-09-02 15:16:00 271
原创 路由算法总结
概述通信子网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。考虑的因素在数据报方式中网络节点要为每个分组路由做出选择;而在虚电路方式中,只需在连接建立时确定路由。确定路由选择的策略称路由算法。设计路由算法时要考虑诸多技术要素。首先是路由算法所基于的性能指标,一种是选择最短路由,一种是选择最优路由;其次要考虑通信子网是采用虚电路还是数
2016-09-02 14:50:54 18678 3
原创 路由算法总结
概述通信子网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。考虑的因素在数据报方式中网络节点要为每个分组路由做出选择;而在虚电路方式中,只需在连接建立时确定路由。确定路由选择的策略称路由算法。设计路由算法时要考虑诸多技术要素。首先是路由算法所基于的性能指标,一种是选择最短路由,一种是选择最优路由;其次要考虑通信...
2016-09-02 14:50:00 938
原创 Bellman-Ford算法
概述:Bellman - ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写。其原理为持续地进行松弛(原文是这么写的,为什么要叫松弛,争议很大),在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环,因此无法得出结果,否则就完成。Bellman - ford算法有一个小优化:每次松弛先设一个标识flag,初值为FALSE,若有边更新则赋值为TRUE,最...
2016-09-02 14:39:00 353
原创 Dijkstra算法
算法描述迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。步骤a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则{u,v}正常有...
2016-09-02 13:55:07 2374 3
原创 Dijkstra算法
算法描述迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。步骤a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则{u,v}正常有权值...
2016-09-02 13:55:00 236
原创 OSI七层网络模型
概述:OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。 应用层与其它计算机进行通讯的一个应用,它是
2016-09-02 12:27:12 2447
原创 Hash冲突解决
hash的冲突不可避免的1.开放地址法开放地执法有一个公式:Hi=(H(key)+di) MOD m i=1,2,…,k(k<=m-1) 其中,m为哈希表的表长。di 是产生冲突的时候的增量序列。如果di值可能为1,2,3,…m-1,称线性探测再散列。 如果di取1,则每次冲突之后,向后移动1个位置.如果di取值可能为1,-1,2,-2,4,-4,9,-9,16,-16,…k...
2016-09-02 11:24:42 1405 2
原创 查找算法总结
1、顺序查找 条件:无序或有序队列。 原理:按顺序比较每个元素,直到找到关键字为止。 时间复杂度:O(n) 代码:public static int SequenceSearch(int[] sz, int key) { for (int i = 0; i < sz.length; i++) { if (sz[i] == key) {
2016-09-02 11:11:53 1243 3
原创 IP地址分类
IP地址编址方案:IP地址编址方案将IP地址空间划分为A、B、C、D、E五类,其中A、B、C是基本类,D、E类作为多播和保留使用。介绍:Internet上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使用这个地址在主机之间传递信息,这是Internet 能够运行的基础。IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段
2016-09-01 20:24:31 1935
原创 子网掩码讲解
定义:子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在
2016-09-01 20:14:03 3842
原创 String类用法总结
String类在编程中出现的频率是非常高的,熟练掌握是很有必要的一.常用方法总结:获取方法1.1:字符串中包含的字符数,也就是字符串的长度。 int length():获取长度1.2:根据位置获取位置上某个字符。 char charAt(int index)1.3:根据字符获取该字符在字符串中的位置。 int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
2016-09-01 19:27:41 1622 5
原创 [leetcode]-Linked List Random Node
题目描述:给定一个单向的链表,要求以相等的概率返回要求:时间复杂度o(n),空间复杂度o(1)原文描述:Given a singly linked list, return a random node’s value from the linked list. Each node must have the same probability of being chosen.Follow up:Wha
2016-08-18 00:48:28 1693 1
原创 8条面向对象的设计原则
设计原则:1.多用组合,少用继承。2.封装变化3.针对接口编程,不针对实现编程4.为了交互对象之间的送耦合努力。5.开放关闭原则:类应该对扩展开放,对修改关闭6.依赖抽象不依赖具体类。7.只和朋友交谈,比如外观模式,减少交互和耦合。8.好莱坞模式,高层对底层的依赖,而不是底层对高层的依赖。我的微信二维码如下,欢迎交流讨论欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货
2016-08-16 21:06:45 2030
原创 设计模式-模板模式
定义:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。角色: 抽象模板(Abstract Template)角色有如下责任: ■ 定义了一个或多个抽象操作,以便让子类实现。这些抽...
2016-08-16 20:01:00 260
原创 设计模式-外观模式
定义:外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。模式的使用场景1.在设计初期阶段,将不同的两个层分离;2.在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使...
2016-08-16 17:59:00 529 1
原创 设计模式-适配器模式
适配器定义:适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。角色介绍 目标(Target)角色:这就是所期待得到的接口。注意:由于这里讨论的是类适配器模式,因此目标不可以是类。源(Adapee)角色:现在需要...
2016-08-15 19:28:00 164
原创 设计模式-命令模式
模式定义:命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。模式结构如下图:Command:定义命令的接口,声明执行的方法。ConcreteCommand:命令...
2016-08-15 17:32:00 225
原创 java设计模式-装饰者模式
定义:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。概述:1.装饰者和被装饰对象有相同的超类型。2.你可以用一个或多个装饰者包装一个对象。3.既然装饰者和被装饰对象有相同的超类型,所以在任何需要原始对象(被包装的)的场合 ,可以用装饰过的对象代替它。4.装饰者可以在所委托被装饰者的行为之前与/或之后,加...
2016-08-11 00:32:00 244
原创 java设计模式-观察者模式
定义:使用head First 设计模式中提到的说法观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监听一个主题对象。这样一来,当被观察者状态发生改变时,需要通知相应的观察者,使这些观察者对象能够自动更新。简介:观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据...
2016-08-10 23:26:00 314
原创 java设计模式-策略模式
定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。认识策略模式策略模式的重心 策略模式的重心不是如何实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活,具有更好的维护性和扩展性。算法的平等性 策略模式一个很大的特点就是各个策略算法的平等性。对于一系列具体的策略算法,大家的地位是完全一样的...
2016-08-08 00:52:00 302
原创 数据库索引的原理
介绍:索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索
2016-08-05 19:59:52 1827
原创 数据库索引的原理
介绍:索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列...
2016-08-05 19:59:00 188
原创 B-树,B+树,B*树详解
B-树B-树是一种多路搜索树(并不一定是二叉的)1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树(或B-树、B_树)。一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:1、根结点至少有两个子女;2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <=
2016-08-05 19:24:51 3445
原创 数据结构-红黑树详解
介绍:红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。红黑树和AVL树类...
2016-08-05 17:07:00 530
原创 数据结构-自平衡二叉查找树(AVL)详解
介绍:在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 “An alg...
2016-08-05 16:29:41 3695
原创 数据结构-自平衡二叉查找树(AVL)详解
介绍:在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 “An algor...
2016-08-05 16:29:00 1020
原创 【leetcode82】Linked List Cycle
题目描述:判断有序list是不是环要求:时间复杂度o(n)原文描述:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?思路:设置两个指针,一个快指针,每次走两步,一个慢指针,每次走一步如果块指针==慢指针,那么包含环注意判断空值和
2016-08-01 00:18:44 1686
原创 【leetcode82】Linked List Cycle
题目描述:判断有序list是不是环要求:时间复杂度o(n)原文描述:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?思路:设置两个指针,一个快指针,每次走两步,一个慢指针,每次走一步 如果块指针...
2016-08-01 00:18:00 159
原创 【leetcode81】Product of Array Except Self
题目描述:给定一个长度为n的整数数组Array【】,输出一个等长的数组result【】,这个输出数组,对应位置i是除了Array【i】之外,其他的所有元素的乘积例如:given [1,2,3,4], return [24,12,8,6].要求:时间复杂度是o(n)原文描述:Given an array of n integers where n > 1, nums, return an array
2016-07-31 22:45:19 1455
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人