自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot + JWT实现Token验证

需求SpringBoot项目集成JWT,实现Token验证,保存用户登录状态。项目已上传到github,欢迎参考~https://github.com/ABCVBNM/jwt_demo.git实现1. 添加依赖这里选择的是jwtk/jjwt(因为看github上的Java_JWT项目,该项目维护最及时,星星最多) <dependency> <groupId>io.jsonwebtoken</groupId> &.

2021-04-22 12:08:15 204

原创 JWT基础

JWTOverview实现Token的一种方式,主流Web框架都可以使用,小巧,安全,轻便Structure由三部分组成,Header,Payload,SignatureeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9. TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQWhile

2021-04-21 17:49:53 142 2

原创 正确处理跨域

跨域Others域(源) 1. Web content's origin is defined by the same scheme(protocol),host(domin), and port of the URL used to access it. 2. Two objects have the same origin only when the scheme, host, and port all match.同源策略 1. 一种浏览器策略,限制一个origin对另一

2021-03-21 11:32:40 114

原创 红黑树基础+插入数据后保持平衡逻辑

红黑树OverView1. Red Black Tree,自平衡BST的一种。2. 为解决普通BST在数据更新过程中复杂度退化问题而诞生。3. 左右子树高度差,可能大于1,不是严格的平衡二叉树,但稳定。4. 通过**五条关键性质**,约束了根到叶子的最长路径,不多于最短的可能路径的两倍长,从而实现了非常稳定的性能。五个关键特性节点是红色或黑色根节点是黑色叶子节点是黑色(nil)每个红色节点的子节点都是黑色每个叶子节点到根的路径上,不能有两个连续的红色节点任意节点到叶子节点

2021-02-06 14:14:44 239

原创 哈夫曼树(Huffman Tree)

哈夫曼树Others路径: 一棵树中,一个结点到另一个结点所经过的所有结点。路径长度: 一棵树中,一个结点到另一个结点所经过“边”的数量。节点的权值: 对节点赋予一个有意义的值,例如访问的频率,出现的次数,概率等结点的带权路径长度 - 路径长度 * 权重树的带权路径长度 所有的叶子节点带权路径长度之和,也称之为WPL(Weight Path Length)编码方式:定长编码不定长编码Definition给定一组具有确定权值

2020-12-20 16:24:49 560

原创 解决cannot find module providing package或cannot find main module

解决cannot find module providing package或cannot find main module问题描述运行非go mod项目,一直远程下载依赖。可所有依赖都下载到本地了,不需要下载可以直接运行。解决关闭go mod,命令如下: go env -w GO111MODULE=offPS:不要改成auto,关闭go mod后要重启!!!...

2020-11-03 18:14:01 2067

原创 Golang基础总结

GolangOverview谷歌推出的,开源的,静态强类型,编译型语言。语法与C相近,但具有Java的垃圾回收功能。对并发支持较好,适合搭载web服务器。可以说支持面向对象,也可以说不支持面向对象特性自动垃圾回收函数多返回值错误处理匿名函数,闭包类型和接口并发编程反射环境配置可以使用go env查看GOROOT Golang的安装路径,安装完后,默认存在GOPATH 1. 表示Go语言的工作区 2. 存在三个目录 - bin:存放可

2020-10-27 15:55:13 101

原创 Vue Cli前后端分离项目,映射后前端无法访问接口

问题描述公司内部自用项目(前后端分离),部署在重庆,深圳总部需要访问。使用frpc配置内网穿透后,项目无法登陆。问题排查f12后发现login请求地址是localhost:8080,但深圳这边发现并无此项服务。所以得出原因,因为项目前后端分离,所以frpc虽然可以映射到初始页面,但后续的api接口地址都是直接写死在js内,所以得不到正确的路径。解决方案使用vuex,axious配合解决问题。在第一次login登录失败时,在axious内部catch使用vuex直接commit,将api

2020-06-29 23:42:11 2633

原创 log4j2保存日志到文件(相对路径)

问题描述Springboot整合log4j2时,需要将日志按照相对路径保存到文件。为了解决这个问题,查了很多博客和log4j2官网,总结了下,找到两种比较可用的解决方案。 (本人使用jar打包发布,所以强烈推荐第二种,简单方便好用。)Lookups使用log4j2官方提供的lookups,可以在xml配置文件中提供变量,从而动态配置保存目录。 <Appenders> <File name="ApplicationLog" fileName="${web:rootD

2020-06-21 17:03:26 6544

原创 Java,hashCode()和equals()区别和联系

hashCode()和equals()equals()作用:java顶级类Object中的方法,作用是只是其他对象与此对象是否“相等”。源码: public boolean equals(Object obj) { return (this == obj); }String重写了equals方法,仅仅比较表面值是否相等。“==”比较的内存地址是否...

