SpringBoot Swagger3的引入
前言网络上有很多关于SpringBoot引入Swagger的教程,但是大多是针对Swagger2.x版本的教程,本着一个程序员的优良传统,我使用了Swagger3.0.0,结果踩了不少坑,在此记录一下,也方便后来者
Swagger3.x的不同访问地址的不同Swagger3.x:
1http://localhost:8080/swagger-ui/index.html
Swagger2.x:
1http://localhost:8080/swagger-ui.html
Swagger3.x的引入更加简洁方便pom文件中只需写一个
12345<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
注释添加(只需要在启动项添加一个@Enable ...
算法随手记 2.KMP算法
1.简介KMP算法是一个快速查找匹配串的算法,本质需求就是如何快速从原字符串中找到子字符串
介绍算法之前,我们先介绍寻找匹配串的经典算法:暴力匹配算法(Brute Force)
2.暴力匹配算法 Brute Force暴力算法本质即是主串一个字一个字与字串进行匹配,一旦匹配失败,就跳回主串的下一个字符重新开始匹配,算法如下
12345678910111213141516171819public static int search(String s,String p){ int m = 0; int n = 0; while (m < s.length() && n < p.length()){ if(s.charAt(m) == p.charAt(n)){ //如果相同,两个指针均递增 m++; n++; } else { //不同的话,m退回到主串开始时的下一个位置,n退回子串开头 ...
Stream流详解
概述本文主要讲述Java中Stream流的具体使用方法,Stream流是JDK8中引入的新方法,极大简化我们对于数组、集合等数据结构的连续操作,使我们的代码更加便于维护但我们要知道的是,Stream类属于惰性操作,即仅在数据全部输入完成后才进行计算
HTML常用语法
HTML常用语法标准HTML结构123456789<html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body><p></p></body></html>
<head>顶部界面,即浏览器标签栏的界面
<title>标题
<body>主体界面
定义段落
HTML注释1<!-- This is a comment -->
标题标签123456<h1></h1><h2></h2><h3></h3><h4></h4><h5></h5><h6></h6>
hello htmlhello htmlhello htmlhello h ...
HashMap底层原理
e2和cpa都是什么呢?不知道捏
一、简单介绍HashMap的底层实现HashMap总体是数组+链表的存储结构
基于hashCode,HashMap有着十分出色的查找能力,可以快速寻找内容,但是存储的数据不能重复,也不能排序或者使用index进行遍历
二、HashMap的存储结构HashMap是基于数组+链表存储的数据结构,在jdk1.8之后,当数组长度大于64且链表长度大于8时,链表会被自动转换为红黑树
HashMap每一个数组都由一个个叫做node的小单元构成,数组初始长度被设置为16
1static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
node元素在链表和红黑树中有不同的结构,红黑树中的TreeNode继承于链表中的Node
1.链表中的源码如下:
12345static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; ...
ArrayList底层原理
不要学习计算机,不然会变成xyn
一、简单介绍ArrayList的底层实现ArrayList底层数据结构为顺序表,使用数组实现,具体表现为:
1.物理内存上连续
2.逻辑上连续
3.大小可以动态扩展
使用它会有如下特性:
1.利用空参构造时,会在底层创建一个默认长度为0的数组
2.添加第一个元素时,底层会创建一个新的长度为10的数组
3.存满时,会扩容1.5倍
4.如果一次性添加多个数据,超出原数组长度的1.5倍,则会按照多出的数据新建数组
二、ArrayList源码分析重要的字段1.elementData字段
1transient Object[] elementData; // non-private to simplify nested class access
elementData用来存放ArrayList中的内容,可以看作是利用Object数组存储
2.size字段
1private int size;
size是element的内容个数,并非elementData的长度
3.DEFAULT_CAPACITY字段
1private static final int DE ...
Pycharm安装教程
本文档基于上一篇Python简单安装教程,需要你完成上一篇文档的操作,再来阅读
阅读完本文档,并一步步跟着做,你会实现:
下载PyCharm
安装PyCharm
利用PyCharm写出一个简单程序
为什么不进行汉化
一、下载PyCharm1.打开PyCharm官网,点击Download按钮进入界面
2.在打开的界面内,你可以选择两种版本的PyCharm进行下载,一个为专业版,一个为社区版。日常学习社区版完全够用,专业版是要钱的,在这里我们点击下载社区版
二、安装PyCharm1.双击运行安装包
2.一路点击Next
3.在这个页面把选项全部勾选
4.点击Finish,结束安装
5.在桌面上,你将会获得PyCharm的快捷方式
三、利用PyCharm写出一个简单程序1.双击打开PyCharm
2.点击New Project,新建项目
3.为你的项目起好名字,存放的位置,之后点击Create
4.创建项目后,PyCharm会自动帮我们构建main.py文件,全选main.py里面的内容,进行删除
5.输入下面一行代码,当然你也可以复制我写好的
1print(&quo ...
vscode安装教程
看完本文档,并一步步跟着做,你会实现:
下载vscode
安装vscode
将vscode汉化
安装python支持库
写出你自己的第一个python程序
python自学推荐
一、下载vscode1.打开vscode官网,点击Download for Windows
2.你将获得vscode安装包一份
二、安装vscode1.双击vscode安装包,一路点击下一步就行
相对于python,vscode是名副其实的傻瓜安装
然后你的桌面上就会出现vscode的快捷方式
三、将vscode汉化当你打开vscode后,你会发现界面是全英文的,一脸懵逼,接下来教你如何汉化vscode
1.双击打开vscode,点击扩展,在搜索栏搜索”Chinese”,选择Chinese中文简体点击Install进行安装
2.安装完后单击Change Language and Restart,重启VScode软件,然后你就会发现,你的界面变成中文辣
四、安装python支持库1.点击扩展,在搜索栏搜索”python”,选择Python点击”安装”进行安装
2.当看到下图时,证明你已经配置好p ...
Python简单安装教程
看完本文档,并一步一步跟着做,你会实现:
下载python
安装python
配置环境变量
python编程工具推荐
一、下载python事实上非常简单,点击这里就可以进入python的下载界面
打开之后是这样的:
我相信你肯定会一眼晕,这都什么乱七八糟的
下面是一些注释:
什么?你说这你也看的晕乎乎的?
那么接下来跟着我一步步操作,保证你完美下载python
1.点击Latest Python 3 Release - Python 3.11.4,进入页面
打开后页面是这样的:
2.用鼠标滚轮拉到最下面,点击Windows installer(64-bit),进行下载:
3.下载完成之后,你会在此电脑的下载界面,获得一个安装包:
python版本简介python包括python2和python3两个大版本,目前主流使用python3,学校课程也多教授python3课程,你可能会想,python3都很主流了,为什么python2还存在呢?
其实,在以前有很多程序都是使用python2编写的,维护这些应用也还需要python2,所以说python2依旧未被淘汰。
二、安装p ...
Git的神奇操作
Git的神奇操作如果有任何想穿女装的表现,请立刻停止学习CS
鉴定为学CS学的
1. 请初始化您的本地git仓库在你想要创建仓库的地址下面输入
1git init
属于你自己的大号垃圾池创建好了
2. 请为您的仓库添加文件添加文件到暂存区在文件夹内创建好文件 xxx.md 后,命令行输入
123456781、添加一个或多个文件到暂存区git add [file1] [file2] ... 2、添加指定目录到暂存区,包括子目录git add [dir] 3、添加当前目录下的所有文件到暂存区git add .
即可向你的仓库添加一份或多份垃圾
查看本地库1git status
可以用来查看上一次提交时是否对文件产生了修改
添加到本地库1git commit -m "日志信息"
将暂存区中的文件提交到本地库
查看日志信息12git reflog //查看版本信息git log //查看版本详细信息
回退版本1git reset [--soft | --mixed | --hard] [HEAD]
--mixed为默认,可以不用带该参数,用于重置暂存区的文件与上 ...