自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨川云的博客

路漫漫其修远兮,吾将上下而求索

  • 博客(43)
  • 资源 (40)
  • 收藏
  • 关注

原创 记一次内存泄漏排查

后面又了解,为啥之前服务运行的好好的,最近这么频繁宕机,一个是内存泄漏,还有就是业务方系统全面铺开,业务压力骤增,从原来的日均五万的量增加到了十万,后续可能还会增加,借此机会和业务方沟通,又升级了服务硬件配置,嘻~~~~查看日志的过程中发现存在内存溢出(OOM),思考要么存在内存泄漏要么业务上触发了某个接口存在大对象,结合业务情况,应该是前一种情况大一些。看了下,是代码查询的时候,一次查询list过大导致的。代码存在内存泄漏,老年代占用率过高,导致系统频繁full gc ,从而系统CPU飙升直至宕机。

2023-04-15 22:55:45 713 1

原创 使用Tika进行文件类型校验

使用Tika进行文件类型校验Tika是什么​ 我们都知道,普通的文件后缀校验并不能校验出这个文件的类型,大部分的文件类型校验都是通过获取文件的魔数来判断文件的类型,因为对于大多数类型文件来说他的魔数是固定的(例如class文件的魔数就是:CA FE )。所以目前大部分网络上找到的处理方案是将各个文件的魔数放倒Map集合中,然后通过获取文件的魔数,从Map集合查找对应的文件类型。但是同类型的文件的魔数真的都是固定的么?事实上并不是这样的,mp4文件的魔数就不是固定的。那就是意味着,你放了一个mp4的魔数

2022-05-06 21:03:23 3963 13

原创 springboot 多数据源添加-Mybatis版

springboot 多数据源添加-Mybatis版文章目录springboot 多数据源添加-Mybatis版Spring配置文件配置数据源连接信息Spring代码配置很久之前同学问起过springboot 如何添加数据源,一直没机会搞,这次抽空搞了下。本地准备好两个数据库,wst、my_test,具体教程参考SpringBoot官网Spring配置文件配置数据源连接信息这里我整合了p6spy,可以忽略,和正常的数据库驱动一样。这里需要注意一点的是,spring.datasource.p0.url

2021-03-09 23:19:26 258

原创 Swagger 源码解析

Swagger 源码解析文章目录Swagger 源码解析前言Swagger2整合源码解析DocumentationPluginsBootstrapper 加载插件buildContextscanDocumentationSwagger2Controller总结执行步骤前言最近要改造公司的Swagger2,在改造前肯定要先了解下Swagger2的源码啦,通过Docket类定位并查看Swagger2的源码包,大致了解了Swagger2是如何运作了,了解了原理,改造起来就得心应手了~首先,还是先从整合开始

2021-01-18 00:13:39 4037

原创 布隆过滤器:BloomFilter

布隆过滤器:BloomFilter文章目录布隆过滤器:BloomFilter布隆过滤器的应用布隆过滤器的原理布隆过滤器使用(google guava)布隆过滤器的应用布隆过滤器有很多的用途:爬虫地址去重邮箱垃圾邮件处理redis缓存穿透解决去重… …布隆过滤器的原理布隆过滤器是使用 【位数组】+【hash函数】 来实现的:如上图,数据经过N个hash函数计算后,将对应下表的数组数值置为1;当有新的数据进来时,再用N个hash进行计算如果有一个hash函数计算的结果不一致,则说明该

2020-12-21 23:38:44 164 2

原创 Flowable Modeler

Flowable Modeler集成文章目录Flowable Modeler集成Flowable 简介Flowable 设计器集成1. 添加Flowable相关依赖2. 添加配置文件及配置类3. 拷贝静态文件4. 启动时报错解决account接口404问题/rest/models 接口500问题其他错误总结Flowable 简介flowable 和activiti类似也是一个流程引擎,是activiti原班人马从activiti离职后,到另一家公司重新开发的一套流程引擎,其从activiti6拉出一

2020-12-01 20:39:34 4987 5