2020-03-28 17:34:20 67

原创 解决Sqlite no such table报错

解决Sqlite no such table报错问题起因新建表的时候,用navicat直接复制别人建好的表,改个名子就用。结果在执行insert时报错‘ no such table “原表名”’。解决方案使用Navicat直接右键单击问题表-‘转出到sql’,得到sql语句后,将其中的就表名改正,问题解决!...

2019-12-04 17:12:04 2799

原创 基础_枚举

枚举定义在数学和计算机科学理论中,枚举经常是一种特定类型对象的计数。一个被命名的整型常数的集合。 在大多数高级语言中,枚举是一种基本数据类型,可以让数据更简洁易读。 “此类繁多,不能枚举”——清李渔《闲情偶寄-词曲上-结构》Example不用枚举#define MON 1#define TUE 2#define WED 3#define THU 4#def...

2019-09-10 17:14:36 293

原创 Java Static关键字

Static关键字来源通常来说,只有在new来创建对象时,数据存储空间才被分配,方法才可以被外界访问。但有两种情况上述方法无法解决, 第一是只想为某特定域分配存储空间,不考虑他会创建多少对象。第二是即使没有创建对象也想调用这个方法。原理一个static字段对于每个类只有一份存储空间,而非static字段则是每个对象有一个存储空间。使用方法对象.静态方法名()类名.静态方法...

2019-08-28 14:42:54 81

原创 Java编程思想1.7_伴随多态的可互换对象

伴随多态的可互换对象概念 在Java中通过继承可以实现多态,个人将多态的理解为:一个基类有多种状态,在程序运行时不把一个 对象当做它所属的特定类型来对待,而是将其当做基类的对象来对待。使得人们可以编写出不依赖于特 定类型的代码。使用泛型作为参数和返回值,提高了程序的扩展性,降低软件维护的代价。 表现 在Java中把子类(鹅)看做基类(鸟类)对待,在调用move方法时即便忽...

2019-08-16 17:15:01 135

原创 详解JavaScript异步编程

JavaScript异步编程为什么使用异步编程因为JavaScript函数是单线程执行,所以异步编程十分重要,如果没有异步编程,那么程序一定会很卡很慢。概念异步,就是说一个任务不是连续完成的,可以理解成该任务被分成两段,先执行第一段,然后转而执行其他任务。等准备好后再回过头执行第二段函数。实现异步最原生Js底层通常采用回调函数来实现异步(callback),这种写法一般情况没任...

2019-07-24 15:56:41 115

原创 Babel和Webpack

Babelbabel是一个语法编辑器,用来转换最新的JS语法,比如把ES6,ES7等语法转换为ES5语法,从而可以在大部分浏览器运行,执行过程分三步:分析,转化,生成代码。但是babel一些最新的api是不转化的,比如Object,assign,Promise等,所以可以使用插件babel-pilofill来引入对全部api的支持。Webpack*:npm install web...

2019-04-22 10:49:41 668

原创 钩子函数是什么

钩子函数在Win中钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息,事件进行过滤,访问正在正常情况下无法访问的消息。钩子的本质是一段用于处理系统消息的程序,通过系统调用,把它挂入系统。在Vue中在不同的时期会运行对应的生命周期钩子函数,给了用户在不同阶段添加自己的代码机会,比如before create,create,beforemount,...

2019-04-17 22:41:03 876

原创 前端——IndexedDB

本文仅梳理indexedDB基础概念以及对象,具体执行需要自行查阅apiIndexedDB概念HTML5离线存储数据的一种解决方案,NOSQL类型,浏览器提供的数据库,使用索引高效搜索数据进行读写和管理操作。特点键值对存储:内部采用对象仓库(Object Store)存放数据,所有类型都可以直接存入(包括javascript对象),每一个数据对象对应为唯一主键(不可重复)。异...

2019-03-26 21:47:49 9419 2

原创 前端——JavaScript基础

JavaScript语言Others轻量级语言和重量级语言:软件方法是一套编写计算机程序的规则和惯例,重量级语言有很多规则,惯例和文档,遵循需要花费学习时间。轻量级语言仅有很少的规则和惯例,遵守起来很容易。编译型语言和解释型语言:编译型语言:程序执行前需要编译成机器语言(如exe),多次运行时不需要重新翻译,直接使用编译结果就可以。优点执行效率高,占用资源少。缺点跨平台性差。(C,C...

2019-03-26 21:43:51 281

原创 Java用for循环输出菱形

思路是建立两个等边三角形,上面的循环5次下面的循环4次,合并成一个菱形。public static void main(String[] args) { for(int i = 1; i &lt;=4 ; i++){ for(int j = 1; j &lt;= 4; j++){ if(i + j &lt; 5 ){...

2018-08-14 22:46:09 1760

空空如也

空空如也

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

TA关注的人

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