自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内存泄露排查流程

如果只需要一个变量作为局部变量,在方法结束就不使用它了,但是把他设置为实例变量,此时如果该类的实例对象生命周期很长也会导致该变量无法回收发生内存泄漏(因为实例对象引用了它)变量作用域设置的不合理会导致内存泄漏。如果将对象存入散列表后,修改了该对象的关键域,就会改变对象哈希值,导致后续要在散列表中删除该对象,会找错索引从而找不到该对象导致删除失败(极小概率找得到)如果使用的是WeakHashMap,它内部的Entry是弱引用,当它的Key不再使用时,下次垃圾回收就会回收掉,不会发生内存泄漏。

2024-05-04 14:45:16 892

原创 内存泄露排查流程

jvisualvm 并按 Enter 键启动。排查jvm内存分配情况(内存分配合理)排查是否存在异常未清除类。虚拟机堆转储快照分析工具。一、创建内存泄露案例。排查发现出现内容泄露。

2024-03-28 23:11:11 300

原创 二、Jooq整合SpringBoot

对于我们经常用到的就是 Bean dslContext 和 jooqConfiguration ,大部分自动配置的Bean都会使用 @ConditionalOnMissingBean 注解, 此注解标识在没有某个Bean的情况下,才会执行该注解所标注的配置。Spring Boot最大的一个特性就是有很多 AutoConfiguration 自动配置, spring-boot-starter-jooq 依赖于 spring-boot-starter-jdbc, 其自动配置了数据源,事务管理器等。

2024-03-13 21:24:03 308 2

原创 一、Jooq-简单使用

此接口再使用关系型数据库时,主要用于定义数据库表记录,储存的内容是一条表记录的字段和值,每个值会储存对应字段的类型,可以通过通用的 getValue(Field field) 方法,取到对应字段的值,也可以将这个接口看做是一条记录的字段/值映射。生成的Java代码字段类型是根据数据库映射成的Java类型,在进行设置和查询操作时,因为是Java代码,都会有强类型校验,所以对于数据的输入,是天然安全的,极大的减少了SQL注入的风险。通过jOOQ提供的API,配合生成的Java代码,可以很方便的进行数据库操作。

2024-03-13 20:18:47 784

原创 DDD领域驱动设计-视频讲解+实战

DDD 领域驱动设计,当软件越来越复杂,实际开发中,大量的业务逻辑堆积在一个巨型类中的例子屡见不鲜,代码的复用性和扩展性无法得到保证。为了解决这样的问题,DDD提出了清晰的分层架构和领域对象的概念,让面向对象的分析和设计进入了一个新的阶段,对企业级软件开发起到了巨大的推动作用。

2022-11-07 20:32:10 1402 1

原创 getWriter() has already been called for this response

报错信息:getWriter() has already been called for this response。原有是getWriter和getOutputStream不能同时使用。改成使用其中一个就行。

2022-09-09 14:44:23 770

原创 单元测试汇总

单元测试

2022-07-14 10:11:48 514

原创 error:ajc:Internal AspectJ compiler error

error:ajc:Internal AspectJ compiler error

2022-06-30 17:13:47 669

转载 tomcat源代码导入

