Heliogabalus的玫瑰
The Roses of Heliogabalus depicts the young Roman emperor Elagabalus (203–222 CE) hosting a banquet, being swamped by drifts of pink rose petals falling from a false ceiling above. The youthful emperor, wearing a golden silk robe and tiara, watches the spectacle from a platform behind them, with other garlanded guests. A woman plays the double pipes beside a marble pillar in the background, wearing the leopard skin of a maenad, with a bronze statue of Dionysus, based on the Ludovisi Dionysus, i ...
Stack
只允许在一端进行插入或删除操作的线性表
后进先出LIFO
进栈顺序:a1->a2->a3->a4->a5
出栈顺序:a5->a4->a3->a2->a1
基本操作InitStack(&S):初始化栈。构造一个空栈S,分配内存空间。创建
DestroyStack(&L):销毁栈。销毁并释放栈S所占用的内存空间。销毁
Push(&S,x):进栈,若栈S未满,则将x加入使之成为新栈顶。增
Pop(&S,&x):出栈,若栈S非空,则弹出栈项元素,并用x返回。删
GetTop(S, &x):读栈顶元素。若栈S非空,则用x返回栈顶元素。查查栈的使用场景中大多只访问栈顶元素
其他常用操作StackEmpty(S):判断-一个栈S是否为空。若S为空,则返回true,否则返回false。
规律n个不同元素进栈,出栈元素不同排列的个数为
$$ \frac{1}{n+1}\sideset{}{^n_2n}C $$
1/n+1乘Cn 2n
上述公式称为卡特兰(Catalan) 数,可采用数学归纳法证明(不 ...
关于安装MyBatis
环境:
JDK 13.0.2
tomcat 9.0.3
mybatis 3.5.4
mysql 8
入门早期为:ibatis:apache
2010年被Google收购改称:Mybatis
主要作用:简化JDBC操作,实现数据的持久化。
ORM:Object Relational Mapping,可以使开发人员像操作对象一样操作数据库
mybatis是ORM的一种实现
下载之前看过的一个教程是使用Idea的,也就是直接使用依赖库导入,这次看的是导入jar使用。
去官网
选择Getting Started
会有Maven方式,当然使用Idea就可以直接复制代码框内代码到idea中,但这次选择jar的超链接。
就来到了熟悉的github,在最新版本下,有三个选项,这里选择第一个zip包下载。
下好之后是个zip,
打开以后目录文件如图,
lib文件夹存放mybatis的一些依赖包,
license就是字面意思 许可证,
mybatis-3.5.4.jar即要用到的jar,
.pdf即使用说明书,
NOTICE也是字面意思 注意事项。
使用简单使用一下:
导包打开eclipse, ...
写出这个数
写出这个数原创 EShyee EShyee 2019-09-26
写出这个数
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:11234567890987654321123456789
输出样例:1yi san wu
My answer:
package com.Eshyee.SumIn;
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//输入这个字符串
String s = in.nextLine();
int a = 0;
S ...
单BSS实验
单BSS实验实验内容
构建基本服务集
安装终端无线网卡
实现基本服务集终端之间通信
在这个基本服务集里面呢,我们是有一个AP和两个终端
实验目的
验证基本服务集的通信区域
验证终端与AP之间建立关联的过程
实验原理AP与BSS中终端之间要成功建立关联,必须满足条件:
终端位于AP的有效通信范围内
终端与AP配置相同的服务集标识符SSID
终端与AP配置相同的安全机制和密钥
实验配置两个装有无线网卡的笔记本aptop0、laptop1和AP
讲笔记本移入AP工作区
为AP0配置SSID
这里配置为123456
鉴别防密机制选择WPA2PSK
输入密钥1234567890
此时,laptop0和laptop1与AP0之间终止关联
分别给两个笔记本进行配置
配置与AP0租同的SSID、鉴别动密机制
启动笔记本电脑的IP配置实用程序
安装无线网卡的笔记本电脑,它的默认状态下是通过dhcp自动获取网络信息的,在没有配置dhcp服务器的情况下有操作系统自动的在保留的地址当中169.254.0.0/16当中随机分配IP地址。启动两台笔记本电脑之间的ICMP报文的传输过程,看到两台终 ...
单交换机小实验
内容1、用一台交换机连接四个终端2、启动终端A与终端B之间的MAC帧交换过程3、观察交换机转发表变化过程4、检查ICMP报文至MAC帧的封装过程
目的1、验证交换机的连通性2、验证转发表建立过程3、验证交换机MAC帧转发过程4、验证ICMP报文逐层封装过程
1.清除MAC表➢Switch#clear mac-address-tableclear mac-address-table是在特权模式下使用的命令,该命令的作用是清除交换机转发表(也称MAC表)中的动态转发项。
➢为什么要清除MAC表呢 ?在终端之间交换ARP报文时,交换机中会产生转发项,这样会干扰我们的验证过程。因此,完成ARP地址解析过程后,清空转发表,开始交换机实验。
2.停止运行CDP➢Switch(config)#no cdprunno cdp run是全局模式下使用的命令,该命令的作用是停止运行CDP➢CDP是什么 ?为什么要停止运行CDP呢?CDP : Cisco Discovery Protocol ( Cisco发现协议) , CDP能检测到与交换机直接连接的设备,因此即使终端不发送MAC帧,交换机也能检测到各端 ...
工作分解结构
工作分解结构
本知识点主要讲述如下内容:
(1)生活案例引导
(2)工作分解思想
生活案例
你和同学你们2个人一起做菜:炒鸡蛋。问怎么做?
阶段1:准备材料(包括配料及工具)
准备配料:鸡蛋、葱、姜、蒜、油
准备工具:碗、搅拌器(或筷子)、锅、火、铲子等
1个人做(另个人看)还是2个人同时做
阶段2:炒鸡蛋
炒鸡蛋
(1个人)(包括搅鸡蛋、热油锅等)
另个人千吗? 闲着吗?还是准备盘子?(同时吗?)
阶段3:盛盘上桌
工作分解结构的思想
工作分解结构的思想是:
项目范围->工作阶段->工作单元->任务
工作阶段(Phase) 是按时间顺序分布的工作里程碑
工作单元(Work Unit)是阶段的组成部分,彼此之间可以使串行也可以是并行的任务是组成工作单元的单位活动
工作单元和任务可以逐步细分,但分的过细会导致过于零碎,分得过粗,则会不容易控制
项目经理按分解结构委派和监控项目
工作分解结构的思想
为什么需要WBS:
项目经理按分解结构委深和监控项目,可以准确地预测下面的内容:
WBS明确了完成项0所需要进行的工作
WBS能给项日组,管理层和团队成员产生紧迫 ...
备份与恢复
第一部分:手工备份与恢复
第一章:备份恢复概述
一)数据库故障类型:
1)user process failure: pmon 自动处理
2)instance failure: smon 自动处理
3)user errors : 需要dba通过备份恢复解决
4)media failure:必须通过备份和日志恢复
二)备份和恢复计划
1)根据生产环境的恢复周期,制定详细的备份计划,然后严格执行
2)对备份,要在一定的时间内利用测试环境,进行故障恢复的练习
三)备份恢复分类
1)逻辑备份与恢复– 面向object
①传统的导入导出:exp/imp:
②数据泵导入导出:expdp/impdp
逻辑备份就是热备数据库对象某一时刻状态,不能运用在media failure上,逻辑备份的恢复就是还原备份,没有recover的概念。
2)物理备份与恢复– 面向media failure
①手工备份与恢复,也叫用户管理的备份与恢复,通过OS 的命令,完成备份与还原,然后再运用日志进行恢复。
②自动备份与恢复,利用oracle 的备份恢复工具rman,使还原与恢复过程自动完成, ...
LinearTable-6
线性表学习终章–顺序表与链表的最终对决!
逻辑结构都属于线性表,都是线性结构🙋♂️
物理结构顺序表(顺序存储)优点:支持随机存取、存储密度高👍缺点:大片连续空间分配不方便,改变容量不方便👎
链表(链式存储)优点:离散的小空间分配方便,改变容量方便👍缺点:不可随机存取,存储密度低👎
数据的运算\基本操作创建顺序表👎需要预分配大片连续空间。若分配空间过小,则之后不方便拓展容量;若分配空间过大,则浪费内存资源。
静态分配:静态数组
容量不可改变动态分配:动态数组
容量可改变,但需要移动大量元素,时间代价高
链表👍只需分配一个头结点(也可以不要头结点,只声明一个头指针),之后方便拓展。
销毁顺序表👎修改Length = 0
静态分配:静态数组->系统自动回收空间动态分配:动态数组->需要手动free
malloc函数申请的空间为堆区,系统不会自动回收
链表👍依次删除各个结点(free)
增删顺序表👎插入/删除元素要将后续元素都后移/前移
时间复杂度0(n),时间开销主要来自移动元素
若数据元素很大,则移动的时间代价很高
链表� ...
LinearTable-5
静态链表–简简单单做个NPC
定义
分配一整片连续的内存空间,各个结点集中安置。
12345678#define MaxSize 10//静态链表的最大长度typedef struct{//静态链表结构类型的定义ElemType data;//存储数据元素int next;//下一个元素的数组下标}SLinkList[MaxSize];void test(){ SLinkList a;}
基本操作初始化
把头结点的游标设为-1,并且将其他结点的游标设为一个默认值 如8848
查找
从头结点出发依次往后遍历结点
插入
插入位序为i的结点
找到一个空的结点(循环遍历找到那个”8848“),存入数据元素
从头结点出发找到位序为i-1的结点
修改新结点的next
修改i-1号结点的next
删除
从头结点出发找到前驱结点
修改前驱节点的游标
被删除结点的next设为”8848“
小结静态链表:用数组的方式实现的链表优点:增、删操作不需要大量移动元素缺点:不能随机存取,只能从头结点开始依次往后查找;容量固定不可变
适用场景:①不支 ...