自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m00ndown

Just Write IT

  • 博客(65)
  • 资源 (2)
  • 收藏
  • 关注

原创 docker笔记

容器是一个进程,这个进程与机器上的其他进程进行了隔离。对于linux来说,隔离技术使用的是namespace和cgroup。镜像包含容器的文件系统,所以镜像中必须有运行应用所需的依赖。停止容器: docker stop xxx删除容器: docker rm xxx如果容器还在运行,可以强制删除容器: docker rm -f xxx创建镜像: `docker build -t 镜像名称 .`创建命名卷: docker volume create xx使用命名卷: docker run

2022-03-14 18:55:57 2822

原创 Spring使用三级缓存解决循环依赖

创建单例bean的三个主要步骤:1. 实例化。2. 填充属性。3. 初始化。第一级缓存:singletonObjects,存放经过初始化后的bean。当通过名字获取bean的时候,如果这个名字对应的bean在第一级缓存中,则直接从第一级缓存中获取返回,这样就不会导致多次创建bean了。第二级缓存:earlySingletonObjects,存放不完整的bean,对象就是最终的对象,但是对象的属性可能不完整。当填充依赖对象的时候,先从一级二级缓存中查找,如果找到了,则直接拿出来赋值。如果没找到,则使用三级

2022-03-14 18:22:26 1563

原创 王爽汇编13-17

CPU执行int n指令,相当于引发一个n号中断的中断过程。在PC机系统中,和CPU通过总线相连的芯片除各种存储器外,还有以下3种芯片。1. 各种接口卡(比如,网卡、显卡)上的接口芯片,他们控制接口卡进行工作。2. 主板上的接口芯片,CPU通过他们对部分外设进行访问。3. 其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理。这些芯片的特点:1. 都和CPU的总线相连。2. ...

2019-03-09 14:53:40 164

原创 王爽汇编11-12

CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同),具有以下3种作用:1. 用来存储相关指令的某些执行结果;2. 用来为CPU执行相关命令提供行为依据;3. 用来控制CPU的相关工作方式;这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。ZF:零标志位,它记录相关指令...

2019-03-09 13:49:25 143

原创 ssh 加密之前的过程

当tcp连接建立后,双方都要发送identification string,格式为:SSH-protoversion-softwareversion SP comments CR LF在发送完identification string之后,会进行 key exchange。兼容性:在ssh2.0之前的版本没有正式的文档。old client, new server:服务端应该有一个...

2019-03-07 22:44:14 458

原创 ssl笔记

ssl使用rsa算法的握手阶段:1. alice给出协议版本号、一个客户端生成的随机数、以及客户端支持的加密方法。2. bob确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数。3. alice确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥加密这个随机数,发给bob。4. bob使用自己的私钥,获取alice发来的随机数...

2019-03-05 22:14:00 126

原创 rsa笔记

互质的一些特征:1. 任意两个质数构成互质关系,比如13和61。2. 一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。3. 如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。4. 1和任意一个自然数是都是互质关系,比如1和99。5. p是大于1的整数,则p和p-1构成互质关系,比如57和56。6. p是大于1的奇数,则p和p-2构成互质...

2019-03-04 09:53:56 134

原创 王爽汇编9-10

转移指令:可以修改IP,或同时修改CS和IP的指令统称为转移指令。8086CPU的转移行为有以下几类:1. 只修改IP时,称为段内转移,比如: jmp ax。2. 同时修改CS和IP时,称为段间转移,比如:jmp 1000:0.由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移。短转移IP的修改范围为-128~127。近转移IP的修改范围为-32768~32767。...

2019-02-24 14:20:07 110

原创 王爽汇编7-8

1. 在8086CPU中,只有4个寄存器可以用在"[...]"中来进行内存单元的寻址:bx, si, di, bp。2. 在[...]中,这4个寄存器可以单个出现,或只能以4种组合出现:bx和si, bx和di, bp和si, bp和di。3. 只要在[...]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。在没有寄存器名存在的情况下,用操作符X ptr 指明内存单元...

2019-02-23 15:06:48 140

原创 王爽汇编5-6

