草庐IT

【TCP与UDP】day4

1.连接性TCP是面向连接的,它在传输数据之前要先建立连接,传输完毕后再释放连接。UDP是无连接的,发送数据之前不需要建立连接,也不会维护连接状态。2.可靠性TCP提供可靠的数据传输,通过确认、重传、流量控制和拥塞控制等机制保证数据的完整性和可靠性。UDP不提供可靠性保证,发送的数据包可能会丢失、重复或乱序,应用层需要自行处理这些问题。3.速度UDP比TCP快,因为它没有建立连接和维护状态的开销,以及不进行确认和重传等复杂的处理。TCP在传输过程中会增加额外的开销,因此速度相对较慢。4.应用场景TCP适用于要求可靠性的应用,如文件传输、Web浏览、电子邮件等。UDP适用于实时性要求较高、对可靠

PostgreSQL学习02——环境安装windows篇

承接上回,这篇文章开始准备真正的去使用PG数据库。1.下载安装包window版14.72.点击安装安装界面修改安装位置(根据自己需要,如果C盘有足够空间可以安装到C盘)一般只需要PostgreSQLServer和CommandLineToolsPostgreSQLServer:PGSql的核心服务pgAdmin4:一个维护和管理Postgres数据库用通用工具StackBuilder:堆栈生成器CommandLineTools:命令行工具数据存储文件位置设置超级用户postgres的密码端口号一般不修改除非你端口有冲突地区和语言,默认即可(选择其他可能会报错)所有配置项next-开始安装nex

洛谷C++简单题小练习day17—输出保留 3 位小数的浮点数, A*B 问题,白细胞计数三个小程序

day17--输出保留3位小数的浮点数--2.21习题概述题目描述读入一个单精度浮点数,保留 3 位小数输出这个浮点数。提示:就这题来说,请使用 float 类型的单精度浮点数。输入格式只有一行,一个单精度浮点数。输出格式也只有一行,读入的单精度浮点数。代码部分#includeusingnamespacestd;intmain(){floata;cin>>a;printf("%.3f",float(a));return0;} day17-- A*B问题类型问题--2.21习题概述题目描述输入两个正整数 A 和 B,求 A×B 的值。注意乘积的范围和数据类型的选择。输入格式一行,包含两个正整数 

算法打卡day03|链表专题01:虚拟头节点使用、单链表查找删除元素、链表设计通过索引(add、delete、get)、使用双指针思路实现链表反转|Leetcode203、707、206

1.基础知识——链表是由指针串联在一起的线性结构分类:(1)单链表:每个节点由数据域与指针域组成{data,next}(2)双链表:每个节点由数据域及指针域(两个指针)组成{data,pre,next}(3)循环链表:节点结构与单链表一致,但是首尾相连存储:内存分布不是连续的链表定义代码※链表优点在于长度不固定,能够实现动态增删,适用于增删频繁但是查询频率比较低的情景Leetcode203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/description/分析:经典链表操作,主要需要考虑两种场景当前节

【寒假作业】day2.4

1.intlength(linklisthead){ intlen=0; linklistp=head; while(p) { p=p->next; len++; } returnlen; }voidoutput(linklisthead){ if(head==NULL) { puts("EMPTY"); return; } linklistp=head; while(p) { printf("%-5d",p->data); p=p->next; } puts("");}linklistinsert_head(linklisthead,datatypeelement){ linkl

3分钟看懂设计模式02:观察者模式

一、什么是观察者模式观察者模式又叫做发布-订阅模式或者源-监视器模式。结合它的各种别名大概就可以明白这种模式是做什么的。其实就是观察与被观察,一个对象(被观察者)的状态改变会被通知到观察者,并根据通知产生各自的不同的行为。以下为《设计模式的艺术》中给出的定义:观察者模式(ObserverPattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。二、观察者模式的4个角色Subject(目标)Subject是被观察的对象。Subject可以是接口、抽象类或者具体类。它一般有4个要素:• 一个观察者集合,一般用Vector。• 增加观察

代码随想录算法训练营第4天 | 24. 两两交换链表中的节点 / 19.删除链表的倒数第N个节点 / 面试题 02.07. 链表相交 / 142.环形链表II

目录链表算法详解24.两两交换链表中的节点(1)易错点(2)思路(3)代码19.删除链表的倒数第N个节点(1)易错点(2)思路(3)代码面试题02.07.链表相交(1)易错点(2)思路(3)代码142.环形链表II(1)关键点(2)思路(3)代码参考资料链表链表:地址非连续,靠指针相互联系。注意:具体的地址分散情况依据设定不同。算法详解24.两两交换链表中的节点(1)易错点虚拟头结点使用:由于头结点并没有真正的前置节点,交换时假设不采用虚拟头结点则需要对头结点单独处理。两个节点交换涉及到四个节点:在交换A-B这段链表切片上,实现AB的交换,还涉及到A的前置节点和B的后置节点。循环条件:当cur

(02)Hive SQL编译成MapReduce任务的过程

目录一、架构及组件介绍1.1Hive底层架构1.2 Hive组件1.3Hive与Hadoop交互过程二、HiveSQL编译成MR任务的流程2.1 HQL转换为MR源码整体流程介绍2.2 程序入口—CliDriver2.3 HQL编译成MR任务的详细过程—Driver2.3.1 将HQL语句转换成AST抽象语法树词法、语法解析2.3.2 将AST转换成TaskTree语义解析 生成逻辑执行计划优化逻辑执行计划 生成物理执行计划 HQL编译成MapReduce具体原理JOIN GROUPBYDISTINCT优化物理执行计划 2.3.3 提交任务并执行一、架构及组件介绍1)Hive简介 Hive是F

Leetcode_Master Day2

day2977.有序数组的平方题目链接:977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序题解思路暴力法平方完再排序,时间复杂度为O(nlogn)classSolution{publicint[]sortedSquares(int[]nums){int[]ans=newint[nums.length];for(inti=0;inums.length;++i){ans[i]=nums[i]*nums[i];}Arrays.sort(ans);returnans;}}双指针法根据示例,对于数组存在负数的情况,平方的非递减排序可能

Spark大数据分析与实战笔记(第三章 Spark RDD 弹性分布式数据集-02)

文章目录每日一句正能量第3章SparkRDD弹性分布式数据集章节概要3.3RDD的处理过程3.3.1转换算子3.3.2行动算子3.3.3编写WordCount词频统计案例每日一句正能量人生很长,不必慌张。你未长大,我要担当。第3章SparkRDD弹性分布式数据集章节概要传统的MapReduce虽然具有自动容错、平衡负载和可拓展性的优点,但是其最大缺点是采用非循环式的数据流模型,使得在迭代计算式要进行大量的磁盘IO操作。Spark中的RDD可以很好的解决这一缺点。RDD是Spark提供的最重要的抽象概念,我们可以将RDD理解为一个分布式存储在集群中的大型数据集合,不同RDD之间可以通过转换操作形