自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dependencyManagement

同时可以避免在每个使用的子项目中都声明一个版本号,这样想升级或者切换到另一个版本时,只需要在父类容器里更新,不需要任何一个子项目的修改;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;这样做的好处:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,才能保证测试的和发布的是相同的成果,因此,在顶层pom中定义共同的依赖关系。今天创建了一个多模块的工程,在父模块中已经添加了依赖,但是在子模块中的代码里还是依旧提示缺少依赖。

2023-04-23 10:45:10 124

原创 java线程池及线程池运行流程

java线程池参数及其运行流程

2022-08-08 13:29:26 924

转载 Kubernetes简介

Kubernetes

2022-05-12 16:29:45 189

原创 Maven的使用和常用命令

maven

2022-05-12 14:23:54 1110

原创 springBatch批处理框架(二)实战

一·、概览之前我们了解了如何创建一个springBatch的项目,这篇文章我们一起来学习一下,如何应用框架进行数据。

2022-05-02 23:00:59 1345 4

原创 利用策略模式优化if-else

一、定义策略模式(Strategy Pattern):策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化.二、优缺点优点:1.策略模式符合开闭原则。2.可以避免使用多重条件判断。例如(if...else...等)3.使用策略模式可以提高算法的保密性和安全性。缺点:1.使用方必须知道所有的策略,并且自行决定使用哪一个策略。2.代码中会产生大量的策略类,增

2022-04-24 16:04:30 1706

原创 SpringBatch 批处理框架 (一)

一、批处理特点1.程序幕后的过程,无需用户交互 即可运行。2.在固定的数据集(eg: mysql,oracle等)上执行,直到获取全部预期的数据集。3.可以结合定时任务使用。二、使用场景1.报表数据统计通常我们会获取一段时间的数据,进行数据清洗、整合,最后形成一个可视化的报表,那么这个背后离不开批处理。2.数据交换例如我们将mysql的数据导入到oracle,同时我们还需要进行一些数据的筛选,梳理,那么我们也可以用到批处理。三、SpringBatch (介绍:来自官网)

2022-04-23 22:23:50 2662

原创 Netty介绍与实战(三)之粘包拆包

一、传统NIO架构step1. 我们传统的nio架构已经解决了多路复用,零拷贝等问题,已经十分优秀了,那为什么我们现在Netty如此火热呢?1) 首先他使用简单,基本上都是模板化,我们可以更专注业务。具体使用可参考Netty介绍及实战2)社区活跃,成熟稳定。3)提供编解码功能,和处理粘包、拆包的功能。4)替我们修复了NIO的大量bug , 不需要考虑复杂的网络协议。step2.什么是粘包、拆包?1)上图我们可以看到,所有的message都会放到我们对应的缓冲区当中。缓

2022-04-21 16:32:03 972

原创 Netty介绍及实战(二)之IO与NIO和多路复用与零拷贝

一、Netty到底是什么?什么是多路复用?什么叫做零拷贝?Netty是一个NIO客户端服务器框架,可以快速、轻松地开发协议服务器和客户端等网络应用程序。它极大地简化和简化了网络编程,避免了程序本身去处理断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常码流等操作,也避免了程序直接对NIO的操作。使我们更加专注于业务的实现。二、性能方面有哪些优势1.更高的吞吐量,更低的延迟2.减少资源消耗3.最小化不必要的内存拷贝三 、why?他是如何做到这么强大的step1.首先我们了解一下什么

2022-04-20 22:25:05 804

原创 AWS从入门到实战 之 创建账户

一、自述一个偶然的机会,加了外企,感受了不同于国内企业的工作氛围和技术文化,在此非常感谢我的各位leader和同事对我工作上的帮助和支持。工作中用到了一些AWS相关的一些组件,但是一直没有系统的学习,总是知其然,希望通过这次系统的学习可以知其所以然,并把学习经历和大家分享。二、如何创建AWS账号1.AWS官网地址:Cloud Computing Services - Amazon Web Services (AWS)AWS提供了一年免费试玩,后面会和大家一一分享常用的服务。2.按

2022-04-17 16:27:26 1871

原创 Netty介绍及实战(一)

Netty简介及实战,集成netty到spring生命周期

2022-04-16 15:46:56 780 3

原创 利用JsonSerialize优雅的实现数据类型转换

需求简介:希望通过注解的方式,批量的将时间格式化为预期的结果

2022-04-15 11:38:59 1807

原创 观察者模式--ApplicationContext

一、观察者模式定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式优点:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。 目标与观察者之间建立了一套触发机制。缺点:目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。 当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率。二、 spring.

2021-08-13 11:46:23 146

原创 ArrayList 和 LinkedList 的区别比较