原创 No serializer found for class

spring boot 序列化错误错误描述像往常一样搭建了个spring boot的项目,配置完fastjson进行序列化后,请求接口,结果就报了下面的错误:com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.lemon.lemonwst.model.wst.vo.WstTimestampVO$WstTimestampVOBuilder and no prope

2020-07-12 11:48:24 4870

原创 Spring 拦截器原理

Spring 拦截器原理文章目录Spring 拦截器原理前言Spring MVC 拦截器的几种实现实现接口形式实现继承类的形式实现Spring MVC 拦截器的原理拦截器什么时候加载的最后前言前几天,因为准备面试,重新复习了下Spring MVC的源码(其实也只是看了DispatcherServlet类),设计到,Spring MVC 的请求流程、Spring 拦截器的拦截原理等记录下,下次复习简单些。Spring MVC 拦截器的几种实现在Spring mvc 中拦截器有很多种实现方式,大同小异

2020-06-01 22:52:01 903

原创 显示锁——ReentrantLock 原理探究

显示锁——ReentrantLock 原理探究目录显示锁——ReentrantLock 原理探究@[toc](目录)AQSSyncNonfairSyncFairSync可重入锁java中有两种锁:内置锁和显示锁。内置锁是JVM管理的锁,由synchronized关键字开启,但是它是一个非公平锁。显示锁是可以由java程序员自己控制的锁像本次要介绍的可重入锁:ReentrantLock,它可以设置成一个公平锁。具体原来如何,最近看了下源码,顺便记录下源码所得。AQS先简单介绍下显示锁的代码结构,Ree

2020-06-01 21:22:58 295

原创 Spring 事件监听——ApplicationListener 原理探究

Spring 事件监听——ApplicationListener 原理探究最近项目中看到有人用 ApplicationListener ,注释上说是异步执行,某同事说该异步调用就是个笑话。今天有空研究了下。具体实现定义事件监听器:定义ApplicationListener的实现类定义事件Event:继承ApplicationEvent,具体的业务参数是绑定到事件中的推送事件:appli...

2020-04-12 23:15:58 344

原创 intellj idea Cannot download sources

关于 intellj idea Cannot download sources 问题家里电脑重装,idea 配置后,开发过程中,想看spring源码,点击download 发现报个错具体的错误:Cannot download sources:XXXX 源码是看到了,没注释很难受,百度了下,都是运行maven命令:mvn dependency:resolve -Dclassifier=...

2020-04-11 16:20:12 246

原创 Apollo 配置中心搭建与简单说明

Apollo 配置中心搭建与简单说明文章目录Apollo 配置中心搭建与简单说明从git拉取Apollo源码创建所需数据库配置项目apollo-configservice 服务配置apollo-adminservice 服务配置apollo-portal 服务配置SpringBoot项目对接ApolloApollo 原理简单总结从git拉取Apollo源码github地址:https://g...

2019-07-02 22:33:16 1485 1

原创 java如何从https下载链接中下载文件

java如何从https下载链接中下载文件文章目录java如何从https下载链接中下载文件从https 下载文件会存在什么用的问题?导入安全证书到jdk下载文件URL 获取inputStreamSpring 的 restTemplate 方法发送请求完整案例:从https 下载文件会存在什么用的问题?普通的http下载非常的简单,无需做任何处理,可以直接用 URL.openStream获取...

2019-04-18 22:32:51 18841

原创 HashMap原理探究

HashMap原理探究文章目录HashMap原理探究几个关键字解释几个关键方法解读putValresizehash方法几个问题hashMap 原理简单来讲就是,数组链表,一个数组下装的是一个Node链表。几个关键字解释DEFAULT_INITIAL_CAPACITY (默认容量):1 << 4 (16),必须是2的次幂;loadFactor(默认负载因子):默认0.75,...

2018-10-18 13:54:31 183

原创 JDK动态代理原理探究

