自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git 应用 -- 多人协作开发场景1

前言首先介绍几个多人协作开发场景中经常使用的命令 ---

2023-12-05 16:40:58 305

原创 Git 标签管理

标签 tag,就相当于对 某一次的 commit 做一个标识,起了一个别名,例如:在某个项目发布版本的时候,可针对最后一次 commit 起一个别名 v1.0 来标识这一次的commit。之后可以使用 git tag 来查看下当前打过的标签都有哪些,但是如果要看标签 v0.8 这个的描述信息需要使用另一个命令来进行查看: git show【标签名】我们可以看到 gitee 中也是有标签的,这个界面就相当于是远程仓库,上述的创建和删除标签都是在本地进行操作的,其实 tag 也是可以上传到远程仓库中的。

2023-12-03 17:49:46 267

原创 Git 配置文件(.gitignore)

上图所示:可以直接写文件名,也可以使用上图中 " *.... " 的方式来配置一类文件,如果直接写文件名,在 git add 的时候就会自动忽略这个文件,如果是写一类的文件,在 git add 的时候就会自动忽略这一类文件,此时在 .gitignore 配置文件中的特殊文件就都不会对 配置的文件进行追踪管理。上图在工作区中创建了 a.io 文件,在进行 add 操作之后,应该是可以看到被改动的文件的,打但是有了这个 .gitignore 文件,此时只显示了这个文件,所以这个里边配置的文件是被忽略的。

2023-12-03 16:44:26 348

原创 Git 分支详解

但是 master 分支也不是绝对稳定的代码,当 master 分支出现了 bug ,开发人员是不可以进行bug 的 fix 的,应该先创建一个本地分支,之后再进行 bug 的 fix,修复完成之后要进行一系列的测试,之后才可以 merge 到 master 主分支,如果直接在 master 主分支上进行修改,可能在改代码的过程中就出现更大的 bug,可能线上的环境就会更加不稳定。

2023-12-03 10:10:46 321

原创 Git 简介及使用(1)

这个里面存储的就是一个个的 Git 对象,当工作区的文件修改之后,会将修改i的内容存储其中的一个 Git 对象中,Git 对象会被维护到 Git 对象库中,每 add 一次,这个对象库中就会存一份修改的内容,这个 stage(暂存区)存储的就是一个个修改后的对象的索引,所以暂存区也是很轻量的,没有存储很多的对象。commit 操作就是将暂存区的这个树状结构写到 master 分支下,这个分支存储的也不是 Git 对象,存储的也是一个目录树,这个树中存储的也是 Git 对象库的索引。

2023-11-18 17:16:26 313

原创 技术架构 - 应用数据分离,应用服务集群架构

应用服务和数据库服务使用两台服务器进行分别部署,应用服务就是对外提供服务的,数据库服务就是用来存储数据的。加入了负载均衡技术,应用是以多个服务器的方式(集群)运行,通过负载均衡技术避免单一节点(服务器)负载过大,达到资源利用的最优解。

2023-11-14 18:47:46 633 1

原创 技术架构-单机架构

单机架构:就是将应用服务和数据库服务以及其他服务全部部署到一台服务器上,此时这台服务器就相当于一个单个的机器,所以称为单机架构。

2023-11-11 16:15:27 141

原创 快速排序详解

前言快排是不稳定的排序,快排的适用场景是无序的序列,例如此时有一个数组是有序的 / 逆序的,此时的快排效率是最慢的。

2023-09-10 20:54:43 407

原创 插入排序(Java实现)

过程:如果数组中只有一个元素,这个数组当前就是有序的,当数组中有多个元素,要对其进行插入排序,此时就可以定义一个下标 i,来控制比较的元素,可以将 i 放到 tmp 中,然后 j 控制被比较的元素,一直比较的是 i 和 i 下标之前的所有的元素。稳定性:如果一个排序是稳定的,是可以变成不稳定的,此时这个排序归结为稳定,但是如果这个排序本身是不稳定的,是不可以变成稳定的,此时这个排序是不稳定的。

2023-09-09 09:30:04 393

原创 Linux常用命令

前言Linux基本命令在测试和开发工作中很多场景都会使用到,所以这篇文章总结下常用的 Linux 命令。