class Solution { public void nextPermutation(int[] nums) { if (nums.length == 1 || nums.length == 0){ return; } int left = nums.length-2; while (nums[left] >= nums[left+1]){ left--; .

2022-02-26 10:23:51 285

原创 排序问题排查Comparison method violates its general contract!

通过List.sort对元素进行排序,测试阶段没发现,在st测试的时候报了这个错误。“Comparison method violates its general contract!”。具体堆栈信息:看起来没什么问题,但是却报了一个错,“比较方法违反其一般合同”。在 JDK7 版本以上,Comparator 要满足自反性,传递性,对称性,不然 Arrays.sort,Collections.sort会报 IllegalArgumentException 异常。自反性:当 两个相同的元素.

2021-10-23 00:06:10 5049

转载 详解Spring的ImportSelector接口

详解Spring的ImportSelector接口(2) - 简书写在最前 上篇文章 - 详解Spring的ImportSelector接口(1) http://www.jianshu.com/p/aa99a303bc37中,我们最后留下了...https://www.jianshu.com/p/23d4e853b15b

2021-09-20 20:45:02 289

原创 springboot启动报错consider defining a bean of type ‘*.*.**‘ in your configuration.

图是网上找的,因为解决之后,没法复原案发现场如果你很确认这个bean确实是删掉了,没有出现在项目里,可以在clean一下项目,我这次问题也是出在这

2021-09-18 15:27:21 789

原创 架构师进阶之路——3、Spring MVC 源码深度剖析(二)

目录一、SpringMVC处理请求源码分析1、前端控制器 DispatcherServlet 继承结构2、SpringMVC处理请求流程3、核心方法深度剖析1)getHandler方法剖析2)getHandlerAdapter方法剖析3)ha.handle方法剖析4)processDispatchResult方法剖析一、SpringMVC处理请求源码分析1、前端控制器 DispatcherServlet 继承结构2、SpringMVC处理请求流程1).

2021-06-14 12:33:11 147

原创 架构师进阶之路——3、Spring MVC-处理流程、拦截器(一)

一、背景MVC 体系结构:表现层 、业务层、持久层,MVC属于表现层架构。MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制器(controller) 的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职: Model(模型):模型包含业务模型和数据模型,数据模型用于封装数据,业务模型用于处理业务。View(视图): 通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据

2021-06-13 21:34:26 184

原创 架构师进阶之路——2、Spring进阶-Spring AOP、事务(五)

一、背景AOP本质:在不改变原有业务逻辑的情况下增强横切逻辑,横切逻辑代码往往是权限校验代码、日志代 码、事务控制代码、性能监控代码。二、AOP 相关术语 名词 解释 Joinpoint(连 接点) 它指的是那些可以用于把增强代码加入到业务主线中的点,那么由上图中我们可 以看出,这些点指的就是方法。在方法执行的前后通过动态代理技术加入增强的 代码。在Spring框架AOP思想的技术实现中,也只支持方法类型的连接点。

2021-06-05 19:22:07 134 2

原创 架构师进阶之路——2、Spring进阶-IOC循环依赖问题(四)

一、什么是循环依赖循环依赖其实就是循环引用,也就是两个或者两个以上的 Bean 互相持有对方,最终形成闭环。比如A 依赖于B,B依赖于C,C又依赖于A。注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。Spring中循环依赖场景有: 构造器的循环依赖(构造器注入)Field 属性的循环依赖(set注入)其中,构造器的循环依赖问题无法解决,只能拋出 BeanCurrentlyInCreationException 异常,在解决属性循

2021-06-03 22:02:52 95

原创 架构师进阶之路——2、Spring进阶-BeanFactory& Bean创建流程(三)

目录一、BeanFactory创建流程1.获取BeanFactory子流程2、BeanDefinition加载解析及注册子流程二、 Bean创建流程一、BeanFactory创建流程1.获取BeanFactory子流程时序图如下2、BeanDefinition加载解析及注册子流程2.1该子流程涉及到如下几个关键步骤Resource定位:指对BeanDefinition的资源定位过程。通俗讲就是找到定义Javabean信息的XML文 件,并将其封装成Resou.

2021-06-03 21:33:29 796 6

原创 架构师进阶之路——2、Spring进阶-IOC&BeanFactory&ApplicationContext&FactoryBean&后置处理器(二)

一、 Spring IoC基础二、BeanFactory与ApplicationContext区别

2021-05-31 22:18:02 211 7

原创 架构师进阶之路——2、Spring进阶-核心结构&思想(一)

一、背景Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 Spring MVC 和业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,已 经成为使用最多的 Java EE 企业应用开源框架。Spring 官方网址:我们经常说的 Spring 其实指的是Spring Framework(spring 框架)。...

2021-05-30 17:07:46 186 1

原创 Mac中FinalShell的使用

下载地址:http://www.hostbuf.com具体操作:https://jingyan.baidu.com/article/2f9b480d797c3a01cb6cc2b7.html

