自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 背包算法通用解法

以上代码中,我们使用二维数组 dp 来存储子问题的最优解,其中 dp[i][j] 表示在前 i 个物品中选择不超过 j 的最大价值。然后我们使用两层循环来遍历所有的子问题,并通过状态转移方程 dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - w[i - 1]] + v[i - 1]) 来求解最优解。背包算法是一个经典的动态规划问题,它的主要思想是:将一个问题分解成多个子问题,然后通过求解子问题的最优解来得到原问题的最优解。

2023-05-18 22:31:57 272

原创 Elasticsearch学习系列【2】- 批量获取与批量写入文档

对文档的批量写操作是通过_bulk的API来实现的请求方式:POST请求地址:_bulk请求参数:通过_bulk操作文档,一般至少有两行参数(或偶数行参数)第一行参数为指定操作的类型及操作的对象(index,type,id)第二行参数才是操作的数据。...

2022-08-16 23:17:02 2337

原创 Elasticsearch学习系列【1】-基础了解与简单的CRUD操作

如今,不管是面试,还是工作中,ES的出场越来越频繁,基于兴趣,迫于现实,开始学习ES,网上找了《ElasticSearch权威指南》,也在bilibili找了写学习视频,以此记录学习过程,总结学习经验。如有不对之处,还请大佬们指点一下。.........

2022-08-15 23:25:09 624

原创 使用注解的方式实现jackson将json字符串转对象时格式化小数

使用注解的方式实现jackson将字符串转对象时格式化小数

2022-07-26 21:53:46 1559

原创 IDEA中项目爆红,找不到类,实际是存在的,也不影响项目运行的问题

今日项目中遇到个神奇的问题,项目中某个类找不到,全部爆红,也点不进去,但是按路径是能找到的,编译后的class文件中也存在。且项目能正常运行。试过clean后重新编译也不行。File->Invalidate Caches 清理IDEA的缓存,重新更新索引即可。...

2022-06-21 09:28:06 2048

原创 多线程并发42问

多线程并发

2022-06-21 09:22:32 195

原创 Mysql EXPLANIN各个字段详细说明

id: 查询的序列序号,从大到小执行,id相同按照顺序执行。小表驱动大表,尽量小表先查询select type : 查询类型SIMPLE:单表查询PRIMARY:主查询SUBQUEERY:子查询DERIVEDL:派生的,最终查询前会用到的临时结果UNION:union查询UNION RESULT:结果合并type: 连接类型,针对单表调度访问方法,查询效率按以下顺序由高到低system:特殊的const类型,Myisam存储引擎的单表查询const:主键索引或者唯一索引,只能查到一条数

2022-04-28 09:47:55 1172

原创 并发用户数、tps计算

并发用户数计算在线用户数 = 注册用户数X10%,去除僵尸用户。并发用户数=在线用户数X*3%到5%注意:10%、3%、5%需要根据实际业务,这里仅供参考tps计算1、二八原则:80%的业务量在20%的时间中完成,即一天80%的业务量在工作时间的20%内完成(一天业务量X80%)/ (8X20%X3600)。工作时间按8小时工作制度,3600换算成秒。2、取一天业务量最高的一个小时的tps,考虑业务增长X1.5X1.5响应时间接口响应时间要求0.3秒内页面测接口要求0.5秒内如果直接测

2022-04-24 15:06:29 2495

原创 分布式事务解决办法-seata(其他方案待完善)

1.基础概念1.1 什么是事务什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必 须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。 明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败1.2.本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据 库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用

2022-04-21 16:21:47 487

原创 UML简单使用

整理…

2022-03-15 11:28:58 429

原创 @NotNull中groups的作用

