自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot

因为返回的结果的类型各种各样,我们要统一返回的响应结果,我们统一把返回的结果封装成result对象,把这个对象返回回去。就是把对象的创建权限给这个容器,让这个容器进行管理,当我们需要这个对象的时候,从容器里把这个对象拿出来进行依赖注入。传过来的参数名称要和形参的变量名要保持一致,并在前面加上注解,格式就是我们要传过来的参数的值的格式,完成映射。这样的好处是当我们改变对象的名称或者东西的时候,不依赖其他的层,进行解耦。他会在容器中找到我们定义的那个类型的对象,找到后进行依赖注入并进行赋值。

2025-06-12 07:43:03 696

原创 HTTP协议

HTTP是客户端和服务端的规定,就是客户端发送的东西和浏览器回发的东西,两者都能看懂,规定的传输的内容。我们用浏览器发送到服务器之后,服务器会进行代码处理,并返回。:确保双工通信的可靠性,同步序列号并交换窗口大小。浏览器收到响应回来的数据之后会自动解析。3:请求协议(请求数据的格式)浏览器解析URL中的域名(如。报文,请求建立连接。

2025-06-06 20:22:33 980 1

原创 Mybatis入门到精通

如果方法中有多个参数,那方法中的参数要使用@param("和sql语句的参数相同"),相当于占位符,这样他就知道传入sql语句的参数是哪个了,占位符和sql语句里面参数保持一致。2:我们调用接口里面的方法,他就到对应的映射文件里面找到方法和id名字对应的sql语句,并封装对应的实体类,返回一个泛型集合,这个泛型根据实体类。把数据库中的字段名和实体类中的成员的名字不一样进行映射,id就是实体类的名字(因为用的package进行代理,所以只需要写实体类的名字就可以了)

2025-06-04 22:31:07 971

原创 Maven高级篇

过程:先判断文件是哪种,就去哪个配置文件访问地址,在根据id去配置文件中找到访问私服仓库的权限的账号和密码(密码就是你在私服设置的密码)project.basedir是默认属性值,它代表的是项目的下的所有路径下去找,这样配置一个所有就全配置了。我们指定使用属性变量对应的资源的路径,这样才能在资源里面使用在这个pom文件的属性值(变量)想要在资源里面使用pom文件里面属性,要在这个pom文件里面定义这个资源对应的信息。总结:父工程声明的依赖,子工程就不用写他的版本号了,版本号统一管理。

2025-05-30 19:52:41 1223 1

原创 Maven基础篇

简单来说,插件与生命周期默认绑定,一个生命周期绑定了一个或多个插件,这些插件帮我们生成对应的文件,我们还可以在某个生命周期上增加绑定插件,执行到这个生命周期时,与这个生命周期绑定的插件就执行。3:Maven可以帮我们编译并打包项目(可以在生命周期上增加插件,也是在pom.xml文件上写需要的插件即可)我们想用的jar包首先先到本地仓库去获取,本地仓库没有就去私服去获取,私服没有就去中央仓库去获取下载。增加junit这个依赖并排除junit这个依赖下的依赖传递。增加junit这个依赖并对外隐藏这个依赖。

2025-05-25 15:46:07 321

原创 前端Web开发HTML5+CSS3+移动web(基础-flex)

文本缩进:写法数字+px或者数字+em(1em是当前标签的字号大小,2em就是2倍),一般使用em,1em代表缩进1个字节的大小,em会随着字体的改变而改变。行高:用于设置多行文本的间距,写数字+px或者直接写数字也行(直接写数字是当前属性值的倍数),行高的30px,文字的高度加上下间距一共是30px。子级浮动,父级的高度不存在,浏览器认为子级和父级的盒子都不存在,下面的盒子会下来,那想要子级浮动了还想撑开父级的高度,就要清除浮动。text是文本框:输入什么就显示什么,它是单行文本,输入的内容不会换行。

2025-05-11 19:03:05 812

原创 Java操作数据库(JDBC)

2:Statement每次执行SQL语句时都要对SQL语句进行校验和编译,preparedStatement创建对象的时候就以及对SQL语句进行校验和编译,执行的时候就不需要在进行校验和编译了,所以preparedStatement对象只需要校验和编译一次,一个是执行的时候把SQL语句传进去,一个是创建对象的时候就把SQL语句传进去了。第二个参数是解析器,负责把结果集的数据封装到Entity对象当中并返回Entity对象(entity:是和表对应的,一个entity对象代表表中一行数据)

2025-04-26 11:17:14 955

原创 MySQL数据库(基础篇)

一旦开始事务,或者把事务的提交方式设置为0,我们修改数据时只会临时的修改,不会修改数据库里面的数据,只有我们提交事务才会修改数据库里面的数据,如果回滚事务,就会撤销刚才执行的语句,如果提交事务就会把数据库里面的数据修改。先定位数据源(from),在从表中过滤数据(where后的条件),在进行分组,在使用聚合函数进行计算分组后的数据,在使用having进行分组后的数据进行过滤,然后在使用select把某个字段列表的数据展示出来。

2025-04-20 19:35:49 1971

原创 Java制作简单的聊天室(复习)

设计的知识点:几乎包含java基础的全部知识点(java基础语法,java基础进阶:双列集合,io流,多线程,网络编程等)服务器采用的时多线程的循环+多线程的方式。

2025-03-28 20:25:19 311

原创 Java之反射

反射允许对成员变量,成员方法和构造方法进行编程访问。获取class文件对象的三种方式。利用反射来获取成员方法对象。利用反射获取成员变量对象。

2025-03-23 20:02:13 257

原创 Java之网络编程

192.168.开头的就是私网ip专门为私有企业,组织,机构内部使用来节省Ip地址。2:在接收端,运行到receive这个方法时时堵塞的,他要一直等待发送端发送数据。这有一个BUG,就是接收中文的数据会乱码,因为他只能一次接收一个字节的数据。127.0.0.1回环地址,也称本机地址,永远只会寻找当前本机的ip。1:从哪个端口发送无所谓,只要发到的端口和接收的端口一致即可。在网络通信的协议下,不同计算机上运行的程序进行的数据传输。2:在从流中读取文件的数据到内存,在从内存写到本地文件。

2025-03-22 18:00:01 454

原创 Java之多线程

一个线程对应一个任务,直到这个任务执行完毕,线程在返回线程池,但是多个线程执行多个任务时,可能执行的顺序不一样,因为要抢占cup的执行权,但是执行过程中任务是不会更改,最后线程池还要手动关闭,因为线程池里面的线程产生后即使没有线程也会存活,因为他们是非守护线程,jvm必须等待他们执行完毕或者手动关闭才会停止。jvm采用的就是抢占式调度,线程的优先级越高,抢占cup的可能性越大,那这个线程执行的就越快,java把线程的优先级分为10档,最小的是1,最大的是10。

2025-03-16 18:24:32 957

原创 Java糊涂包(Hutool)的安装教程并进行网络爬虫

我们在演示一个往文件中写入数据的apl。3:登录Hutool官网进行查询使用。1:在官网下载jar模块文件。下载后缀只用jar的文件。我们演示网络爬虫的apl。Hutool的使用教程。

2025-03-11 21:53:33 612

原创 Java之IO流

缓存区先向文件中一次读取8192个字节,文件如果没有8192个字节,则有多少装多少,然后利用变量b去往缓冲区进行读取并写到缓冲输出流的缓冲区中,如果缓冲输出流的缓冲区装满了则会自动写入到目的地中,如果关流会检查缓冲区里面有没有数据,然后再把缓冲区的数据写到文件当中,数组是一样的原理。2:有参read:一次读取一个字节或者多个字节(数组的前提下),并存到数组当中,返回值是读取了多少个字节,没有则返回-1,(这里的二进制就是返回的十进制对应的)

2025-03-09 21:07:45 582

原创 Java之File(文件操作)

因为他底层会先调用mkdir先创建一下试试,如果能就证明我们创建的是一个单级的,如果不能说明我们创建的是一个多级的。File:就表示一个路径,可以是文件路径,也可以是文件夹的路径,这个路径可以是存在的,也允许是不存在的。2:定义一个方法找某一个文件夹中(不需要考虑子文件夹),是否有以avi结尾的电影。4:判断(如果是文件把文件的大小进行累加)6:统计一个文件夹的大小(考虑子文件夹)5:判断(如果是文件夹递归)5:判断(如果是文件夹递归)5:判断(如果是文件夹递归)5:判断(如果是文件夹递归)

2025-02-27 19:40:29 361

原创 Java之异常体系

方法中有try代码块并进行catch匹配捕捉,捕捉到之后执行catch里面的代码,执行完之后接着执行try-catch。try里面的代码全部执行完毕,catch里面的代码不会执行(出现了异常并且匹配上了才会执行这里面的代码)如果出现这个异常会和catch()里面的类型进行对比,如果匹配成功则会捕捉住执行catch里面的代码。总结:try里面的代码如果没有问题则会全部执行,不会执行catch里面的代码,然后。如果有问题则会中断try里面的代码,则会匹配catch里面的代码并执行,然后。

2025-02-24 23:22:14 767

原创 Java之方法引用(详解)

这个代码中的抽象方法的第一个形参是String类型的,并且形参只有这一个,说明我们要引用的方法只能去String类中,不能去的别的类,并且在String这个类调用的方法的形参还是一个无参类型的。如果不知道引用哪个方法,可以先用匿名内部类写,在看看有哪个方法和匿名内部类里面的抽象方法的格式相同。方法引用:简化lambda表达式的缩写(方法和匿名内部类重写的抽象方法形参和返回值保持一致)第一个参数:表示引用方法的调用者,表示可以引用哪些类中的方法。抽象方法的返回值和类里面方法的返回值还要保持一致。

2025-02-20 19:10:36 440

原创 Java之Stream流(详解)

用list调用stream方法,他会数据放到Stream流里面,并把这个对象返回回来,用Stream流调用filter方法,这个方法是Stream接口中的抽象方法,但是具体的方法实现是这个接口的实现类来实现的,这个方法的参数是一个函数式接口(函数式接口里面只有一个抽象方法),可以使用lanbad表达式的形式来作为参数来传递(面向函数编程)先把数据放到stream流上,并返回stream流的对象,在利用stream流的对象去调用stream的方法。3:toArray:收集stream流的元素,并放到数组中。

2025-02-18 20:12:31 920

原创 Java之集合进阶(单列和双列集合)(1)

我们定义的泛型数据结构是固定的,不能改变,别的数据类型的值也不能赋值过来,即使泛型里的数据类型是继承关系,但是里面的数据可以继承,泛型里面写的什么类型就只能传递什么类型的数据,但是数据可以继承。第二个是在实现接口时,不确定类里面的类型和接口里面的类型,接口的泛型就延续类的泛型,此时接口中的泛型全部变成在创建类的对象确定数据类型时,接口中的数据类型也就确定了。下面是单列集合的系统图。Set系列的集合三种遍历的方式。1:当我们传入带泛型的数据类型的时候,参数的数据类型中的泛型自动变为传入的这个数据类型的泛型。

2025-02-03 12:41:25 589

原创 Java的包装类

打印变量b,调用toString方法,toString方法里调用了toString,最后以字符串的形式返回回来了,打印字符串又调用字符串里面的toString方法。我们打印这个对象,打印的是真实的数据20,这是因为打印对象名时会调用这个类中的tostring方法,我们看一下这个方法的源码。我们可以看到它把数据20变成字符串的形式返回回来了,所以我们打印的是字符串本身。基础数据类型在栈中存的是真实的数据,引用数据类型存的是对象的地址。而变量b的数据类型是引用数据类型,所以它存的是对象的地址。

2025-01-26 03:46:14 215

原创 Java之lambda表达式

面向对象:强调谁去做,我们想解决一件事,我们只需创建对象让对象去干这件事就可以了。lambda表达式就是简化匿名内部类的书写方式。3:只有一个抽象方法的接口叫做函数式接口。函数式编程:强调做什么,而不是谁去做。2:这个匿名内部类只能继承函数式接口。lambda就是强调的是函数式编程。1:是用来简化匿名内部类的书写方式。lambda表达式还可以继续省略。使用lambda表达式也有要求。面向过程:强调做的过程。我们来看一他的语法规则。

2025-01-26 01:46:57 149

原创 JavaWeb三天入门基础(day1)

重点:使用对象我们绑定时,要写在html的代码下面,以便html加载后在获取他们的对象,在进行事件绑定,如果写在上面就绑定失效了,如果写在上面,就不知道获取的是哪个对象,就绑定失败。只是函数名写在不同的位置了而已,调用什么的都是一样的,第二种定义的方式是用变量名作为了函数的名字,这两种函数都没有返回值的类型,直接返回就可以了。W3C 万维网联盟是国际最著名的标准化组织。1:JAVA中常量池中保存的字符串有对方法的引用,字面量相当于创建的是对象,返回的对象的引用,对象在常量池中还包含方法的引用。

2025-01-26 01:40:53 828

原创 Java常用时间类

五:Instant类主要用于获取当前的时间,根据秒毫秒纳秒获取Instant对象,指定时区,判断系统的方法,减少时间系列的方法,增加时间系统的方法。3:获取指定的时区,调用静态变量of在方法里面传入一个指定的时区,用一个ZoneId类型的局部变量来接收,打印这个变量就可以打印出指定的时区。我们创建一个Date对象直接打印他的对象就可以了,因为他的toString方法重写了,所以我们打印的是当前的时间。2:使用有参构造创建对象我们打印对象打印的是原点的时间加我们传进去的时间(重写的toStarting方法)

2025-01-19 23:31:33 371

原创 Java正则表达式的使用(基础)

在以前我们要检测我们输入的账号或者密码的正确性,我们要写好几行代码,而正则表达式只需要一行代码就可以搞定,大大减少了代码的行数。我们要验证一个qq号,我们要写这么多代码,但是我们用正则表达式就需要一行代码即可解决。我们不会写这个正则也不要紧,用ai帮我们生成一个就可以了。这我们爬取的他们的全部内容,我们想要爬取一部分内容怎么办。第二个用途就是在一段文字中找到我们想要的东西。这样就按照我们的规则进行匹配打印了。1.校验字符串是否满足规则。我们还可以爬取网页中的内容。我们来看我们以前写的代码。

2025-01-17 13:55:25 139

原创 数据结构之栈和队列

因为real永远指向元素的下一个位置,当他指向0的时候,在判断满没满时,他的结果是满的 ,实际上没有满,我们看一下下面这张图片。这里解释一下,让下标减一,下次进行进栈的时候就直接覆盖了,和顺序表的原理差不多。关于队列的基础知识点就先到这里吧,我们寒假在见。我们要记住这8个字,先进后出,后进先出。栈的顺序结构初始化:(和顺序表差不多)我们要记住这8个字,先进先出,后进后出。循环队列这里有一个BUG,他永远满不了。我们对于栈的操作只有两个,进栈和出栈。栈的内存分配进行初始化。队列的定义正好与栈相反。

2024-12-28 22:57:41 1103

原创 数据结构之线性表之链表(附加一个考研题)

我们会有两个指针,一个快指针,一个慢指针,我们要倒数第几个,就让快指针走几步,然后在快指针和慢指针一块走,当快指针指向NULL的时候,慢指针正好指向了我们要找的那个节点,然后我们打印这个节点的数据值就可以了。这里我定义了一个指针p,p指向第一个节点的地址,判断p是否为空指针,不为空指针,打印这个节点的数据,并让p指向下一个节点,依次类推,直到指向的下一个节点为空指针。一定要先让新节点指向头节点指向的下一个节点,再让头节点指向新的节点。我们每创建一个新的节点都要插在头节点的后面,我们一定要注意顺序。

2024-12-27 17:07:54 805

原创 数据结构之线性表之顺序表

从最后一个元素到当前位置的元素,从后往前遍历出的每一个元素往后移一位,这样就把当前位置空出来了,如果是删除一个数据,就从当前的数据覆盖为后一个数据,但是注意最后的长度不能超出,如果查找一个数据的位置,他的核心逻辑是遍历整个数组,找到与该元素符合的,就打印他的位置,返回后我们可以用这个位置进行删除。无论是在头部插入还是在某在位置插入,它的核心是把当前要插入的元素和到最后一个元素都往后移一位,也就是说遍历。无论是在头部插入还是在尾部插入还是在某个位置插入,我们插入完都要更新长度。(6)顺序表查找数据。

2024-12-22 16:05:20 573

原创 数据结构基本认识与必要知识点准备工作

int (*p)(int ,int):我们声明了一个指针变量p,p指向一个包含返回值为int,形参为两个int的函数,p可以保存包含返回值为int,形参为两个int的函数的地址(p 的类型是int (*) (int,int))数组名我们大家都知道代表的数据数组首元素地址中的首首地址,那取数组名的地址代表什么呢,他的地址跟数组首元素的地址数据一样的,但是意义不一样,这个地址代表的数据整个数组的地址,这里大家一定要搞清楚。到这里学习数据结构的前的预备内容复习完了,下面就到我们数据结构真正的开始了。

2024-12-21 18:28:59 1149

原创 Java中Objects类的使用(工具类)

如果不相等,然后再比较a是否为空地址,如果为空直接返回false,如果不为空,则调用对象a中重写的方法equals(这个在Object那个博客有讲解)首先会比较传过来的两个对象的地址值是否相等,如果相等直接返回true。第三个方法是nonNull​(Object obj)这里我们要知道Object这个类中的三个方法。判断创建的对象是否不为null,和。第一个方法是equals()判断创建的对象是否为null。我们来分析一下他的源码。

2024-12-18 12:12:43 172

原创 Java中Object类的使用(附加一个Java大厂面试题)

我们子类的对象调用这个方法的时候,这个方法是他的父类中的方法,这里this依旧代表是调用者的子类的对象,==是比较的是地址。第一个我们要知道toString这个方法,用于返回当前对象的字符串的表示形式,我们来看一下代码。我们学继承的时候都应该知道,如果父类的方法满足不了子类的需求,那我们在子类中重写父类的方法。Object这个类是Java中顶级的父类,所有的类都直接或者间接的继承于Object类。我们不想比较地址,我们想比较里面属性的信息怎么办,我们依旧可以利用重写方法来进行修改。

2024-12-16 08:51:36 606

原创 Java中Runtime类的使用

我们看一些他的方法,都没被static修饰,所以我们使用过这个类的时候要创建这个类的对象,用这个对象来调用里面的方法。我们可以看到Runtime这个类在lang下,所以不需要导包,直接使用,父类依旧是Object。我们可以利用两种方式来使用里面的方法,我们来看一下代码。我们要借助API帮助文档来帮助我们使用Runtime这个类。shutdown -s -t +分钟: 指定关机时间。但是我们直接创建不了他的对象,这是因为什么呢。我们要知道Runtime的一些方法的基本使用。4.虚拟已经获取的总内存大小。

2024-12-16 08:50:26 398

原创 Burpsuite_pro破解完整版过程

第二步下载java运行的环境,因为burpsuite是在java环境中运行的,下载完java环境系统会自动帮你配置完环境变量,也可以删除系统帮你配置的,自己配置.链接:https://pan.xunlei.com/s/VOCR4L2x3ULRBrifJQ5LnEFsA1#打开内置浏览器把自己的ip地址和端口号输入进去,点击右上角的CA Certificate下载证书。第七步打开内置的浏览器就可以用了,想在别的浏览器使用需要配置证书。打开浏览器设置搜索证书,把刚才下载的证书导入进去。先将自己的ip地址导入。

2024-11-24 11:55:28 1756 1

原创 Visual Studio code远程连接Linux超详细教程

成功后ssh列表中会出现你的IP地址,点击后面两个的其中一个,第一个是在当前窗口中连接,第二个是新创建一个窗口连接,这建议大家选择第二个。先在虚拟机中安装ssh服务,因为Linux的远程的端口号是22,需要输入以下代码。点击这个图标,这个是下载插件的,你可以下载编译c的插件等等,功能非常强大。在虚拟机终端输入ifconfig,标黄色的是你的IP地址,复制下来。点击加号并在搜索栏中输入 ssh+你的用户名@你的IP地址。输入你的虚拟机登录的密码,他会自动下载所需要的插件。然后打开你所需要的文件就可以了。

2024-10-04 21:49:29 2601 4

空空如也

空空如也

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

TA关注的人

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