个人博客
文章平均质量分 84
Java
曲怪曲怪
有故事的哈尔滨---- 广东
展开
-
Github 高级搜索
Github 高级搜索原创 2021-12-23 21:30:24 · 1506 阅读 · 0 评论 -
Java 日志框架详解
Java 日志框架详解,JUL,jcl、log4j、slf4j、logback、log4j2原创 2021-12-23 21:29:29 · 3984 阅读 · 0 评论 -
JDK OPTIONAL
JDK OPTIONAL原创 2021-12-21 18:38:58 · 544 阅读 · 0 评论 -
JDK Stream
JDK Stream原创 2021-12-21 18:38:13 · 515 阅读 · 0 评论 -
JDK 时间日期新特性
JDK 时间日期新特性原创 2021-12-21 18:37:28 · 867 阅读 · 0 评论 -
CompleteFuture全方法说明
CompleteFuture 全方法说明原创 2021-12-19 19:01:40 · 8211 阅读 · 0 评论 -
光流文件(.flo),numpy,图像(.png)相互转换——完全python实现
网上有很多都是借用imageLib 进行实现,并不适合用来进行开发使用,这里完全使用python进行实现1. 光流图像转numpyimport numpy as npdef load_flow_to_numpy(path): with open(path, 'rb') as f: magic = np.fromfile(f, np.float32, count=1) assert (202021.25 == magic), 'Magic number in.原创 2021-11-28 16:51:13 · 10087 阅读 · 4 评论 -
Spring Security学习笔记(三)—— 自动登录和注销
文章目录1 自动登录持久化令牌方案1. 资源准备2. 创建UserDetailService3. 配置SpringSecurity4. 实验5. 原理总结2 注销1 自动登录对于一些其他类的设计请参考前几篇文章所提到的,或者进入https://github.com/LiYangSir/Spring-Security-In-Action的第5节直接查看源码。自动登录主要包含两种:1. 散列加密方式,但是这种方式会存在安全性问题,相应的信息存储在了本地。2. 持久化令牌的方式,在交互上和散列的方式一样原创 2021-06-01 22:26:24 · 382 阅读 · 1 评论 -
Spring Security学习笔记(五)—— 会话管理
文章目录1 会话2 防御固定会话攻击3 会话过期4 会话并发控制5 Spring Session解决集群会话问题1 会话首先对于Http协议而言是一种无状态的,需要通过Session(会话)来解决,Session技术则主要是服务器发送给浏览器一个ID,浏览器将相关ID保存起来,而对于服务器而言,Session是一种Map结构,通过请求过来的ID找到对应的Value值,这也就形成了不同的请求之间有了。对于ID的保存,在不妨碍体验的情况下,Cookie成了一种不错的载体,将ID存储到其中,保存的形式是key原创 2021-06-01 22:22:25 · 383 阅读 · 1 评论 -
Spring Security学习笔记(二)—— 实现图像验证码登录
文章目录1 使用过滤器实现图像验证码1.1 配置图形验证码API1.2 自定义图像验证码过滤器1.3 Spring Security配置1.4 实验2 自定义认证实现图像验证码2.1 认识AuthenticationProvider2.2 自定义AuthenticationProvider2.3 自定义WebAuthenticationDetails2.4 自定义AuthenticationDetailsSource2.5 完善自定义AuthenticationProvider2.6 SpringSecur原创 2021-05-28 22:54:03 · 451 阅读 · 2 评论 -
docker 安装elasticsearch 找不到elasticsearch.yml出错
Exception in thread "main" SettingsException[Failed to load settings from /usr/share/elasticsearch/config/elasticsearch.yml]; nested: AccessDeniedException[/usr/share/elasticsearch/config/elasticsearch.yml]; at org.elasticsearch.node.InternalSettin原创 2021-02-01 11:14:17 · 3723 阅读 · 2 评论 -
Docker 解决kibana无法连接elasticsearch 9200端口
文章目录解决方案1. 删除elasticsearch以及kibana2. 创建docker网络3. 启动elasticsearch4. 启动kibana{"type":"log","@timestamp":"2021-02-01T02:47:38Z","tags":["error","elasticsearch","monitoring"],"pid":6,"message":"Request error, retrying\nGET http://192.168.1.115:9200/_xpack =&原创 2021-02-01 11:12:12 · 8022 阅读 · 0 评论 -
Docker 安装 ElasticSearch和kibana7.9版本,一步到位!!!
Docker 安装 ElasticSearch和kibana7.9版本 一步到位文章目录Docker 安装 ElasticSearch和kibana7.9版本 一步到位1、下载镜像2、 配置挂载的文件夹以及修改配置文件3、设置docker 网络4、启动Elasticsearch5、查看docker设置的网络6、启动kibanaps: 本人看了无数的帖子,很多的解决办法都是无效的,甚至都是重复的,所以有了这篇文章。1、下载镜像docker pull elasticsearch:7.9.2do原创 2021-02-01 11:07:04 · 1214 阅读 · 0 评论 -
Git系列——删除文件的找回
Git删除文件的找回原创 2020-08-24 10:21:30 · 843 阅读 · 2 评论 -
Git系列——Git历史版本查看(log)和前进后退(reset)
Git历史版本查看(log)和前进后退(reset)原创 2020-08-23 15:25:12 · 1335 阅读 · 0 评论 -
用技术让女朋友不生气——基于SpringBoot的情侣礼物分发平台
用技术,让女朋友不生气基于SpringBoot的情侣礼物分发平台个人主页 | CSDN | 公众号:TeaUrn简介 对于有女朋友的人士来说,给女朋友买礼物那是在所难免的,但是没有目标的总是缺少点什么。为了能够将购买礼物更加体系化,完成任务就可以获得礼物,也可以说这是一个奖励的平台。当然也可以增加惩罚措施,比如生气扣10积分,陟罚臧否。演示地址:http://59.110.241.41:8090/(最好用电脑访问)后台增加 /admin前台礼物原创 2020-07-18 11:26:26 · 328 阅读 · 0 评论 -
智能算法之Ant Colony Optimization蚁群算法解决TSP问题
AntColonyOptimization蚁群算法前言:本文主要围绕解决TSP旅行商问题展开,对于机器人的路线规划以及非线性方程求解的问题等解决方案大家可以直接参考github源码地址,对于一些其他优化算法例如遗传算法解决一些现实问题都有实现!! 欢迎小伙伴的star哦~~ ????先看一下效果图:蚁群算法解决TSP问题:蚁群算法解决机器人路径规划问题:文章目录...原创 2020-04-29 18:57:19 · 1867 阅读 · 0 评论 -
智能算法之Genetic Algorithm遗传算法
智能算法之Genetic Algorithm遗传算法前言:本文主要围绕 Matlab 的实现展开,Java版本以及Python版本参考文章最后的源码地址,MatLab和python实现大致相同,Java较为不同。文章目录1、什么是遗传算法2、遗传算法名词解释3、遗传算法的程序实现3.1、种群初始化3.2、适应度函数设计3.3、选择3.4、交叉3.5、变异3.6、主函数4、运行...原创 2020-04-25 21:49:06 · 1769 阅读 · 0 评论 -
Java底层 RedBlackTree 红黑树
RedBlackTree 红黑树文章目录1、2-3 树1.1、2-3 树的基本结构1.2、2-3树添加元素2、红黑树与2-3树的等价性3、红黑树之增加元素3.1、向 2节点中添加元素3.2、向 3节点中添加元素3.3、总结3、红黑树的实现3.1、内部类的实现3.2、基本结构以及函数实现3.3、增加元素时间复杂度分析最后1、2-3 树红黑树和2-3书有着等价的关系。我们了解了红黑...原创 2020-04-14 19:40:41 · 199 阅读 · 0 评论 -
Java底层实现 SegmentTree 线段树
SegmentTree 线段树(区间树)文章目录1、为什么使用线段树2、线段树的基本结构2.1、线段树的一般结构2.2、线段树存储所需空间3、线段树的实现3.1、Merge 函数3.2、构造函数3.3、基本操作函数3.4、构建线段树3.5、查询操作3.6、更改操作最后1、为什么使用线段树 相信大家都见过一个经典的比赛题目(区间染色):在一个数组结构当中,对某一端区间不断的进行...原创 2020-03-10 19:34:59 · 397 阅读 · 0 评论 -
Java底层实现PriorityQueue 优先队列
PriorityQueue 优先队列基于MaxHeap最大堆文章目录1、什么是优先队列2、什么是二叉堆2.1、实现方法2.2、初始化操作2.3、添加元素2.4、提取最大值2.5 查询操作2.6、replace操作2.7、Heapify数组堆化3、优先队列的实现——基于二叉堆最后1、什么是优先队列 优先队列也是一种队列,它的接口函数和队列相同。public interfac...原创 2020-03-05 21:35:40 · 1025 阅读 · 0 评论 -
OpenCV 图像处理之膨胀与腐蚀
OpenCV 膨胀与腐蚀文章目录1、什么是膨胀与腐蚀2、形态学处理——膨胀2.1 更改卷积核大小2.2、更改迭代次数3、形态学处理——腐蚀3.1、更改卷积核大小3.2、更改迭代次数4、开运算和闭运算4.1、开运算4.2、闭运算5、梯度计算6、高帽和黑帽6.1、高帽计算6.2、黑帽计算最后1、什么是膨胀与腐蚀 膨胀与腐蚀属于形态学范围,具体的含义根据字面意思来理解即可。但是更形...原创 2020-03-02 14:49:04 · 930 阅读 · 0 评论 -
Java底层实现UnionFind 并查集
Java底层实现UnionFind 并查集文章目录1、什么是并查集2、并查集实现(版本一)2.1、判读是否连接2.2、连接两个节点3、并查集的实现(版本二)3.1、初始化函数3.2、判断是否连接3.3、连接两个节点4、并查集的实现(版本三)——基于size进行优化4.1、初始化操作4.2、判断是否连接4.3、连接两个节点5、并查集的实现(版本四)——基于rank进行优化5.1 初始...原创 2020-02-29 19:02:31 · 468 阅读 · 0 评论 -
Java底层实现Map映射——基于链表和二分搜索树
Java底层实现Map映射基于链表和二分搜索树文章目录1、什么是映射2、映射类的实现——基于链表2.1、增加元素2.2、删除元素2.3、改变元素2.4、查询操作3、映射类的实现——基于BST二分搜索树4、时间复杂度分析最后1、什么是映射 无论是集合还是映射,都是来源于数学当中,在数学领域映射指两个元素的集之间元素相互“对应”的关系。映射也分很多种,满射,单射,一一映射等三种...原创 2020-02-23 21:24:21 · 152 阅读 · 0 评论 -
Java底层实现基于链表和二分搜索树的Set集合
Set 集合基于链表和二分搜索树文章目录1、什么是集合2、集合类的实现——基于链表2.1、接口函数实现2.2、基本操作函数2.2、增加元素2.3、删除元素2.4、查询元素3、集合类的实现——基于二分搜索树3.1、基本操作函数3.2、增加元素3.3、删除元素3.4、查询元素4、时间复杂度分析最后1、什么是集合 数学上定义为由一个或多个确定的元素所构成的整体。但是在计算机领域,...原创 2020-02-22 19:50:01 · 463 阅读 · 0 评论 -
Java底层实现BST二分搜索树
BST 二分搜索树文章目录1、什么是树1.1、什么是二叉树1.2、什么是二分搜索树2、二分搜索树的基本函数2.1、添加元素2.2、查询元素2.2.1 contains操作2.2.2 最大值和最小值函数2.3、改变元素2.4、遍历元素2.4.1 前序遍历2.4.2 中序遍历2.4.3 后序遍历2.4.4 层序遍历2.5、删除元素2.5.1 删除最小值元素2.5.2 删除最大值元素2....原创 2020-02-21 19:24:27 · 441 阅读 · 0 评论 -
Java底层实现 Array 动态数组
Array动态数组文章目录1、Array概述2、Array数组实现思路2.1、增2.2、删除元素2.3、改变元素2.4、查找元素3、时间复杂度分析4、解决时间复杂度震荡的办法5、Array具体实现函数公有方法私有方法1、Array概述 同数组不用,数组的大小在定义时已经确定,而在实际过程中数组需要根据数据量的大小自动更改数组大小。底层实现仍是数组,只是将数组进行封装,可以实现自...原创 2020-02-15 22:49:24 · 576 阅读 · 0 评论 -
Java底层实现LinkedList 链表
LinkedList 链表目录1、什么是链表1.1、同数组的区别1.2、节点的实现2、链表的方法实现2.1、增加元素2.2、删除元素2.3、改变元素2.4、查询元素3、时间复杂度分析最后1、什么是链表链表,使用“链子”将数据组合起来,这里的链子指的就是引用或者指针。链子存储在哪里呢?节点(Node)中,我们把节点封装在类中。即class Node{ E e; ...原创 2020-02-19 18:10:58 · 435 阅读 · 0 评论 -
膨胀和腐蚀 - 解决图像缺陷问题
文章目录腐蚀膨胀闭运算 && 开运算腐蚀故名思义就是将图片向内进行收缩。图1 腐蚀示意图 设经过背景减后的图像为 B,经过腐蚀运算处理后的图像为 P,用 S 表示所用 3R圆(为进化计算可由采用3x3的矩形来代替) 的结构元素,计算公式如下:P=BΘS={x,y∣Sx,y⊆B}P=B\Theta S= \{x,y | S_{x,y}\subseteq B\}P=...原创 2019-12-18 21:10:19 · 1424 阅读 · 0 评论 -
fslove - Matlab求解多元多次方程组
fslove - Matlab求解多元多次方程组简介: 之前看到网上的一些资料良莠不齐,各种转载之类的,根本无法解决实际问题,所以我打算把自己的学到的总结一下,以实例出发讲解fsolve。示例如下:{2x1−x2=eax1−x1+2x2=eax2\begin{cases}2x_1 - x_2 = e^{ax_1} \\-x_1 + 2x_2 = e^{ax_2} \\\end{cas...原创 2019-09-25 21:13:36 · 32776 阅读 · 2 评论 -
Java 基本程序设计结构
Java 基本程序设计结构目录Java 基本程序设计结构变量变量的初始化常量运算符数学函数与常量数值类型的转换字符串字符串拼接字符串判断相等空串与null串String常用API输入输出格式化输出文件输入输出数组数组初始化数组拷贝数组排序for each 循环for each 循环变量 Java变量主要包含int、long、boolean、double、float等,与C++在这里基本上相...原创 2019-08-28 09:12:01 · 123 阅读 · 0 评论 -
浅谈Vector
浅谈Vector目录浅谈Vector1、容器基本操作2、vector 初始化3、vector的赋值与swap4、vector的增删改除1.增加元素2.访问元素3.删除元素4.元素的大小 这里我主要说的是C++的vector,vector是一种顺序容器,顺序容器区别去有序容器,也就是的存储位置与大小无关,只与数据加入文件是的顺序有关。顺序容易还包括deque、list、forword_list...原创 2019-08-14 20:11:42 · 356 阅读 · 0 评论 -
Linux 文件/目录命令详解
Linux 文件/目录命令详解目录Linux 文件/目录命令详解初识Linux一、文件/目录显示命令 `ls`二、目录创建命令 `mkdir`三、目录转移命令 `cd`四、当前目录显示命令 pwd五、文件处理命令 `rmdir`六、文件/目录复制命令 `cp`七、文件/目录的移动剪切命令 `mv`八、文件/目录的删除命令 `rm`九、新建文件命令 `touch`十、文件查看命令 `cat`十一、...原创 2019-07-21 17:06:42 · 954 阅读 · 0 评论 -
MarkDown基本命令-VS Code编写
MarkDown基本命令-VS Code目录MarkDown基本命令-VS Code一、标题二、改变文本的样式三、插入图片以及链接四、插入代码段落五、插入表格六、插入脚注七、列举说明首先这里先介绍一下VS Code中使用MarkDown的环境配置。在VS Code拓展中搜索MarkDown Preview Enhanced的插件安装即可。随后就可以畅快的进行博客书写了。利用快捷键ctrl+...原创 2019-07-10 17:49:42 · 573 阅读 · 0 评论 -
C++ 递归出现unsequenced-modification-and-access-to
C++ 阶乘递归出现unsequenced modification and access to出现问题的代码:/*** 利用递归实现阶乘 ***/int fact(int val){ if(val == 1) return 1; else return val*fact(--val);} 我利用的编译器是...原创 2019-07-13 18:58:43 · 6030 阅读 · 2 评论