ArrayList:优点:ArrayList 是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询 操作效率会比较高(在内存里是连着放的)。缺点:因为地址连续,ArrayList 要移动数据,所以插入和删除操作效率比较低。LinkedList:优点:LinkedList 基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等 一个连续的地址。对于新增和删除操作,LinkedList 比较占优势。LinkedList 适用于要头尾操 作或插入指定位置的场景。..

2021-08-12 15:46:48 143

原创 软件开发规范

前沿:由于项目前期任务重,时间短等其他原因导致的开发不规范,引起后期维护比较复杂。一、目前存在问题 1)项目分支较多,命名不规范。 2)代码注释不完善,函数名称自注释性较差。 3)缺少长链路功能的技术方案设计和流程图。 4)数据库注释较少,脚本执行容易遗漏。二、解决方案 1)开发阶段统一代码风格,遵守、但可不严格执行《阿里巴巴java开发手册》 2)定期做codeReivew,对复杂...

2021-08-12 15:35:02 222

转载 Docker使用教程超详细

Table of Contents1. Docker 简介 1.1. Docker 守护进程 1.2. Docker 客户端 1.3. Docker 内部 1.3.1. Docker 镜像 1.3.2. Docker 仓库 1.3.3. Docker 容器 1.4. libcontainer 1.5. 命名空间「Namespaces」 1.5.1. pid namespace 1.5.2. mnt namespace 1.5.3. net nam

2021-08-11 15:04:25 12078

原创 redis监听key过期事件

import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.connection.Message;import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;import org.springframework.data.redis.listener.RedisMessageListenerContainer;imp.

2021-08-11 09:33:30 116

原创 Callable结合CountDownLatch实战应用

一、需求场景描述1.批量上传1000个文件,并根据返回结果进行crud操作。二、具体coding如下

2021-08-10 11:38:15 604

原创 springcloud-alibaba 实战之springboot结合nacos

springcloud-alibaba 实战之springboot结合nacos 最近在学习springCloud相关的知识,看了网上的一些博客,里面还是有一些小坑的。故在学习之时整理了相关的实战记录,知识共享、方便你我他。如有不对的地方,欢迎留言指出提示:本文是基于macOs搭建的,windows大同小异,如有问题,可留言。springboot+nacos实战springcloud-alibaba 实战之springboot结合nacos前言一、nacos是什么?二、使用步骤1.官网下载na

2021-08-09 17:29:29 374

原创 springboot1.x集成flyway

一、flyway简介 1.Flyway是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同人的sql脚本,从而做到数据库同步. 2.运行流程如下: a、 首先配置好flyway的基本信息后,运行项目,会在数据库表中默认新建一个数据表用于存储flyway的运行信息,默认的数据库名:flyway_schema_history b、 紧接着Flyway将开始扫描文件系统或应用程序...

2021-08-09 16:20:45 169

原创 synchronized和ReentrantLock的区别

synchronized原理:依赖操作系统底层互斥锁实现的,会在使用synchronized代码块前后加上monitorEnter和monitorExist指令实现的。当多个线程进入同步代码块后,首先进入entryList,当一个线程获取到monitor锁之后,就赋值给当前线程,并且技术器加1。线程执行完毕,释放锁,计数器减1,当前线程设置为null.如果执行了wait命令则进入waitSet队列,使用notify活着notify之后重新加入entryList队列ReentrantLock原理:是基

2021-06-14 16:23:13 67

原创 java相关面试题汇总

一、spring相关的面试题1.JDK动态代理和cgLib的区别jdk:jdk动态代理只提供接口的代理,不支持类的代理。核心是InvocationHandler和proxy类

2021-03-14 22:31:07 66

转载 spring1.x实现读写分离

转载文章:https://www.jb51.net/article/106555.htm如有侵权立即删除本文实现案例场景:某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库。为了在开发中以最简单的方法使用,本文基于注解和AOP的方法实现,在spring boot框架的项目中,添加本文实现的代码类后,只需要配置好数据源就可以直接通过注解使用,简单方便。一配置二使用启动类注册动态数据源配置文件中配置多个

2020-08-12 15:33:49 129

原创 java程序员工作随笔-抽象工厂模式

抽象工厂模式学习笔记1.抽象工厂模式百度定义:**抽象工厂模式(Abstract Factory Pattern)隶属于设计模式中的创建型模式,用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。2...

2020-03-01 14:11:56 175

简单的没有任何异常的jar

简单的没有任何异常的jar

2022-10-20

jvm死锁jar包用于排查学习

jvm死锁jar包用于排查学习

2022-10-20

jvm堆内存溢出jar包代码

jvm堆内存溢出jar包代码

2022-10-19

空空如也

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

TA关注的人

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