- 博客(164)
- 收藏
- 关注
原创 【期末复习】编译原理
素短语,是指至少含有一个终结符的短语,并且除自身外,不包含更小的素短语。后面如果是一个非终结符,最终能够推出来的是‘空’,那么就是第三种情况。I 这一列从上到下依次排序,然后对应转换后两列的值。拓广文法如果没有 S',那么就需要写上 S'->S。是根据 FIRST 和 FOLLOW 集进行构造。如果文法没有二义性,也可能使得语言是二义性的。二义性文法可以转化为无二义性的文法。VT 就是 VT 就是终结符的意思。最左素短语是句型中最左边的素短语。S0 只能是一个(元素)文法就是推导的式子。
2024-12-09 21:55:30
1412
原创 【蓝桥杯备赛】123(前缀和的复杂应用)
1------------------1 号块。1 2----------------2 号块。1 2 3--------------3 号块。1 2 3 4------------4 号块。比如要求下标为 5 之前的前缀和。比如要求下标为 8 的前缀和。我们可以根据规律求出这一块。中的第几位,修正这个。
2024-11-21 00:08:08
510
原创 【蓝桥杯备赛】深秋的苹果
4.1.1. 题目解析两两相乘比如要算这串数字的两两相乘的积之和:1, 2, 3前缀和数组:1 3 6发现没有什么关系。。。数字再长些:1, 2, 3, 4前缀和数组:好像还是没关系。。。1, 2, 3, 41, 3, 6 正好是前缀和数组中的数字。当前这个数这个数前一个位置回归本题,说的是让每段区间的“美味值”最大的一段尽可能小,也就是说算出来本段苹果的最大美味值,然后依次递减判断是否满足段数要求,直至不能再减小。使用“二分”进行搜索可能的美味值。
2024-11-18 22:53:57
714
原创 【算法】二分
循环条件都是l < rgetL和是一样的,除了最后的判断 l 是不是目标值getR和的区别在于还是让如果是获取= x的最右边的位置,那么当x<a[mid]的时候,说明目标位置还在左边的区间,如果是获取>x的最左边的位置,那么当x<a[mid]的时候,说明 mid 的大小不够,需要向右移动,此时 mid 位置的值不需要考虑,“最左”判定条件都是<=
2024-11-16 20:21:18
308
原创 蓝桥杯备赛(持续更新)
任意进制转十进制时,以二进制数1001为例:该进制的最低位(右一)的值1就表示实际的十进制值1,次低位(右二)的值0表示进制数2的一次方的0倍即为0,次次低位(右三)的值0表示进制数2的二次方4的0倍即为0,最高位(左一)的值1表示进制数2的三次方8的1倍即为8,以此类推,将每位得到的十进制数相加得到9,该和即为二进制数1001对应的十进制数。最后得到的余数为二进制的非零的最高位,最先得到的余数为二进制的最低位,可知:十进制数9转换成二进制数为1001。二维差分是在一维差分的基础上推导的公式。
2024-11-06 09:22:02
1941
原创 蓝桥杯题目理解
这道题提到了对于“区间”进行操作,而差分数列就是对于区间进行操作的好方法。差分数列:1 2 2 -3 5 6。给定数列:1 3 5 2 7 1。
2024-10-25 23:03:18
1458
1
原创 【RabbitMQ】RabbitMQ学习
根据routing key ,会发送给 binding Key 符合的对列。一个交换机,将消息转发到于其绑定的所有对列,每个消费者都能享有这些消息。将消息转发给 和带有通配符的 binding key 的对列。根据消息内容进行匹配,消息内容中有headers内容进行匹配,这个模式中,多了一个 exchange host 角色。发送消息的时候,使用的是 Routing Key。传到对列的时候,使用的是 Binding Key。一个消费者一个生产者,直接进行通信。
2024-10-04 16:25:34
884
1
原创 【算法】算法思想合集
数组分块将数组分成具有某些特征的段使用双指针算法(如果是数组,使用下标充当指针)存在信息丢失的问题,可以考虑从后向前进行利用单调性进行定性分析(盛最多的水)滑动窗口同向移动的双指针出窗口一般是while必须具备单调性二分查找如果left=mid,那么mid就应该是右边的如果right=mid,那么mid就应该是左边的这两点是为了防止取中的时候,left或right会在原地不动,造成死循环只要有二段性,就是根据各段的性质,对于mid位置进行判断,看其符合哪段的性质找二段性是非
2024-09-20 12:22:04
498
原创 【Java EE】Mybatis操作数据库
蛇形。如:user_name。小驼峰。如:userName。使用映射器(也即@Mapper)对于数据库和Java程序做链接🔗。
2024-07-07 17:47:21
944
原创 【Java EE】验证码案例
即便有多个页面(多进程)访问,也可以根据SessionID获取到不同的验证码和用户输入的验证码。很长的变量名可以声明为常量类中的成员变量,也可以写入配置文件,然后根据model进行获取。从HuTool官方文档中找到验证码的案例,然后进行演示,结合注释推断出自己需要的代码。需要交互的时候需要使用HTTP的session进行通信。
2024-07-03 23:10:07
563
原创 【Java EE】Spring Boot配置文件
一共有三类,分别是 properties, yml, yaml,其中properties相当于是老版,yml是yaml的缩写,这两个相当于新版。
2024-07-03 10:39:20
613
原创 【Java EE】Spring IOC&DI
属性,但是这样最上层的 Car 类并不能够选择自己想要的尺寸,仍然需要对于控制着 Tire 的Bottom进行添加参数以便Frame能够添加参数,这样依赖,Frame也得添加size参数,Car 也需要。Spring是一个开发的框架,包含了很多的依赖,比如Spring MVC, Spring Boot等,这些让我们开发变得容易,可以说,这种代码架构,每个类的控制权都在调用他的那一方中,调用的一方创造了怎样的他,那他就是怎样的。进行注入,但是@Rescource根据名称注入,有更多的选项。
2024-07-01 21:58:49
934
原创 【Linux】期末复习
经常使用opendir获得一个目录,然后使用readdir进行while循环,其间使用structdirent* entry 进行读取名称,如果想获得其他属性,需要使用struct stat file_stat进行读取(一定不是指针),最后使用closedir。• -exec 将查找到的目标进行进一步处理,exec后跟随处理命令,命令中通过 {} 引用被找的文件,而且命令必须以 “;如何利用管道将多个命令连接起来完成一个指定的任务,例如“统计所有普通文件所含有的字符数”、“统计所有普通文件的个数”
2024-05-31 20:04:41
1220
原创 【操作系统】内存管理
覆盖是指在一个程序的内存空间上开辟一段空间,这个空间叫做覆盖区,存放那些不经常调用的段,每次调用谁,再把谁装入覆盖区,不用的时候,就在外存(所以覆盖区的空间大小是所有段的最大值)“页框” 的数量就是块号的位数——但是是以字节为单位,所以应该取的是最小的字节数(20bit就应该用3字节)3.找到后,核对状态位,如果未调入内存,产生中断,更改状态位,然后根据页表项中的外存地址找到存储块,调入内存。3.然后淘汰(0,1),扫描的同时,将扫描到的访问位置为0。
2024-05-17 11:25:22
895
原创 【操作系统】进程管理
在短作业优先的基础上,等待时间越长/需要运行时间短,响应比越高,越应该被执行。响应比 = (等待时间+要求服务时间) / 要求服务时间。带权周转时间 = 作业周转时间 / 作业实际运行时间。有优先级更高的进程,则立即终止当前正在运行的进程。不管有多紧急的任务都需要让当前的进程执行完毕。周转时间 = 作业完成时间 - 作业提交时间。进程的唤醒——唤醒原语(Wakeup)运行已经到达的、预计运行时间最短的进程。进程的阻塞——阻塞原语(Block)表示单位时间内CPU处理的作业数量。提高内存利用率和系统吞吐量。
2024-05-15 18:19:12
352
原创 【操作系统】文件管理
2.存储的时候如果按照先往相同的柱面存储,那就不需要移动磁头,只有这个柱面上的所有磁道都存满之后才需要移动磁头,减少了磁头的移动时间。当有用户删除这个文件的时候,只会删除这个文件结点上的计数器,只有计数器为0才会删除文件。当索引表比文件本身还大时,索引表中的一项会对应文件的一组内容(如:以a开头的文件)如果多个用户之间使用了同一个文件,就让他们的文件指针都指向这个文件。1.如果进程访问到的最外道 不是磁盘的最外道,那就有白白浪费的寻道。对应的文件本体被删除,软链接仍然还在,只是找不到对应的资源。
2024-05-15 18:18:05
397
原创 【JavaSE】 反射、枚举以及lambda表达式
反射的意义意义在于获取一些只对于系统开放的、不让外界看到的方法、属性。反射的重要类:Field类,Constructor类,Method类,Class类。合理利用反射,不要轻易使用。
2024-05-14 18:14:20
1026
原创 【Spring】Springmvc学习Ⅲ
a. @RequestMapping:路由映射b. @RequestParam:后端参数重命名c. @RequestBody:接收JSON类型的参数d. @PathVariable:接收路径参数e. @RequestPart:上传⽂件f. @ResponseBody:返回数据g. @CookieValue:从Cookie中获取值h. @SessionAttribute:从Session中获取值i. @RequestHeader:从Header中获取值。
2024-05-13 15:40:22
1113
1
原创 【Spring 】Spring MVC 入门Ⅱ
Session产生时会生成一个唯一性的SessionID,这个SessionID可以用于匹配Session和CookieSessionID可以在Cookie/Set-Cookie传递,也可以在URL中传递。
2024-05-01 23:19:58
1512
1
原创 【Spring】Spring MVC入门
简单来说,MVC是一种架构设计模式,Spring Web MVC 是对于这种思想的一种实现。Spring: 是一种框架,便于进行开发Web: 网页开发MVC:架构设计模式Spring Web MVC 一般简称为 SpringMVC。Spring MVC就是一种网页开发的框架,这种框架的设计架构是MVC。示意图:可以看到相比于MVC的示意图只是添加了一个浏览器。那么饭店的那个例子就是:顾客去吃饭,将想吃的饭菜报给传菜员,传菜员报给前厅,前厅报给后厨,后厨制作,反馈给前厅,传菜员将饭菜端过去。
2024-04-18 21:30:23
1264
原创 【web前端】CSS语法
这种方式适用于多个页面需要设置为统一的样式。a标签下的 b标签下的 c标签设置css样式。只要带有选择器的标识的,都会使用此样式。内嵌样式一般放在HTML文件的。直接将样式写在本行的标签内。保存时文件扩展名为.css。也是在head中使用。
2024-03-19 15:22:05
560
原创 【JavaEE】网络原理-HTTPS
HTTPS是在HTTP协议内容都是按照文本内容进行,容易使得内容被“劫持”。十年前,经常有下载链接被劫持,就会产生下载图片和下载链接不是一个产品的现象。
2024-03-14 09:41:21
469
原创 【JavaEE】传输层网络协议
这种机制体现在 “三次握手” 中最为明显, 服务器收到请求后, 既要发送 ACK 确认收到请求, 还要发送 SYN 确认连接报文, 这两个报文的发送时间又相差不了多久, 所以就发生了, SYN + ACK 报文一次同时发送两个报文的情况, 称为 “捎带应答”.接收方发送的报文没有成功发送, 就会使得数据发送方以为数据并没有成功传输, 也会触发超时重传, 这样就会使得接收方收到重复的数据, 于是, 接收方通过序号这一报文结构, 就可以丢弃重复的数据.
2024-02-07 23:48:51
1489
原创 【JavaEE】传输层网络协议
客户端是因为是本次通信中需要主动建立连接的一方,所以由客户端进行提出连接到哪台服务器和哪个端口对其进行提供服务。数据报中包含了一切所需要的信息,Datagram’Socket只是辅助完成发送和接收的操作。UDP接收信息不可超出 64*1024b。
2024-01-28 00:59:10
592
1
原创 【JavaEE】文件操作 —— IO
上述代码并没有使用close去关闭流,因为在这里使用了一种try with rescoures的语法,简单来说就是之前只是简单地使用try…catch进行捕获异常,这里的try语法在try后面加上了一堆括号,在里面写上需要释放资源的代码。输出型参数在c/c++中是将参数的引用写在参数位置,能够在函数运行完毕后不依赖于返回值的方式得到这个变量的值。的方式进行,这种方式表示是从键盘读入,数据从键盘流入系统,利用这个原理我们同样可以使得数据从文件流向文件/外设。退出时删除文件,常用于临时文件的删除。
2024-01-20 01:38:48
1045
1
原创 Numpy极速入门学习
a:b:stride]表示,[a,b)的元素,每隔stride个元素取一个数(跨度如果为负值,就是从后往前取)两个不同尺寸的数组,在进行运算时,会自动补全,补齐成相同尺寸的数组,然后对应位置进行运算。如果a是多维数组,可以指定参数进行运算:a.sum(axis=0)两个相同数组可以直接进行四则运算(对应元素进行运算)切片语法:(与python中list的切片方式一样)在numpy中,数组默认数据类型是64位浮点数。[a:b]:[a,b)的元素。0表示行,第一个维度。1表示列,第二个维度。
2024-01-16 14:21:41
458
1
原创 我的创作纪念日——多线程进阶分享
乐观锁预计在线程中数据大概率不会被其他线程拿去修改对于加锁所作的准备较少。只有当修改的操作真正发生了,才会进行加锁操作所以乐观锁适用于的情况,可以降低加锁频率,提升效率。悲观锁所以悲观锁适用于对于的场景。
2023-12-08 16:43:23
984
8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人