自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Hotspot中的垃圾回收

安全点与安全区域hotspot中进行垃圾回收的根节点枚举这一步时必须要求暂停所有用户线程,设置了一些特定位置表示当程序运行到这一步时,可以暂停来进行垃圾回收。同时程序也是在安全点来记录OopMap。HotSpot使用主动式抢断来中断线程,即在需要进行垃圾回收时设置一个标志位,程序运行时回查询这个标志,当标志位设置位真时就会运行到最近的安全点主动中断。查询标志位的时机除了所有安全点的位置还包括创建对象和其他需要在堆上分配内存的地方(检查是否要发生垃圾收集,避免内存不足)查询标志位的具体操作为:使用tes

2020-10-18 16:12:09 140

原创 java垃圾收集器基本知识

判读对象是否存活引用计数法:为每个对象添加一个引用计数器,每此被引用时计数器加一,解除引用计数器减一,计数器为零时确定不可能被使用。引用计数法实现简单高效,但简单的使用该方法无法解决一些问题。例如:当两个对象互相引用时计数器就永远无法归零可达分析算法:将对象作为一个图的节点,对象间的引用为图的边,确定一些被称作**“GC ROOTS”**的根节点作为起始,遍历整个图,所有不可达的节点的对象视为以死亡的对象。主流的商用程序语言的都是通过可达性分析来判断对象是否存活。引用:JDK1.2以后java中

2020-10-15 16:49:17 114

原创 HotSpot虚拟机中的对象

对象的创建开始创建在虚拟机遇见字节码的new指令时,会根据指令的参数定位到常量池的中的符号引用,并检查这个符号所代表的类是否被加载过。如果未被加载则先执行类的加载过程。分配空间分配空间的方式取决于垃圾收集器是否具有空间压缩整理能力。如果垃圾收集器具有空间压缩整理能力,则java堆中的可用空间是连续的,只需要挪动标记已使用空间界限的指针,这种方法叫做“指针碰撞”。如果垃圾收集器不具备空间压缩整理能力。例如基于标记清除算法的CMS收集器,大多是情况下就无法使用“指针碰撞”,就需要虚拟机维护一

2020-10-13 12:09:26 106

原创 java内存区域

程序计数器可以看作当前线程所执行的字节码的行号指示器,它是用于控制程序流的指示器,每个线程都有一个独立的程序计数器。如果程序正在执行java方法则程序计数器中的值为执行的字节码指令的地址,执行本地方法则值为空,所占内存空间较小,且在《Java虚拟机规范》没有任何OutOfMemoryError的情况。java虚拟机栈方法被执行的时候,java虚拟机会创建一个栈帧,用于存储局部变量表,操作数栈,动态连接,方法出口等信息。(暂时还不知道 操作数栈和动态连接是什么)局部变量表存放编译期间就可知的Jav

2020-09-28 16:06:14 157

原创 spring mvc配置ResponseBodyAdvice后返回String报错

问题描述:使用以下代码利用ResponseBodyAdvice来统一封装返回的数据@RestControllerAdvicepublic class ResponseAdvice implements ResponseBodyAdvice<Object> { @Override public boolean supports(@NotNull MethodParameter returnType, @NotNull Class<? extends HttpMess

2020-09-21 21:40:06 2382 1

原创 PageHelper原理的简单分析

文章目录QueryInterceptor 规范count查询其他的总结QueryInterceptor 规范关于这部分详细内容可以参考官方文档:https://pagehelper.github.io/docs/interceptor/文档中的内容简单概况:StatementHandler的query方法有两种,其中六个参数的方法参数包含最重要的BoundSql 对象,如果能保证拦截这个方法就可以方便的直接使用BoundSql 对象对sql语句进行更改,源码如下public Object inter

2020-09-17 12:33:12 567

原创 mybatis 原理简单解析

mybatis 原理简单解析前言SqlSession中的主要对象ExecutorStatementHandler可以自定义的过程Interceptor简单示例前言简单复习以下mybatis的原理为学习mybatis-plus和PageHelper做准备,sqlSessionFactory的生成之类的没什么作用没写。主要资料来源于书籍《深入浅出MyBatis技术原理与实战》顺便吐槽一下,mybatis的源码真的一点注释都没有,如果不是有资料真的不想看SqlSession中的主要对象Statem

2020-09-16 17:35:57 95

原创 keycloak使用mysql数据库提示jboss.datasources.ExampleDS missing

问题描述:我按照网上的描述将keycloak使用的数据库改为mysql,按步骤进行后却发现keycloak日志曝出下面错误ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "keycloak-server.war")]) - failure descripti

2020-09-13 16:51:28 826 1

原创 spring security5 OAuth授权模式中的客户端

解决我在之前遇见的问题:https://blog.csdn.net/qq_43633220/article/details/108477023文章目录前言客户端在项目中的定位客户端与授权服务器交互的实现关于单点登录有一些问题没了前言因为找到的资料有限,这些内容都是自己的理解,并不能保证完全正确,发现错误随时改。客户端在项目中的定位我之前一直无法理解客户端的定位主要原因其实是我理解错了资源服务器的定位,我一直以为那些自己写的restful的接口全部都是资源服务器中的资源,但其实不对。资源服

2020-09-10 22:10:26 856

原创 spring security5 OAuth授权的简单实例(入门)

文章目录前言一、配置授权服务器二、配置客户端客户端中的组件三、资源服务器前言项目模板来源于spring security5提供的示例项目项目地址: https://github.com/jgrandja/spring-security-oauth-5-2-migrate运行直接将项目导入IDEA中就可以运行一、配置授权服务器spring security5不提供授权服务器实现。(其实有一个叫Spring Authorization Server的项目,但这个项目今年八月21号才发布0.01版

2020-09-09 13:34:18 903

原创 OAuth授权模式

文章目录前言名词解释资源所有者资源服务器客户端授权服务器授权码模式简化模式客户端模式密码模式总结前言中文文档链接名词解释资源所有者官方给出的解释是:能够许可对受保护资源的访问权限的实体。当资源所有者是个人时,它被称为最终用户。我理解就是用户,之所以这么叫可能是因为用户访问的那些资源被认为是用户所有的,所以才能访问。资源服务器官方给出的解释是:托管受保护资源的服务器,能够接收和响应使用访问令牌对受保护资源的请求。是这里的资源值得应该是那些需要被保护的接口客户端官方给出的解释是:使用.

2020-09-09 13:31:02 74

原创 spring security中的AbstractSecurityInterceptor

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2020-08-31 22:02:19 4169 2

原创 spring security将权限与分区相关联

spring security基于过滤器的动态权限管理前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seab

2020-08-31 14:11:45 138

原创 使用jwt自定义spring security的认证过程

使用jwt自定义spring security的认证过程前言一、创建UsernamePasswordAuthenticationFilter的子类二、失败或成功时的处理2.读入数据总结前言这部分好像已经不用自己写了,有框架已经实现了,不过是为了学习就自己写一遍吧提示:以下是本篇文章正文内容,下面案例可供参考一、创建UsernamePasswordAuthenticationFilter的子类代码如下(示例):public class JwtLoginFilter extends Use.

2020-08-30 13:11:28 472

原创 spring security基本知识

@TOC# spring security基本知识spring security学习过程文章目录前言一、spring security的核心类或接口SecurityContextHolder:Authentication:UserDetailsService:UserDetails:GrantedAuthority:二、spring security主要过滤器(按顺序)SecurityContextPersistenceFilter2.读入数据总结学习内容:学习时间:学习产出:欢迎使用Markdo

2020-08-30 13:11:08 182

空空如也

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

TA关注的人

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