自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java.lang.NoClassDefFoundError: sun/misc/BASE64Decoder解决思路IDEA

解决思路1、jdk版本问题一定是jdk1.8以上的版本才会存在这类问题这个问题很好排查和解决,就是看自己的Project Structure、Java Compiler和jdk有关的地方是否都改为1.8及以下2、有多个jdk环境上图中的jar包就是BASE64Encoder所在的jar包,我们在修改了jdk情况下仍然报错,就将这个jar包添加到环境变量中,在下图的变量名中添加rt.jar,就可以解决上述问题,针对一下idea版本2019.2.4,可能是idea的问题.;%JAVA_HOME%

2022-04-13 20:55:43 4387

原创 MySQL索引优化(一)性能分析-explain

一、什么情况下需要创建索引主键自动建立唯一索引频繁作为查询条件的字段应该创建索引查询中与其它表关联的字段,外键关系建立索引频繁更新的字段不适合创建索引,每次更新不单单是更新了记录还会更新索引Where条件里用不到的字段不创建索引单键/组合索引的选择问题,who? (在高并发下倾向创建组合索引)查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度查询中统计或者分组字段二、什么情况下不要创建索引表记录太少经常增删改查的表数据重复且分布平均的表字段,因此应该只为最经常查询和最

2020-08-05 00:08:53 185

原创 端口占用,杀死线程,windows

先以管理员模式运行cmd查找占用端口netstat -aon|findstr 端口号20888就是当前进程号杀死进程taskkill -PID 进程号 -Ftaskkill -PID 20888 -F

2020-07-29 11:31:32 332

原创 已排序数组删除重复元素