2021-05-26 00:20:51 2910

原创 架构师进阶之路——1、持久化框架(二)

目录一、Mybatis源码剖析1、传统方式源码剖析1)初始化2)执行SQL流程3)executor4)、StatementHandler2、 Mapper代理方式一、Mybatis源码剖析1、传统方式源码剖析1)初始化Inputstream inputstream = Resources.getResourceAsStream("mybatis-config.xml");//这一行代码正是初始化工作的开始。SqlSessionFactory fac..

2021-05-16 21:53:05 138 1

原创 架构师进阶之路——1、持久化框架(一)

一、背景对于开发过几年的老程序员来说,mybatis框架都是众所周知的,但是有没有想过,或者想清楚为什么会出现mybatis框架。下面是最初的jdbc开发模式public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null;

2021-05-16 20:16:27 1239 5

原创 设计模式以及在业务场景的实践

目录前言设计模式的类型设计模式的六大原则设计模式的特点业务中落地房源上房处理链业务-责任链模式自动追价优惠活动策略处理器业务-策略模式日志工厂对象处理业务-单例模式多种场景打印封装日志业务-抽象工厂模式结语参考文献前言在软件领域中,最先诞生的是软件模式,软件模式(Software Patterns)是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件开发生

2021-02-28 10:46:58 1066

原创 HttpUtils请求工具类

HttpUtils请求import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URISyntaxException;import java.util.ArrayList;import java.util.Map;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactor

2021-01-28 20:06:09 360

原创 Intellij IDEA取消access can be private提示

开发过程中,因为一些不必要的warn,导致我们往往以为所有的warn都是没有问题的,麻木的结果最终只会导致大隐患的出现。所以需要对于这种不需要提示的问题隐藏掉

2020-12-15 17:08:09 1408

原创 postman传递二进制文件 Current request is not a multipart request

post请求中通过postman传递二进制文件出错报错信息Current request is not a multipart request主要原因在于对postman的使用不会,二进制请求不是在binary传递过去的在请求就没问题了^_^

2020-11-26 21:24:21 2908 1

原创 postman全局参数配置

背景:按照最苦逼的方式进行请求,需要不断的频繁修改参数,及其繁琐。另外一个原因,在需求开发过程中,涉及到多个请求,这样的话需要对请求进行分类管理,方便后续的使用。一、请求分类管理新建Collections填写分组信息选中分组,右击鼠标,创建子分组选择请求的url,点击保存->选择你要保存的分组二、全局变量配置将一些常量配置成全局变量。点击“眼睛”图标->add(第一次进行点击add,以后点击edit)-> 保存

2020-10-14 11:30:25 3868

原创 idea调出services管理多个服务

第一步:第二步:第三步:第四步完成:在启动系统就ok了

2020-09-11 20:36:39 694

原创 comparator接口和Comparable接口比较

