自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 软件质量保证与测试

软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。

2024-06-25 12:43:17 698

原创 网络安全基础

远程木马的作用:远程控制木马被红队广泛使用,一般是由metasploit、cobaltstrike等C2控制器生成的系统可执行文件,如exe、elf(linux系统)、apk(安卓安装包)、macho(苹果macOS)文件,一般通过两种方式传播。kali在内网中,在实际渗透测试攻击过程中,如遇到需要反弹shell的情况,互联网中的靶机是无法连接至内网中的kali,故可以租赁一台有公网IP的云服务器作为攻击机。快照的作用类似于一个系统还原点,通俗的来说,就是还原用的,可以把虚拟机回复到创建快照时的状态。

2024-06-09 20:01:25 1056 2

原创 Spring IOC容器和核心概念

回顾常规的三层架构处理请求流程:Spring IoC 容器,负责实例化、配置和组装 bean(组件)。容器通过读取配置元数据来获取有关要实例化、配置和组装组件的指令。配置元数据以 XML、Java 注解或 Java 代码形式表现。它允许表达组成应用程序的组件以及这些组件之间丰富的相互依赖关系。上图显示了 Spring 容器工作原理的高级视图。应用程序类与配置元数据相结合,您拥有完全配置且可执行的系统或应用程序。Spring IoC 容器,负责实例化、配置和组装 bean(组件)核心容器。

2024-06-07 21:29:03 785

原创 SpringFramework介绍

经过十多年的发展,Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,其中 Spring Framework 是其他子项目的基础。4. 不断创新和发展:Spring Framework 开发团队一直在不断创新和发展,保持与最新技术的接轨,为开发人员提供更加先进和优秀的工具和框架。

2024-06-07 13:47:41 693

原创 技术体系结构

莎士比亚说,"一千个观众眼中有一千个哈姆雷特" 即仁者见仁,智者见智.说每个人都会对作品有不同的理解,每个人对待任何事物都有自己的看法,同样的技术解决同样的问题会产生不同流程和风格的解决方案,而采用一种框架其实就是限制用户必须使用其规定的方案来实现,可以降低程序员之间沟通以及日后维护的成本!2. 降低开发成本:框架的提供标准化的编程语言、数据操作等代码片段,避免了重复开发的问题,降低了开发成本,提供深度优化的系统,降低了维护成本,增强了系统的可靠性。1. 学习成本高:框架通常具有特定的语言和编程范式。

2024-06-07 12:52:50 700

原创 Maven实战案例:搭建微服务Maven工程架构

2. 订单服务:负责处理订单相关的逻辑,例如订单的创建、订单支付、退货、订单查看等。需求案例:搭建一个电商平台项目,该平台包括用户服务、订单服务、通用工具模块等。1. 用户服务:负责处理用户相关的逻辑,例如用户信息的管理、用户注册、登录等。3. 通用模块:负责存储其他服务需要通用工具类,其他服务依赖此模块。1. 用户服务 (1.0.1)2. 订单服务 (1.0.1)3. 通用模块 (1.0.1)2.pom.xml配置。2.pom.xml配置。2.pom.xml配置。2.pom.xml配置。

2024-06-06 19:22:00 480

原创 Maven继承和聚合特性

Maven 继承是指在 Maven 的项目中,让一个项目从另一个项目中继承配置信息的机制。继承可以让我们在多个项目中共享同一配置信息,简化项目的管理和维护工作。通过在父工程中为整个项目维护依赖信息的组合既保证了整个项目使用规范、准确的 jar 包;Maven 聚合是指将多个项目组织到一个父级项目中,通过触发父工程的构建,统一按顺序触发子工程构建的过程!2. 优化构建顺序:通过聚合,可以对多个项目进行顺序控制,避免出现构建依赖混乱导致构建失败的情况。作用:在父工程中统一管理项目中的依赖信息,

2024-06-06 18:58:30 407

原创 Maven核心功能依赖和构建管理

通过定义 pom文件,Maven 能够自动解析项目的依赖关系,并通过 Maven 仓库自动下载和管理依赖,从而避免了手动下载和管理依赖的繁琐工作和可能引发的版本冲突问题。2. 依赖项的版本号或配置文件中的版本号错误,或者依赖项没有正确定义,导致 Maven 下载的依赖项与实际需要的不一致,从而引发错误。2. 自动管理依赖: Maven 可以自动管理依赖项,使用依赖传递,简化了依赖项的管理,使项目构建更加可靠和一致。2. 确保依赖项的版本号与项目对应的版本号匹配,并检查 POM 文件中的依赖项是否正确。

2024-05-31 12:21:14 855

原创 基于Idea的Maven工程创建

指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。packaging 属性为 pom,代表不会打包,用来做继承的父工程。

2024-05-30 21:00:41 952

原创 Maven简介和快速入门

Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)。

2024-05-30 12:28:32 413

