- 博客(45)
- 资源 (40)
- 收藏
- 关注
原创 使用Docker安装 Skywalking(单机版)
Skywalking官网分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。Skywalking 整体架构Skywalking 单机环境功能流程。
2024-09-10 16:26:50
1162
1
原创 记一次内存泄漏排查
后面又了解,为啥之前服务运行的好好的,最近这么频繁宕机,一个是内存泄漏,还有就是业务方系统全面铺开,业务压力骤增,从原来的日均五万的量增加到了十万,后续可能还会增加,借此机会和业务方沟通,又升级了服务硬件配置,嘻~~~~查看日志的过程中发现存在内存溢出(OOM),思考要么存在内存泄漏要么业务上触发了某个接口存在大对象,结合业务情况,应该是前一种情况大一些。看了下,是代码查询的时候,一次查询list过大导致的。代码存在内存泄漏,老年代占用率过高,导致系统频繁full gc ,从而系统CPU飙升直至宕机。
2023-04-15 22:55:45
815
1
原创 使用Tika进行文件类型校验
使用Tika进行文件类型校验Tika是什么 我们都知道,普通的文件后缀校验并不能校验出这个文件的类型,大部分的文件类型校验都是通过获取文件的魔数来判断文件的类型,因为对于大多数类型文件来说他的魔数是固定的(例如class文件的魔数就是:CA FE )。所以目前大部分网络上找到的处理方案是将各个文件的魔数放倒Map集合中,然后通过获取文件的魔数,从Map集合查找对应的文件类型。但是同类型的文件的魔数真的都是固定的么?事实上并不是这样的,mp4文件的魔数就不是固定的。那就是意味着,你放了一个mp4的魔数
2022-05-06 21:03:23
5430
14
原创 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
302
原创 Swagger 源码解析
Swagger 源码解析文章目录Swagger 源码解析前言Swagger2整合源码解析DocumentationPluginsBootstrapper 加载插件buildContextscanDocumentationSwagger2Controller总结执行步骤前言最近要改造公司的Swagger2,在改造前肯定要先了解下Swagger2的源码啦,通过Docket类定位并查看Swagger2的源码包,大致了解了Swagger2是如何运作了,了解了原理,改造起来就得心应手了~首先,还是先从整合开始
2021-01-18 00:13:39
4343
原创 布隆过滤器:BloomFilter
布隆过滤器:BloomFilter文章目录布隆过滤器:BloomFilter布隆过滤器的应用布隆过滤器的原理布隆过滤器使用(google guava)布隆过滤器的应用布隆过滤器有很多的用途:爬虫地址去重邮箱垃圾邮件处理redis缓存穿透解决去重… …布隆过滤器的原理布隆过滤器是使用 【位数组】+【hash函数】 来实现的:如上图,数据经过N个hash函数计算后,将对应下表的数组数值置为1;当有新的数据进来时,再用N个hash进行计算如果有一个hash函数计算的结果不一致,则说明该
2020-12-21 23:38:44
191
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
5489
4
原创 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
5217
原创 Spring 拦截器原理
Spring 拦截器原理文章目录Spring 拦截器原理前言Spring MVC 拦截器的几种实现实现接口形式实现继承类的形式实现Spring MVC 拦截器的原理拦截器什么时候加载的最后前言前几天,因为准备面试,重新复习了下Spring MVC的源码(其实也只是看了DispatcherServlet类),设计到,Spring MVC 的请求流程、Spring 拦截器的拦截原理等记录下,下次复习简单些。Spring MVC 拦截器的几种实现在Spring mvc 中拦截器有很多种实现方式,大同小异
2020-06-01 22:52:01
948
原创 显示锁——ReentrantLock 原理探究
显示锁——ReentrantLock 原理探究目录显示锁——ReentrantLock 原理探究@[toc](目录)AQSSyncNonfairSyncFairSync可重入锁java中有两种锁:内置锁和显示锁。内置锁是JVM管理的锁,由synchronized关键字开启,但是它是一个非公平锁。显示锁是可以由java程序员自己控制的锁像本次要介绍的可重入锁:ReentrantLock,它可以设置成一个公平锁。具体原来如何,最近看了下源码,顺便记录下源码所得。AQS先简单介绍下显示锁的代码结构,Ree
2020-06-01 21:22:58
334
原创 Spring 事件监听——ApplicationListener 原理探究
Spring 事件监听——ApplicationListener 原理探究最近项目中看到有人用 ApplicationListener ,注释上说是异步执行,某同事说该异步调用就是个笑话。今天有空研究了下。具体实现定义事件监听器:定义ApplicationListener的实现类定义事件Event:继承ApplicationEvent,具体的业务参数是绑定到事件中的推送事件:appli...
2020-04-12 23:15:58
409
原创 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
277
原创 Apollo 配置中心搭建与简单说明
Apollo 配置中心搭建与简单说明文章目录Apollo 配置中心搭建与简单说明从git拉取Apollo源码创建所需数据库配置项目apollo-configservice 服务配置apollo-adminservice 服务配置apollo-portal 服务配置SpringBoot项目对接ApolloApollo 原理简单总结从git拉取Apollo源码github地址:https://g...
2019-07-02 22:33:16
1579
1
原创 java如何从https下载链接中下载文件
java如何从https下载链接中下载文件文章目录java如何从https下载链接中下载文件从https 下载文件会存在什么用的问题?导入安全证书到jdk下载文件URL 获取inputStreamSpring 的 restTemplate 方法发送请求完整案例:从https 下载文件会存在什么用的问题?普通的http下载非常的简单,无需做任何处理,可以直接用 URL.openStream获取...
2019-04-18 22:32:51
20270
原创 HashMap原理探究
HashMap原理探究文章目录HashMap原理探究几个关键字解释几个关键方法解读putValresizehash方法几个问题hashMap 原理简单来讲就是,数组链表,一个数组下装的是一个Node链表。几个关键字解释DEFAULT_INITIAL_CAPACITY (默认容量):1 << 4 (16),必须是2的次幂;loadFactor(默认负载因子):默认0.75,...
2018-10-18 13:54:31
213
原创 JDK动态代理原理探究
JDK动态代理原理探究JDK动态代理原理探究代理介绍及实现JDK动态代理源码解析总结代理介绍及实现代理介绍及实现JDK动态代理源码解析实现代码:public class ServiceProxy implements InvocationHandler { Object target; public ServiceProx...
2018-08-22 23:47:22
296
原创 Mybaits 技术原理(一)
Mybaits 技术原理(一)Mybaits 技术原理(一)传统jdbc实现注意ORM模型简介mybatis 简介mybaits基本构成:mybaits生命周期传统jdbc实现传统jdbc实现流程为: 1. 使用JDBC连接数据库,注册驱动和数据库信息 2. 操作Connecion,打开Statement(PrepareStatement)对象 ...
2018-07-22 15:37:52
369
转载 servlet(url-pattern) 四种匹配方式
servlet四种匹配方式servlet四种匹配方式精确匹配路径匹配扩展名匹配缺省匹配匹配顺序注意路径匹配和扩展名匹配无法同时设置“/*”和”/”含义并不相同参考链接精确匹配中配置的项必须与url完全精确匹配。&lt;servlet-mapping&gt; &lt;servlet-name&gt;MyServlet&lt;/se...
2018-07-05 15:32:03
3317
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
294
原创 Spring AOP 实现
Spring AOP 实现@(spring)[AOP]spring aop的发展过程Spring AOP 实现增强类型前置增强schema方式实现环绕增强异常抛出增强引介增强创建切面静态方法匹配切面自动代理迎来新时代注解实现AOP增强类型spring 的aop底层是通过jdk动态代理和cglib动态代理技术为bean织入横切逻辑的。spring通过使用增强类定义横切逻辑。
2017-11-16 10:28:28
487
原创 简单介绍AOP两种实现方式
@(aop)[jdk,cglib]JDK 动态代理CGLib动态代理JDK 动态代理java代理模式学习从入门到放弃CGLib动态代理通过JDK的动态代理 你需要做的是先声明一个动作接口(代理接口)、实现类、代理生成类通过代码可以知道JDK的动态代理必须要接口和实现类这样的搭配组合,而CGLib动态代理则没有这个要求CGLib的代理原理大致就是通过字节码在基础类(委托类)的基础上动态生成一
2017-10-09 17:25:45
1545
原创 SpringInAction.4th.面向切面的Spring
SpringInAction.4th.面向切面的Spring@(spring)[AOP]面向切面编程,按我的理解就是,在执行一个动作的同时执行一些公共的动作。这些公共的动作没必要每个都写在各自的方法里,可以提取出公共的方法。Spring提供了4种类型的AOP支持: - 基于代理的经典Spring AOP - 纯POJO切面 - @AspectJ注解驱动的切面 - 注入式AspectJ切面(适
2017-08-21 17:22:18
432
原创 Java8 学习笔记之一
Java8 学习笔记@(in action系列)[java8, lambda, stream]Java8 学习 java8 能高效的快捷的写出简介可读性强的高效率代码,这次的学习内容是:java8 的接口默认方法defualtjava8 Optional类强大的判空功能Java8 学习笔记默认方法解决默认方法冲突的三条规则菱形继承问题用 Optional 取代 null使用 map
2017-08-15 15:26:10
641
原创 java代理模式实现
java代理模式学习从入门到放弃@(代理模式)[静态代理,动态代理,InvocationHandler]java的代理模式 分为两种,静态代理和动态代理,学习下什么是代理和静态动态代理的作用。java代理模式学习从入门到放弃代理静态代理静态代理实现动态代理动态代理实现动态代理的意义其他代理什么是代理?代理就像中介,房东想租房,所以房东有租房这个方法,想委托给中介帮忙租出去,所以中介就是
2017-08-14 17:50:24
1091
原创 shiro 学习
shiro 学习@(shiro)[授权,认证,realm]shiro 分为很多模块,主要学习授权、认证模块。另外的加密等模块也十分的好用,后期可以学习下。shiro官网地址:http://shiro.apache.org/ shiro 学习认证shiro认证Demoshiro的组成与一些专业术语shiro整合spring授权页面实现权限控制总结认证 大体就是实现登陆的功能模块,一
2017-08-11 12:49:14
898
原创 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
443
原创 Velocity 添加版本号
Velocity 添加版本号@(Velocity 添加版本号)[js版本号|velocity配置]Velocity 添加版本号是为了应对前端js、css缓存的影响,在项目更新的时候用户的浏览器中会缓存之前项目的js和css文件所以在项目更新后,缓存问题会诱发很多问题,而给css和js添加版本号可以解决这个问题。Velocity 添加版本号JAVA代码VersionTool配置文件config
2017-07-11 20:39:30
1192
原创 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
1895
原创 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
15712
原创 MyBatis-Generator(代码生成器)配置(最简易)
写项目的时候遇到要将数据库中的表变成实体类,如果手写,那怕是要翻水水。于是去研究了一下如何自动将表生成为实体类。
2017-03-01 12:43:46
829
原创 Log4j日志配置小记
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度
2017-02-21 10:23:07
337
原创 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
1259
原创 spring邮箱发送问题
在做项目的时候发现,用spring邮箱发送的时候126邮箱怎么都发送不了,用户名和密码都是正确的 后来百度后发现,有些邮箱是用授权码(126邮箱开启stmp和pop3协议的时候会要求设置授权码)进行发送配置的(相关授权码信息可以在126邮箱中查找到)
2017-02-05 11:58:24
313
原创 静态工厂方法和实例工厂方法
在学习Spring bean的实例化方式的时候遇到的一个问题,Spring bean实例化有3种方法 1、构造器生成 2、静态工厂方法 3、实例工厂方法 那么问题来了,什么是静态工厂方法,什么是实例工厂方法? 静态工厂方法: 顾名思义就是直接可以通过静态方法来实例化一个对象 如:public class He
2017-02-05 11:56:26
9960
原创 intellj idea中Maven选项消失的问题
在用idea的时候,点Setting,发现找不到Maven了,后来发现 是这个Maven Integration没有打钩,导致了,Build Tools里面找不到Maven
2017-02-05 11:49:26
2655
spring boot 英文版
2016-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人