自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

世上只有一种英雄主义

在认清生活真相之后依然热爱生活

  • 博客(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&lt;=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

深入理解Java虚拟机——JVM高级特性与最佳实践(第2版

深入理解Java虚拟机——JVM高级特性与最佳实践(第2版).pdf,完整,带书签, 完整版

2017-11-03

空空如也

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

TA关注的人

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