自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 常用的linux命令

关机/重启/注销常用命令作用shutdown -h now即刻关机shutdown -h 1010分钟后关机shutdown -h 11:0011:00关机shutdown -h +10预定时间关机(10分钟后)shutdown -c取消指定时间关机shutdown -r now重启shutdown -r 1010分钟之后重启shutdown -r 11:00定时重启reboot重启init 6重启init

2021-06-14 14:13:53 194

原创 字符串经典算法KMP

KMP算法解决寻找子串的问题。public static int indexOf(String str1,String str2){ ...}步骤一:求next数组。next数组的定义:next[i]表示字符串下标i前面的子串中,最长公共前缀与后缀的长度。规定next[0]=-1,next[1]=0.例如:str=“abcdabcf”,f的下标为7,next[7]表示子串"abc...

2019-07-07 22:39:14 169

转载 Http2.0与Http1.x的区别

http报文格式http请求报文格式:http应答报文格式:Http2.0HTTP 1.1 在应用层以纯文本的形式进行通信。每次通信都要带完整的 HTTP 的头,而且不考虑 pipeline模式的话,每次的过程总是像上面描述的那样一去一回。这样在实时性、并发性上都存在问题。http的三点优势:HTTP 2.0 会对 HTTP 的头进行一定的压缩,将原来每次都要携带的大量 key ...

2019-07-07 10:21:11 674

转载 DHCP和RARP的区别

RARP在功能上有点类似于DHCP协议,确切的说DHCP是BOOTP协议的升级,而BOOTP在某种意义上又是RARP协议的升级。BOOTP和RARP的区别在于RARP是在数据链路层实现的,而BOOTP实在应用层实现的,作为BOOTP的升级版DHCP也是在应用层实现的。这种实现层面的差别也从RARP和BOOTP/DHCP的报文封装格式的差别上体现出来了,RARP直接封装在以太网帧中,协议类型置为0x...

2019-07-06 22:37:09 1624

原创 linux常见信号总结

linux命令列表:kill -l暂停一个进程要暂停一个进程,我们需要使用 kill 向特定的进程发送 SIGSTOP 或 SIGTSTP 信号,这两个信号都可以用来暂停一个进程。假如电脑上正在运行 mpg123 这个进程,则可以使用如下的命令来暂停 mpg123:kill -STOP `pigof mpg123`## 等价于kill -19 `pidof mpg123`kil...

2019-07-06 20:40:25 205

转载 RIP报文,OSPF数据报格式 :

RIP报文格式:命令域:指出RIP报文是一个请求报文还是对请求的应答报文版本域:一般为1,新版本为2。地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。总结:RIP报文封装在UDP用户数据报里面;RIP报文内容:IP地址,下一跳路由器地址,距离OSPF报文格式:类型 : 可以是五种类型分组中的一种。类型1,问候(Hello)分组。用来发现和维持邻战的可达型。类...

2019-07-06 16:54:15 1487

转载 ping命令和ICMP协议

ICMP全称Internet Control Message Protocol,就是互联网控制报文协议。ICMP 报文是封装在 IP 包里面的。因为传输指令的时候,肯定需要源地址和目标地址。它本身非常简单。因为作为侦查兵,要轻装上阵,不能携带大量的包袱。ICMP 报文有很多的类型,不同的类型有不同的代码。最常用的类型是主动请求为 8,主动请求的应答为0。查询报文类型我们经常在电视剧里听到...

2019-07-06 16:13:50 1048

转载 MAC层总结

链路层解决三个问题:这个包是发给谁的?谁应该接收?大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?如果发送的时候出现了错误,怎么办?第二个问题比如接下来这三种方式:分多个车道。每个车一个车道,你走你的,我走我的。这在计算机网络里叫作信道划分;今天单号出行,明天双号出行,轮着来。这在计算机网络里叫作轮流协议;不管三七二十一,有事儿先出门,发现特堵,就回去。错过高峰再出。...

2019-07-06 16:00:03 6268

转载 生成树协议

概念在数据结构中,有一个方法叫作最小生成树。有环的我们常称为图。将图中的环破了,就生成了树。在计算机网络中,生成树的算法叫作STP,全称Spanning Tree Protocol。名词解释STP 协议比较复杂,一开始很难看懂,但是其实这是一场血雨腥风的武林比武或者华山论剑,最终决出五岳盟主的方式。在STP 协议里面有很多概念,译名就非常拗口,但是我一作比喻,你很容易就明白了。Roo...

2019-07-06 15:50:02 236

转载 NAT之如何寻找局域网中的主机

NAT之如何寻找局域网中的主机当在你家里要访问 163 网站的时候,你的包需要 NAT 成为公网 IP,返回的包又要 NAT 成你的私有 IP,返回包怎么知道这是你的请求呢?它怎么就这么智能的 NAT 成了你的 IP 而非别人的 IP 呢?NAT在进行地址替换时不仅仅包含IP地址,还有端口号。具体说来就是,我们在进行连接外网服务器请求的数据包中,除了源、目的IP地址外,还有源、目的端口号。其中...

2019-07-06 11:56:02 1902 2

转载 Java的高性能IO——Reactor模式

参考博客:https://www.cnblogs.com/doit8791/p/7461479.html参考视频:imooc 《Netty入门》Reactor是一种处理客户端和服务端网络通信的IO模式。在Netty中被使用。传统Java的网络通信模式:(1)BIO(同步阻塞IO):一个acceptor线程负责监听客户端的连接,一个请求一个应答,缺乏弹性伸缩能力。(2)伪异步IO...

2018-12-29 14:50:08 3391

原创 数据结构-跳表

