自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 JDK8-JDK17新特性

1、Lambda表达式2、函数式编程3、接口可以添加默认方法和静态方法,也就是定义不需要实现类实现的方法4、方法引用5、重复注解,同一个注解可以使用多次6、引入Optional来避免空指针7、引入Streams相关的API8、引入新的Date/Time相关的API9、新增jdeps命令行,来分析类、目录、jar包的类依赖层级关系10、JVM使用MetaSpace代替了永久代(PermGen Space)

2023-06-02 20:58:22 648

原创 sqlserver 备份数据还原

sqlserver 备份数据还原。

2023-01-17 09:36:35 243

原创 idea debug

idea debug

2022-04-28 21:43:39 196

原创 Spring中的设计模式

spring设计模式

2022-04-17 15:40:05 163

原创 POSA mq编写

POSA MQ编写实现方法需要继承AbstractMQCallerMQ命名,和MQ接口文档保持一致重写getResult方法,根据MQ调用名称判断mir.jar包中返回message的对应方法,如下@Overrideprotected Serializable getResult(Message_Body message) { return message.getCCWM9N4C();}覆写getBpfid方法,根据MQ调用名称判断mir.jar包中返回FrontEndConst

2022-04-08 14:13:35 325

原创 POSA sp编写

1.2.1 SP开发说明实现类需要继承AbstractSPCallerSP类命名参考核心SP文档,和CLAPPCREG。命名取CLAP提供静态工厂获取实例public static CLAPPCREG getInstance() { return new CLAPPCREG(); }提供日志打印loggerprivate static final org.slf4j.Logger logger=org.slf4j.LoggerFactory.getLogger(CLAPPC

2022-03-28 17:57:25 86

原创 Drools规则引擎使用

DroolsDrools语法规则文件packageimportruleDrools语法规则文件规则文件可以使用 .drl文件,也可以是xml文件,这里我们使用drl文件package对一个规则文件而言,package是必须定义的,必须放在规则文件第一行,package的名字是随意的,不必必须对应物理路径,跟java的package的概念不同,这里只是逻辑上的一种区分如:package com.sankuai.meituan.waimai.drools.demoimport导入规则文件

2022-03-14 21:45:11 1050

原创 Spring Web MVC 框架

springmvcSpring MVC 框架DispatcherServlet需求的配置Spring MVC 框架Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件。MVC 模式导致了应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。模型封装了应用程序数据,并且通常它们由 POJO 组成。视图主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML 输出。控制器主要用

2022-03-10 09:41:48 454

原创 Spring 事务管理

这里写目录标题Spring 事务管理Spring 事务管理一个数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行,要么完全不执行。事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性说成是 ACID:原子性:事务应该当作一个单独单元的操作,这意味着整个序列操作要么是成功,要么是失败的。一致性:这表示数据库的引用完整性的一致性,表中唯一的主键等。隔离性:可能同时处理很多有相同的数据集的事务,每个事务应该与

2022-03-07 08:54:07 58

原创 IOC容器的基本实现

IOC容器的基本实现核心类介绍DefaultListableBeanFactory*XmlBeanDefinitionReader容器的基础XmlBeanFactoryBeanDefinitionParserDelegate核心类介绍接下来我们先了解下spring-bean最核心的两个类:DefaultListableBeanFactory和XmlBeanDefinitionReaderDefaultListableBeanFactory*XmlBeanFactory继承自DefaultListab

2022-03-01 22:17:00 409

原创 Spring整体架构

Spring整体架构一、整体架构1. Core Container2. Data Access/Integration3. Web4. AOP5. Test5. Test一、整体架构1. Core ContainerCore Container(核心容器)包含有Core、Beans、Context和Expression Language模块Core和Beans模块是框架的基础部分,提供IoC(转控制)和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除

2022-03-01 22:06:26 125

原创 Spring 事务

文章目录Spring 事务抽象TransactionDefinition事务的隔离级别Spring 事务抽象Spring 事务抽象的关键是由 org.springframework.transaction.PlatformTransactionManager 接口定义,如下所示:public interface PlatformTransactionManager { TransactionStatus getTransaction(TransactionDefinition definitio

2022-03-01 17:48:52 43

原创 spotbugs常见报错

错误类型错误类型实验中遇到的常见错误错误类型阅读了官方的文档后,了解到spotbugs主要包括10大类bug,他们分别是:1.Bad practice(90余种)不良的实践,违反常识性的或者必要的代码惯例,比如重写了equals却没有重写hashcode。2.Correctness (150余种) 此处的代码有可能在运行时导致错误,与预期不符,比如空指针错误。3.Experimental(9种)spotbugs在此处不适用,大概是匹配模式不太适用于此处。4.Internationalizatio

2022-02-28 15:51:29 1773

原创 Spring 中的事件处理

Spring中的事件处理Spring中事件的处理标准事件三级目录Spring中事件的处理Spring 的核心是 ApplicationContext,它负责管理 beans 的完整生命周期。当加载 beans 时,ApplicationContext 发布某些类型的事件。例如,当上下文启动时,ContextStartedEvent 发布,当上下文停止时,ContextStoppedEvent 发布。通过 ApplicationEvent 类和 ApplicationListener 接口来提供在 Ap

2022-02-25 09:32:42 321

原创 Spring 常见注释

文章目录Spring @Qualifier 注释Spring JSR-250 注释@PostConstruct 和 @PreDestroy 注释:@Resource 注释:Spring 基于 Java 的配置@Configuration 和 @Bean 注解注入 Bean 的依赖性@Import 注解:生命周期回调指定 Bean 的范围:Spring @Qualifier 注释可能会有这样一种情况,当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可

2022-02-16 16:12:32 70

原创 Spring @Autowired 注释

Spring @Autowired 注释@Autowired 注释对在哪里和如何完成自动连接提供了更多的细微的控制。@Autowired 注释可以在 setter 方法中被用于自动连接 bean,就像 @Autowired 注释,容器,一个属性或者任意命名的可能带有多个参数的方法。Setter 方法中的 @Autowired你可以在 XML 文件中的 setter 方法中使用 @Autowired 注释来除去 元素。当 Spring遇到一个在 setter 方法中使用的 @Autowired 注释,

2022-02-16 16:00:41 65

原创 Spring Bean 后置处理器

BeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的实例化逻辑,依赖解析逻辑等。你也可以在 Spring 容器通过插入一个或多个 BeanPostProcessor 的实现来完成实例化,配置和初始化一个bean之后实现一些自定义逻辑回调方法。你可以配置多个 BeanPostProcesso r接口,通过设置 BeanPostProcessor 实现的 Ordered 接口提供的 order 属性来控制这些 BeanPostProcessor 接口的执行顺序。BeanPost

2022-02-16 15:36:01 237

原创 Spring Bean 作用域

文章目录Spring Bean 作用域singleton 作用域prototype 作用域Spring Bean 作用域当在 Spring 中定义一个 bean 时,你必须声明该 bean 的作用域的选项。例如,为了强制 Spring 在每次需要时都产生一个新的 bean 实例,你应该声明 bean 的作用域的属性为 prototype。同理,如果你想让 Spring 在每次需要时都返回同一个bean实例,你应该声明 bean 的作用域的属性为 singleton。Spring 框架支持以下五个作用域

2022-02-15 16:50:15 94

原创 Spring ApplicationContext 容器

文章目录Spring ApplicationContext 容器最常被使用的 ApplicationContext 接口实现:Spring ApplicationContext 容器Application Context 是 spring 中较高级的容器。和 BeanFactory 类似,它可以加载配置文件中定义的 bean,将所有的 bean 集中在一起,当有请求的时候分配 bean。 另外,它增加了企业所需要的功能,比如,从属性文件从解析文本信息和将事件传递给所指定的监听器。这个容器在 org.sp

2022-02-15 16:38:23 220

原创 BeanFactory 容器

文章目录Sping 的 BeanFactory 容器实例Sping 的 BeanFactory 容器这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.BeanFactor 中被定义。 BeanFactory 和相关的接口,比如,BeanFactoryAware、 DisposableBean、InitializingBean,仍旧保留在 Spring 中,主要目的是向后兼容已经存在的和那些 Spring

2022-02-15 16:36:32 77

原创 Spring 体系结构

Spring 体系结构Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入。下面的部分对在 Spring 框架中所有可用的模块给出了详细的介绍。Spring 框架提供约 20 个模块,可以根据应用程序的要求来使用。核心容器核心容器由核心,Bean,上下文和表达式语言模块组成,它们的细节如下:核心模块提供了框架的基本组成部分,包括 IoC 和依赖注入功能。Bean 模块提供 BeanFactory,它是一

2022-02-15 15:46:03 90

原创 Servlet生命周期

文章目录Servlet 生命周期init() 方法service() 方法doGet() 方法doPost() 方法destroy() 方法Servlet 生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 通过调用 init () 方法进行初始化。Servlet 调用 service() 方法来处理客户端的请求。Servlet 通过调用 destroy() 方法终止(结束)。最后,Servlet 是由 JVM 的垃圾回收器进

2022-02-07 15:08:10 46

原创 druid连接池配置介绍

#初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 initialSize: 5 #最小连接池数量 minIdle: 5 #最大连接池数量 maxActive: 20 #获取连接时最大等待时间,单位毫秒,配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。 #maxWait: 60000 timeBetween

2021-12-27 16:52:19 857

原创 springboot项目公共配置文件抽取

抽取公共配置

2021-12-27 15:44:22 433

原创 Spring操作指北

SPEL

2021-12-14 15:34:46 300

原创 Java系统变量环境变量的获取和设置

系统变量与环境变量

2021-12-14 10:23:23 284

原创 Effect Java学习笔记

Effect Java学习笔记文章目录Effect Java学习笔记第三章 对于所有对象都通用的方法第10条:覆盖 equals 时请遵守通用约定1.覆盖约定2.equals 方法实现了等价关系( equi va lence relation ),其属性如下:3.实现高质 equals 方法的诀窍总结第三章 对于所有对象都通用的方法第10条:覆盖 equals 时请遵守通用约定1.覆盖约定1.类的每个实例本质上都是唯一的,对象存储位置不同,每一个对象都是唯一的。2.类没有必要提供“逻辑相等”(

2021-12-08 18:07:12 209

原创 Markdown使用指南

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-12-08 17:29:38 42

原创 Redis进阶

Redis进阶一、redis底层IO多路复用Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的操作。epoll实现原理epoll通过在Linux内核中申请一个简易的文件系统(文件系统一般用什么数据结构实现?B+树)。把原先的1)调用epoll_create()建立一个epoll对象(在e

2021-12-08 17:27:34 49

原创 idea方法注释模板

idea方法注释模板

2021-12-01 16:47:22 315

原创 gitlab迁移项目

gitlab迁移项目文章目录gitlab迁移项目一、迁移整个项目二、迁移指定分支总结一、迁移整个项目git clone "旧项目路径"cd 至项目路径下git remote rename origin old-origingit remote add origin "新项目路径"git push -u origin --allgit push -u origin --tags二、迁移指定分支总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的

2021-11-24 16:12:42 861

原创 sqlserver 通过配置文件实现mybatis逆向工程

Mybatis逆向工程配置使用文章目录Mybatis逆向工程配置使用前言一、 Resources1.1generatorConfig.xml1.2jdbc.properties文件二、添加maven依赖2.1pom.xml三、使用步骤3.1配置maven启动项3.2使用总结前言idea+mybatis+SQL server实现逆向工程一、 Resources添加generatorConfig.xml和jdbc.properties文件。1.1generatorConfig.xml<?

2021-11-23 16:52:40 1355 1

原创 注解继承,合并

1、自定义事务注解为什么自定义事务注解?1、为了合并Transactional注解2、给注解提供加载顺序3、SpringBoot项目,Transactional声明式事务,会在所有AOP之前执行,并且默认执行顺序为0(数字越低,优先级越高)package aia.cn.posa.annotation;import org.springframework.core.annotation.Order;import org.springframework.transaction.annotati

2021-11-10 18:08:59 510

原创 Springboot Aop自定义注解和自定义事务注解@Transactional冲突解决方式

Springboot自定义注解目录Springboot自定义注解前言一、自定义注解1、切换数据源注解2、自定义事务注解二、实现自动切换数据源步骤1、实现AbstractRoutingDataSource类2、数据源设置获取3、读取多数据源配置4、数据源切换切面5、切换数据源和事务注解使用位置总结前言SpringBoot项目使用AOP+注解的方式实现自动切换数据源背景:需要同时满足事务注解和自定义注解的使用一、自定义注解1、切换数据源注解package aia.cn.posa.annota

2021-11-10 17:36:57 1672

原创 sqlserver基础

SqlServer1、sqlserver2008技术内幕:T-SQL语言基础练习2、创建数据库,DB_ID判断数据库是否存在3、创建表,OBJECT_ID判断表是否存在4、添加主键约束,主键不能为null,表中只能有一个5、添加唯一索引,唯一索引允许有null值。表中可以有多个唯一索引6、检查约束check,数据修改插入时,检查age>07、添加默认约束8、select语句查询顺序9、TOP子句1、返回结果集中的前5行2、按照前5%返回10、OVER子句,OVER用于为行定义一个窗口,它对一组值进行操

2021-11-03 09:31:56 286

原创 MyBatis Plus

文章目录MyBatis Plus 基础篇一、简介拥有强大的特性二、框架结构三、基本开发环境1. 准备数据2. Hello World第一步:创建一个 Spring Boot 项目第二步:编辑 pom.xml 文件添加相关的依赖第三步:配置 application.yml 文件第四步:创建对应的类第五步:愉快地测试四、常见注解案例:多表联查1. 准备数据User 用户表(按之前的)Role 角色表Permission 权限表UserRole 用户角色关联表RolePermission 角色权限关联表2. 创建

2021-07-19 22:23:17 171

原创 Redis

Redis​ 存储热点信息,因为这些信息需要经常查询。因此存储在内存中。这样查询起来快、方便​ redis缓存应用场景------》集群中用来存储共享的数据例如sessionID----》多线程情景下为保证事务引入分布式锁的实现reids数据结构及应用场景1、String类型存储键值对,存储对象不方便修改,需要全写一遍,适合存储共享信息应用场景:商品编号、订单号采用INCR命令生成//递增incr key//递增指定数incrby key 数字//递减decr keydecrby

2021-07-10 14:04:28 62

原创 mysql优化

mysql优化MySQL引擎MyISAM:不支持事务innodb:支持表锁和行锁一、局部性原理show create table film 查看建表的详细信息show table status in filmclublike 'film'查看filmclub数据库的film表信息1、cpu读取一行数据时,会将该行数据所在的相邻数据都会被读取出来。mysql的innodb,一页有16kb字节。16kb=1024*16=16384字节2、表中的页结构[外链图片转存失败,源站可能有防盗

2021-07-10 14:03:56 499

原创 MySQL数据库进阶

MySQL一、InnoDB和MyISAM存储引擎区别InnoDB:支持事务处理,支持外键,支持行锁和表锁,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比

2021-07-10 14:02:41 120

原创 高并发应对措施

高并发应对措施连接处理层面应对高并发的思路就是:阻塞变非阻塞,同步变异步,核心就是充分利用单机性能,压榨CPU。一、系统分层这一节,我们将从系统分层这个层面来看每一层可以采用的应对之策。二、业务层本节主要关注在业务层,面对高并发场景下对于业务逻辑实现相关的处理方案。三、缓存缓存是一种存储数据的组件,它的作用就是让对数据的请求能更快的返回。高并发的场景下,如果能快速的返回请求所需要的数据,对于系统持久层是一种相当好的保护措施,对于系统来说也能提升吞吐量。常见的缓存技术有静态缓存、分布式缓存和热

2021-07-10 14:00:04 639

空空如也

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

TA关注的人

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