[bx]表示一个内存单元,它的偏移地址在bx中。只有bx可以这样写,ax,cx,dx不可以。在masm中,mov al,[0]会解释为mov al, 0,为了要表达从内存中读取数据,则要写成mov al, ds:[0]CPU执行loop指令的时候,要进行两步操作:1. (cx) = (cx) - 12. 判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行。在汇编语言中,标...

2019-02-20 23:02:50 105

原创 王爽汇编3-4

比如我们要读取10000H单元的内容,可以用如下的程序段进行:mov bx, 1000mov ds, bxmov al,[0]为什么8086CPU不支持将数据直接送入段寄存器的操作?这属于8086CPU硬件设计的问题,我们只要知道这一点就行了。add和sub指令同mov一样,都有两个操作对象。mov 寄存器,数据mov 寄存器,寄存器mov 寄存器,内存单元mov 内存单元,寄...

2019-02-19 22:15:00 118

原创 王爽汇编1-2

每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。汇编语言由以下3类指令组成:1. 汇编指令: 机器码的助记符,有对应的机器码。2. 伪指令:没有对应的机器码,由编译器执行,计算机并不执行。3. 其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。汇编语言的核心是汇编指令,它决定了汇编...

2019-02-17 22:16:48 128

原创 linux秘钥保留服务笔记

一个Key有如下属性:序列号,Key类型,描述(又叫名字),荷载(又叫数据),访问权限,过期时间,引用数量。Key类型:Key类型的name字段,name以小数点开头的Key类型是保留的Key类型。内核提供了几个类型,主要有如下几种:keyring,keyring和key的关系类似目录与文件的关系。user,荷载上限为32767,logon,类似user,但是不提供用户态的读方法。...

2019-02-03 11:11:00 1527

原创 实战Java虚拟机笔记 9-10