著名开源软件Redis使用跳表。跳表一种随机化的数据结构,基于并联的链表,查询效率可以比拟二叉查找树,对于大多数操作需要O(logn)时间基本思想:在有序的链表上,附加前进链接。跳表的特征:(1)跳表由多层组成(2)每一层都是有序的链表(3)第一层包含所有元素(4)如果x出现在第i层,所有比i小的层都包含x(5)第i层的元素通过一个down指针指向下一层拥有...

2018-12-26 20:47:31 604

原创 MySQl技术内幕:InnoDB引擎学习纲要

1.MySQL的逻辑架构(1)服务层(2)解析优化,内置函数(3)存储引擎2.连接管理与安全性线程池:新建一个连接不会重启一个线程3.优化与执行解析查询的内部数据结构:解析树查询之前的优化:查询缓存4.并发控制锁的分类:(1)读锁,共享锁(S锁)(2)写锁,排他锁(X锁)意向锁:不会阻塞全表扫描外的任何请求(1)IS锁(2)IX锁(IX锁之间是互相兼容的)锁的粒...

2018-09-07 17:00:50 166

转载 C++虚继承

1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下:class Aclass B1:public virtual A;class B2:p

2017-05-15 16:32:08 158

转载 Shell编程

【1】Shell简介    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。    它虽然不是Unix/Linux系统

2017-05-09 20:22:06 220

转载 Java内部类

【作用】a.内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类;b.内部类的方法可以直接访问外部类的所有数据,包括私有的数据;c.内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便; 【分类】a.   成员内部类、b.静态内部类、c.方法内部类、d.匿名内部类 【成员内部类的使用方法】 a.成员内部类定义在外部

2017-05-08 20:42:26 280

原创 Java字符串优化

1.    String对象的特点。Java中String类的实现,主要由3个部分组成:char数组、偏移量和String的长度。String对象的构造函数:String(int offset ,int count , char value[]){ this.value = value; this.offset = offset; this.count = co

2017-05-07 21:43:05 236

原创 Java内存模型

【Java运行时数据区】方法区,虚拟机栈,本地方法栈,堆,程序计数器执行引擎 —> 本地接口库 —> 本地方法库程序计数器:当前线程执行字节码的行号指示器;每个线程都有一个独立的程序计数器,“线程私有”内存区域;虚拟机栈:线程私有,描述Java方法执行的内存模型:栈帧。栈帧在虚拟机栈中入栈到出栈;本地方法栈:为虚拟机使用到的Native方法服务;Java堆(GC堆):所有线程共

2017-02-25 15:55:38 167

原创 Linux-8086保护模式

Linux保护模式涉及到几个内存管理寄存器:GDTR(全局描述符表寄存器)、LDTR(局部---)、IDTR(中断---)、TR(任务寄存器)。控制寄存器:CR0含有协处理器的控制位;CR1保留不用;CR2记录页错误线性地址;CR3高20位记录页目录基地址。CR0中的TS(Task Switched):任务切换标志;               ET(Extension

2017-02-11 17:26:25 604

原创 CSS常见样式总结

基本CSS样式总结:1.字体CSS样式font-family宋体新宋体Arial,Helvetical,sans-serifTimes New Roman,Times,serifCourier New,Courier,monospace黑体楷体_GB2312仿宋_GB2312font-size20px

2016-11-07 20:58:41 482

原创 java Stack源代码实现

java Stack源代码较短,只是调用父类Vector的方法实现入栈push()、出栈pop()、得到栈顶元素peak()等操作。总结:栈顶元素可以看成是elementData数组里的最后一个元素,入栈和出栈操作视为添加和删除elementData数组中的最后一个元素。package java.util;public class Stack extends Vector {

2016-10-30 15:20:12 615

原创 java ArrayList源代码实现

java ArrayList(线性表)源代码实现:总结:1.ArrayList类中内置了一个 elementData数组,进行增删改查命令时,对数组进行增删改查。2.elementData数组容量capacity初始为10,每次容量不够时,容量扩大为2倍。3.ArrayList对象序列化(实现Serialization接口)时,先序列化数组元素个数size,在遍历序列整个数组元素。

2016-10-30 15:06:14 376

转载 java nio的使用

Java nioJdk1.4引入Java.nio.*,其目的是在于提高速度。速度的提高来自于结构更接近于操作系统执行I/O的方式:通道和缓冲器。(一)【1】Java NIO 由以下几个核心部分组成:①Channels②Buffers③Selectors基本上,所有的 IO 在NIO 中都从一个Channel 开始。Channel 有点象流。 数据可以从Chann

2016-10-23 19:02:39 428

原创 java文件压缩

1.       用Gzip进行单个文件简单压缩。使用GZIPInputStream和GZIPOutputStream读取和生成压缩文件。import java.util.zip.*;import java.io.*; public class GZIPcompress { public static void main(String[] args)throws Exception

2016-10-23 18:54:42 188

原创 linux命令awk

awkawk是一种编程语言,对文本和数据进行处理,支持正则表达式,突出特点是对文本列的处理。awk基本功能:在文件或字符串中基于指定规则来分解抽取信息,也可以基于指定规则来输出信息。awk的调用方式(1)awk [option] 'awk_script' inputfile1 [inputfile2...]选项:-F fs 使用fs作为字段分隔符,...

2016-10-16 19:17:59 344 1

原创 基础算法(排序)

1. 简单选择排序。排序原理:每次选择数组中最小的元素放在数组开头,多次循环完成排序。例如:数组 [3,7,2,9,3,1,0,6] 的排序过程:[3 7 2 9 3 1 0 6][3 7 2 9 3 10 6](寻...

2016-09-21 13:06:02 173

空空如也

空空如也

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

TA关注的人

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