自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(235)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring Security OAuth2.0

什么是 OAuth 2OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源 (如头像、照片、视频等),而在这个过程中无须将用户名和密码提供给第三方应用。实现这功能是通过提供令牌(token),而不是用户名和密码来访问他们存放在特定服务提供者的数据。这样,OAuth 让用户可以授权 第三方网站灵活地访问存储在另外一些资源服务器的特定信息,而非所有内容。目前主流的 qq, 微信等第三方授权登录方式都是基于 OAuth2 实现的传统的 Web 开发登录认证一般都

2022-04-24 16:23:14 782 1

原创 nginx安装与使用(docker版本)

安装Nginx

2022-04-20 17:37:52 786

原创 Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for

Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class com.cbw.receive.pojo.User]实体类缺少get set方法

2022-04-19 12:14:10 1506

原创 支付宝扫码支付实现

扫码支付官方文档扫码支付 | 网页&移动应用支付宝支付准备工作--沙箱数据填写正式的支付功能上线,需要使用企业的信息(比如法人、营业执照等等),我们在做demo的时候是没有这些信息的,所以支付宝提供的沙箱功能实现测试,模拟这些参数信息0.natapp内网映射工具1.进入支付宝官网支付宝 知托付!2.登录--选择开放平台--进入管控中心--入驻--管控台--沙箱3.自定义秘钥--RSA2--设置4.加签模式选择公钥,公钥字符串通过支付宝秘钥生成器生成..

2022-04-11 15:16:40 604

原创 natapp内网穿透工具(基于ngrok的国内高速内网映射工具)

1.进入首页https://natapp.cn/2.注册-登录3.购买隧道--免费隧道--直接选择免费购买4.我的隧道--配置-修改端口和隧道端口一致5.从官网下载客户端 (这里选的是window版)6.下载解压后,双击natapp.exe,在弹出的命令窗口输入natapp -authtoken=....此时其它机器就可以访问自己机器上的项目。...

2022-04-11 10:31:55 551

原创 力扣_3_无重复字符的最长子串_medium_20220402_2

2022-04-07 18:02:38 494

原创 力扣_3_无重复字符的最长子串_medium_20220402

2022-04-07 18:01:54 180

原创 力扣_1004_最大连续1的个数_III_medium_20220402

2022-04-07 18:00:48 398

原创 力扣_209_最小长度的子数组_medium_20220401

2022-04-07 17:59:40 170

原创 力扣_684_冗余连接_medium_UnionFindSets_20220330

2022-04-07 17:55:41 147

原创 力扣_200_岛屿数量_DFS_medium_20220331

2022-04-07 17:54:35 87

原创 力扣_200_岛屿数量_BFS_medium_20220331

2022-04-07 17:53:27 101

原创 力扣_200_岛屿数量_UnionFind_medium_20220331

2022-04-07 17:52:36 97

原创 力扣_547_省份数量_medium_20220330

2022-04-07 17:46:12 122

原创 ElasticSearch全文检索安装+Kibana管控台(docker)

安装ES1.拉取镜像docker pull elasticsearch:5.6.82.启动容器(9200管控台端口、9300是es端口)docker run -di --name=es -p 9200:9200 -p 9300:9300 elasticsearch:5.6.83.输入http://192.168.100.129:9200/4.进入容器docker exec -it es /bin/bash5.修改elasticsearch.yml,es5后默认不支持远程访

2022-04-06 18:01:34 2711

原创 力扣503. 下一个更大元素II mediumn 20220329

