- 博客(73)
- 资源 (13)
- 收藏
- 关注
原创 JAVA NIO 系列- 02缓冲区 Buffer
JAVA NIO 系列- 02Buffer一、介绍二、Buffer基本使用2.1 基本使用2.2 Buffer 类图2.3 Buffer属性2.3 Buffer方法API2.3.1 创建缓冲区2.3.2 存取2.3.3 翻转 -flip()2.3.3 hasRemaining()2.3.4 clear() and compact()2.3.5 mark() and reset()2.3.6 equals() and compareTo()三、小结一、介绍缓冲区Buffer 是一个存储器,是一个固定数量
2022-01-13 09:24:09 640
原创 反射时获取 method 里面 List<Object> 里面的具体类型 (正则获取括号内的内容)
正则获取 括号内的内容一、 介绍二、小结一、 介绍我们正常反射 获取方法Method 里面的 参数类型, 但是 如果参数时 List , 只能拿到List, 获取不到对应的Object 是什么类型,思路如下:class -> .getMethod() -> Method.getParameters() -> parameter.getDeclaringExecutable().toGenericString();-> 获取 public abstract void co
2021-12-29 14:02:07 943
原创 如何去掉 emoji 表情(或者四字节字)
如何去掉 emoji 表情或者四字节字一、背景二、介绍2.1 utf8 介绍2.2 utf-162.3 四字节识别2.4 java 代码过滤三、小结一、背景如果我们的数据库是 5.5.3 之前的版本,那么我们设置 字符集为 UTF8 , 这里的utf8 就是 utfmb3(most bytes 3), 就是 最大三个字节,而 有一些字是 使用4字节表示, 比如 emoji 表情 '????????????????, 还有一些汉字 ‘????’ ,这些都是四字节,在插入数据库时,会提示 报错:java
2021-11-19 18:08:28 3487
原创 JAVA NIO 系列- 01概述
JAVA NIO 系列- 01概述一. NIO 、BIO 介绍二. 三大核心组件概念介绍2.1 Channel2.2 Buffer2.3 Selector三、 demo3.1 BIO 例子3.2 NIO 例子四、 小结一. NIO 、BIO 介绍BIO (blocking IO) , 即 阻塞型 IO,是JAVA 的传统 IO API , 是基于字节流 或字符流对数据进行操作而实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞卡在那里,它们之间
2021-10-28 15:46:15 251
原创 kafka系-配置参数介绍
kafka系-配置参数介绍下面是 kafka 各参数配置介绍:key.serializerSerializer class for key that implements the org.apache.kafka.common.serialization.Serializer interface.Type:classDefault:Valid Values:Importance:highvalue.serializerSerializer class for value th
2021-10-11 16:54:47 728 2
原创 解决 @ConfigurationProperties 合并多个yml 或者properties 文件里面的 属性( List type ) 的合并
解决 @ConfigurationProperties 合并多个yml 或者properties 文件里面的属性 一、 介绍一、案例 背景二、 改动 以及结果二、 源码分析2.1 CollectionBinder.class2.2 CollectionBinder.class2.2 CollectionBinder.class#bindIndexed三、 方案解决四、 小结一、 介绍如果我们在 yml 文件里面配置了 List 类型的属性, 然后 在 配置属性的类上面 使用 @Configurati
2021-09-13 16:38:04 3037
原创 Java源码分析 -- 任务调度 Timer
Java源码分析 -- 任务调度 Timer 一、介绍二、例子2.1 demo2.2 使用描述三、源码分析3.1 Timer 结构图3.2 Timer 类3.2.1 Timer 构造方法3.2.2 Timer schedule方法3.2.3 Timer cancel方法3.2.4 Timer 其他方法以及属性一、介绍Timer 类 是 JDK 自带的一个任务调度的类, 能够调度管理多个任务,使用也比较简单, 可以设置是否以 守护进程运行,是单线程的.二、例子2.1 demopublic cla
2021-07-20 10:24:47 277 1
转载 spring 事务传播级别
spring事务传播级别一、 介绍1.2 各种事务的解释1.2 什么是嵌套事物? 一、 介绍主要就是下面两张图 ,很重要, 很重要,很重要 .能够清晰的描述出 第一次事务,和 嵌套事务的 关系. 记录一下 当前不存在事务 , 直接调用带有事务的方法, 不存在加入外部事务这么一说, 要么就是 新建事务, 要么就是以非事务的方式运行 ,当然,也可以抛出异常传播级别运行方式requires_new新建事务nested新建事务required新建事务suppo
2021-07-08 16:25:03 3030 1
原创 xxl-job源码分析之----admin server端分析
目录一、介绍二、源码分析2.1 XxlJobAdminConfig2.2 XxlJobScheduler#init2.2.1 XxlJobScheduler#initI18n2.2.2 JobRegistryMonitorHelper一、介绍上一篇xxl-job源码分析之----XxlJobSpringExecutor分析已经介绍了client 端jar xxl-jar-core 的整体逻辑,这里主要介绍admin 端主要逻辑.二、源码分析从XxlJobAdminConfig 这里开始分析, Xxl
2021-05-14 10:56:27 464
原创 xxl-job源码分析之----XxlJobSpringExecutor分析
目录一、介绍二、流程分析(Spring 框架)2.1 afterSingletonsInstantiated 里面逻辑2.2 XxlJobSpringExecutor#initJobHandlerMethodRepository三、一、介绍上一章xxl-job源码分析之---- 搭建项目demo简单介绍了搭建相关的步骤,本章主要介绍xxl-job 的核心jar(xxl-jar-core),这里用的版本是最新的 xxl-job-2.2.0,更新比较快,不同版本可能逻辑略有不同二、流程分析(Spring
2021-04-14 14:58:52 5552 1
原创 Spring源码解析之--工具类MethodIntrospector
目录一、介绍二、方法介绍2.1 selectMethods二、相关使用一、介绍MethodIntrospector 是包spring-core 里面的一个 工具类.从类的注解上可以看出,MethodIntrospector.class 主要是定义了搜索元数据相关方法的算法,包括接口和父类,同时也处理了参数化的方法和基于接口和类的代理所遇到的常见情况。通常(但不一定)用于查找注解的方法。二、方法介绍MethodIntrospector 里面提供的方法也比较少,主要就是3个根据相关的条件算法获取Me
2021-04-14 10:46:25 1492 1
原创 xxl-job源码分析之---- 搭建项目demo
目录一、介绍二、搭建项目2.1 xxl-job 层次结构2.2 搭建一、介绍分布式job ,当前使用率占有比较高的就是 Elastic-Job 和 xxl-job , 这两个分布式job 实现的方式略有不同, Elastic-job 是通过ZK 进行注册实现, 而 xxl-job 是通过 mysql 锁表实现, 实现方面,个人感觉xxl-job 简单一些.这里主要分析xxl-job二、搭建项目2.1 xxl-job 层次结构先从GitHub 上面拉取xxl-job 的代码XXL-Job 代码,从源
2021-04-13 15:51:10 273
原创 Spring源码解析之-- 事务异常处理/回滚/清除事务信息
目录一、介绍二、源码解析2.1 异常处理 completeTransactionAfterThrowing2.1.1 AbstractPlatformTransactionManager#cleanupAfterCompletion2.1.2 DataSourceTransactionManager#doCleanupAfterCompletion2.2 提交 commit三、小结一、介绍上一章Spring源码解析之-- 事务TransactionInterceptor 分析(开启事务)介绍了事务的创建
2021-04-02 17:41:25 1294
原创 Spring源码解析之-- 事务InfrastructureAdvisorAutoProxyCreator 分析
目录一、介绍二、InfrastructureAdvisorAutoProxyCreator 分析2.1 结构2.1 解析2.1.1 postProcessBeforeInstantiation2.1.2 postProcessAfterInitialization2.1.3 wrapIfNecessary2.1.4 getAdvicesAndAdvisorsForBean2.1.4 findEligibleAdvisors2.1.4 findAdvisorBeans2.1.5 AopUtils#findAd
2021-03-12 18:15:45 2084 5
原创 Spring源码解析之-- 事务注解 处理流程 分析
目录一、背景二、流程介绍2.1 TxNamespaceHandler 入口2.2 AnnotationDrivenBeanDefinitionParser#parse 分析一、背景通常我们在XML里面配置<tx:annotation-driven/>这个就是配置事务的开关, 如果没有此处配置, 那么Spring 中 将不存在事务的功能,那么我们解析啦就从这个配置开始分析.这里用的是 spring 5.2.10.RELEASE 版本二、流程介绍2.1 TxNamespaceHand
2021-03-03 18:10:43 750 1
原创 OWASP(CsrfGuard)源码解析06----csrfguard.js分析
csrfguard.js分析一、介绍二、csrfguard.js分析三、小结一、介绍csrfguard.js 是 需要 在页面请求之后,执行里面的具体逻辑,通过对 ajax 或者 form 表单 进行 处理.ajax 是在 请求的头部 信息里面添加form 表单是通过对 页面添加一个 hidden 存储对应的Token value.二、csrfguard.js分析下面看一下 csrfguard.js 内容(function() { /** * Code to ensure our e
2021-01-18 13:50:30 495
原创 OWASP(CsrfGuard)源码解析05----JavaScriptServlet分析
JavaScriptServlet分析一、介绍二、JavaScriptServlet分析2.1 init() 方法2.2 doGet() 方法三、小结一、介绍前面已经 介绍了 listener 、 filter , 整个jar 包后端就剩下一个 JavaScriptServlet 了二、JavaScriptServlet分析JavaScriptServlet 继承了 HttpServlet 类, 主要重写了 init(), doGet() , doPost() 方法,下面主要分析这3个方法:2.
2021-01-18 10:07:03 382
原创 OWASP(CsrfGuard)源码解析04----CsrfGuardFilter分析
CsrfGuardFilter分析一、介绍二、CsrfGuardFilter 分析三、 CsrfGuard 类分析3.1 isValidRequest 分析3.2 isProtectedPage 分析3.2.1 模糊匹配3.3 isProtectedMethod 分析3.4 verifyAjaxToken、verifyPageToken、verifySessionToken分析四、ILogger 分析4.1 ConsoleLogger4.2 JavaLogger五、InterceptRedirectResp
2021-01-15 16:47:45 722
原创 OWASP(CsrfGuard)源码解析03----CsrfGuardHttpSessionListener分析
CsrfGuardHttpSessionListener分析一、介绍二、CsrfGuardHttpSessionListener分析2.1 csrfGuard 类方法分析2.1.1 updateToken 分析三、小结一、介绍上一章已经介绍了 CsrfGuardServletContextListener , 本章继续分析另外一个 Listener-CsrfGuardHttpSessionListener二、CsrfGuardHttpSessionListener分析CsrfGuardHttpSes
2021-01-15 13:05:55 264 1
原创 OWASP(CsrfGuard)源码解析02----CsrfGuardServletContextListener分析
CsrfGuardServletContextListener分析一、整体框架介绍二、CsrfGuardServletContextListener 分析2.1 contextInitialized 解析三、小结一、整体框架介绍首先我们看一下 csrfguard 这个jar 的整体框架 如下图, 里面主要 是分 config 配置, Filter , listener ,action 和 resources 下面的 默认的csrfguard.properties 和 csrfguard.js 文件
2021-01-15 10:41:38 501 1
原创 OWASP(CsrfGuard)源码解析01----整体介绍
OWASP 整体介绍一、介绍二、如何配置三、运作流程四、 小结一、介绍OWASP CSRFGuard是一个库,它实现了同步器令牌模式的变体,以降低跨站点请求伪造(CSRF)攻击的风险。OWASP CSRFGuard库通过使用JavaEE过滤器进行集成,并公开了各种自动和手动方法,以将每个会话或伪每个请求令牌集成到HTML中。OWASP CSRFGuard 最新的版本 是 3.1.0 ,4.x 的版本也一直没有出来下图即可说明 OWASP CSRF Guard 的 作用:更多详细的资料可以见OW
2021-01-13 13:55:02 845
原创 aspectj-maven-plugin 插件使用
目录一、介绍二、Demo2.1 pom.xml 里面 引入相关的依赖和插件2.2 再建一个 Aspect2.3 建一个对应的 service 类2.4 编译2.5 运行三、涉及点3.1 includes 功能有缺陷3.2 和 lombok 有冲突一、介绍本文介绍的 aspectj-maven-plugin 插件 和 我们 大部分使用的 Spring Aop 不同, 我们通常会在 带有 @Aspect 注解的类上面 加上 @Service或者 @Component 注解,这样就可以 被Spring
2020-12-16 14:09:01 8793
原创 Spring源码解析之--@Required详解(RequiredAnnotationBeanPostProcessor)(5.1 之前版本和 之后版本对比)
目录
2020-11-25 20:48:27 1019 1
原创 Spring security源码解析系列01--- 创建一个简单项目
目录一、介绍二、创建项目2.1 从Spring Initializr 直接生成下载2.1 从IDEA 直接生成2.3 pom.xml二、添加接口三、启动登录四、修改用户名和密码一、介绍Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。Spring Security 官方地址系列的介绍一个技术时, 有两种方法, 一种就是根据项目代码 层层递进, 另外一种就是从 整理架构开始,循着架构 解析每一个点, 这里是跟着代码层
2020-11-11 14:27:24 226
原创 Spring源码解析之-doCreateBean() 详解
目录一、介绍二、流程以及源码分析2.1 doCreateBean 流程图和分析2.2 doCreateBean 源码解析三、具体调用方法的详细逻辑四、总结一、介绍doCreateBean 是 AbstractBeanFactory#getBean 里面的核心,getBean 相关的整个流程可以查看Spring源码解析之-SpringAbstractBeanFactory#getBean() 详解主要是getBean 里面的流程细节比较多,这里单独介绍doCreateBean 的处理逻辑二、流程以
2020-08-05 15:53:17 4071 1
原创 Spring源码解析之-TypeConverter、TypeConverterDelegate分析
目录一、介绍二、源码分析2.1 convertIfNecessary 方法解析2.2 findDefaultEditor 方法解析2.3 doConvertValue 方法解析2.3 convertToTypedArray方法解析2.3 convertToTypedCollection方法解析三、小结一、介绍TypeConverter 类主要是 负责类型转换,其实现类是 TypeConverterSupport,但是所有的具体实现都是在TypeConverterDelegate 里面完成的.二、源码分
2020-07-14 23:55:08 1348
原创 Spring源码解析之-SpringAbstractBeanFactory#getBean() 详解
@[TOC](AbstractBeanFactory#getBean() 详解)
2020-07-10 15:45:16 1478 2
原创 spring源码解析之---InstantiationAwareBeanPostProcessor解析
目录一、解释1.1、方法二、demo2.1 创建一个类继承 InstantiationAwareBeanPostProcessor三、源码解析四、总结一、解释InstantiationAwareBeanPostProcessor 是 BeanPostProcessor 的子接口,它添加了实例化之前的回调,以及在实例化之后但设置了显式属性或发生自动装配之前的回调。这里 首先要区分两个概念,一个是 Instantiation ,一个是 Initialization ,Instantiation :
2020-07-10 11:03:56 3881 1
原创 spring源码解析之-----SimpleAliasRegistry解析
目录一、介绍二、源码解读2.1 AliasRegistry2.2 SimpleAliasRegistry2.2.1 registerAlias2.2.2 resolveAliases2.2.3 checkForAliasCircle2.2.4 getAliases2.2.5 canonicalName一、介绍AliasRegistry 是Spring 别名管理的的 接口, 而 SimpleAliasRegistry 是其实现类,代码也不是太多,就解读一下.Spring 里面,如果是通过XML形式配置别
2020-06-22 14:55:31 739
原创 mysql-connector-java 属性介绍
mysql-connector-java 属性介绍5.1.48 版本8.0.16 版本备份一下, mysql 连接属性解释,想详细了解相关属性的可以 看看, LocalizedErrorMessages.properties5.1.48 版本## ConnectionProperty Descriptions#ConnectionProperties.loadDataLocal=Should the driver allow use of 'LOAD DATA LOCAL INFILE...'
2020-06-18 16:41:19 2600
原创 spring源码解析之---BeanPostProcessor解析
BeanPostProcessor源码解析1. 解释2. demo2.1 common Demo2.2 demo 增加 InitializingBean2.3 demo 增加 InitializingBean3. 源码分析3.1 运行时机3.2 getBeanPostProcessors()1. 解释BeanPostProcessor 就是Bean 的后置处理器 ,主要作用就是 Bean 实例之后,在 initialization 之前和之后 调用自定义的方法 改变一些属性 这里 的 initia
2020-06-04 17:59:50 1085
原创 对比(5.1.48VS8.0.16)getConnection、isValid
对比5.1.48VS8.0.16版本 getConnection、isValid一、驱动以及目录结构1.1 驱动对比1.2 目录结构对比二 getConnection流程对比2.1 5.1.48版本getConnection2.2、8.0.16版本的getConnection流程三、isValid 流程对比四、对比总结4.1 getConnection 小结4.2 其他对比一、驱动以及目录结构官网地址:https://dev.mysql.com/doc/relnotes/connector-j/8.0
2020-05-15 09:19:33 656
移除PDF用户密码
2014-09-14
mysql2access
2012-09-21
VC++6.0中文简体版下载(支持win7).zip
2012-08-07
MySQL图形化操作界面管理工具
2012-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人