2023-08-19 11:28:20 2403

原创 [测试报告] 爱搜Blog 自动化测试报告

项目背景无论是对于开发人员还是学生而言,在掌握了新的技术或者遇到了 bug,长期坚持写博客都是对于自己技术提升的关键 ,目前的记录博客的网站例如:CSDN,掘金,月光,祖冬SEO等等。所以我在学习过程中也会在一些博客网站中记录自己对新技术的理解,最近学习了Java生态中的一些主流的框架,所以构思了一个轻量的博客网站:爱搜Blog,做了一个简易版的博客记录平台。

2023-08-18 19:37:41 286

原创 Spring MVC 详解(2)

前言上一篇文章已经介绍了 Spring MVC 框架的两个功能,和前端建立连接的功能和从前端获取参数的功能,还有最后一个功能就是 输出数据的功能。

2023-07-23 22:13:11 486

原创 Spring Web MVC 详解(1)

MVC 就是三个模块的缩写:Model(数据库模块),View(视图,也就是前端),Conller(控制器,校验前端请求的数据并向后端数据库发送数据)。MVC是一种模式,而 Spring MVC 是这种模式的具体实现,Spring MVC 实现了这种思想,并且基于 Servlet API 构建,形成的一个 Web 框架,有了Spring MVC 我们就可以和前端建立连接,然后基于 Spring MVC,实现一些业务逻辑。

2023-07-23 18:54:42 739 1

原创 Spring Boot 日志文件有什么用

当启动一个 Spring Boot 项目时,默认就有日志的输出,如下图:上图就是 Spring Boot 输出的控制台的信息,所以,Spring Boot 中内置了日志框架,否则不会输出日志,并且输出的日志不是程序猿打印的,如何自定义打印日志;最后:默认是显示在控制台上的,如果项目重启了,此时日志也就消失了,那如何将日志进行持久化方便开发人员去查找呢?1. 得到日志对象注:(1)Logger 对象是 SLF4J提供的对象,导包时需要 注意.(2)

2023-07-21 21:04:39 294

原创 Spring Boot 配置文件

首先在 .yml 配置文件中写好自定义的配置,然后通过注解的方式主动读取 配置文件中的配置信息,最后在控制台进行输出:@ResponseBody //加在类上表示当前类中的所有方法返回的都是非静态页面的数据运行结果:注:三个参数中的 value 的不同的区别:如果一个字符串没有双引号什么都不加,此时就是所见即所得,如果是一个双引号,此时就是一个标准的字符串,会自动读取里边的换行符并识别;如果是单引号,和什么都不加的效果是一样的。

2023-07-20 11:23:11 175

原创 如何创建 Spring Boot 项目

前言Spring Boot 的意思就是 Spring Boot 脚手架的意思,已经总结完成 Spring 的学习,Spring 框架的诞生就是为了简化 Java程序的开发,而Spring Boot 的诞生是为了简化 Spring 程序的开发。

2023-07-18 12:19:51 16489 1

原创 Bean 的作用域和生命周期

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。

2023-07-15 21:19:30 289 1

原创 Spring - 更简单的获取 Bean 对象

前言上一篇文章讲到了如何更简单的存储 Bean 对象,有两种方式:这篇文章继续介绍如何更简单的获取 Bean 对象。

2023-07-14 09:27:54 1010 2

原创 Spring - 更简单的存取 Bean 对象(使用注解)

前言//根据名称获取//根据类型获取//根据名称 + 类型获取此种写法其实是比 new 对象还要麻烦一点的,所以就有了更简单存取 Bean 对象的方式:通过加 类注解。

2023-07-13 21:14:36 522 1

原创 Spring 项目创建和使用2 (Bean对象的存取)

/根据类型获取上述代码就是依赖注入,就是DI,上一篇文章讲到IoC是一种思想,DI就是它的一种具体的实现方式,所以上面代码就是在程序运行的过程中动态的将 student 对象动态注入到当前运行的动态类中。

2023-07-13 10:31:38 463

原创 Spring 项目的创建和使用1(配置国内源)

