草庐IT

Zero-Day

全部标签

《分布式技术原理与算法解析》学习笔记Day03

分布式互斥方法什么是分布式互斥?对于同一个共享资源,当一个程序正在使用的时候,不希望被其他程序打扰,这种排他性的资源访问方式,叫做分布式互斥,被互斥访问的共享资源被称作临界资源(CriticalResource).有什么方法可以让分布式系统里的程序互斥地访问临界资源?我们一般有三种方法:集中式算法(霸道总裁)分布式算法(民主协商)令牌环算法(轮值CEO)集中式互斥算法我们引入一个协调者程序,每个程序在访问临界资源时,先向协调者发送一个请求,如果当前没有其他程序使用这个资源,协调者直接发送授权信息给请求程序去访问;否则,协调者会按照先来后到的顺序为请求程序“排个号”。如果有程序使用完资源,则通知

day22--Java集合05

Java集合0511.HashSet课堂练习11.1课堂练习1定义一个Employee类,该类包括:private成员属性name,age要求:创建3个Employee对象放入HashSet中当name和age的值相同时,认为是相同员工,不能添加到HashSet集合中思路:不同对象的哈希值一般会不一样,导致在添加对象时可能会在table数组的不同位置添加,因此想要比较对象的属性值,就要重写hashCode方法,使具有相同属性的对象具有一样的hash值,这样才能在插入时比较对象的值;但不同的对象也可能具有相同的hash值,所以要重写equals方法来比较对象属性值如下图:在add()方法最终调用

day22--Java集合05

Java集合0511.HashSet课堂练习11.1课堂练习1定义一个Employee类,该类包括:private成员属性name,age要求:创建3个Employee对象放入HashSet中当name和age的值相同时,认为是相同员工,不能添加到HashSet集合中思路:不同对象的哈希值一般会不一样,导致在添加对象时可能会在table数组的不同位置添加,因此想要比较对象的属性值,就要重写hashCode方法,使具有相同属性的对象具有一样的hash值,这样才能在插入时比较对象的值;但不同的对象也可能具有相同的hash值,所以要重写equals方法来比较对象属性值如下图:在add()方法最终调用

《分布式技术原理与算法解析》学习笔记Day04

分布式选举算法为什么需要分布式选举?分布式意味着我们的应用部署在一个集群中,集群包含多个节点或者服务器,对于一个集群来说,多个节点是怎么协同工作的呢?我们需要有一个主节点来负责对其他节点的协调和管理。分布式选举是为了选出一个主节点,由它来协调和管理其他节点,以保证集群有序运行和节点间数据的一致性。常见的分布式选举算法有哪些?分布式选举算法一般会分为两类:基于序号选举的算法(例如Bully算法)多数派算法(Raft,ZAB等)Bully算法Bully算法中,节点的角色有两种:普通节点和主节点。初始化时,所有节点都是平等的,都是普通节点,并且都有成为主节点的权利,但是当选主结束后,有且仅有一个节点

《分布式技术原理与算法解析》学习笔记Day04

分布式选举算法为什么需要分布式选举?分布式意味着我们的应用部署在一个集群中,集群包含多个节点或者服务器,对于一个集群来说,多个节点是怎么协同工作的呢?我们需要有一个主节点来负责对其他节点的协调和管理。分布式选举是为了选出一个主节点,由它来协调和管理其他节点,以保证集群有序运行和节点间数据的一致性。常见的分布式选举算法有哪些?分布式选举算法一般会分为两类:基于序号选举的算法(例如Bully算法)多数派算法(Raft,ZAB等)Bully算法Bully算法中,节点的角色有两种:普通节点和主节点。初始化时,所有节点都是平等的,都是普通节点,并且都有成为主节点的权利,但是当选主结束后,有且仅有一个节点

day04-视图和视图解析器

视图和视图解析器1.基本介绍在SpringMVC中的目标方法,最终返回的都是一个视图(有各种视图)注意,这里的视图是一个类对象,不是一个页面!!返回的视图都会由一个视图解析器来处理(视图解析器有很多种)2.自定义视图2.1为什么需要自定义视图在默认情况下,我们都是返回默认的视图,然后返回的视图交由SpringMVC的InternalResourcesViewResolver默认视图解析器来处理的:在实际开发中,因为业务需求,我们有时候需要自定义视图解析器视图解析器可以配置多个,按照指定的顺序来对视图进行解析。如果上一个视图解析器不匹配,下一个视图解析器就会去解析视图,以此类推。2.2应用实例执

day04-视图和视图解析器

视图和视图解析器1.基本介绍在SpringMVC中的目标方法,最终返回的都是一个视图(有各种视图)注意,这里的视图是一个类对象,不是一个页面!!返回的视图都会由一个视图解析器来处理(视图解析器有很多种)2.自定义视图2.1为什么需要自定义视图在默认情况下,我们都是返回默认的视图,然后返回的视图交由SpringMVC的InternalResourcesViewResolver默认视图解析器来处理的:在实际开发中,因为业务需求,我们有时候需要自定义视图解析器视图解析器可以配置多个,按照指定的顺序来对视图进行解析。如果上一个视图解析器不匹配,下一个视图解析器就会去解析视图,以此类推。2.2应用实例执

day21--Java集合04

Java集合049.Set接口方法Set接口基本介绍无序(添加和取出的顺序不一致),没有索引不允许重复元素,所以最多只有一个nullJDKAPI中接口的实现类有:Set接口的常用方法:和List接口一样,Set接口也是Collection的子接口,因此,常用方法和Collection接口一样。Set接口的遍历方式:同Collection的遍历方式一样,因为Set是Collection的子接口所以:可以使用迭代器增强for循环不能使用索引的方式来获取例子1:以Set接口的实现类HashSet来讲解Set的方法1.set接口的实现类的对象(set实现类对象),不能存放重复的数据,且最多只能添加一个

day21--Java集合04

Java集合049.Set接口方法Set接口基本介绍无序(添加和取出的顺序不一致),没有索引不允许重复元素,所以最多只有一个nullJDKAPI中接口的实现类有:Set接口的常用方法:和List接口一样,Set接口也是Collection的子接口,因此,常用方法和Collection接口一样。Set接口的遍历方式:同Collection的遍历方式一样,因为Set是Collection的子接口所以:可以使用迭代器增强for循环不能使用索引的方式来获取例子1:以Set接口的实现类HashSet来讲解Set的方法1.set接口的实现类的对象(set实现类对象),不能存放重复的数据,且最多只能添加一个

api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。

文件的创建:packagefile;importjava.io.File;importjava.io.IOException;/*create:创建new:新file:文件使用File新建一个文件/publicclassCreateNewFileDemo{publicstaticvoidmain(String[]args)throwsIOException{//在当前项目目录下新建一个文件:test.txt//1创建一个File表示要创建的文件Filefile=newFile("./test.txt");//2判断该位置下是否已经存在了这个文件或目录/booleanexists()判断当前Fi