class文件的结构并不是一成不变的,随着Java虚拟机的不断发展,总是不可避免地会对class文件结构做出一些调整,但是其基本的结构和框架是非常稳定的。class文件的结构:魔数、小版本号、大版本号、常量池、访问标记、当前类、父类、实现的接口、类的字段、类的方法、类的属性。ClassFile {u4 magic;u2 minor_version;u2 major_versio...

2018-10-28 22:36:07 112

原创 实战Java虚拟机笔记 7-8

不变性可以提高多线程访问的性能。因为对象不可变,因此对于所有线程都是只读的,多线程访问时,即使不加同步也不会产生数据的不一致,故减小了系统开销。浅堆:表示一个对象结构所占用的内存大小。深堆:表示一个对象被GC回收后,可以真实释放的内存大小。实际大小:表示一个对象所能触及的所有对象的浅堆大小之和。与深堆相比,似乎这个在日常开发中更为直观和被人接受,但实际上,这个概念和垃圾回收无关。支配树...

2018-10-08 17:44:39 202

原创 实战Java虚拟机笔记 5-6

串行回收器是指使用单线程进行垃圾回收的回收器。每次回收时,串行回收器只有一个工作线程,对于并行能力较弱的计算机来说,串行回收器的专注性和独占性往往有更好的性能表现。串行回收器可以在新生代和老年代使用,根据作用于不同的堆空间,分为新生代串行回收器和老年代串行回收器。在串行收集器进行垃圾回收时,java应用程序中的线程都需要暂停,等待垃圾回收的完成。新生代串行收集器使用复制算法。老年代串行收集器...

2018-09-30 14:26:57 106

原创 实战Java虚拟机笔记 3-4

常用Java虚拟机参数-XX:+PrintGC,只要遇到GC,就会打印日志。-XX:+PrintGCDetails,可以打印出更加详细的信息。-XX:+PrintHeapAtGC,会在每次GC前后分别打印堆的信息。-XX:+PrintGCTimeStamps,会在每次GC发生时,额外输出GC发生的时间。-Xloggc:aaaaaaaaaa.log 将gc日志打印到文件。-verbos...

2018-09-20 18:00:42 128

原创 实战Java虚拟机笔记 1-2

Hotspot虚拟机Java虚拟机的基本结构类加载子系统、方法区、Java堆、直接内存、Java栈、本地方法栈、PC寄存器、垃圾回收系统、执行引擎。类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量。直接内存在Java堆外,因此它的大小不会直接受限于Xmx指定...

2018-09-17 16:36:08 106

原创 linux后台任务 初步

前台任务变成后台任务的两种方法:1. 执行命令的时候加上&2. 正在运行的前台任务,按ctrl + z,然后执行bg。(bg是让最近一个暂停的后台任务继续执行)后台任务两个特点:1. 继承当前session的stdout和stderr。因此后台任务的所有输出依然会同步地在命令行下显示。2. 不继承当前session的stdin。无法向这个任务输入指令了。如果它试图读取标准输入,...

2018-09-13 10:08:28 123

原创 nmcli 初步

RHEL7上管理网络的服务是 NetworkManager.旧的网络管理服务是network,只能在systemctl下使用:systemctl start|stop|restart|status network在RHEL7上,NetworkManager先启动,然后/etc/init.d/network启动,并且检查NetworkManager以避免冲突。NetworkManager...

2018-09-12 14:03:15 260

原创 rabbitmq 初步

exchange类型:direct,预置的有:"", amq.direct。fanout,预置的有:amq.fanout。topic,预置的有:amq.topic。headers,预置的有:amq.match, amq.headers。rabbitmqctl list_exchanges 列出所有exchange。rabbitmqctl list_queues 列出所有queue。...

2018-09-12 10:14:35 524

原创 firewall-cmd rich-rule

firewall-cmd --list-rich-rulefirewall-cmd --query-rich-rule='rule'firewall-cmd --add-rich-rule='rule'firewall-cmd --remove-rich-rule='rule'rich rule语法:rule [family="rule family"]    [ source [...

2018-09-11 10:16:28 6743

原创 firewalld 初步

firewall-cmd --reload 重新加载防火墙如果想让某条规则立即生效,则不加--permanent参数。如果想让某条规则重启后生效,则加--permanent参数。可以执行两个命令,一个不加--permanent参数,一个加--permanent参数。这样会立即生效,重启后也生效。一、zonefirewall-cmd --get-default-zone 获取默认zone...

2018-09-04 18:17:52 137

原创 机器学习实战 第4章

贝叶斯决策理论:选择具有最高概率的决策。条件概率:p(gray|bucketB)表示:在已知石头出自B桶的条件下,取出灰色石头的概率。p(gray|bucketB) = p(gray and bucketB) / p(bucketB)贝叶斯准则:p(c|x) = p(x|c) * p(c) / p(x)import numpy as npdef loadDataSet(): po...

2018-03-11 20:29:40 308

原创 机器学习实战 第1,2章

深度学习(DL)是机器学习(ML)的主要算法,而机器学习(ML)是人工智能(AI)的核心功能。机器学习分类三类:监督学习,非监督学习,强化学习。监督学习一般使用两种类型的目标变量:标称型和数值型。为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器学习程序开始运行时,使用训练样本集作为算法的输入,训练完成之后输入测试样本。选择合适的算法:首先考虑使用机器学习算法的目的。...

2018-03-05 22:30:14 157

转载 信息量与信息熵的概念

信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如湖南产生的地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生嘛,没什么信息量)。原文: https://zhuanlan.zhihu.com/p/26486223...

2018-03-04 22:33:25 3828

原创 JCA相关概念

JCA(Java Cryptography Architecture):MessageDigest:getInstanceupdatedigestSignature:getInstanceinitVerify / initSignupdateverify / signEven though a signature seems similar to a message digest, they ha...

2018-02-23 18:04:15 654

原创 分组加密的几种模式

加密一般分为对称加密(Symmetric Key Encryption)和非对称加密(Asymmetric Key Encryption)。对称加密又分为分组加密和序列密码。分组加密算法中,有ECB, CBC, CFB, OFB这几种算法模式。1. ECB(Electronic Code Book),明文分组后,每个分组与密钥计算得到一个密文,将每个密文连接起来组成最终的密文。2. CBC(Cip...

2018-02-22 17:53:40 1575

原创 ssh 端口转发

本地转发: ssh -L :: 客户端在建立连接的时候,客户端同时监听,将收到的数据通过ssh发送给ssh server, 由ssh server将收到的数据发送给:远程转发: ssh -R :: 建立连接之后,ssh server在监听,将收到的数据通过ssh发送给客户端,由客户端将收到的数据发送给:动态转发: ssh -D 建立连接之后,客户端在创建soc

2018-02-05 14:09:44 195

原创 shadow文件的9个字段

shadow文件的9个字段:username: 登录名password: 加密的密码last change: 上次修改的时间,距离1970.1.1的天数may: 距上次改密多少天之后可以改密must: 距上次改密多少天之后必须改密,否则,密码过期warn: 密码过期过期之前提醒。expire: 密码过期之后,多少天之后禁用账号。disabled: 账号禁用的

2018-01-19 18:19:36 1827

原创 socks5协议笔记

c->s : socks版本号,支持的认证方法s->c : socks版本号,选择的认证方法c->s : 如果服务端选择的是用户名密码认证,则发送用户名密码s->c : 认证结果c->s : 要连接的地址和端口号s->c : 连接结果

2018-01-14 16:44:47 446

原创 lcx用法笔记

第一种用法:1.1.1.1: lcx -listen 1111 22222.2.2.2: lcx -slave 1.1.1.1 1111 3.3.3.3 3389然后,其他机器访问1.1.1.1的2222端口,就相当于访问了3.3.3.3的3389端口。第二种用法:1.1.1.1: lcx -tran 2222 2.2.2.2 3389然后,访问1.1.1.1的22

2018-01-07 17:12:38 698

原创 LVS 笔记

LVS: Linux Virtual Server使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层,用Load Balancer表示。Director Server。中间的服务器群组层,用Server Array表示。 Real Server。最底端的数据共享存储层,用Shared Storage表示。LVS的IP负载均衡技术是通过IPVS模块来

2018-01-07 16:24:28 187

原创 redis命令行基本操作

keys *: 列出所有的keydel key: 删除对应的条目redis Strings类型操作set username annysetnx username Mary #nx: not existsetex username 10 Mike #ex: expiresetrange:set myemail [email protected]

2017-10-12 20:55:16 1279

原创 lsof笔记

lsof -i [46][protocol][@hostname|hostaddr][:service|port]lsof -t -u apachelsof 文件名lsof -p pid尝试恢复被删除的文件:如果某个文件被删除,但是它正在被其他进程使用,则可以通过以下方法恢复:lsof | grep ${filename}cat /proc/${pid}

2017-10-09 20:40:33 124

原创 设计模式 -- 行为型模式

策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式策略模式:策略模式属于对象行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响客户端的情况下发生变化。模板方法:定义一个操作中的算法的骨架,而将步骤延迟到子类中

2017-09-21 21:57:41 150

原创 设计模式 -- 结构型模式

适配器,装饰者,代理,外观,桥接,组合,享元适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。两种实现方式:类的适配器模式,对象的适配器模式。// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类  class Adaptee { public void specificR

2017-09-16 21:08:22 130

原创 设计模式 -- 创建型模式

工厂方法,抽象工厂,单例,建造者、原型。

2017-09-14 22:38:53 119

原创 python logging 笔记

logging.basicConfig配置的是root logger在basicConfig中可以配置:filename, filemode,level,format,datefmt.logging.debug,logging.info等,其实是调用的是root loggerlogger = logging.getLogger("mylogger")logger.s

2017-09-14 00:20:18 134

原创 SocketServer.py笔记

SocketServer

2017-09-13 23:19:41 167

送给女友的程序

圣诞快到了,作为软件专业的学生,赶快找一款软件送给女友吧。很漂亮的一个下雪程序,其中还隐藏了一句话。软件运行10分钟后,自动显示。

2011-12-23

正则表达式快速入门

正则表达式,相信很多人都听说过,但真正熟练运用他的人却少之又少,这是一个压缩包,里面有教程和工具,边学边练,快速入手,不断提高,我认为,在国内这是一本最好的教程了。

2011-09-16

空空如也

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

TA关注的人

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