自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springsecurity basic 认证

文章目录概念实例代码:概念Basic Access Authentication scheme是在HTTP1.0提出的认证方法,它是一种基于challenge/response的认证模式,针对特定的realm需要提供用户名和密码认证后才可访问,其中密码使用明文传输。Basic 认证是HTTP 中非常简单的认证方式,因为简单,所以不是很安全,不过仍然非常常用。Basic模式认证过程如下:①浏览器发送http报文请求一个受保护的资源。②服务端的web容器将http响应报文的响应码设为401,响应头部

2020-07-06 11:32:34 1510 1

原创 java编程思想——多态

文章目录1. Java中的多态性理解java编程思想——Java中的动态、静态绑定(前期、后期绑定)2.向上转型和向下转型一.向上转型二.向下转型参考资料:1. Java中的多态性理解Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定—它会自动发生。java编程思想——Java中的动态、静态绑定(前期、后期绑定)final方法会使编译器生成更有效的代码

2020-07-06 09:13:56 427

原创 java编程思想——Java中的动态、静态绑定(前期、后期绑定)

文章目录概念:JAVA动态绑定的内部实现机制总结:java编程思想——Java中子类是否可以继承父类的static变量和方法而呈现多态特性参考资料:概念:方法可以在沿着继承链的多个类中实现,子类可以重写父类的方法。JVM决定运行时调用哪个方法。这就是动态绑定。1、将一个方法调用同一个方法主体关联起来被称作绑定。2、若程序在执行前进行绑定,由编译器和链接程序实现,叫做前期绑定。C语言中只有一种方法调用,就是前期绑定。3、在运行时根据对象的类型进行绑定,叫做后期绑定,也叫动态绑定或运行时绑定,反之叫做

2020-07-02 17:02:06 941

原创 java编程思想——Java中子类是否可以继承父类的static变量和方法而呈现多态特性

文章目录静态方法:小结:参考资料:静态方法:通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制:它们仅能调用其他的static 方法。它们只能访问static数据。它们不能以任何方式引用this 或super。无论是static修饰的变量,还是static修饰的方法,我们都知道他们是属于类本身的,不是属于某一个对象的,当声明一个对象时,并不产生static变量和方法的拷贝。也就是说,用static修

2020-07-02 16:44:52 488

原创 java编程思想——抽象类和接口的详解(实例)

文章目录一、抽象类的概念和作用1.抽象的定义2.抽象类3.抽象方法的特点4.抽象类的特点抽象类和接口为什么不能被实例化的原因二、理解抽象类和接口java类为什么是单继承?参考资料:一、抽象类的概念和作用1.抽象的定义抽象是把多个事物的共性的内容抽取出来,本质就是把我们关注的内容抽取出来。(比如:宝马、奔驰都属于汽车,汽车是抽象出来的概念)2.抽象类Java中可以定义没有方法体的方法,该方法由其子类来具体的实现。该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类。3.抽象方

2020-07-02 11:49:12 1056

原创 java编程思想——抽象类和接口(java类为什么是单继承)

文章目录接口是常量值和方法定义的集合。接口是一种特殊的抽象类。java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。注意:1)一个类如果实现了一个接口,则要实现该接口的

2020-07-02 11:42:30 583

原创 java编程思想——抽象类和接口(抽象类和接口不能实例化原因)

文章目录java的接口为什么不能实例化呢?总结:java的接口为什么不能实例化呢?首先,我们需要明白实例化的含义。实例化实际意义是在jvm的堆中开辟出一块内存空间,比如Student s = new Student();此处声明Student对象s,并且实例化一个Student对象,实则是在堆中开辟出一块空间来存放Student对象,s则是指向这块空间,也就是内存中的一块地址。这块地址中所存放的值就是我们这个Student对象的一些属性。具体类所占用的内存空间(也就是堆里的一块地址)所存放的值是类的成

2020-07-02 10:31:34 2712

原创 计算机组成原理——计算篇