用来做啥的??顾名思义,groups应该是用作分组的,那么,分组来做什么? 怎么分组的?其实主要是用于对参数校验的一个分组,我们在对数据做不同操作的时候,可能对其中部分字段 有非空校验,比如更新的时候A、B…字段不能为空,,新增的时候A、C字段又不能为空B是可以空的,那么我们如果单独做校验可能就显得比较麻烦,代码看起来不是那么优雅,这里引入一个分组,将不同类型操作需要校验的字段分为一组,校验的时候只需要按组去校验字段就好了。具体使用看下面的代码怎么用?如下实体类User ,所有字段在create的时

2022-03-11 14:30:28 6127

原创 【踩坑】mybatisplus saveOrUpdateBatch方法只有update不insert

背景最近想做一个自用的记账本类似的项目,毕竟网上的软件谁知道把数据拿去做了啥呀,咱也不敢用啊,只有自己做一个了,引入了mybatisplus,在用saveOrUpdateBatch的时候出现了点小问题,因为账单这里我是用订单id来做主键的,在插入的时候就把值set进了实体类,结果数据一直写不进去,看了下日志,全都是update语句,纳尼?????这不是updateorinert吗,并且我表里面一条数据也没有呀,这是怎么回事呢,先百度了下,没有搜到答案,可能是姿势不对吧,算了,还是自己看源码吧,终于发现问题

2022-03-09 11:08:35 11276

原创 对象拷贝,你还在循环里面set吗?快来围观mapstruct,一步到位啦

mapstruct是什么?官网地址:https://mapstruct.org/官方定义:MapStruct 是一个代码生成器,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现。生成的映射代码使用普通的方法调用,因此速度快、类型安全且易于理解。个人:MapStruct 类似于org.springframework.beans.BeanUtils#copyProperties(java.lang.Object, java.lang.Object),可以实现对象的复制,不同的

2022-03-01 13:55:54 708

原创 合并项目中类名冲突解决方案

