- 博客(50)
- 收藏
- 关注
原创 GetPost区别
虽然URL通过query string来携带数据,而query string只能包含文本,但可以通过urlencode对二进制数据进行编码,将其转换为文本格式。在实际项目中,GET的使用场景可以替换为POST,反之亦然。某些服务器或浏览器可能会对GET和POST的使用有所限制,但在大多数情况下,这两者可以互换而不产生大的问题。论据是:如果使用GET进行登录,用户名和密码会显示在URL上,容易被他人看到,因此不安全。然而,即使使用POST,数据虽然不会显示在URL上,但也可能被黑客通过抓包获取。
2024-08-30 15:10:12 398
原创 面试必考题之GET和POST的区别
咱们先盖棺定论,首先GET和POST本质上没有区别,使用GET的场景,也可以替换成POST;使用POST的场景,也可以替换为GET具体都是区别于自己的代码是怎么写的特别是在自己做项目的时候,客户端和服务器都是自己实现在某些服务器或者部分的浏览器,某些情况下GET和POST不能完美替换,但是,大部分情况下,相互替换一般问题不大但是在使用习惯上,GET和POST还是有区别的。
2024-08-30 15:04:03 617
原创 java MultipartEntityBuilder 上传文件返回名字为???
我这里是使用百度的文档对比API,奈何这个API没有Java的示例代码,只能模仿Python的示例代码。发现是 MultipartEntityBuilder 的锅。Python能够直接上传,并且得到的文件名正常显示。但是JAVA得到响应的文件名就是显示?看到博主的文章解决了。
2024-08-14 10:41:22 303
原创 SpringBoot中解决文件application.properties中文注释乱码的问题
这里演示如何在idea里面把ISO-8859-1改为UTF-8。原因是字符编码使用了ISO-8859-1。把默认的改成UTF-8就行了。可以看到中文注释正常显示。如图看到中文注释乱码。搜索框输入UTF-8。
2024-08-09 15:26:19 359
原创 通过docker-compose在本地快速部署一个ElasticSearch(保姆级教程)
对于的安装,可以通过在本地快速部署一个这是一段博文的原话。
2024-08-08 14:54:34 816
原创 零基础做项目---五子棋对战---day02
完成注册登录,以及用户分数管理~使用数据库来保存上述用户信息.使用 MyBatis来连接并操作数据库了主要步骤:1.修改 Spring的配置文件,使数据库可以被连接上.2.创建实体类,用户, User3.创建Mapper接口~4.实现MyBatis 的相关xml配置文件,来自动的实现数据库操作。
2024-07-10 15:42:55 906
原创 零基础做项目---五子棋对战---day01
用到的关键技术后端: Java, Spring/Spring Boot/Spring MVC前端: HTML/CSS/JS/AJAX数据库: MySQL/MyBatis实时通讯: WebSocket
2024-07-06 00:01:20 744
原创 数据结构---二叉树前中后序遍历
2. 二叉树的先序遍历和中序遍历如下:先序遍历: EFHIGJK;中序遍历: HFIEJKG. 则二叉树根结点为()4. 某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF ,则按层次输出(同一层从左到右)的序列为()3. 设一课二叉树的中序遍历序列: badce, 后序遍历序列: bdeca, 则二叉树前序遍历序列为()该完全二叉树的前序序列为()2. 做题步骤: 根据 先序遍历确定根节点位置为E。4. 如果二叉树的后序遍历序列与中序遍历序列相同。那么最后那个为根 就是F。
2024-06-19 18:50:01 443 2
原创 计算机网络-----总结UDP的报文结构
说明: UDP报头一共八个字节 因此, 每个部分(源端口, 目的端口, 数据包长度, 校验和)分别两个字节, 那么也因此端口号的取值范围是0到2^16-1, 也就是 0到 65535, 64KB 因此一个UDP数据报的最大长度也是64KB(包括了报头载荷)在当今这个时代, 图片动不动就是3MB, 因此UDP使用的场景越来越少了。校验和: 检测UDP报文在传输过程中是否损坏, 用于数据完整性校验。数据报长度 : UDP报文的数据长度 包括报头和载荷。如果发送的数据量超过64KB, 那么就会发生数据截断。
2024-05-09 15:37:42 385
原创 产生死锁的四个必要条件
产生死锁的四个必要条件互斥使用: 一个资源每次只能被一个线程使用。这意味着如果一个线程已经获取了某个资源(比如锁),那么其他线程就必须等待,直到该线程释放资源。不可抢占: 已经获得资源的线程在释放资源之前,不能被其他线程抢占。只有拥有资源的线程自己能够释放资源,其他线程无法将其强行抢占。请求保持: 一个线程在持有至少一个资源的情况下,又请求获取其他资源。这样的情况下,如果其他资源被其他线程持有并且不释放,就会导致请求线程等待,从而可能形成死锁。
2024-04-14 22:05:57 1694
原创 力扣-202. 快乐数解析-弗洛伊德循环查找算法
归纳一下这些简单数字就可以发现,对于任意一个非快乐数,最终会进入重复循环, ···不难发现,4即之后的结果就是新一轮循环。那么我的第一个做法是检测4出现的次数 如果4出现次数超过两次, 那么就不是快乐数。其实这为弗洛伊德查找算法提供了很好的条件。使用代码测试一下每一代数字。当测试用例为2这个数字的时候。弗洛伊德查找算法原理见。
2024-01-19 20:57:46 588 1
原创 弗洛伊德循环查找算法-原理
弗洛伊德循环查找算法中第二次相遇的地方就是循环的起始点,这个性质的证明是基于数学的原理。设链表起点到环的起始点的距离为 X,环的起始点到第一次相遇点的距离为 Y,第一次相遇点到环的起始点的距离为Z。也就是说,如果此时将慢指针重新指向链表起始点,慢指针再次移动 X 的距离,而快指针从第一次相遇点开始移动 C3l+Z 的距离,它们将会在环的起始点再次相遇。这个性质是弗洛伊德循环查找算法的关键之一,也是该算法能够正确找到环的起始点的原因。2. 由于快指针的速度是慢指针的两倍,所以快指针走的距离是慢指针的两倍。
2024-01-19 00:11:44 550 1
原创 网络技术基础与计算思维实验教程_4.4_RIPv2配置实验
放置三个型号为2811的路由器给router0安装两个快速以太网接口同样的方法给router2安装为1安装有一个以太网接口的模块这样router1就有三个快速以太网接口和两个无线路由器接口了。
2023-12-26 22:45:46 429 1
原创 网络技术基础与计算思维实验教程_4.2_静态路由项配置实验
这行命令设置了WPA-PSK(预共享密钥)的ASCII密码为 "1234567890"。这个密码将用于设备连接到这个SSID时的认证。: 这行命令启用了“客户模式”,允许设备连接到该SSID而不需要任何进一步的身份验证。: 这行命令指定了该SSID的认证方式为“开放式”,允许设备连接而无需身份验证。: 这行命令取消了使用网络EAP(扩展认证协议)进行认证的设置。现在可以实现PC0和PC1之间的ICMP报文传输。现在可以实现PC0与PC2之间的通信过程。下面可以实现PC0与PC3之间的通信过程。
2023-12-22 14:29:57 658
原创 网络技术基础与计算思维实验教程_3.3_扩展服务集实验
由此验证出 只有终端在AP的有效范围之内并且具有相同的SSID和鉴别加密机制。验证PC0与laptop2以及PC0与laptop3之间的通信过程。把laptop0从AP0的通信范围移动到AP1的通信范围里面。启动laptop0到laptop2的ICMP报文传输过程。AP0完成了无线局域网MAC帧到以太网MAC帧的转换过程。AP1完成了以太网MAC帧到无线局域网MAC帧的转换过程。进入到laptop2的物理配置选项卡。laptop0传送给AP0的帧格式。AP0传送给交换机的帧格式。无线局域网的MAC帧格式。
2023-12-21 20:33:49 403
原创 网络技术基础与计算思维实验教程_3.2_无线局域网与以太网互连实验
打开上一个实验的文件切换到物理工作区导航到城市家园放置一台交换机 和两台台式机直通线连接把AP0链接到交换机的端口3上切换回逻辑工作区选择DHCP自动获取网络信息PC1同样然后。
2023-12-21 20:02:21 519
原创 网络技术基础与计算思维实验教程_2.4_跨交换机VLAN配置实验
在工作区放置交换机然后单击选择config , 把交换机的默认名改为switch1再放置两个交换机再放置终端放置三台与交换机1相连的终端再放置三台与交换机3相连的终端再放置两台与交换机2相连的终端用直通线连接然后用交叉线互联交换机switch1端口4和switch2端口1直通线同样链接端口交换机123端口然后用交叉线互联交换机switch3端口4和交换机switch2端口2。
2023-12-21 18:33:31 450
原创 网络技术基础与计算思维实验教程_2.3_单交换机VLAN配置实验
实验的目的一是验证交换机 VLAN 配置过程;二是验证属于同一 VLAN的终端之间的通信过程;三是验证每一个 VLAN 为独立的广播域;四是验证属于不同 VLAN的两个终端之间不能通信;五是验证转发项和 VLAN的对应关系。
2023-12-21 13:36:00 1322
原创 网络技术基础与计算思维实验教程_2.2_单交换机实验
网络结构如图 2.3 所示,用一台交换机连接 4 个终端为4个终端分别配置 IP 地址和子网掩码,启动终端A 与终端 B之间的 MAC 交换过程。并在交换过程中完成以下操作,是观察交换机转发表变化过程,二是检查 ICMP 报文至 MAC的封装过程。
2023-12-20 14:44:58 1268 1
原创 javaSE学习-4-类和对象
向对象程序设计(Object-Oriented Programming,OOP)关注的是对象,而对象通常是现实生活中的实体或概念的抽象。在面向对象的思想中,问题的解决主要通过对现实世界中的事物进行建模,将其抽象为程序中的对象。在 Java 中,定义一个类需要使用class// 创建类// 字段(属性)或者成员变量// 行为或者成员方法// 方法体// 其他字段和方法...int age;System.out.println(name+"汪汪汪");
2023-12-19 22:06:16 925
原创 JavaSE-习题-认识运算符等
题目名称:如下Java语句 double x=2.0;int y=4;x/=++y;执行后,x的值是( )题目内容:A .0.5B .2.5C .0.4D .2.0x/=++y等价于:x = x / ++y;代入表达式:x = 2.0 / 5x = 0.4故选C。
2023-12-19 13:44:15 434
原创 JavaSE-习题-数组的创建和使用等
题目名称:创建的数组,并且赋初始值题目内容:创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100。
2023-12-18 20:25:43 557
原创 javaSE学习-3-数组的定义与使用
具体来说,当调用`fun1(array)`时,`array`的副本被传递给了`fun1`方法,然后在`fun1`方法内部,重新给`array`赋值为一个新的数组。一旦`fun1`方法执行完毕,这个新数组的引用就丢失了,而`main`方法中的`array`仍然引用原来的数组。因此,这个修改是在原数组的内存地址上进行的,对于调用`fun2`的`main`方法中的`array`是可见的,因此`fun2`方法的修改在`main`方法中是起作用的,导致输出 `[99, 2, 3, 4]`。堆上的对象,包括通过。
2023-12-18 20:14:03 420
原创 JavaSE-习题-循环结构等
题目名称:打印 X 图形题目内容:假设i代表行,j代表列,当i==j 或者 i+j+1 == n,此时为星号。其余的都是空格。如图, 把它想成平面直角坐标系, 发现i==j或i+j==n的时候, 分别是两根直线关于横纵坐标轴的方程表达式。
2023-12-02 14:44:55 845 1
原创 javaSE学习-2-运算符
加减乘除模注意:都是二元运算符,使用时必须要有左右两个操作数int / int结果还是int类型,而且会向下取整做除法和取模时,右操作数不能为0运行结果,ArithmeticException 是算数异常的意思/by zero是除以0不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的两侧操作数类型不一致时,向类型大的提升的左侧是int,右侧是double,在加之前int被提升为double注意:只有变量才能使用该运算符,常量不能使用。
2023-11-29 19:13:40 828 1
原创 JavaSE-习题-Java语言的特点等
题目名称:java 的字符类型采用的是 Unicode编码方案,每个 Unicode码占用( )个比特位。题目内容:A .8B .16C .32D .64。
2023-11-29 10:50:14 710 1
原创 JavaSE-习题-8种基本数据类型等
题目名称:以下会产生信息丢失的类型转换是( )题目内容:int b=-aA:整数部分可以存入浮点型中B:会丢失信息,小数部分无法保存,就算是0也不能保存C:字面值10赋值给a,没有超过表示的范围,可以存储。int b = -a;一个字节赋值给4个字节没有问题。D:同A时一个道题。所以,本题选择B。
2023-11-28 22:59:42 955 1
原创 javaSE学习-1-数据类型与运算符
比如 System.Out.println("Hello World");语句,不论程序何时运行,输出的都是HelloWorld,其实就是。,比如:一个礼拜七天,一年12个月等。1.字符串常量:由""括起来的,比如“12345”“hello”你好。2.整形常量:程序中直接写的数字注意没有小数点,比如:10010003.浮点数常量:程序中直接写的小数,比如:3.140.494.字符常量:由 单引号 括起来的当个字符,比如:‘A’‘1’5.
2023-11-28 15:51:42 990 1
原创 c语言初阶指针
指针最基本的用法指针其实就是存储的地址,现在主流的机器有32位与64位,先来看32位的机器,由于有32个位,因此可以表示2^32字节的地址,因为一个地址小单元就是一个字节,所以表示2^32字节,注意,是字节,因此2^32 Byte =(2^32/2^10)MB = (2^32/2^10/2^10)GB = 2^2 GB, 也就是4G,因此它可以存储4GB的数据,于是,一个地址长度就为4字节,指针变量又是存储的地址,因此在32位系统中,指针变量长度为4字节。
2023-11-27 08:07:57 1050
原创 c语言指针进阶3--指针笔试题
笔试题1笔试题1对于第一个结果, *(a+1), 此时数组名表示首元素地址, 类型为int*, +1即是往后移动四个字节, 跳跃到&a[1], 相当于&a[1], 解引用就是a[1] = 2;对于第二个, *(ptr - 1), 先看ptr, 先对a取地址, 取出的是整个数组的地址, +1, 就是往后走5*sizeof(int)个字节, 指向a[4] = 5后面四个字节处的地址.即ptr = &a[4] +1再将其强制类型转换为(int *)类型, 跟ptr是同一类型,于是。
2023-11-26 16:36:25 397 1
原创 计算机能力挑战赛--程序设计C语言--20年真题解析--超详细
关于联合体和结构体,以下描述错误的是()联合体union的存放顺序是所有成员都从高地址开始存放的联合体中可以定义多个成员,联合体的大小由最大的成员的大小决定。可以使用匿名结构体来定义结构体变量结构体变量可以用.运算符访问其成员选A联合体(union)是一种特殊的数据结构,允许在相同的内存位置存储不同的数据类型。在联合体中,所有成员共享同一块内存空间,即它们的地址是相同的其中,UnionName是联合体的名称,type1type2等是成员的数据类型,member1member2等是成员的名称。
2023-11-24 22:01:49 1421 5
原创 计算机能力挑战赛--程序设计C语言--21年真题解析--超详细
C语言中有语句: char a[]="\0abc\012345";则数组 a所占的内存空间的字节数为( )字符串遇到'\0'就停止了, 因此占用0字节。
2023-11-23 12:56:31 4117 13
原创 计算机能力挑战赛--程序设计C语言--22年真题解析--超详细
的原则其次是,static修饰局部变量,出了作用域,不会销毁该变量的值那么有了以上知识后,我们就可以理解到这些x分别生效的范围为了方便观察调试,我们将函数改为等价的x1,x2,x3,
2023-11-20 17:57:23 2216 10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人