文章目录计算机组成原理 —— 计算篇进制运算的基础知识二进制数据的表示方法a.有符号数和无符号数b.二进制的补码表示法引入目的:举个小例子计算题:c.二进制的反码表示法引入目的:举个小例子计算题:掌握补码计算的方法,以及通过补码求原码,然后求真值的方法。d.小数的二进制补码表示二进制数据的运算a.定点数与浮点数b.定点数的加减法运算c.浮点数的加减法运算d.浮点数的乘除法运算计算机组成原理 ——...

2020-04-02 09:49:00 4463

原创 计算机组成原理——组成篇

文章目录计算机组成原理 —— 组成篇1. 计算机的总线与I/O设备a.计算机的总线(Bus)1、为什么要使用总线?2、总线的两大基本特征是什么?3、总线分为几类?分类:4、系统总线按照传输信息的不同,分成哪几类?是单向的,还是双向的?5、什么是总线周期,分为哪几个阶段?b.常见的输入输出设备c.输入输出接口的通用设计d.CPU与I/O设备的通信程序中断:CPU响应中断的时机:直接存储器访问(DMA...

2020-03-31 15:37:31 2326

原创 计算机组成原理——概述篇

文章目录计算机组成原理 —— 概述篇1.计算机的发展历史2.计算机的分类3.计算机的体系与结构冯·诺伊曼体系:现代计算机的结构:4.计算机的层次5.计算机的层次与编程语言6.计算机的计算单位网络速度CPU速度参考资料:计算机组成原理 —— 概述篇1.计算机的发展历史第一阶段(1946-1957):电子管计算机 特点:集成度低,体积大,功耗高,运行速度慢,操作复杂。第二阶段(1957-196...

2020-03-30 16:16:37 1156

原创 jvm——第一次FullGC优化实战

第一步:我首先打开了jvisualvm.exe,在Visual GC 里面发现了今天要讨论的重点:GC 第二部:我在项目启动参数里面配置了:-XX:+PrintGCApplicationStoppedTime 打印垃圾回收期间程序暂停的时间-XX:+PrintGCDetails 打印GC详...

2020-03-25 09:29:38 452

原创 jvm——JVM 垃圾回收器分类

文章目录新生代串行收集器清单 1. 一次新生代串行收集器的工作输出日志老年代串行收集器清单 2. 一次老年代串行收集器的工作输出日志清单 3. 一次串并行收集器混合使用的工作输出日志清单 4. 一次老年代并行回收器的工作输出日志并行收集器清单 5. 设置参数-XX:+UseParNewGC 的输出日志清单 6. 设置参数-XX:+UseConcMarkSweepGC 的输出日志清单 7. 设置为 ...

2020-03-24 17:26:36 614

原创 jvm调优——垃圾收集基础

文章目录引用计数法 (Reference Counting)标记-清除算法 (Mark-Sweep)复制算法 (Copying)标记-压缩算法 (Mark-Compact)增量算法 (Incremental Collecting)分代 (Generational Collecting)Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自...

2020-03-24 16:33:07 125

原创 JVM调优——如何合理的规划jvm性能调优

文章目录一、性能调优的层次二、jvm调优流程1、性能定义2、性能调优原则3、性能调优流程三、确定内存占用1、运行阶段2、jvm内存分配&参数3、计算活跃数据大小四、延迟调优1、系统延迟需求2、优化新生代的大小3、优化老年代的大小五、吞吐量调优六、最后参考资料:JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响。但也有一些基础的理论和原则,理解这些理论并遵循...

2020-03-23 17:45:17 542

原创 数据结构——红黑树

文章目录1 引言2 定义定义节点名称:3 性质4 2-3-4树和红黑树的等价关系5 查找6 插入6.1(情景3) 插入节点的父节点为黑色6.2(情景4) 插入节点的父节点为红色,叔叔节点为黑色6.2.1(情景4.2.1) 父节点P为G左孩子,插入位置为左孩子6.2.2(情景4.2.2) 父节点P为G左孩子,插入位置为右孩子6.2.3(情景4.3.1) 父节点P为G右孩子,插入位置为右孩子6.2.4...

2020-02-06 14:39:02 886

原创 数据结构——2-3-4树

文章目录1 引言2 2-3-4树3 定义4 查找5 插入5.1 非4-节点插入5.2 4-节点插入5.3 父节点分裂6 删除6.1 删除的节点不为2-节点6.2 删除非叶子节点6.3 删除的叶子节点为2-节点7 结语推荐阅读1 引言在上一篇文章中介绍了2-3树的定义以及插入删除操作。本篇文章将在2-3树的基础上更进一步,介绍比2-3树更为复杂的数据结构2-3-4树。之所以介绍2-3-4树是因为...

2020-01-22 17:27:27 588

原创 数据结构——2-3树

文章目录1 前言2 2-3树定义2-3树的定义3 2-3树性质性质:4 2-3树查找5 2-3树插入5.1 插入5.2 向2-节点中插入新节点图解过程:5.3 向一棵只含3-节点的树中插入新节点图解过程:5.4 向一个父节点为2-节点的3-节点中插入新节点图解过程:5.5 向一个父节点为3-节点的3-节点中插入新节点图解过程:5.6 分裂根节点图解过程:6 2-3树删除6.1 删除非叶子节点图解过...

2020-01-22 14:40:40 1318

原创 数据结构——平衡二叉树(AVL树)(java版)

文章目录1 引言2 为什么要有树结构?1 引言二叉树是数据结构中的重点与难点,也是应用较为广泛的一类数据结构。二叉树的基础知识在之前的数据结构与算法——二叉树基础中已经详细介绍。本篇文章将着重介绍两类二叉树,二叉搜索树和平衡二叉树。2 为什么要有树结构?...

2020-01-21 10:02:05 1388

原创 数据结构——二叉树基础

文章目录1 前言2 概念2.1 节点2.2 树节点3 树3.1 定义3.2 节点的度3.3 节点关系3.4 节点层次3.5 树的深度4 二叉树4.1 定义4.2 二叉树特点4.3 二叉树性质4.4 斜树4.5 满二叉树4.6 完全二叉树4.7 二叉树的存储结构1 前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。本文将详细讲述树的基本概念以及树构造和遍历,为后续深入学习做好基础。2...

2020-01-17 16:09:23 555

原创 数据结构——java栈+队列实现简单的停车场管理问题

文章目录源码地址:重要问题描述要求:问题分析代码实现:ParkingLotManagementSystem.class测试:车辆停在停车场离开:车辆停在便道离开:源码地址:源码地址:https://gitee.com/zenghua3300/Data-Structures喜欢的小伙伴麻烦帮点一个star重要本文设计和代码是基于 以下博客(请点击)数据结构——栈的java实现(一)-使...

2020-01-10 16:14:20 2406

原创 数据结构——队列的java实现(三)-使用单向链表以及实现

文章目录队列的链式存储结构及实现代码实现:Queue.classLinkedListQueue.classMain.class测试结果:队列的链式存储结构及实现定义:队列的链式存储结构,其实就是线性表的单链表,只不过,它只能尾进头出。我们把它简称为链队列。队头指针指向链队列的头结点,队尾指针指向链队列的终端节点。当队列为空时,front和rear都指向头结点,如图:队列的链式存储结构-...

2020-01-08 18:15:26 416

原创 数据结构——队列的java实现(二)-循环队列

文章目录数组队列存在的问题循环队列:代码实现:Queue.classLoopQueue.classMain.class测试结果循环队列时间复杂度:线性表有顺序存储结构与链式存储结构,栈是一种特殊的线性表,所以有两种数据的存储方式。同样,队列作为一种特殊的线性表,也同样存在两种数据的存储方式。定义:我们把队列这种头尾相接的顺序存储结构称为循环队列。数组队列存在的问题如果前面节点删除了数据,就...

2020-01-08 17:36:27 332

原创 数据结构——队列的java实现(一)-使用顺序存储结构(数组)以及实现

文章目录队列的定义:数组队列的实现:代码实现:Queue.classArrayQueue.class测试结果:数组队列的时间复杂度:队列的定义:队列(Queue):是另一种被限制过的线性表,它是固定一端来插入数据元素,另一端只删除元素,也就是说队列中的元素移动是固定的,就像超市收银台一样,一边是进的,一边是出的,而且是先进入的首先获得服务的。队列是一个特殊的线性表,它只允许在表的前端(...

2020-01-08 16:55:51 511

原创 数据结构——栈的java实现(二)-使用单向链表以及实现

文章目录Stack.classLinkedList.classLinkedListStack.class测试结果:栈来自于线性表,因此栈可以使用顺序表的方式来实现也可以使用链表的方式来实现。本文是根据单向链表来实现栈的使用的语言是Java,上一篇文章中使用顺序存储(数组)来实现栈Stack.classpackage code.ArrayCode;public interface S...

2020-01-08 11:28:59 608

原创 数据结构——栈的java实现(一)-使用顺序存储结构(数组)以及实现

文章目录一、线性表的定义二、顺序存储结构三、栈的定义代码:Array.classArrayStack.classStack.class测试:测试结果:总结:一、线性表的定义线性表是同一类型数据的一个有限序列,线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的顺序存储要求地址空间是连续的,地址必须一个接一个,不能中断。如下图为顺序...

2020-01-07 17:06:15 1181 1

原创 java HashMap插入重复Key值问题

要在HashMap中插入重复的值,首先需要弄清楚HashMap里面是怎么存放元素的。put方法Map里面存放的每一个元素都是key-value这样的键值对,而且都是通过put方法进行添加的,而且相同的key在Map中只会有一个与之关联的value存在。put方法在Map中的定义如下。V put(K key, V value);put()方法实现:首先hash(key)得到key的hash...

2019-12-09 08:55:34 11039

原创 Security结束语

文章目录结束语:结束语:SpringSecurity终于写完了,满打满算写了23篇,博主也还在学习阶段,跟着视频学完一篇之后,本以为写总结会很快,没想到写总结也写了一个多月,一开始几篇文章写得不太好,希望大家谅解,也请大家不要吝啬,可以提出自己的想法。在写认证,授权,社交认证,OAth等一些比较重要的文章时,发现自己跟着敲代码的时候挺轻松的,但一源码分析过程的时候就很容易晕,只能不停地看,...

2019-12-06 16:32:59 155

原创 SpringSecurity 实战项目(四)——Redis+解决Session共享问题

文章目录源码地址:security认证过程:security授权过程:JWT全面解读、详细使用步骤:重要一、分析redis依赖二、 修改1. 修改CustomUserService2. 修改JWTAuthenticationFilter3. 创建JwtUserDto4. 修改UserDaoMapper.xml,实体对象变成JwtUser5. 创建RedisService6. 创建ImoocAuth...

2019-12-06 11:38:24 2172

原创 springboot关于拦截器或者过滤器无法注入bean的问题

文章目录前言第一种第二种第三种参考资料:前言楼主在过滤器中想调用redis,但是一直注入null,终于解决了这个问题,虽然方式不是很高明,但亲测第三种方式有效很多同学会有在过滤器或者拦截中无法注入bean的问题比如在拦截器中调用dao层失败这其实也是springboot的一个坑本篇为大家讲解三种注入bean的方法相信大家看完以后会对IOC容器有一个提升第一种第一种方法我们以拦...

2019-12-05 15:09:49 1753 2

原创 JWT全面解读、详细使用步骤

文章目录1.跨域身份验证2. JWT的原则3. JWT的数据结构4. JWT的用法5. JWT问题和趋势JWT基本使用概念介绍JWT消息构成头部playload标准中注册的声明 (建议但不强制使用)自定义数据签名signatureJJWT新建JwtConstants 类,用于token的chaims保存有效信息字段名新建JwtInfo 类,用于token的chaims保存有效信息新建JwtToke...

2019-12-04 17:33:20 1026

原创 SpringSecurity 实战项目(三)——动态管理Restful风格权限+JWT

文章目录源码地址:security认证过程:security授权过程:重要一、分析配置拦截器JWTAuthenticationFilterJWTAuthorizationFilter配置SpringSecurityJWT工具类二、 修改1. 修改permission表2. 实现 GrantedAuthority 接口3.修改 MyAccessDecisionManager 的decide 方法4....

2019-12-04 16:50:15 1693

原创 SpringSecurity 实战项目(二)

文章目录源码地址:spring security的简单原理:security认证过程:security授权过程:重要目录结构如下:1:数据库表设计2:权限表的业务代码2.1 java beanPermission.java2.2 dao 层PermissionDao.javaPermissionDaoMapper.xml3:springSecurity 配置修改3.1 修改 WebSecurity...

2019-12-02 19:25:09 1161

原创 SpringSecurity 实战项目(一)

文章目录SpringSecurity 验证帐号密码security认证过程:[《Spring Security认证过程》](https://blog.csdn.net/weixin_38927257/article/details/102960752)本文使用springboot+mybatis+SpringSecurity 实现用户权限数据库管理实现用户和角色用数据库存储,而资源(url)和...

2019-12-02 14:29:34 5470

原创 Java AtomicInteger的用法

文章目录1、原子类2、AtomicInteger的基本方法getAndAdd()方法与AddAndGet方法getAndDecrement()和DecrementAndGet()方法3、使用AtomicInteger4、使用普通Integer5、如果在inc方法前面加个synchronized也能是线程安全的;synchronized的使用说明:6、从上面的例子中我们可以看出java的关键域有3个...

2019-11-26 18:01:11 451

原创 Spring Security 基于表达式的权限控制

文章目录前言常见的表达式URL安全表达式在Web安全表达式中引用beanRbacServiceImplMethod安全表达式使用method注解PreAuthorizePostAuthorizePreAuthorize 针对参数进行过滤PostFilter 针对返回结果进行过滤前言spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布...

2019-11-22 20:31:41 605

原创 Spring Security OAuth2基于JWT实现单点登录

文章目录引言Security OAuth2 单点登录流程示意图Security OAuth2 实现单点登录项目结构sso-server认证服务器security配置SsoUserDetailsServiceapplication.ymlsso-client1SsoClient1Applicationapplication.ymlsso-client2同sso-client1一致引言单点登录...

2019-11-22 09:59:11 1422

原创 Spring Security OAuth2整合JWT

文章目录引言JWT的三个特点自包含:密签:签名:加密:可扩展:JWT组成HeaderClaims (Payload)SignatureJWT流程示意图Spring Security Oauth2 实现JWT配置TokenStoreConfig用于存储TokenMerryyouJwtTokenEnhancer配置认证服务器配置资源服务器解析扩展的Token测试方法刷新令牌:引言Json we...

2019-11-22 09:23:39 1880 1

原创 初识Spring Security OAuth2

文章目录SpringSecurityOAuth来开发认证服务器和资源服务器SpringSecurityOAuth其实已经帮我们默认实现了以下一些东西:项目准备1. 添加依赖2. 配置认证服务器登录并授权获取token3. 配置资源服务器带着token去访问资源spring security oauth2 登录核心源码TokenEndpointClientDetailsTokenRequestCom...

2019-11-21 19:11:43 1224

原创 Spring Security授权过程

文章目录前言类图源码分析UsernamePasswordAuthenticationFilterAbstractAuthenticationProcessingFilterUsernamePasswordAuthenticationFilterAnonymousAuthenticationFilterExceptionTranslationFilterFilterSecurityIntercept...

2019-11-20 18:55:49 1208

原创 Spring Social社交登录源码解析

我们使用Spring Social已经实现了国内最常用的QQ和微信社交登录。本章我们来简单分析一下Spring Social在社交登录的过程中做了哪些事情?(微博社交登录也已经实现,由于已经连续两篇介绍社交登录,所以不在单开一章节描述)

2019-11-20 15:01:45 402

空空如也

空空如也

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

TA关注的人

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