(1)上述步骤一定需要严格遵守,可能哪一个步骤没有配置正确就会引起后续的操作步骤也是有问题的。(2)Maven路径出现中文或者是Settings.xml文件命名错误,此时在相应的配置路径中就找不到这个 .xml 文件,就会下载 jar 包失败,找不到国内源的配置信息,就会去国外源下载,此时大概率是会有问题的。(3)网络问题:可以试着切换运营商或者切换WiFi 然后重试上述步骤。

2023-07-12 20:02:42 1194

原创 初识Spring - 什么是IoC容器?

容器就是用来容纳物品的一个装置。在之前的文章中也有提到,向Java集合框架中的List,Map,这就是存储数据的一个容器,还有Tomcat就Web容器。IoC(Inversion of Control)我们需要把它翻译成 ”控制权的反转“ 的一个容器,我们可以用一个场景来解释什么是控制权的反转:有一个A对象和B对象,此时如果要使用B对象,要依赖B对象才可以使用,所以此时就需要在A对象中 new 一个B对象,也就是说 A对象控制着B对象的生命周期,用到了就去创建它,不用了就把它销毁耦合。

2023-07-11 11:21:24 502

原创 JVM(Java虚拟机)详解

整个一个大块的内存,不是很好用,但是如果把整个内存空间隔成了很多个区域,然后每个区域都有不同的作用,此时这块很大的内存就显得很有条理性,并且在每个内存的区域使用的时候是不会相互干扰的。所以针对不同的业务需要和功能就对内存划分出了不同区域的内存空间。JVM也就是启动的时候会申请一整个很大的内存区域,JVM是一个应用程序,当JVM运行在操作系统上的时候,也是要从操作系统中申请内存的,然后JVM就要根据把整个空间,分成几个部分,每个部分各自有不同的功能作用。

2023-07-08 20:29:49 4577

原创 Java集合框架:优先级队列、PriorityQueue详解

堆的本质就是一颗完全二叉树,如上图所示;用顺序存储的方式来进行存储(如果是非完全二叉树,不宜采用顺序方式来存储数据,此时会有数组空间的浪费)。大根堆如果一组数据集合中的所有的元素按照完全二叉树的顺序存储方式来进行存储,并且根节点都大于左右孩子节点,此时这个就称作大根堆。小根堆和大根堆类似,本质也是用顺序存储的方式存储的一颗二叉树,并且根节点小于左右孩子节点,此时称作这个堆为小根堆。而优先级队列的本质就是一个大根堆或者小根堆。

2023-06-27 13:15:07 3750 5

原创 数据结构:二叉树详解

(重点)前言二叉树的一些oj题是在面试中常考的,同时概念也是很重要的,在做二叉树习题中掌握概念以及一些推导公式才能提高做题效率。

2023-06-22 15:28:47 644

原创 Java集合框架:队列、Queue和Deque详解

前言队列是一种数据结构,在Java集合框架中,有对应的实现的接口,

2023-06-18 17:14:46 6415

原创 全面解读 == 和 equals

1. 如果是常量引用的字符串字面常量进行拼接,编译器会做出优化:在编译时期就将字符串拼接的工作完成。2. 如果是变量引用的字符串字面常量,虽然字符串是常量,但是引用的指向是可以发生改变的,所以编译器不确定引用的指向是否会发生改变,此时编译器不会做出优化。3. 上述代码如果用equals方法进行比较,输出的结果都是true,因为String类重写了equals方法,所以比较的是地址中的内容。

2023-06-17 20:22:01 901

原创 Java集合框架:栈、Stack详解

前言栈是一种数据结构,一种特殊的线性表,。数据插入和删除的操作的一端称作栈顶,另一端称作栈底。。

2023-06-16 12:28:15 1302

原创 JDK,JRE,JVM有什么区别?跨平台?跨语言?

Java源文件编写之后(比如编写一个Hello World源文件)然后经过编译,生成字节码文件,此时的字节码文件是符合一定的规范,符合一定的规范程序才能在JVM上跑起来,也就是说我只有这么一份Java源文件,经过编译之后,我可以跑在Windows上,也可以跑在Linux上。还是看上图的图解,我们以为JVM(Java虚拟机)就只能跑Java的语言,但是实际上编译生成的字节码文件只是起到了规范的作用,只要你开发其他的语言是符合我 .class字节码文件的规范(不一定只是Java语言),就可以在JVM上运行。