原创 Java环境变量配置&出现“Error: could not open `D:\java\jdk1.8\java_jdk\lib\amd64\jvm.cfg‘”

否则可能会出现“Error: could not open `D:\java\jdk1.8\java_jdk\lib\amd64\jvm.cfg'”变量值是保存Java的路径。即在文件夹中找到Java文件的保存位置,复制上面的路径。3.在下方系统变量中找到Path,双击打开,新建两条。注:一定要放到第一条,省得以后带来不必要的麻烦。1.控制面板→系统→高级系统设置→环境变量。Windows+R,输入cmd并回车。2.在下方系统变量中新建。

2024-05-30 08:57:15 319

原创 C++编程中级阶段

函数模版的作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个。因此C++为了解决这种问题提供了模版的重载,可以为这些特定的类型提供具体化的模版。在上述代码中提供的赋值操作,如果传入的a和b是一个数组就无法实现了。局限性:模版的通用性并不是万能的。自动类型推导、显示指定类型。

2023-12-30 18:16:13 854

原创 STL——集合算法

set_intersection返回值既是交集中。求交集的两个集合必须是。目标容器开辟空间需要取。

2023-12-30 18:13:45 470

原创 STL——常用算术生成算法

注:算术生成算法属于小型算法,使用时包含头文件#include<numeric>

2023-12-30 18:12:46 495

原创 STL——拷贝和替换算法

replace会替换区间内满足条件的所有元素。swap交换的容器需要同种类型。

2023-12-30 18:12:01 400

原创 STL——排序算法

random_shuffle洗牌算法使用时需要加随机数种子。merge合并两个容器必须是有序序列。容器元素合并,并存储到另一容器中。指定范围内的元素随机调整次序。两个容器必须是有序的。

2023-12-30 18:11:07 817

原创 STL——查找算法

二分查找法效率很高,但查找容器中元素必须为有序序列。统计自定义数据类型时需要配合重载operator==

2023-12-30 18:09:45 571

原创 STL——遍历算法

搬运的目标容器必须要提前开辟空间,否则无法正常运行。for_each是实际开发中最常用的遍历算法。

2023-12-29 19:45:26 435

原创 STL——函数对象

函数对象(仿函数)是一个。

2023-12-29 19:37:16 840

原创 员工分组程序

【代码】员工分组程序。

2023-12-29 19:33:02 348

原创 STL——map/multimap容器

优点:可以根据key值快速找到value值。本质:map/multimap属于。

2023-12-29 19:31:29 466

原创 STL——set/multiset容器

对于自定义数据类型,set必须指定排序规则才可以插入数据。对组:成对出现的数据,利用对组可以返回两个数据。set容器所有元素都会在插入时自动被排序。set容器插入数据时用insert。:set/multiset属于。技术点:利用仿函数改变排序规则。list容器中的remove。find返回的是迭代器。

2023-12-28 22:52:09 494

原创 STL——list容器

list有一个重要的性质,插入和删除操作都不会造成原有的list迭代器失效,这在vector容器是不成立的。由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于。是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。案例描述:将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高。排序规则:按照年龄进行升序,如果年龄相同按照身高进行降序。结点的组成:一个是存储数据元素的。链表的组成:链表由一系列。STL中的链表是一个。

2023-12-28 22:49:48 968

原创 STL——queue容器

(First In First Out,FIFO)的数据结构,它有两个出口。队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为。队列容器允许从一端新增元素,从另一端移除元素。队列中进数据称为——入队(push)队列中出数据称为——出队(pop)概念:queue是一种。

2023-12-28 22:46:19 568

原创 STL——stack容器

概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。栈中进入数据称为——入栈(push)栈中弹出数据称为——出栈(pop)

2023-12-28 14:27:29 565 1

原创 评委打分系统

有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。

2023-12-28 14:25:59 464 1

原创 STL——deque容器

维护每段缓存区中的内容,缓存区中存放真实数据,中控器维护的是每个缓存区的地址,使得使用deque时像一片连续的内存空间。sort算法在使用时需包含algorithm头文件。deque容器的迭代器也是支持随机访问的。功能:双端数组,可以对头端进行插入删除操作。

2023-12-28 14:24:21 1061 1

原创 STL——vector容器

vector(v).swap(v)——swap互换容器可以达到收缩内存的效果。如果数据量较大,可以一开始利用reserve预留空间。:不同之处在于数组是静态空间,而vector可以。功能:vector数据结构和。vector与普通数组的区别。

2023-12-27 22:43:34 1325 1

原创 STL——string容器

例如:查找find,拷贝copy,删除delete 替换replace,插入insert。string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。字符串的比较是按字符的ASCII码进行比较:=返回0、>返回1、<返回-1。本质:string是C++风格的字符串,而string本质上是一个类。字符串对比主要是用于比较两个字符串是否相等,判断谁大谁小的意义并不大。特点:string类内部封装了很多成员方法。插入和删除的起始下标都是从0开始的。

2023-12-27 15:53:09 1231 1

原创 STL初识

/vector容器中存放自定义数据类型public:int m_age;//创建vector容器//向容器内插入数据//遍历容器中的数据it!= v.end();it++)cout << "姓名:" << (*it).m_name << "年龄:" << (*it).m_age << endl;cout << "姓名:" << it->m_name << "年龄:" << it->m_age << endl;//存放自定义数据类型的指针。

