自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @Async实现多线程

7.在Async方法上标注@Transactional是没用的.但在Async方法调用的方法上标注@Transcational是有效的。6.类中需要使用@Autowired或@Resource等注解自动注入,不能自己手动new对象。4.spring无法扫描到异步类,没加注解@Async或@EnableAsync注解。2.注解@Async的返回值只能为void或Future。3.注解@Async方法使用static修饰也会失效。1.注解@Async的方法不是public方法。

2023-07-18 19:34:29 372

原创 springboot 多数据源配置

springboot多数据源快速加入,

2023-07-18 19:27:50 632

原创 多线程批量执行事务处理

背景:有个数据量很大的列表,需要插入,由于数据量过大,所以分批批量插入,然后这些插入没有关联性,所以使用多线程来执行,提高效率,但是如果其中某一次执行失败,需要整体回滚;如下是核心代码://批量插 List<LockCurrencyReturnSettle> list = new ArrayList<>(userTotalBuyRecord.size()); for (LockCurrencyBuyRecordVo vo : userTota

2021-11-19 15:18:12 1039 2

原创 验签加密MD5withRSA +AES

import java.io.IOException;import java.security.KeyFactory;import java.security.PrivateKey;import java.security.PublicKey;import java.security.Signature;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;impo.

2021-11-04 11:32:46 1947

原创 数据库索引

什么时候使用索引1.查询字段2.排序字段3.关联字段4.统计字段5.唯一约束什么时候尽量减少使用索引1.频繁修改或维护的2.数据量小3.数据重复性大 联合索引最左原则1.查询条件中必须有最左边的字段2.查询条件编写顺序和索引使用顺序没有关系,因为sql执行时会优化例如创建联合索引(a,b,c)那么a|ab|abc|ac都可以命中索引,但b,c就不会走索引使用索引注意1.字段值为NULL不会走索引2.like ‘%关键...

2021-11-03 15:36:58 716

原创 软考知识点

信息化知识信息化六要素 信息技术应用 龙头 信息技术和产业 基础 信息资源 核心任务 薄弱环节 信息网络 信息人才 成功之本 关键 信息化法律法规和政策 根本保障 信息质量属性: 1.精确性:精准程度 2.完整性:全面程度 3.可靠性:可以信任,符合预期 4.及时性: 5.经济性:获取、传输带来的成本在可以接受范围之内 6.可验证性:信息的主要质量属性可以被证实或者证伪的程度 7.安全性...

2021-11-01 15:57:28 1676

原创 项目集成记忆、易错点

详细可行性分析内容: 改需献计进金人易合 概述 需求 现在 技术进度 资金 人力 效益 合作项目章程内容 母受风需背 策欺妙玉批 目的 授权项...

2021-11-01 15:47:28 287

转载 自定义排序 order by case when

需求:在一张表上有状态值为 0,1,2,3,4...现在需要将状态为0的展示在上面,后续的数据按照时间倒序排序,用一条sql语句实现Select * from tableA ORDER BY ColA , CASE WHEN type = 5 THEN 200 WHEN type = 6 ...

2021-08-26 15:13:52 514

转载 for update加锁

一、for update定义for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。行锁永远是独占方式锁。只有当出现如下之一的条件,才会释放共享更新锁:1、执行提交(COMMIT)语句2、退

2021-06-08 14:24:04 2872 1

原创 spring boot shiro实战

1.添加pom <!--shiro--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</version> </dependency>

2021-05-19 10:12:44 167

原创 RabbitMQ实践

1.maven <!--RabbitMq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>1.5.2.RELEASE</versio

2021-04-27 15:44:32 125

原创 MySQL数据库设计规范

MySQL数据库设计规范(仅供参考)目录规范背景与目的 设计规范 2.1 数据库设计 2.1.1 库名 2.1.2 表结构 2.1.3 列数据类型优化 2.1.4 索引设计 2.1.5 分库分表、分区表 2.1.6 字符集 2.1.7 程序DAO层设计建议 2.1.8 一个规范的建表语句示例 2.2 SQL编写 2.2.1 DML语句 2.2.2 多表连接 2.2.3 事务 2.2.4 排序和分组 2.2.5 线上禁止使用的SQL语句1. 规范背景与目的M...

2021-04-21 17:55:23 157

原创 springboot redisson分布式锁

1.添加依赖 <!--springboot startWeb --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version&gt

2021-04-19 15:49:33 151

原创 redis lua脚本操作库存(秒杀场景)