目录一、comparator接口1、list的比较2、数组的比较二、Comparable接口Java提供了一个用于比较的接口Comparator和Comparable接口,提供了一个比较的方法,所有实现该接口的类,都动态的实现了该比较方法。一、comparator接口1、list的比较如果要使用list的sort方法需要实现一个Comparator接口,自定义比较方式 public static void main(String[] args) { Li

2020-06-02 12:51:58 326

原创 详细分析Java8中default关键字

目录一、简介二、出现的理由三、例子三、解决冲突一、简介default关键字:与public、private等都属于修饰符关键字,与其他两个不同之处在于default关键字大部分都应用于接口。二、出现的理由总所周知在使用接口的时候,很多人都会遇到一个很尴尬的事情,在实现某个接口的时候,需要实现该接口所有的方法。这个时候default关键字就派上用场了。通过default关键字定义的方法,集成该接口的方法不需要去实现该方法。三、例子创建一个person类, 使用de.

2020-06-01 23:16:11 10365 2

原创 idea导入项目出现乱码

导入外部项目出现乱码问题,文件本身也是utf-8这个时候首先你得在文件夹里面单独打开看一下你的文件是否本身就是乱码那就说明是idea配置问题上面也有描述,说utf-8加载出错点击乱码恢复但是一个个文件改的话太麻烦了,可以直接去setting里面修改把整个项目都选择为gbk就可以了不过我个人建议注解还是啥的都可以直接使用英文,不仅可以提高英...

2020-05-01 17:12:51 5831 1

原创 mac基本操作和关闭安全模和任务监控器

创建文件夹mkdir dirname删除一个目录 rmdir dirname mvdir移动或重命名一个目录 mvdir dir1 dir2 cd改变当前目录 cd dirname pwd显示当前目录的路路径名 pwd ls显示当前目录的内容 ls -la dircmp比较两个目录的内容 dircmp dir1 dir2切换用户 sudo -iMac进行一些操作时...

2020-04-20 16:46:01 5004

原创 IDEA的详细使用(上)

一、IDEA的安装二、IDEA的使用1、快捷栏的选择2、查看IDEA破解时间3、项目结构隐藏IDEA的项目配置文件4、运行项目​5、IDEA快捷键的使用6、创建代码提示模板7、修改页面模板8、设置类注释模板​9、创建maven项目10、聚合工程11、maven项目打包12、非maven项目打包三、SVN的使用...

2020-04-19 17:09:38 28685

原创 Spring的深入浅出--17.Spring的事务管理详细分析

spring的事务管理主要有:-spring事务管理的一组API-spring的编程式事务管理-spring的声明式事务管理什么是事务?事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败spring接口介绍Spring事务管理高层抽象主要包括3个接口PlatformTransactionManager 平台事务管理器TransactionDef...

2020-02-22 16:07:25 211

原创 RESTFUL API开发常用接口以及spring boot开发常用操作

目录io.spring.platform和org.springframework.cloudcommonsjava -jar 文件名REST成熟等级controller层中常用注解@RequestParam@PageableDefault@PathVariable@JsonView@RequestBody前后端分离中Date的使用校验注解@...

2020-01-07 17:39:38 1383

原创 前后端分离历史追溯及如今流行的前后端分离接口实现

博客对应视频讲解地址:https://www.bilibili.com/video/av81735277/一、模板引擎时代1、jsp本质:jsp是服务器响应页面、jsp是嵌入java代码的html、jsp的本质就是servlet缺点:前端开发人员必须会后端,后端开发人员必须会前端。导致大批全栈工程师的出现2. FreeMarker2. FreeMarkerFreeM...

2020-01-01 15:43:41 1251 2

原创 premiere pro安装

下载pr压缩包,解压,低级set-up.exe,点击install(安装)接受条款填写序列号(一定要记住,断网!!!)选择安装路径,建议不要安装到c盘,一定要记住安装路径!!!安装完成!找到安装目录点击exe,启动之后,发现比不上免费的,我们需要改变文件打开之前解压目录,找到amtlib.dll文件将上面的文件复制到下面的目...

2020-01-01 11:56:29 1249 1

原创 购买安装和配置最新idea教程2019

目录1、下载和安装2、配置4、在启动界面打开配置:字体和主题:启动项:类名补全快捷键代码生成代码联想编码mavenES6语法支持Vue插件安装2、常用快捷键3.代码补全4、小技巧5.打开springboot的run dashboard打开最近项目1、下载和安装官网下载链接http://www.jetbrains....

2019-12-24 09:16:34 3040 1

原创 postman的安装和使用

下载地址:链接:https://pan.baidu.com/s/1w7KPOilVEDaiJeqNZKYMtg提取码:93st直接插掉,不需要登录进入到主界面点击+号(也可以直接使用)输入get或者post请求链接,点击send...

2019-12-22 22:30:41 458

原创 docker-阿里云服务器上面部署web项目

1、购买云服务器https://cloud.tencent.com/act/campus购买成功之后2、购买域名直接搜索随便选择购买3、域名解析(与服务器绑定)进去之后选择自定义解析,我已经解析过了,所以就直接跳出来了然后部署好tomcat之后,访问4、部署web项目进入到docker中,删除tomcat的ROOT...

2019-12-16 18:09:26 1369

空空如也

空空如也

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

TA关注的人

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