2023-12-26 21:43:12 835 1

原创 C++模版——类模版

类模版作用:建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表。问题:类模版中成员函数创建时机是在调用阶段,导致分文件编写时链接不到。主流是解决方式2,将类模版成员函数写到一起,并将后缀名改为.hpp。全局函数类外实现——需要提前让编译器知道全局函数的存在。类模版中成员函数类外实现时,需要加上模版的参数列表。全局函数类内实现——直接在类内声明友元即可。

2023-12-26 13:51:53 1047 1

原创 计算机网络

​​​​​​​。

2023-12-25 10:40:36 984

原创 计算机网络——网络安全

安全关联SA: 在使用AH和ESP之前,先要从源主机到目的主机建立一条网络层的逻辑连接,是从源点到终点的单向连接,IPsec就把传统的因特网无连接的网络层转换为具有逻辑连接的层。任何加密方法的安全性取决于密钥的长度,以及攻破秘密文件所需的计量数,而不是单纯的取决于加密的体制。IPsec并不是一个单一的协议,而是能够在IP层提供互联网通信安全的协议族。网络映射、端口扫描、DoS攻击、蠕虫和病毒、系统漏洞攻击。保密性、端点鉴别、信息的完整性和运行的安全性。六、互联网使用的安全协议。IPsec协议族中的协议。

2023-12-25 10:35:14 1097

原创 计算机网络——应用层

两种工作方式:非持久性连接——前者每次都TCP连接 持久性连接——只需一次TCP连接,又分为非流水线方式和流水线方式。FTP是互联网使用最广泛的文件传送协议,提供交互式访问,允许客户指明文件的类型与格式,允许文件具有存取权限。互联网上使用得最多的和最受用户欢迎的应用之一,电子邮件系统的组成:用户代理、邮件服务器、电子邮件使用的协议。应用层:是通过位于不同主机中的多个应用进程之间的通信和协同工作,来解决某一类实际应用问题。HTTP协议:也是无连接的,使用了面向连接的TCP向上提供的服务。

2023-12-24 22:22:48 930 1

原创 计算机网络——传输层

发送窗口表示:在没有收到 B 的确认的情况下,A 可以连续把窗口内的数据都发送出去。发送窗口中的序号全是发送未确认的或未发送的。(1)若连接R2和R3链路的频率带宽为8kHz,信噪比S/N为1024,该链路实际数据传输速率约为理论最大数据传输速率的50%,试求该链路的实际数据传输速率。作用类似IP在网络层的作用或MAC地址在数据链路层的作用,但IP地址和MAC地址标识的是主机,而端口表示的是主机中的。(3)H3收到的第8个确认段所通告的接收窗口是12KB,此时H3的拥塞窗口变为9KB;

2023-12-24 21:27:31 1057 1

原创 计算机网络——网络层

CIDR 使用“斜线记法”把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”CIDR使用32bits的地址掩码,例如128.14.32.0/20 表示的地址块共有 212个地址。因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是12位。路由器:是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组,按照分组要去的目的地,从合适的端口转发给下一跳路由器。注:从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。

2023-12-21 23:22:10 948

原创 计算机网络——数据链路层

便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。最先发送数据帧的站,在发送数据帧后最多会经过时间2τ(两倍的端到端往返时延) 就可知道发送的数据帧是否遭受了碰撞。2)如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。问题:若数据中的某个字节的代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地以为“找到帧的边界”。优点:1)使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。:发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

2023-12-20 14:55:26 1058 1

原创 计算机网络——物理层

码元:在信道中最小的一个脉冲单位,固定时长的信号波形(数字波形)表示一个k进制数字,代表不同离散数值的基本波形。时分复用:将时间划分为一段段等长的时分复用帧(TDM帧),每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,时分复用的所有用户是在。由于可见光的频率非常高,约为 108 MHz 的量级,因此一个光纤通信系统的传输带宽远远大于目前其他各种传输媒体的带宽。(4)差分曼彻斯特编码:位开始边界,有跳变代表0,没有跳变代表1,每一位的中心始终都有跳变。缺点:传播时延较大,受气候环境影响大。

2023-12-19 23:14:19 980 1

原创 数据库连接池

数据库连接池是个容器,负责分配、管理数据库连接(Connection)。它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。优点:1.资源重用 2.提升系统响应速度 3.避免数据库连接遗漏。

2023-12-15 14:01:22 25

原创 JDBC技术

1.JDBC(Java DataBase Connectivity[Java数据库连接]):Java语言操作关系型数据库的一套API。notice:SQL注入是通过操作输入来修改事先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。1.在获取PreparedStatement对象时,将sql语句发送给mysql服务器进行检查,编译(耗时长)JDBC中的事务管理:Connection接口中定义了3个对应的方法。3.如果sql模版一样,则只需要进行一次检查、编译。2.执行时不再进行这些步骤,速度更快。

2023-12-08 13:53:03 29

空空如也

空空如也

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

TA关注的人

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