使用Lua脚本的好处 1、减少网络开销:可以将多个请求通过脚本的形式一次发送,减少网络时延和请求次数。 2、原子性的操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本的过程中无需担心会出现竞态条件,无需使用事务。 3、代码复用:客户端发送的脚步会永久存在redis中,这样,其他客户端可以复用这一脚本来完成相同的逻辑。 4、速度快:见 与其它语言的性能比较, 还有一个 JIT编译器可以显著地提高多数任务的性能; 对于那些仍然对性...

2021-04-19 14:50:52 665

原创 spring boot自定义注解

1.添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>2.创建@interface关于@Target @Retention @Documented这几个注解可以查看一下这个文件https://blog.csdn.net/

2021-03-24 18:14:35 72

原创 spring boot集成xxl-job调度器

xxl-job调度器参考地址:https://www.jianshu.com/p/fa7186bea84b此处省略创建xxl-job调度中心,主要是示范项目中使用1.引入maven包<!-- xxl-job-core --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-

2021-03-17 18:11:34 212

原创 spring boot 集成mybatis

1. Mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。 换句话说,我觉得利用mybatis整合持久层要方便很多,比起以前编写jdbc代码操作数据库的一些连接,简直不.

2021-01-10 13:39:07 219

原创 @Mapper 的使用

@Mapper 的使用可以自动装配dao层,可替代启动时自动扫描,但是启动扫描更加便捷,无须在每个mapper上添加注解在用idea写一个实现类时引用了mapper类的来调用dao层的处理,使用@Autowired注解时被标红线,找不到bean。 解决办法:在mapper加@mapper或者@repository注解。 这两种注解的区别在于: 1、使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对...

2021-01-10 12:45:06 1293

原创 springboot学习

springboot 学习笔记记录springboot学习过程环境安装jdk1.8 jre mavenspringboot项目代建 常用注解使用RESTful Web 服务介绍Spring Boot 读取配置文件的几种方式记录springboot学习过程非常适合小白傻瓜式学习springboot过程,为自己记录点滴,方便记录也为后续的回忆做个参考,希望能帮到更多的学习者环境安装jdk1.8 jre mavenmaven安装与配置 maven私服搭建springboot项目代建 常用注解使用新建

2021-01-08 16:34:06 323 4

原创 maven安装与配置 maven私服搭建

1.maven安装与配置:https://www.cnblogs.com/luckyzoe/p/13061135.html2.通过Nexus管理maven包搭建私服:https://jingyan.baidu.com/article/624e745945678534e8ba5aff.html3.上传jar包:https://blog.csdn.net/iopfan/article/details/71107686例子:http://10.1.4.150:8081/Nexus3 私有.

2021-01-07 10:28:47 156

原创 Failed to decode downloaded font 问题解决

解决 Failed to decode downloaded font在pom.xml 的 build 中 加入如下:<!-- 解决字体文件 --><resources> <resource> <directory>/src/main/resources</directory> <filtering>true</filtering> <exclu.

2020-09-23 10:47:22 704

原创 java 生成带logo二维码

1.导入maven包<!-- 二维码支持包 --><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version></dependency><dependency> <groupId>net.glxn&

2020-07-03 15:32:25 230

原创 java 操作redis工具类

1.添加maven的包<!-- Redis --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.添加redis配置spring.redis.database=1spring..

2020-07-03 15:26:10 196

原创 Graphics2D 画图透明通道处理