2023-06-15 23:08:09 1171 1

原创 Java集合框架:链表和LinkedList详解

如上图所示链表的结构:是一种物理存储结构上不连续的存储结构,数据元素的逻辑顺序是通过链表节点中的引用连接下一个数据元素的。

2023-06-13 20:01:34 497 1

原创 Java集合框架:ArrayList详解

1. ArrayList是以泛型的方式实现的,使用时必须先实例化2. ArrayList实现了randomAccess接口,所以ArrayList支持随机访问3. ArrayList实现了Cloneable接口,ArrayList时可以克隆的4. ArrayList不是线程安全的,(Vector是线程安全的)5. ArrayList是一段连续的空间,可以动态扩容,是动态的顺序表。

2023-06-11 21:01:58 4604 2

原创 如何用代码操作数据库(JDBC编程)

前言。

2023-06-09 12:57:36 959 2

原创 Cookie和session工作流程详解

前言虽然大部分客户端的数据都是从服务器中请求的,但是还有一小部分数据为了减轻服务器的负担,这一部分数据可以在浏览器本地中进行数据存储,如果此时的数据需要本地存储,是否可以直接写入硬盘呢,答案是否定的,如果允许网站直接把数据写入硬盘,此时有一些恶意网站就可能攻击客户端,把硬盘上的数据弄丢。所以引入了。

2023-06-05 16:50:54 1002 1

原创 数据库事务到底是什么?

事务1已经提交了数据,此时事务2开始去读数据,在读的过程中,事务3又提交了新的数据,此时意味着同一个事务2之内,多次读数据读出来的结果是不一样的(预期是一个事务中,多次读取的结果是一样的),此时就称为 “不可重复读”。一个事务 正在对数据进行修改的过程中,还没有提交数据之前,另外一个事务B也对同一个数据进行读取,此时B的读数据操作称为 “脏读”,读到的数据也是称为 “脏数据”,(脏的意思是无效,就是读到的数据是无效的数据)没有引入事务的时候,这个 特性就是要必须保证的,有了事务之后,这个特性也不能丢失。

2023-05-28 15:13:27 935 4

原创 HTTPS详解

HTTPS引入的对称 加密 + 非对称加密 + 证书 ,这一套流程,不仅仅是HTTPS回涉及到,其他的场景中也会用到;HTTPS = HTTP + SSL(对称加密和非对称加密也是一个协议,称作SSL);所以现在的应用层的协议基本都是用的HTTPS这个比较安全的协议,如果浏览器访问的一个请求是HTTP协议的,此时浏览器会给报出一个 ”存在风险“ 的 弹窗。

2023-05-24 21:40:26 481 2

原创 HTTP 协议详解 和 fiddler 的用法

前言。

2023-05-23 17:34:21 180

原创 CSS 选择器的常见用法

前言CSS在编写代码的时候有很多种样式,和和HTML,JS相似,他们都是运行在浏览器中的,下面就介绍一下CSS选择器的常见用法。

2023-05-22 10:42:38 1032 1

原创 TCP/IP协议详解(3)

目录1. 在NAT机制下网络如何进行通信?2. IP地址的组成 (1)IP地址分为两个部分,网络号和主机号。(2)网络号和主机号的区分3. 特殊的IP地址 (假设子网掩码都是255.255.255.0)4. IPv6数据链路层1.报文格式:如下图;2. IP协议如何分包: 下图详解;3. IP分包重组的过程前言 上一篇文章讲到了IP协议的两种机制: 注:只要求外网IP是唯一的,内网在不同的局域网中式可以重复的(同一个局域网中不能重复)。 续上一篇文章继续讲接下来的内容

2023-05-13 17:39:59 116 1

原创 TCP/IP详解(2)

如下图:

2023-05-12 15:09:20 204 1

原创 UDP、TCP/IP详解

前言首先这两个协议在前文中已经简单介绍过了,但是学习协议一个重要的环节就是认识这个报文的格式是啥(就是数据是如何进行组织的)

2023-05-10 16:27:22 994 6

空空如也

空空如也

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

TA关注的人

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