JDK动态代理原理探究JDK动态代理原理探究代理介绍及实现JDK动态代理源码解析总结代理介绍及实现代理介绍及实现JDK动态代理源码解析实现代码:public class ServiceProxy implements InvocationHandler { Object target; public ServiceProx...

2018-08-22 23:47:22 269

原创 Mybaits 技术原理(一)

Mybaits 技术原理(一)Mybaits 技术原理(一)传统jdbc实现注意ORM模型简介mybatis 简介mybaits基本构成:mybaits生命周期传统jdbc实现传统jdbc实现流程为: 1. 使用JDBC连接数据库,注册驱动和数据库信息 2. 操作Connecion,打开Statement(PrepareStatement)对象 ...

2018-07-22 15:37:52 334

转载 servlet(url-pattern) 四种匹配方式

servlet四种匹配方式servlet四种匹配方式精确匹配路径匹配扩展名匹配缺省匹配匹配顺序注意路径匹配和扩展名匹配无法同时设置“/*”和”/”含义并不相同参考链接精确匹配中配置的项必须与url完全精确匹配。<servlet-mapping> <servlet-name>MyServlet</se...

2018-07-05 15:32:03 3154 2

原创 Spring 实现单Controller 404 页面定制

前不久遇到同学的一个问题,如何实现前缀为 admin/的404请求直接跳a 页面?如:admin/index.htm (controller中有的地址)则直接跳转到index.htm 中, 而admin/ abcd.htm (controller中没有的地址)则直接跳到a页面。同时前缀为 user/ 的404跳B页面其实答案就在Spring的RequestMapping注解之中:@Co...

2018-04-09 22:52:29 275

原创 Spring AOP 实现

Spring AOP 实现@(spring)[AOP]spring aop的发展过程Spring AOP 实现增强类型前置增强schema方式实现环绕增强异常抛出增强引介增强创建切面静态方法匹配切面自动代理迎来新时代注解实现AOP增强类型spring 的aop底层是通过jdk动态代理和cglib动态代理技术为bean织入横切逻辑的。spring通过使用增强类定义横切逻辑。

2017-11-16 10:28:28 441

原创 简单介绍AOP两种实现方式

@(aop)[jdk,cglib]JDK 动态代理CGLib动态代理JDK 动态代理java代理模式学习从入门到放弃CGLib动态代理通过JDK的动态代理 你需要做的是先声明一个动作接口(代理接口)、实现类、代理生成类通过代码可以知道JDK的动态代理必须要接口和实现类这样的搭配组合,而CGLib动态代理则没有这个要求CGLib的代理原理大致就是通过字节码在基础类(委托类)的基础上动态生成一

2017-10-09 17:25:45 1499

原创 SpringInAction.4th.面向切面的Spring

SpringInAction.4th.面向切面的Spring@(spring)[AOP]面向切面编程,按我的理解就是,在执行一个动作的同时执行一些公共的动作。这些公共的动作没必要每个都写在各自的方法里,可以提取出公共的方法。Spring提供了4种类型的AOP支持: - 基于代理的经典Spring AOP - 纯POJO切面 - @AspectJ注解驱动的切面 - 注入式AspectJ切面(适

2017-08-21 17:22:18 387

原创 Java8 学习笔记之一

Java8 学习笔记@(in action系列)[java8, lambda, stream]Java8 学习 java8 能高效的快捷的写出简介可读性强的高效率代码,这次的学习内容是:java8 的接口默认方法defualtjava8 Optional类强大的判空功能Java8 学习笔记默认方法解决默认方法冲突的三条规则菱形继承问题用 Optional 取代 null使用 map

2017-08-15 15:26:10 602

原创 java代理模式实现

java代理模式学习从入门到放弃@(代理模式)[静态代理,动态代理,InvocationHandler]java的代理模式 分为两种,静态代理和动态代理,学习下什么是代理和静态动态代理的作用。java代理模式学习从入门到放弃代理静态代理静态代理实现动态代理动态代理实现动态代理的意义其他代理什么是代理?代理就像中介,房东想租房,所以房东有租房这个方法,想委托给中介帮忙租出去,所以中介就是

2017-08-14 17:50:24 1020

原创 shiro 学习

shiro 学习@(shiro)[授权,认证,realm]shiro 分为很多模块,主要学习授权、认证模块。另外的加密等模块也十分的好用,后期可以学习下。shiro官网地址:http://shiro.apache.org/ shiro 学习认证shiro认证Demoshiro的组成与一些专业术语shiro整合spring授权页面实现权限控制总结认证 大体就是实现登陆的功能模块,一

2017-08-11 12:49:14 856

原创 Spring in Action 第二章

Spring in Action 第二章@(Spring in Action)[spring, bean]Spring in Action 第二章Spring装配bean自动化装配bean创建可被发现的bean为组件扫描的bean命名设置组件扫描的基础包通过为bean添加注解实现自动装配通过Java代码装配bean显示装配声明简单的bean命名空间导入和混合配置在JavaCon

2017-08-02 22:11:03 408

原创 Velocity 添加版本号

Velocity 添加版本号@(Velocity 添加版本号)[js版本号|velocity配置]Velocity 添加版本号是为了应对前端js、css缓存的影响,在项目更新的时候用户的浏览器中会缓存之前项目的js和css文件所以在项目更新后,缓存问题会诱发很多问题,而给css和js添加版本号可以解决这个问题。Velocity 添加版本号JAVA代码VersionTool配置文件config

2017-07-11 20:39:30 1136

原创 Spring 校验(validator,JSR-303)简单实现

Spring 校验(validator,JSR-303)简单实现利用Spring MVC 与 hibernate的JSR-303规范结合实现后台校验(简单案例):什么是JSR-303规范与Spring MVC结合实体类添加验证注解*控制器验证注解添加Spring 校验validatorJSR-303简单实现什么是JSR-303规范与Spring MVC结合

2017-05-26 16:00:23 1869

原创 com.sun.mail.smtp.SMTPSendFailedException: 554 MI:SPB UserReject 0,smtp7

开发过程中遇到:Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 554 MI:SPB UserReject 0,smtp7,C8CowABnsSRz+OVYTTvPBA--.59938S2 1491466355,please feedback at http://feedback.mail.126.com/antispam/co

2017-04-06 16:44:13 15557 1

原创 JS计时器

在写项目的过程中遇到要前端60秒发送验证码的业务需求,于是用到计时器的功能

2017-04-05 14:04:50 789

原创 Java 反射学习

最近在看《java 核心技术》基础篇中,看到了反射一节。记录下,待后续参考复习;

2017-03-31 15:02:55 325

原创 MyBatis-Generator java运行配置

将Mybatis-Generator 由xml文件配置成java可运行程序

2017-03-09 13:47:17 699

原创 MyBatis-Generator(代码生成器)配置(最简易)

写项目的时候遇到要将数据库中的表变成实体类,如果手写,那怕是要翻水水。于是去研究了一下如何自动将表生成为实体类。

2017-03-01 12:43:46 794

原创 Spring json传输406问题及解决方法小记

406问题解决

2017-02-21 10:48:23 1507

原创 Log4j日志配置小记

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度

2017-02-21 10:23:07 311

原创 Spring创建单例bean

Spring创建bean是有一个Scope。默认是单例。 如何证明Spring创建的Bean就是单例?Spring单例有什么意义在?Spring创建的bean是否是单例很好判断:ApplicationContext context = new ClassPathXmlApplicationContext("spring-mvc.xml");HelloWorld helloWorld = (Hell

2017-02-05 22:11:22 1224

原创 spring邮箱发送问题

在做项目的时候发现,用spring邮箱发送的时候126邮箱怎么都发送不了,用户名和密码都是正确的 后来百度后发现,有些邮箱是用授权码(126邮箱开启stmp和pop3协议的时候会要求设置授权码)进行发送配置的(相关授权码信息可以在126邮箱中查找到)

2017-02-05 11:58:24 285

原创 静态工厂方法和实例工厂方法

在学习Spring bean的实例化方式的时候遇到的一个问题,Spring bean实例化有3种方法 1、构造器生成 2、静态工厂方法 3、实例工厂方法 那么问题来了,什么是静态工厂方法,什么是实例工厂方法? 静态工厂方法: 顾名思义就是直接可以通过静态方法来实例化一个对象 如:public class He

2017-02-05 11:56:26 9914

原创 intellj idea中Maven选项消失的问题

在用idea的时候,点Setting,发现找不到Maven了,后来发现 是这个Maven Integration没有打钩,导致了,Build Tools里面找不到Maven

2017-02-05 11:49:26 2609

转载 Java 深度克隆与浅克隆

以下内容转自:桔子园 http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 1. Clone&Copy     假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通常我们会有这样的赋值Employee cindyelf=tob

2016-12-02 17:24:15 250

转载 Git ssh免密设置

本博参考自:http://blog.csdn.net/accountwcx/article/details/46822257 感谢该博主的分享 用Git Bash 提交时总要提示输入用户名密码,严重影响效率,所以介绍ssh免密方法1、生成密钥ssh-keygen -t rsa -C "xxx@xxxx" -f "e:\id_rsa\id_rsa"xxx@xxx是个人的邮箱 e:\id_rsa\i

2016-11-25 11:19:08 6102 1

activiti-6.0.0.zip

activiti-6.0 压缩包,war包,直接运行展示

2020-09-08

jdk_8.0.1310.11_64.rar

官网下载太慢了,所以上传到CSDN下载,快来下载

2020-02-03

kibana-windows-v6.2.4.zip

kibana-windows-v6.2.4

2019-07-01

elasticsearch-6.7.0.zip

elasticsearch-6.7.0

2019-07-01

设计模式之禅(完整版).pdf

设计模式之禅

2019-06-26

《亿级流量》带目录

亿级流量带目录

2019-04-14

SpringCloud 全套视频下载

Spring Cloud全套视频下载

2019-01-17

概率论与数理统计 浙江大学第四版

概率论与数理统计 浙江大学第四版

2018-12-07

汇编指令与二进制代码对照表

汇编指令与二进制代码对照表汇编指令与二进制代码对照表

2018-10-25

Spring+4.x++企业应用开发实战(高清带目录)

Spring+4.x++企业应用开发实战

2018-09-17

JAVA并发编程实战(高清.带目录.扫描版)

JAVA并发编程实战

2018-09-17

java并发编程(高清英文版带目录)

java并发编程(高清英文版带目录)

2018-09-17

领域驱动设计与模式实战(中文版)

领域驱动设计与模式实战(中文版)

2018-09-06

head first 设计模式 中文版带书签

head first 设计模式 中文版带书签

2018-07-19

Python编程:从入门到实践【高清完整版】(带完整目录)

Python编程:从入门到实践【高清完整版】(带完整目录)

2017-09-04

LINUX SHELL脚本攻略(中文版带书签)

LINUX SHELL脚本攻略(中文版带书签),完整目录版

2017-09-04

精通CSS 高级Web标准解决方案

精通CSS 高级Web标准解决方案

2017-09-04

Linux Shell脚本攻略(第2版) 带目录

Linux Shell脚本攻略(第2版)带目录

2017-07-31

SPRING in action 带目录 第三版

SPRING in action 带目录 第三版

2017-07-28

Maven权威指南_中文完整版

Maven权威指南_中文完整版

2017-07-27

Java多线程编程核心技术

Java多线程编程核心技术

2017-07-19

算法 (sedgewick) 第四版 英文版

算法 (sedgewick) 第四版 英文版

2017-04-24

数据结构与算法分析_Java语言描述(第2版)

数据结构与算法分析_Java语言描述(第2版).pdf

2017-04-24

Spring Boot in Action

Spring

2017-03-17

effective java(中文版)

effective java(中文版)

2017-03-09

spring boot 英文版

2016-10-31

空空如也

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

TA关注的人

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