为了生成海报画图,有的图片是带有透明通道的。但是生成后就处理成黑色背景网上搜了好多都不符合,为了后面小伙伴的方便。特分享下~下图是生成的效果左侧:原图 右侧没有添加透明通道生成的图重点的核心代码来了:/** * 缩放图片+透明 * * @param image 需要缩放的图片 * @param width 宽 * @param height 高 * @return BufferedI...

2020-07-03 15:18:20 817

转载 Thymeleaf模板表达式

Thymeleaf模板表达式日期格式、组件提取等.${#dates.format(date)}${#dates.arrayFormat(datesArray)}${#dates.listFormat(datesList)}${#dates.setFormat(datesSet)}${#dates.format(date, 'dd/MMM/yyyy HH:mm')}${#dates.arrayFormat(datesArray, 'dd/MMM/yyyy HH:mm')}${#dates

2020-06-23 09:53:57 333

原创 IDEA SpringBoot Thymeleaf 热部署

开发工具Intellij IDEAthymeleaf禁用缓存将thymeleaf的cache属性置为false,不使用thymeleaf的缓存功能。#关闭thymeleaf缓存spring.thymeleaf.cache=false一开始我就配置了,但是修改页面之后,刷新浏览器,修改的内容没有生效。最终解决办法这个时候查看target目录下,你修改的html文件,发现刚刚修改的内容并没有编译到该文件中。刷新浏览器自然就没有生效。所以需要我们自己手动build一下。。。方法

2020-06-11 09:51:11 461

原创 Thymelef 使用基本语法

添加Thymeleaf依赖要想使用Thhymeleaf,首先要在pom.xml文件中单独添加Thymeleaf依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>Spring Boot默认存放模板页.

2020-06-10 15:56:52 1017

转载 uni-app小程序

1. 通过 HBuilderX 可视化界面可视化的方式比较简单,HBuilderX内置相关环境,开箱即用,无需配置nodejs。开始之前,开发者需先下载安装如下工具:HBuilderX:官方IDE下载地址HBuilderX是通用的前端开发工具,但为uni-app做了特别强化。下载App开发版,可开箱即用;如下载标准版,在运行或发行uni-app时,会提示安装uni-app插件,插件下载完成后方可使用。如使用cli方式创建项目,可直接下载标准版,因为uni-app编译插件被安装到项目下了

2020-05-27 14:42:07 1450

转载 IDEA断点大全

快捷键 功能描述F8 单步调试,不进入函数内部F7 单步调试,进入函数内部Shift+F7 选择要进入的函数Shift+F8 跳出函数Alt+F9 运行到断点Alt+F8 执行表达式查看结果F9 继续执行,进入下一个断点或执行完程序Ctrl+F8 设置/取消当前行断点Ctrl+Shift+F8 查看断点快捷键 功能描述F8 单步调试,不进入函数内部F7 ...

2019-12-13 14:44:00 219

原创 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。二、创建服务注册中心 Eureka-Server在这里,我们需要用的的组件上Spring Cloud Netflix的Eureka ,eureka是一个服务注册和发现模块。2.1 首先创建一...

2019-11-07 16:23:25 17452 1

原创 SpringCloud教程 | 第三篇: 路由网关(zuul)

在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul...

2018-06-12 11:00:56 367 1

原创 SpringCloud教程 | 第二篇: 服务消费者(Feign)

一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解Feign 整合了ribbon二、...

2018-06-12 10:41:28 796

原创 静态内部类实现单列

优点:线程安全、延迟加载public class SerializeUtils {//私有构造方法private  SerializeUtils() {}//定义一个静态的内部类返回一个静态实例化private static class serializeUtilsHolder {//定义一个私有实例化属性private static SerializeUtil

2018-01-23 10:49:46 247

原创 Maven私服搭建 上传jar包

http://10.1.4.150:8081/ Nexus3 私有库搭建 https://jingyan.baidu.com/article/624e745945678534e8ba5aff.html 在maven  目录/conf/settings.xml中配置仓库密码                maven-releases            admin 

2018-01-17 15:38:16 230

转载 Java三种代理模式

举一个通俗的例子,小明是一个程序员,主要工作是开发,有一天领导要求小明出差成都,那么小明童鞋需要做:1、订去程机票2、订成都酒店3、开发4、订回程机票5、报销相信所有干过开发的童鞋都会受不了前前后后那么一堆事情,我一个干开发的,怎么就搞起了那么多琐碎的事情呢?还是另请高明吧~~但是领导已经决定了~~~~我只能吟诗一首:苟~富贵~~~扯远了。相信所有码农都有这么一个想法:

2018-01-03 10:42:23 332

转载 Linux如何用yum安装软件或服务

百度百科: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。1.不同类型文件对应的保存目录2.yum相关文件介绍

2017-12-05 14:03:46 1845

原创 Linux安装tomcat jdk

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 安装jdk:https://www.cnblogs.com/shihaimi

2017-12-05 14:03:22 182

原创 int和integer

public class Test03 { public static void main(String[] args) { Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150; System.out.println(f1 == f2); System.out.println(f3 == f4);

2017-12-01 10:51:41 155

原创 java的=和+=区别

short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 其中第一个是错误的,无法编译通过,因为1是int类型,s1+1仍然是int类型,和short类型不符合;第二个可以编译通过,因为+=有内置的类型转换,s1+=1相当于s1=(short)(s1+1);

2017-12-01 10:15:16 186

原创 redis整理

使用jedis客户端操作redisredis优点1)redis存储在内存中,速度快,读取速度11万/秒 写8万/秒2)redis支持数据种类丰富,支持string、list、set、sort set、hash3) 支持数据备份,RDB内存快照和AOF日志文件4)丰富的特性,支持设置过期时间,过期删除5)支持事务,操作的原子性 常见问题及解决方案:1)尽量避免Ma

2017-12-01 09:50:08 157

空空如也

空空如也

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

TA关注的人

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