/**力扣503. 下一个更大元素II mediumn 20220329 给定一个循环数组nums(nums[nums.length - 1]的下一个元素是nums[0]),返回nums中每个元素的 下一个更大元素。 数字 x的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。与I相比,如果当前元素右侧没有比它大的,那么需要去它的左侧找到第一大于它的元素 思路: 方式一:直接两层for循环.

2022-03-29 15:06:49 395

原创 力扣739:每日温度 medium 20220329

/**力扣739:每日温度 medium 20220329 * 给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指在 * 第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用0 来代替 * * 示例 1: * 输入: temperatures = [73,74,75,71,69,72,76,73] * 输出: [1,1,4,2,1,1,0,0] * 示例 2: * 输入: temperatures = [30.

2022-03-29 14:07:51 373

原创 力扣496 下一个更大元素 I easy 20220328

方法一:暴力破解三层循环遍历①第一层遍历nums1,获取当前元素e②第二层遍历num2,找到当前元素e在num2中的位置index③第三层,从index开始遍历num2,找到第一个大于e的元素方法二:栈+哈希表1.栈:用来排查当前元素右侧第一个最大元素①倒序遍历num2数组元素{②判断栈是否为空,为空则表示当前元素右侧没有比它大的值,直接map记录当前元素右侧第一个最大元素为-1,并将当前元素入栈。 ③如果栈不为空,并且当前元素大于...

2022-03-28 16:04:01 673

原创 docker: Error response from daemon: driver failed programming external connectivity on endpoint rabb

docker: Error response from daemon: driver failed programming external connectivity on endpoint rabbitmq (48822965eea1d3b097ea0e8efac7b96545c9b8e2f30072ddd4f9aebef52cf3b2): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 15672 -j D

2022-03-18 11:52:07 3006

原创 RabbitMQ安装和使用(docker版本)

1. 查找镜像:(management 版本的镜像才有管理界面)docker search rabbitmq:management2. 拉取镜像:docker pull docker.io/macintoshplus/rabbitmq-management3.重命名该镜像为 rabbitmqdocker tag 旧镜像名 新镜像名4.启动容器docker run -d --hostname cbw-rabbit --name rabbitmq -e RABBITMQ_DEFA.

2022-03-18 11:50:50 3335

原创 RabbitMQ的安装和常用命令(linux_centos7版,非容器化)

请使⽤CentOS7安装1. 安装依赖环境在线安装依赖环境c++:yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz2. 安装ErlangrabbitMQ是Erlang语言开发的产品1.上传到linux系统erlang-18.3-1.el7.centos.x86_64.rpm

2022-03-17 14:01:36 3051

原创 NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic 或者reflect.InvocationTargetException

使用poi的XSSFWorkbook wb = new XSSFWorkbook(is);将excel模板文件读取流读is交给工作簿的时候报上面的错误,主要是版本问题。解决:poi和poi-ooxml的依赖版本要一致,而且使用3.17会报InvocationTargetException,改用3.16就可以。...

2022-03-12 20:16:21 646

原创 Webpack

1.什么是Webpackwebpack是一个前端构建工具。前端构建工具就是把开发环境的代码转化成运行环境代码。一般来说,开发环境的代码是为了更好的阅读,而运行环境的代码则是为了能够更快地执行。因此开发环境和运行环境的代码形式也不相同。比如,开发环境的代码,要通过混淆压缩后才能放在线上运行,这样代码体积更小,而且对代码执行也不会有任何影响。2.Webpack使用场景①代码压缩将JS、CSS代码混淆压缩,让代码体积更小,加载更快②编译语法编写CSS时使用Less、Sass,编写J

2022-02-08 23:19:14 358

原创 p5_并发编程篇

线程的基本认识问题1:什么是线程?什么是进程?进程的执行逻辑?问题2:为什么会有线程,为什么要用多线程?问题3:为什么要用多线程?(线程的应用场景)问题4:创建多线程方式有哪些,有什么区别?(如何在Java中应用多线程)问题5:Java线程的生命周期?可以通过哪些手段控制线程状态的变更?问题6:如何查看java进程,如果查看该进程日志(记录各线程状态)?线程的基本操作及原理问题1:Thread.join的作用及实现原理问题2:Thread.sleep的作用?问题3:w

2022-02-02 19:53:26 522

原创 P5_MySQL篇

MySQL体系结构1.问题:关系型数据库有哪些特点(5个)2.问题:关系型数据库存储数据存在哪些限制(3个)3.问题:非关系型数据库有哪些特点(3个)4.问题:一条SQL语句的查询流程(简述MySQL体系结构)5.问题:为什么不使用MySQL自身的缓存功能6.问题:客户端连接MySQL服务端采用的通信类型和连接方式7.问题:怎么查看MySQL服务器当前有多少个连接呢8.问题:如何查看MySQL服务端默认允许的最大连接数9.问题:MySQL服务端这些系统参数作用域级别有哪些

2022-02-02 10:45:02 1275

原创 com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can‘t create connection to/192

FastDFS文件上传Bug:com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.100.129::22122端口号问题检查防火墙是否关闭,如果防火墙关闭是无法开放端口的检查防火墙状态systemctl status firewalld开启防火墙systemctl start firewa...

2022-01-30 14:39:29 3146 2

原创 轻量级分布式文件系统FastDFS

1.为什么使用FastDFS1. 在分布式集群环境下,文件上传至节点A,这时通过负载均衡算法,访问到节点B,则不能访问到文件,这时会出现有时能访问有时不能访问的问题2. 同时要考虑为文件做冗余备份、负载均衡、线性扩容等功能,这些是单节点文件上传所不具备的2.FastDFS架构FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等

2022-01-29 15:47:58 1286 1

原创 SwaggerAPI管理工具

Swagger有几个重要特性代码侵入式注解遵循YAML文档格式非常适合三端(PC、iOS及Android)的API管理,尤其适合前后端完全分离的架构模式。减少没有必要的文档,符合敏捷开发理念功能强大作用接口的文档在线自动生成功能测试优点1. 大大减少前后端的沟通2. 方便查找和测试接口3. 提高团队的开发效率4. 方便新人了解项目配置swagger引入依赖<!-- swagger --><dependency>

2022-01-29 14:23:29 2342

原创 归并排序 medium 20220129

5 9 6 2 4 35 9 6 2 4 35 9 6 2 4 ...

2022-01-29 10:36:24 558

原创 ECMAScript6

1、 ECMAScript 6 简介ECMAScript 6.0(简称 ES6)是 JavaScript 语⾔的下⼀代标准,已在 2015 年 6 ⽉正式发布了。其⽬标是使得 JavaScript 语⾔可以⽤来编写复杂的⼤型应⽤程序,成为企业级开发语⾔。ES6对JS部分语法进行升级以及添加新的语法,比如定义变量的时候不在使用var,而是使用let或者const,还可以写对象,写继承等。推荐在线⽂档:https://es6.ruanyifeng.com/2、let和const命令①le

2022-01-28 17:52:11 924

原创 力扣912 排序数组 medium 20220128

给你一个整数数组 nums,请你将该数组升序排列。public static int[] sortArray(int[] nums) { quickSort(nums,0,nums.length-1); return nums; } public static void quickSort(int[] arr,int start,int end){ if (start>=end) return; int..

2022-01-28 14:04:19 268

原创 力扣215. 数组中的第K个最大元素 medium 20220128

力扣215. 数组中的第K个最大元素 medium 20220128题目描述: * 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 * 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例: * 输入: [3,2,1,5,6,4] 和 k = 2 * 输出: 5思路1: * 使用快排将数组排序,然后从后开始找到第k个数即可public static void .

2022-01-28 10:51:59 194

原创 快速排序 QuickSort easy20220127

* 思路:* 找到左右端点,从左右端点分别循环,找到比第一个元素a大和小的两个元素,交换,一轮跑完后,* 比a大的元素都在a的右侧,比a小的元素都在a左侧,然后根据a将数组切成两段,分别继续快排public static void quickSort(int[] arr,int start,int end){ if (start>=end) return; int p=arr[start]; int left=st...

2022-01-27 16:46:28 166

原创 插入排序 InsertSort 20220127

插入排序思路: 从第二个元素开始遍历,如果当前元素比其前一个元素小,那么前一个元素后移一位, 此时空出一个位置,再往前比较,如果比当前元素大,那么空出的位置就是当前元素要插入的位置, 否则将与当前元素比较的元素后移一位,也就是空出的位置又向前移动一位,以此类推, 当满足条件时,就将当前元素插入到空出的位置中。 1 9 6 2 4 3 1 9 (9>1则继续下一循环,也就是6) 1 9(6<9,所以将9后移一位,空出一个位.

2022-01-27 15:09:06 168

原创 选择排序 SelectSort easy 20220127

* 冒泡* 插入* 选择* 归并* 快速快排和归并是最重要的* 基数* 桶排**考虑因素有很多:* 复杂度分析* 比较和交换次数分析* 内存分析(是否需要额外新增内存空间)* 稳定性 (同一个数会发生交换,比如数值相同两个值1 2 4 2 那么排序后1 2 2 4 第一个2还是原来的第一个2,而不是最后那一个2)** 时间复杂度 稳定性 最好 最坏 平均 原地排序(需要额外新增内存空间)* 冒泡 Y O(n2) .

2022-01-27 14:11:46 280

原创 冒泡排序 BubbleSort easy 20220127

* 思路:* 横向:n个元素,只需要跑n-1趟,最后一趟只剩一个数,不需要比较* 竖向:n个元素,只需要比较n-1-i次,减i是因为最后i个数已经排好序了,减1是因为这里是和下一个数比较public class BubbleSort { public static void bubbleSort(int[] array){ for (int i=0;i<array.length-1;i++){ //最后一趟只剩一个数,不需要比较 .

2022-01-27 11:42:32 328

原创 力扣154 Find Min In Rotated Sorted ArrayII 在旋转数组中寻找最小值 hard 20220126

力扣154 Find Min In Rotated Sorted ArrayII 在旋转数组中寻找最小值 hard 20220126题目描述: * 给你一个可能存在 重复 元素值的数组 nums ,它原来是一个升序排列的数组,进行了多次旋转后。请你找出并返回数组中的 最小元素 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4} 若旋转 7 次,则可以得到 [0,1,4,4,5,6,7] 方法一:暴力法方法二:二分法和暴力法相结合...

2022-01-26 17:04:50 5347

原创 力扣153 Find Min In Rotated Sorted Array 在旋转数组中寻找最小值 medium 20220125

力扣153 Find Min In Rotated Sorted Array 在旋转数组中寻找最小值 medium 20220125题目描述: * 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: * 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] * 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] * 注意,数组 [a[0], a[1], .

2022-01-26 15:44:54 738

原创 力扣33:Search In Rotated Sorted Array 搜索旋转排序数组 20220124 medium

力扣33:Search In Rotated Sorted Array 搜索旋转排序数组 medium题目描述:1.整数数组 nums 按升序排列,数组中的值 互不相同2.在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2.

2022-01-24 14:52:37 593

原创 力扣445 Add Two Number 两数相加 medium 20220120

/**力扣445 Add Two Number 两数相加 medium * 题目描述: * 给你两个 非空 链表来代表两个非负整数。 * 数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表 * 示例: * 输入:l1 = [7,2,4,3], * l2 = [5,6,4] * 输出: [7,8,0,7] * 思路: * 将l1和l2链表翻转后,相加,最后将新链表翻转 */p..

2022-01-20 14:54:50 87

删除串s中某个符号剩下的重新存入数组t中

删除串s中某个符号剩下的重新存入数组t中输入串s 删除串s中'*',剩下的组成新的串输出

2018-05-14

空空如也

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

TA关注的人

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