- 博客(49)
- 收藏
- 关注
原创 异步编程-ExecutorService、CompletionService、CompletableFuture
1. ExecutorService中submit()和execute()的区别execute只能提交Runnable类型的任务,无返回值。submit既可以提交Runnable类型的任务,也可以提交Callable类型的任务,会有一个类型为Future的返回值,但当任务类型为Runnable时,返回值为null。submit()可以进行Exception处理:execute在执行任务时,如果遇到异常会直接抛出,而submit不会直接抛出,而是把异常保存在成员变量中,在FutureTask.get阻塞
2021-08-18 14:03:08 1211
原创 Http 请求的4种方式
1. RestTemplateRestTemplate: 是 Spring 提供的用于访问Rest服务的客户端, RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。SpringBoot中先注册bean @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } // 或者 @Bean public RestTe
2021-08-09 21:22:36 1751
原创 Spring Security 学习笔记1
认识 Spring Security 中常用的几个类1. SecurityContextHolderSecurityContextHolder 默认使用ThreadLocal策略来存储认证信息ThreadLocal:与当前线程绑定,用来存储用户信息获取当前用户信息Object principal = SecurityContextHolder.getContext().getAut...
2019-11-07 20:34:02 279
原创 Spring 实现简单过滤器 Filter
1. Filter 介绍Filter过滤器主要用来过滤用户的请求,允许用户对请求进行前置处理和后置处理,比如实现 URL 级别的权限控制、过滤非法请求等等。Filter 过滤器是面向切面编程——AOP 的据图实现(AOP切面编程只是一种编程思想而已)。Filter 是依赖于 Servlet 容器,如果要自定义过滤器的话,只需要实现 javax.Servlet.Filter 接口,然后重写里面的...
2019-11-05 19:20:48 2047
原创 开发中遇到的若干 Git 问题
远程先开好分支后拉到本地 检出远程的feature-branch分支到本地 git checkout -b feature-branch origin/feature-branch 本地先开好分支然后推送到远程创建并切换到分支git checkout -b feature-branch git push origin feature-branch:feature-bran...
2019-10-18 12:37:08 190
原创 排序算法之堆排序
/*7.堆排序最佳情况:T(n) = O(nlogn)最差情况:T(n) = O(nlogn)平均情况:T(n) = O(nlogn)*//* 从i节点开始调整,n为节点总数 从0开始计算 i节点的子节点为 2*i+1, 2*i+2 n是数组的大小*/void MinHeapFixdown(int a[], int i, int n) { for(int j = 2 *...
2019-07-28 19:07:17 267
原创 排序算法之基数排序
/*10.基数排序最佳情况:T(n) = O(n * k)最差情况:T(n) = O(n * k)平均情况:T(n) = O(n * k)*/int maxbit(int* arrays, int n) { int d = 1; int p = 10; for(int i = 0; i < n; i++) { while(arrays[...
2019-07-28 13:21:01 311
原创 排序算法之计数排序
/*8.计数排序计数排序假设n个输入元素中的每一个元素介于0 到 K 之间的整数*/void countingSort(int* arrays, int n) { int p = arrays[0]; for(int i = 1; i < n; i++) { p = max(p, arrays[i]); } int len = p +...
2019-07-28 13:19:47 195
原创 排序算法之快速排序
/*6.快速排序最佳情况:T(n) = O(nlogn)最差情况:T(n) = O(n2)平均情况:T(n) = O(nlogn) */void quickSort(int* arrays, int l, int r) { if(l < r) { int i = l, j = r, x = arrays[i]; while(i < ...
2019-07-28 13:18:55 223
原创 排序算法之归并排序
/*5.归并排序最佳情况:T(n) = O(n)最差情况:T(n) = O(nlogn)平均情况:T(n) = O(nlogn)*//*将两个有序的数组合并*/void toMerge(int* arrays, int l, int mid, int r, int* temp) { int i = l, j = mid + 1, k = 0; while(i ...
2019-07-28 13:18:10 262
原创 排序算法之希尔排序
/*4.希尔排序最佳情况:T(n) = O(nlog2 n)最坏情况:T(n) = O(nlog2 n)平均情况:T(n) =O(nlog2n)*/void shellSort(int* arrays, int n) { int gap, k, j, t; for(gap = n / 2; gap > 0; gap = gap / 2) { fo...
2019-07-28 13:17:20 183
原创 排序算法之插入排序
/*3.插入排序最佳情况:T(n) = O(n)最坏情况:T(n) = O(n2)平均情况:T(n) = O(n2)*/void inserSort(int* arrays, int n) { int temp, i = 0, j = 0; for(i = 1; i < n; i++) { temp = arrays[i]; j ...
2019-07-28 13:16:25 174
原创 排序算法之选择排序
/*2.选择排序最佳情况:T(n) = O(n2)最差情况:T(n) = O(n2)平均情况:T(n) = O(n2)*/void selectiveSort(int* arrays, int n) { int temp, m, k; for(int i = 0; i < n - 1; i++) { m = arrays[i]; ...
2019-07-28 13:13:24 193
原创 排序算法之冒泡排序
/*1.冒泡排序算法最佳情况:T(n) = O(n)最差情况:T(n) = O(n2)平均情况:T(n) = O(n2)*/void bubbleSort(int* arrays, int n) { int temp; for(int i = 0; i < n - 1; i++) { for(int j = 0; j < n - i ...
2019-07-28 13:09:24 174
原创 Windows 10安装Adobe XD出现白屏闪退问题
关于在我的电脑上出现的安装Adobe XD出现白屏闪退问题,困扰了我很长一段时间,在此记录我解决此问题的过程及方法:一开始,我的电脑打开也是白屏闪退,在网上尝试了很多解决方法,病急乱投医。首先,从尝试使用注册表更改BlockProtocolElevation值,看到贴吧上讲要将其值改成0,但是没有成功;其次,我尝试下载DirectXRepair修复工具修复电脑里的c++ 组件,但是电脑...
2019-03-16 13:43:43 3347
原创 MySQL8.0以上 root用户密码设置问题
MySQL出现root用户密码错误,或者修改root用户默认密码root 用户输入密码出现错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)步骤:1. 打开管理员窗口界面输入cmd命令:net stop mysql 将MySQL服务停止2. 接着输入my...
2018-12-02 16:18:58 7520 7
原创 2018 CCSP 杭州之行
2018CCSP过去好几天了,才想着来写点东西,杭州之行,给我留下深刻的印象,这是我第二次参加的关于程序竞赛的大型比赛,记得前一次是在秦皇岛参加CCPC,那时的比赛,在我的印象里,没有这次比赛激烈和精彩,虽然作为一名没有取得令人称赞的成绩的小白来说,没有什么资格来谈论比赛的方方面面,但是,这对于我来说却是成长的一个机会。在杭州电子科技大学下沙校区参加的ccsp,很荣幸我有这样的一个机会可以和清华等...
2018-10-29 16:53:09 940
原创 String提取指定分隔符的字符串到vector
例:提取在字符'/'之间的字符串如:/articles/2003//articles/<int>//articles/<int>/<int>//articles/<int>/<int>/<str>//static/<path>方法一:使用string的find函数和substr函数来提取...
2018-10-12 17:23:10 1812
转载 扩展KMP算法
摘自:https://segmentfault.com/a/1190000008663857问题定义:给定两个字符串S和T(长度分别为n和m),下标从0开始,定义extend[i]等于S[i]...S[n-1]与T的最长相同前缀的长度,求出所有的extend[i]。举个例子,看下表:i 0 1 2 3 4 5 6 7 S a ...
2018-09-14 19:14:03 201
原创 线段树下推标记(懒惰标记,延迟标记)
解释:理论上来说,如果[3, 9]这个区间被修改的话,那么下图中的所有绿色的结点的值都要得到重新计算的:但是实际上是没有必要这么做的——我们可以引进一种叫做Lazy Tag,即延迟标记的东西——的确对于[3, 9]这样一次修改操作,我可以只去修改如下图中橙色的结点,但是在这个基础上,我要在[3, 9]分解出的4个区间[3, 3], [4, 5], [6, 8], [9, 9]所对应的结...
2018-09-13 09:53:23 1917
转载 线段树详解
本文摘自:https://blog.csdn.net/yitongjun/article/details/53193724 目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题 一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L...
2018-09-13 09:45:43 230
转载 线段树初步理解
摘自:https://blog.csdn.net/zearot/article/details/52280189 一:为什么需要线段树? 题目一: 10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。 修改:无 统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <...
2018-09-12 16:13:41 175
转载 Linux下 <DIR> <dirent> <stat> 等结构体详解
以下为DIR结构体的定义: 1 struct __dirstream 2 { 3 void *__fd; 4 char *__data; 5 int __entry_data; 6 char *__ptr; 7 int __entry_ptr; 8 size_t __allocation; 9 size_t __size...
2018-07-04 21:42:34 338
转载 C语言中关于对目录的操作
1、获取当前目录操作: 在系统命令行下我们可以直接输入命令:pwd 来获取当前的工作目录,但是你知道这个命令是怎么执行的吗?它是由系统通过 Shell 程序来解释执行的,在我们自己编写程序的时候怎么能获取当前的工作目录呢?在标准C库中提供了一系列关于目录操作的接口函数: char * getcwd(char * buf,size_t size); getc...
2018-07-04 21:36:58 1279
转载 Linux基本命令<mv>详解
mv(选项)(参数) 剪切,或在同目录下移动重命名1.如果目标文件是文件夹,则源文件直接移动到该文件夹内,名字还是源文件的名字。2.如果目标文件时文件,则源文件移动的同时也会更改名字3.如果源文件为多个,则目标必须是目录,并且统一移动到目录下-b:当目标文件存在时,先进行备份在覆盖[root@bogon admin]# mv -b a/aa b/mv: overwrite `b/aa'? ...
2018-07-03 22:39:19 244
转载 Linux下<find>命令的应用
一、命令格式:find pathname -options [-print -exec -ok ...]二、命令功能:用于在文件树查找文件,并作出相应的处理(可能访问磁盘)三、命令参数:pathname:find命令所查找的目录路径。例如用 . 来表示当前目录,用/来表示系统根目录。-print :find命令对匹配的文件输出到标准输出。-exec:find命令对匹配的文件执行该参数所给出的she...
2018-07-03 22:37:11 240
转载 Linux下<xargs>命令
xargs命令用法 xargs用作替换工具,读取输入数据重新格式化后输出。 定义一个测试文件,内有多行文本数据:cat test.txta b c d e f gh i j k l m no p qr s tu v w x y z 多行输入单行输出:cat test.txt | xargsa b c d e f g h i j k l m n o p q r s t u v w...
2018-07-03 22:35:03 255
原创 linux 删除问题 一次删除多个目录下的相同扩展名的文件
示例:一次性删除某目录及其子目录下所有以.exe为后缀的文件。find . -name '*.exe' -type f -print -exec rm -rf {} \;说明:find:使用find命令搜索文件,使用它的-name参数指明文件后缀名。. :是当前目录,因为Linux是树形目录,所以总有一个交集目录,这里根据需要设置'*.exe': 指明后缀名,*是通配符" -t...
2018-07-03 22:32:15 2113
转载 Linux复制指定目录及子目录下特定类型的文件
首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示: 可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*。tes文件目标是保持当前的目录结构,只把txt文件复制出来 方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2,此时树形结构如下图...
2018-07-03 22:30:24 11150
转载 shell 命令目录文件4种复制方法
把/oldboy目录及子目录下面 所有以.sh结尾的文件复制到 /tmp下面手续创建环境:mkdir -p /oldboy/testcd /oldboyecho "oldboy">test/del.shecho "oldboy">test.shecho "oldboy">t.shtouch oldboy.txttouch alex.txt这里写图片描述 接下来进行实际...
2018-07-03 22:25:17 22158
转载 Shell中的$0、$1、$2的含义
在 shell 中我们会见到 $0、$1、$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的shell脚本传的第二个参数比如你新建了一个shell脚本 Test.sh, 内容如下:#!/bin/shecho "shell脚本本身的名字: $0"echo "传给...
2018-07-03 22:21:16 566
转载 Linux下shell<read>的用法
1、read基本读取 1 #!/bin/bash 2 #testing the read command 3 4 echo -n "Enter you name:" #echo -n 让用户直接在后面输入 5 read name #输入的多个文本将保存在一个变量中 6 echo "Hello $name, welcome to my program." ...
2018-07-03 22:18:31 379
转载 Linux <read>命令详解
read命令 Shell内建命令 read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY 语法read(选项)(参数) 选项-p:指定读取值时的提示符;-t:指定读取值时等待的时间(秒)。 参数 变量:指定读取值的变量名。 ...
2018-07-03 22:15:03 600
转载 Linux文件锁
一、文件锁的分类: 翻阅参考资料,你会发现文件锁可以进行很多的分类,最常见的主要有读锁与写锁,前者也叫共享锁,后者也叫排斥锁,值得注意的是,多个读锁之间是不会相互干扰的,多个进程可以在同一时刻对同一个文件加读锁;但是,如果已经有一个进程对该文件加了写锁,那么其他进程则不能对该文件加读锁或者写锁,直到这个进程将写锁释放,因此可以总结为:对于同一个文件而言,它可以同时拥有多个读者,但是在...
2018-06-28 20:23:01 2834
转载 Linux下创建文本文件(vi/vim命令使用详解)
vi test.txt或者vim test.txt再或者touch test.txtvim是vi的升级版,指令更多,功能更强。下面是收集的vim用法,当在vim里面要实现退出,首先要做的是按【Esc】,然后再输入【:wq】一、一般模式:删除、复制与粘贴类命令x,X x为向后删除一个字符,X为先前删除一个字符nx(n代表数字) ...
2018-06-28 20:17:23 15140
转载 lseek函数
所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为 cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于 cfo,并且使 cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了O_APPEND 。 使用 lseek 函数可以改变文件的 cfo 。 #include ...
2018-06-28 20:13:45 316
转载 Linux文件操作函数(open、write、read、close)
1. open()函数功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。所需头文件:#include <sys/types.h>,#include <sys/stat.h>,#include <fcntl.h>函数原型:int open(const char *pathname,int flags,int perms)参数...
2018-06-28 20:12:00 326
转载 Linux编译多个不同目录下的文件以及静态库、动态库的使用
一、 编译不同目录下的多个文件各个文件的布局如下: head.h文件的代码:[cpp] view plain copy#ifndef HEAD_H #define HEAD_H int add(int a, int b); #endif /*HEAD_H*/ head.cpp文件的代码:[cpp] view plain copy#include "he...
2018-06-28 20:07:28 556
转载 Windows上安装MySQL
转自:https://blog.csdn.net/u013235478/article/details/50623693MySQL针对不同的用户提供了2中不同的版本:MySQL Community Server:社区版。由MySQL开源社区开发者和爱好者提供技术支持,对开发者开放源代码并提供免费下载。MySQL Enterprise Server:企业版。包括最全面的高级功能和管理工具,不过对用户...
2018-06-10 15:17:18 210
转载 Linux下用命令行解压扩展名为“.zip”文件
语法:unzip 〔选项〕 压缩文件名.zip 各选项的含义分别为: -x 文件列表 解压缩文件,但不包括指定的file文件。 -v 查看压缩文件目录,但不解压。 -t 测试文件有无损坏,但不解压。 -d 目录 把压缩文件解到指定目录下。 -z 只显示压缩文件的注解。 -n 不覆盖已经存在的文件。 -o 覆盖已存在的文件且不要求用户确认。 -j 不重建文档的目录结构,把所有文件解...
2018-06-09 20:09:15 1628
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人