- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 解决shiro在前后端分离项目结合jwt鉴权出现的第一次请求限制资源报错404问题
本篇博客主要解决shiro在前后端分离项目应用中,结合jwt进行鉴权时,出现的第一次请求接口报错404问题查询网上资料,大部分是前后端不分离的解决方法,或是只描述问题并不给出解决方法,本文针对前后端分离情况,使用了jwt鉴权后,第一次请求接口不执行shiro的AuthorizationInfo方法,给出一个简便的解决方法。...
2022-07-17 21:23:34
1192
3
原创 Git笔记(包含Github、Gitee)
Git教程Git 版本:v2.35.1Git概述Git是一个免费的、开源的分布式版本控制系统 ,可以快速高效地处理从小型到大型的各种项目Git易于学习,占地面积小,性能 极快 。 它具有廉价的本地 库 ,方便的暂存区域和多个工作流分支等特性。 其性能优于 Subversion、 CVS、 Perforce和 ClearCase等 版本控制 工具。官网地址:http://git-scm.com/版本控制版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
2022-02-26 22:21:30
465
原创 MybatisPlus常用依赖、配置、插件
前言白嫖容易,创作不易,若本篇配置对你产生了帮助,烦请点赞支持(关注一下更好)依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version></dependency><dependency>
2022-02-05 15:51:47
13877
1
原创 解决IDEA报错Failed to start bean ‘documentationPluginsBootstrapper‘
前言白嫖容易,创作不易,若以下方案解决了问题烦请点赞支持一下(关注一下更好)在使用IDEA做项目时使用了Swagger进行接口文档的处理。swagger 使用的版本为2.9.2,Springboot版本是2.6.2问题启动项目后发生了以下核心报错:Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException分析网上各种解决方案皆为降低sw
2022-02-05 15:16:29
2789
5
原创 操作系统课程设计——银行家算法改进实现
前言hnust操作系统课程设计,其他题目较为简单,可参考其他优秀博主的文章,这里仅介绍两道题简单 shell 命令行解释器的设计与实现银行家算法改进实现本篇为银行家算法改进实现白嫖容易,创作不易,若大家认为有用,学到东西,不妨点个赞博客原创,转载请注明出处附上另一篇博客链接:简单 shell 命令行解释器的设计与实现仅用于学习,如有侵权,请联系删除注意:程序中仍有不足点,例如并未实现多个进程同时请求时需要选择调度其中一个,有兴趣的同学可以自行更改实验题目将银行家算法改进为动态不断请
2021-12-20 16:23:15
3774
原创 操作系统课程设计——简单shell命令行解释器实现
前言hnust操作系统课程设计,其他题目较为简单,可参考其他优秀博主的文章,这里仅介绍两道题简单 shell 命令行解释器的设计与实现银行家算法改进实现本篇为简单 shell 命令行解释器的设计与实现白嫖容易,创作不易,若大家认为有用,学到东西,不妨点个赞博客原创,转载请注明出处附上另一篇博客链接:银行家算法改进实现[]:仅用于学习,如有侵权,请联系删除实验题目简单 shell 命令行解释器的设计与实现实验目的本实验主要目的在于进一步学会如何在 Linux 系统下使用进程相关的
2021-12-20 16:00:12
5784
7
原创 JavaSE进阶--网络编程(3)--UDP与URL
UDPUDP消息发送发送端package com.Sucker.lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;//不需要连接服务器public class UdpClientDemo01 { public static void main(String[] args
2021-08-18 11:27:19
141
原创 JavaSE进阶--网络编程(2)--TCP
TCPTCP实现聊天客户端连接服务器Socket发送消息package com.Sucker.lesson02;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;//客户端public class TcpClientDemo01 {
2021-08-18 11:25:44
67
原创 JavaSE进阶--网络编程(1)
网络编程网络编程概述**计算机网络:**计算机网络是指将 地理位置 不同的具有独立功能的 多台计算机及其外部设备,通过通信线路连接起来, 在网络操作系统,网络管理软件及 网络通信协议 的管理和协调下,实现资源共享和信息传递的计算机系统网络编程的目的无线电台…传播交流信息,数据交换,通信javaweb:网页编程 B/S网络编程:TCP/IP C/S网络通信的要素实现网络通信需要:通信双方的地址:ip端口号规则:网络通信的协议OSI七层网络模型TCP/IP四层
2021-08-18 11:23:32
91
原创 已解决:javax.net.ssl.SSLHandshakeException: No appropriate protocol 问题
记录:在进行邮件发送模拟时遇到的错误javax.mail.MessagingException: Could not connect to SMTP host: smtp.qq.com, port: 465; nested exception is: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)使用的是qq
2021-08-15 16:17:51
2231
2
原创 JavaSE进阶 多线程(9)--线程池
线程池背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能的影响很大思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具好处:提高相应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理(…)corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没有任务时最多保持多长时间后会终止
2021-08-15 00:14:58
109
原创 JavaSE进阶 多线程(8)--线程协作
线程协作线程通信应用场景:生产者和消费者问题假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件对于生产者,没有生产产品之前,要通知消费者等待,而生产了产品后,又需要马上
2021-08-14 18:57:21
91
原创 JavaSE进阶 多线程(7)--死锁、Lock锁
死锁多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有两个以上对象的锁时,就可能发生死锁问题例子:package com.Sucker.thread;//死锁:多个线程互相抱着对方需要的资源,然后形成僵持public class DeadLock { public static void main(String[] args) { Makeup g1 = new
2021-08-14 18:56:20
257
原创 JavaSE进阶 多线程(6)--线程同步
线程同步多个线程操作同一个资源并发同一个对象被多个线程同时操作线程同步处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用形成条件:队列+锁(每个对象都有一个锁) 安全性由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchro
2021-08-14 18:55:15
89
原创 JavaSE进阶 多线程(5)--线程优先级与守护线程
线程优先级(priority)Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行线程的优先级用数字来表示,范围从1~10Thread.MIN_PRIORITY = 1Thread.MAX_PRIORITY = 10Thread.NORM_PROIRITY = 5使用以下方式改变或获取优先级getPriority().setPriority(int xxx)优先级低只是意味着获得调度的概率低,并不是优先级低就不会被
2021-08-14 18:53:49
90
原创 JavaSE进阶 多线程(4)--线程状态
线程状态线程五大状态线程方法方法说明setPriority(int newPrioirty)更改线程的优先级static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠void join()等待该线程终止static void yield()暂停当前正在执行的线程对象,并执行其他线程void interrupt()中断线程,别用这个方式boolean isAlive()测试线程是否处于活动状态
2021-08-14 18:52:27
84
原创 JavaSE进阶 多线程(3)--Lambda表达式与静态代理
Lamda表达式避免匿名内部类定义过多其实质属于函数式编程的概念可以让代码变得简洁理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在函数式接口的定义:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口public interface Runnable{ public abstract void run();}对于函数式接口,我们可以通过lambda表达式来创建该接口的对象不断简化,直到用lambd
2021-08-14 18:50:28
101
原创 JavaSE进阶 多线程(2)--线程创建
线程创建三种创建方式Thread class —> 继承Thread类(重点)Runnable接口 —> 实现Runnable接口(重点)Callable接口 —> 实现Callable接口(现阶段了解)Thread创建一个新的执行线程有两种方法,一个是将一个类声明为Thread的子类。这个子类应该重写run类的方法,编写线程执行体。创建线程对象,调用start方法启动线程交替执行,同时执行package com.Sucker.Demo01;//创建线程方法一:继承
2021-08-14 18:46:42
102
原创 JavaSE进阶 多线程(1)--线程、进程、多线程
多线程线程、进程、多线程普通方法调用和多线程主线程调用run方法,只有主线程一条路径主线程调用start(),子线程执行run方法,多条执行路径,主线程和子线程并行交替执行程序.进程.线程一个进程可以有多个线程,如视频中同时听到声音、看图像、看弹幕等Process与Thread说起进程,就不得不说程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位通常一个进程中可以包含若干个线程,当然
2021-08-14 18:45:19
110
原创 Java 注解与反射--反射详解
反射静态 VS 动态语言动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时,代码可以根据某些条件改变自身结构主要动态语言:Object-C、C#、JavaScript、PHP、Python等静态语言与动态语言相对应的,运行时结构不可变的语言就是动态语言,如Java、C、C++Java不是动态语言,但Java可以称之为“准动态语言”。即Java有一定的动态性,我们可以利用反射机制获得类似动态语言
2021-08-14 18:38:01
155
原创 Java 注解与反射--注解
注解与反射注解注解概念(Annotation)Annotation是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注释(comment)没有区别)可以被其他程序(比如:编译器)读取Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SupperessWarnings(value=“unchecked”)Annotation在哪里使用?可以附加在package,class,met
2021-08-14 18:35:04
55
原创 MySQL数据库基础--权限管理与备份、规范数据库设计详解
权限管理与备份用户管理SQLyog 可视化管理注意:主机选择的是什么连接的时候就是什么SQL命令操作用户表:mysql.user本质:对这张表进行增删改查-- 创建用户 create user 用户名 identified by '密码'CREATE USER Sucker IDENTIFIED BY '123456' -- 创建一个用户并定义密码-- 修改密码(修改当前用户密码)SET PASSWORD = PASSWORD('123456')-- 修改密码(修改指定
2021-07-24 23:08:28
223
原创 MySQL数据库基础--索引详解
索引索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。索引的分类主键索引 (PRIMARY KEY)唯一的标识,主键不可重复,只能有一个列作为主键唯一索引 (UNIQUE KEY)避免一列中出现重复的行数据,唯一索引可以重复,多个列都可以标识为唯一索引常规索引 (KEY / INDEX)默认的。index或key关键字设置全文索引 (FullText)在特定的数据
2021-07-24 22:32:01
49
原创 MySQL数据库详解--事务详解
事务什么是事务要么都成功,要么都失败将一组SQL放在一个批次中去执行参考链接:(14条消息) 事务ACID理解_dengjili的专栏-CSDN博客_acid事务原则:ACID 原则 原子性,一致性,隔离性,持久性 (脏读、幻读…)原子性(Atomicity):要么都成功,要么都失败一致性(Consistency):事务前后的数据完整性要保证一致:例如转账,前后总量不变隔离性(Isolation):事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的
2021-07-24 22:29:41
33
原创 MySQL数据库基础--MySQL函数详解
MySQL函数官网:https://dev.myql.com/doc/refman/5.7/en/func-op-summary-ref.heml常用函数-- =========== 常用函数 =============-- 数学运算SELECT ABS(-8) -- 绝对值SELECT CEILING(9.4) -- 向上取整SELECT FLOOR(9.4) -- 向下取整SELECT RAND() -- 返回一个0~1之间的随机数SELECT SIGN(0) -- 判断一
2021-07-24 22:25:50
153
原创 MySQL数据库基础--DQL查询数据详解
DQL查询数据(最重点)(Data Query LANGUAGE : 数据查询语言)所有的查询操作都用它 Select简单的查询,复杂的查询它都能做数据库中最核心的语言使用频率最高-- SELECT 语法SELECT[ALL|DISTINCT|DISTINCTROW|TOP]{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}FROM tableexpression[,…][IN external
2021-07-24 22:23:09
136
原创 MySQL数据库基础--数据管理
MySQL数据管理外键(了解即可)方式一:在创建表的时候,增加约束(较为复杂)CREATE TABLE `grade`( `gradeid` int(10) not null auto_increment comment '年级id', `gradename` varchar(50) not null comment '年级名称', primary key(`gradeid`))engine=INNODB default charset=utf8-- 学生表的 gra
2021-07-21 13:58:23
50
原创 MySQL数据库基础--操作数据库
操作数据库操作数据库 -> 操作数据库中的表 -> 操作数据库中表的数据mysql关键字不区分大小写操作数据库中括号代表可选,大括号代表必选如果表名或者字段名是一个关键字,则需要带上``创建数据库CREATE DATABASE [IF NOT EXISTS] westos删除数据库DROP DATABASE [IF EXISTS] westos使用数据库use school查看数据库SHOW DATABASES -- 查看所有数据库
2021-07-21 13:56:29
78
原创 java集合框架详解
## 集合集合的概念:对对象的容器,实现了对对象常用的操作,类似数组功能与数组区别数组长度固定,集合长度不固定数组可以存储基本类型和引用类型,集合只能存储引用类型位置:java.util.*Collection体系集合Collection体系Collection接口特点:代表一组任意类型的对象,无序,无下标,不能重复方法:boolean add(Object obj) //添加一个对象boolean addAll(Collection c) //将
2021-07-15 16:02:18
70
原创 MySQL5.7版本压缩包安装详细流程
MySQL数据库什么是数据库数据库(DB,DataBase)概念:数据仓库,软件,安装在操作系统(windows,linux,mac…)之上!作用:存储数据,管理数据数据库分类关系型数据库:(SQL)MySQL,Oracle,Sql Server,DB2,SQLite通过表与表之间,行与列之间的关系进行数据存储非关系型数据库:(NoSQL)Not OnlyRedis,MongDB非关系型数据库,对象存储,通过对象自身的属性来决定DBMS(数据库管理系统)数据库管
2021-07-13 12:46:59
132
原创 Java IO流详解
IO流流的概念 内存与存储设备之间传输数据的通道 数据借助流传输 流的分类 按方向分: 输入流:将存储设备中的内容读入到内存中 输出流:将内存中的内容写入到存储设备中 按单位: 字节流:以字节为单位,可以读写所有数据 字符流:以字符为单位,只能读写文本数据 按功能: 节点流:具有实际传输数据的读写功能 过滤流:在节点流的基础上增强功能 字节流抽象类字节流的
2021-07-12 22:26:50
138
原创 Java常用类详解笔记
Object类基本概念 Object类又称超类、基类,所有类的直接或间接父类,位于继承树的最顶层 Object类中所定义的方法,是所有对象都具备的方法 Object类型可以存储任何对象 作为参数可以接收任何对象 作为返回值可以返回任何对象 getClass()方法 返回引用中存储的实际对象类型 通常用于判断两个引用中实际存储对象类型是否一致 返回的是Class类 package com.Sucker...
2021-05-31 14:36:32
110
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人