public class UniqueNameGenerator extends AnnotationBeanNameGenerator { @Override public String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) { //如果有设置了value,则用value,如果没有则是用全类名 if (definition instanceo

2022-02-17 17:39:31 468

原创 Docker容器化部署项目实践全流程springboot+mybatis+redis+rabbitmq+nginx+nacos

1. docker 安装# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3: 更新并安装 Docker-CEsudo yum make

2021-12-24 15:10:33 3446

原创 springboot项目更新代码后重新部署到docker脚本化实现

1.背景最近用docker部署了一个项目,没有用流水线之类的工具,每次更新代码后就会重复流程,打包->上传代码->停掉原来的服务->删除原来的容器->删除原来的镜像->build新的镜像->启动服务。流程虽然很简单,搞多了也烦躁,于是从打包上传之后的流程写了个脚本一键部署。2.脚本#!/bin/bashservice_name="okex-server"port=6060echo "准备一键启动$service_name ......"container_i

2021-12-24 14:53:43 1214

原创 [Daily Practice] -切木头(二分)

问题描述有M段木头,长度用数组L表示,现在需要切成K段长度为J的木头,也可以大于K,要使得J尽量的大例:L[232,124,456] K=7,输出J =114232 --> 114+114+4124 --> 114 + 10456 --> 114+114+114 + 114解决方案public class Test8 { public static void main(String[] args) { // 木头长度数组 int[] l

2021-11-24 16:08:57 307

原创 CountDownLatch+spring发布事件实现多线程

@AutowiredApplicationContext applicationContext;CountDownLatch countDownLatch = new CountDownLatch(1);//发布事件,用来加载指定活动的奖品信息applicationContext.publishEvent(new InitPrizeToRedisEvent(this,lottery.getId(), countDownLatch));//开始抽奖lotteryItem = doPlay(lot

2021-11-24 11:39:31 172

原创 RateLimiter 实现限流

// 允许每秒最多10个任务public static final RateLimiter limiter = RateLimiter.create(10);//异步,批量删除人脸库信息new Thread(() -> { if (CollectionUtils.isNotEmpty(leaveCodeList)){ for (String empCode : leaveCodeList) { limiter.acquire();

2021-11-24 11:37:49 187

原创 Semaphore实现限流

@Slf4jpublic class PortraitImport implements Callable<Response> { private TemporaryWorkerService temporaryWorkerService; private Semaphore semaphore; private MultipartFile file; private Integer type; public PortraitImport(Semaph

2021-11-24 11:36:55 449

原创 AOP与自定义注解

1.使用自定义注解需要引入的包<properties> <aspectj.version>1.9.1</aspectj.version></properties><!--使用AspectJ方式注解需要相应的包--><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactI

2021-11-24 11:34:39 532

原创 Java8 stream 常用写法

1.取List内对象的某个字段组装成ListList<LocalDate> dateList = groupChart.stream().map(EmpWorkEfficiencyGroupDTO::getWorkDate).collect(Collectors.toList());// 按固定规则处理并过滤 List --> Listlist = list.stream().map(StringUtils::trim).filter(e -> !e.equals("")).

2021-11-24 11:32:17 671

原创 如何使用@Value注解将值设置给static变量

private static Semaphore semaphore = null; private static ExecutorService executorService = null; @Value("${ai.baidu.maxThread:2}") public void setMaxThread(Integer maxThread) { semaphore = new Semaphore(maxThread); executorSe.

2021-09-16 10:28:42 684

原创 【mysql】BIGINT UNSIGNED value is out of range in ‘(0 - `t`.`id`)‘

背景项目中有两个表需要union查询返回数据给前端,两个表的ID可能会有相同的,后续对数据处理时难以区分。处理方案为对其中一张表的id处理成负数,便于区分,直接用0减去id得到。实际应用中发现报错BIGINT UNSIGNED value is out of range in '(0 - t.id)解决方案经多方查验,最终采取这位大佬的方案。把其中的id 字段强转为SIGNED类型。...

2021-08-02 17:54:55 411

原创 mybatisplus 使用多数据源自带方法出现Invalid bound statement

异常信息Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.dbl.user.mapper.SysUserMapper.selectOne at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ~[mybatis-3.5.3.jar:3.5.3

2021-07-31 16:40:57 350

原创 alibaba.excel.exception.ExcelDataConvertException: Can not find ‘Converter‘ support class LocalD

异常com.alibaba.excel.exception.ExcelDataConvertException: Can not find 'Converter' support class LocalDate. at com.alibaba.excel.write.executor.AbstractExcelWriteExecutor.doConvert(AbstractExcelWriteExecutor.java:108) at com.alibaba.excel.write.executor.

2021-06-29 15:08:28 14884 1

原创 请求已到后端,代码正常执行,404报错

1.错误详情前端显示报错后端代码已执行完成2.问题原因Controller层 注解使用错误,使用的是@Controller 应修改为@RestController3.修改后验证

2021-06-17 18:07:56 545

原创 Mybatis查询返回Map<String,Object>类型

1.数据库表结构CREATE TABLE `dbl_t_person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 DEFAULT NULL, `age` int(11) DEFAULT NULL, `address` varchar(255) CHARACTER SET utf8 DEFAULT NULL, `tel` varchar(255) CHARACTER SET

2021-06-17 17:46:33 5634 9

原创 打家劫舍【动态规划】

问题描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。 示例 2:输入:[2,

2021-06-11 17:20:08 76

原创 多线程之交替打印

方法1public static Thread t1; public static Thread t2; public static void main(String[] args) { char[] cs = {'a','b','c','d'}; int[] is = {1,2,3,4}; CountDownLatch countDownLatch = new CountDownLatch(1); Object lock =

2021-04-14 23:32:21 128

原创 spring-cloud简单使用系列之服务消费者的远程调用

1.创建一个user的服务客户端创建参见spring-cloud简单使用系列之Eureka2. 在product服务中增加测试接口package com.dbl.springcloudclientproductserver;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springfram

2020-12-08 23:12:59 223

原创 spring-cloud简单使用系列之Eureka

1.服务端1.1. 服务创建正常创建springboot项目选择springboot版本,会自动匹配与之对应的Eureka版本。1.2.pom.xml可以看到自动匹配的版本为Hoxton.SR9<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

2020-12-08 22:34:42 177

原创 Docker之深入探讨Image&Container

1. 深入探讨Image说白了,image就是由一层一层的layer组成的。1.1 官方imagehttps://github.com/docker-libraryhttps://github.com/docker-library/tomcat/blob/master/8.5/jdk8/openjdk/Dockerfile1.2 Dockerfile不妨我们也来制作一个自己的image镜像,顺便学习一下Dockerfile文件中常见语法1.2.1 FROM指定基础镜像,比如FROM ubu

2020-11-28 15:05:39 476

原创 基于vagrant&virtual box下Centos7虚拟机的搭建与Docker安装

1. 下载安装vagrant1.1 安装Vagrant01 访问Vagrant官网https://www.vagrantup.com/02 点击DownloadWindows,MacOS,Linux等03 选择对应的版本04 傻瓜式安装05 命令行输入vagrant,测试是否安装成功2.下载安装virtual box01 访问VirtualBox官网 https://www.virtualbox.org/02 选择左侧的“Downloads”03 选择对应的操作系统版

2020-11-28 13:05:21 197

原创 SpringBoot整合SpringSecurity

1.基本整合添加SpringSecurity的依赖即可<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>重启访问即可跳转到对应的登录界面系统启动的时候会帮我们创建一个随机的密码,账号是user2.自定义登录

2020-11-16 08:03:21 224

原创 SpringBoot整合Shiro

此案例基于SpringBoot整合Mybatis 简单的CRUD操作小案例,阅读过程如有不适,请自行跳转。1. 表结构CREATE TABLE `t_user` ( `id` int(20) NOT NULL AUTO_INCREMENT, `username` varchar(20) DEFAULT NULL, `password` varchar(100) DEFAULT NULL, `salt` varchar(100) DEFAULT NULL, `create_time.

2020-11-09 22:53:00 214 1

原创 Shiro 解决登录成功后自动跳转到favicon.ico的问题

1.修改前 /** * 注册ShiroFilterFactoryBean * @param manager * @return */ @Bean public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager manager){ ShiroFilterFactoryBean filter = new ShiroFilterFactoryBean();

2020-11-09 22:21:23 1399

原创 SpringBoot整合Mybatis 简单的CRUD操作小案例

1.整合操作目标:整合 MyBatis同时结合SpringMVC+Thymeleaf完成CRUD操作1.1 依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap

2020-11-04 23:15:20 226

原创 SpringBoot异常处理

1. 自定义错误页面SpringBoot 默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会像/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicExceptionController 来处理/error 请求,然后跳转到默认显示异常的页面来展示异常信息。我们只需要在resources/templates中添加一个error.html页面即可...

2020-11-03 07:46:49 258

原创 SpringBoot如何实现热部署操作(基于IDEA)

1.放开配置2. ctrl+shift+alt+’/’3.添加spring-boot-devtools <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency><build&

2020-10-28 08:13:17 153

CINEMA 4D win10安装包

CINEMA 4D ,内附安装教程,真实可靠,安装简单,下载即用

2022-09-25

AE视频特效工具。。。。。。。

视频剪辑、后期特效工具,内附安装教程,真实可靠,安装简单,下载即用

2022-09-25

视频剪辑PR 2020 安装包

视频剪辑神器,绝对可用,内附安装手册

2022-09-25

vagrant与VirtualBox

使用VM安装centos7等linux虚拟机会经常出现网络的问题,推荐一个工具vagrant与VirtualBox安装,使用方便,安装便捷,想要学习linux相关的又没有相应环境的同学如果想自己搭建学习系统,可以使用这个方式,具体的使用方法在我的博客Dcoker类别中第一篇有介绍,希望可以帮助到大家,一起学习,一起进步。

2020-11-28

空空如也

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

TA关注的人

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