删除排序数组中的重复项:思路可以转变为:前提数组有序->可以理解为相邻元素间要不相同,要不不同要求删除重复元素,实际上就是将不重复的元素移到数组的左侧。假如一个有序数组为[1,1,1,2,2,3,4,5]使用双指针法,分别为p和q在循环遍历过程中,第一轮可以将数组表示为p在1的位置上q在第二个2的位置上,随后p+1并将2的值赋给p+1[1,2,1,2,2,3,4,5]第二轮[1,2,3,2,2,3,4,5]第三轮[1,2,3,4,2,3,4,5]第四轮[1,2,3,4,5

2020-07-24 14:41:26 374

原创 Shiro学习(4)整合Redis统一会话管理

一、shiro的会话管理SessionManager 会话管理器:管理所有Subject的session创建、删除、失效、验证、维护等工作。由SecurityManager管理,可以把SessionManager看作为接口。Shiro提供了三种默认实现:DefaultSessionManager:用于JavaSE环境ServletContainerSessionManager(默认存放位置HttpSession):用于Web环境,直接使用servlet容器的会话。DefaultWebSessi

2020-07-13 22:08:11 767

原创 Shiro学习(3)shiroConfig配置类

一、Shiro配置类创建流程创建shiro配置函数ShiroConfig可以分为四大块:1、创建realm2、创建安全管理器3、配置shiro过滤器工厂4、开启对shiro注解的支持1、创建Realm可以直接创建CustonRealm这个对象,也可以通过Realm创建。 @Bean public Realm getRealm(){ CustonRealm custonRealm = new CustonRealm(); return custonRea

2020-07-13 11:35:04 6223

原创 shiro学习(2)自定义Realm及测试

自定义Realm分为以下几步骤:1、继承AuthorizingRealm,并实现其中的重写方法:setName,doGetAuthorizationInfo,doGetAuthenticationInfo2、认证根据用户名密码登录,将用户数据保存(安全数据)主要目的:比较用户名密码是否和数据库一致将安全数据存入shiro保管参数:AuthenticationToken登录构造的usernamepasswordtoken实现步骤如下:1、构造usernamepasswordtoken2、获取

2020-07-12 18:37:21 329

原创 shiro学习(1)基础入门:验证用户登录、用户权限

Shiro内部结构剖析shiro内部结构图1、认证流程(也就是登录)Subject对象传入Security Manager并将内容交给认证器 Authenticator ,但认证器不做任何处理,因为在这时认证器不了解登录信息(数据库,用户名密码,认证规则等),正真进行逻辑判断的地方Realms(从数据库获取数据)从中可以获取很多很多的认证规则。2、Authrizer 授权器:判断Subject是否有权限进行相关操作,授权器同理,需要使用Realms进行权限信息判断。3、SessionManag

2020-07-12 16:54:32 542

原创 Redis学习(5)自定义RedisTemplate、Redis的发布订阅

自定义RedisTemplate配置,可直接使用。package com.wj.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.context.annot

2020-07-04 12:57:50 254

原创 Redis学习(4)Jedis、Springboot整合

1、通过jedis实现事务控制总体流程和redis命令行操作相似,一下不做赘述,有需要可看Redis学习(3)import com.alibaba.fastjson.JSONObject;import redis.clients.jedis.Jedis;import redis.clients.jedis.Transaction;public class testPing { public static void main(String[] args) { Jedis j

2020-07-04 12:11:01 140

原创 idea基于maven创建新项目需要修改的内容

不修改会造成语法条件不支持而报错,此处记录下修改内容!!!

2020-07-04 10:24:38 135

原创 Redis学习(3)redis事务、乐观锁

1、redis事务Redis单条命令时保证原子性,但事务不保证原子性Redis事务没有隔离级别的概念,只有发起执行命令的时候才会执行1.1正常执行事务multi==>开启事务…输入相关执行代码exec==>执行事务discard==>放弃、取消事务(事务队列中的命令都不会被执行)多条命令入栈可保证同时成功同时失败如果命令出错,所有入队指令都不会执行如果运行时出错,但没有语法错误,那么其他入队命令是可以正常执行的==>所以事务不保证原子性1.2 监控悲观锁:

2020-07-03 19:19:13 122

原创 redis学习(2)----geospatial、Hyperloglog、Bitmaps

Redis三种特殊数据类型1、geospatial地理位置该功能可以推算地理位置信息,两地之间的距离只有6个命令:GEOADD 添加地理位置,可通过java直接导入! 参数 key 值(经度 纬度 名称) geoadd china:city 116.40 39.90 beijingeoadd china:city 121.47 31.23 shanghaigeoadd china:city 160.50 29.53 chongqing 114.05 22.52 shenzhengeo

2020-07-03 17:52:35 205

原创 shiro整合springboot

shiro整合流程示意图常见过滤器shiro注解@RequiresRoles(value={"admin","user"})//同时具有相同角色@RequiresPermissions("user:update:*")//判断权限字符串

2020-07-03 11:14:30 193

原创 redis(docker)学习、操作(1)--五大基础类型--持续更新

通过linux命令行操作redis数据库1 docker exec -i -t 容器id /bin/bash2 redis-cli3 操作前缀变为127.0.0.1:6379>即进入redis数据库常用redis命令:清除当前数据库: flushdb清除全部数据库内容: flushall切换数据库: select 数据库序号 select 3切换到3号数据库查看DB大小: DBSIZE查看数据库所有key: keys *插入key: set name zs

2020-07-03 11:13:39 133

原创 centos7使用docker配置nginx服务器,容器无法运行

nginx正常启动能访问到nginx首页,但通过挂载配置文件时容器创建成功却无法启动。docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /data/nginx/conf.d:/etc/nginx/conf.d

2020-07-02 10:28:29 967

原创 Shiro realm自定义类MD5加密加盐加哈希散列

1、Shrio使用md5、随机salt、hash散列导入shiro依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.5.3</version></dependency>在shiro中有一个函数可以自动生成MD5+salt+hash

2020-06-26 18:24:10 351

原创 durid配置内容及使用

一、druid yml编写对durid的相关内容的配置。需导入相关依赖:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency><dependency> <groupId>com.ali

2020-06-20 15:58:02 800

原创 vue-cli与springboot直接打包部署服务器流程

vue-cli与springboot直接整合部署的坑默认读者已解决前后端跨域问题,项目可以通过maven打成jar包1.vue-cli打包(1)打包部署服务器之前,记得把项目中axios请求访问路径,从本地改为服务器ip地址(本人就被坑在这里了),谷歌浏览器报 connection refused的错(2)在命令行框,跳转到根目录路径输入:npm run build,对vue进行打包,生成的dist文件夹,即为打包好的前端静态资源2.springboot打包(1)将该dist文件夹复制到spri

2020-06-17 21:00:43 777

空空如也

空空如也

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

TA关注的人

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