JAVA
TsengOnce
写好代码吧。
展开
-
java mysql 两个 update 语句 相差1毫秒 执行,如何避免死锁
适当调整数据库的事务隔离级别,虽然较高的隔离级别能提供更好的数据一致性,但也会增加死锁的风险。但是,依赖于数据库自动处理死锁可能会导致用户看到不一致的行为,因此最好还是在应用层进行控制和重试。:大多数数据库系统允许设置事务的锁等待超时时间,当超过这个时间仍未获得所需锁时,事务将被回滚。:在应用程序代码中捕获死锁相关的异常,然后优雅地回滚事务,并在适当的延迟后重试事务。:尽量减小事务的范围和持续时间,使事务更简短,这样可以减少持有锁的时间,从而降低死锁的可能性。或消息内容),如果是,则回滚事务并重试。原创 2024-05-09 11:22:38 · 267 阅读 · 0 评论 -
lombok @Accessors 链式对象
@Accessors(chain=true) 链式访问转载 2022-07-14 14:59:44 · 165 阅读 · 0 评论 -
根据指定日期获取下个月的这一天
import cn.hutool.core.date.DateUtil;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * @author:Tseng * @description 根据指定日期获取下个月的这一天 * @since: JDK1.8 * @version: 1.0 * @date..翻译 2022-05-09 16:38:21 · 1695 阅读 · 0 评论 -
idea 新建gradle openFeign项目
1、创建目录2、目录名称3、创建成功4、继续创建主要项目5、6、项目名称7、创建子项目成功8、创建子项目对应api子项目9、创建api子项目成功10、删除目录下的多余文件11、删除目录后12、重新选择目录下的子项目打开13、必须的配置!重要!rootProject.name = 'tseng-openfeign'includeFlat 'tseng-openfeign-api'...原创 2022-01-11 14:33:22 · 427 阅读 · 0 评论 -
4 种 API 版本控制方案
目录1、通过 URI 进行版本控制2、通过请求参数进行版本控制3、通过自定义Header进行版本控制4、通过媒体类型进行版本控制在请求中使用Accept Header,请求示例如下:影响版本选择的因素主要API提供商使用的不同版本控制方法1、通过 URI 进行版本控制@RestControllerpublic class StudentUriController { @GetMapping("v1/student") public StudentV1转载 2022-01-05 11:43:57 · 965 阅读 · 0 评论 -
log4j2.xml
application.yml# 日志配置logging: config: classpath:log4j2.xml<?xml version="1.0" encoding="UTF-8"?><!-- 1. 日志级别: off > fatal > error > warn > info > debug > trace > all 2. monitorInterval: 间隔秒数,自动检测和重载已修改的配置文件-->.原创 2021-10-16 10:25:00 · 147 阅读 · 0 评论 -
消息队列-kafka特性、优缺点
1、Kafka简介 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),,之后成为Apache项目的一部分。Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。2、主要特性快速持久化,可以在O(1)的系统开销下进行消息持久化; 高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率; .完全的分布式系统,Br...原创 2021-10-15 22:32:56 · 1213 阅读 · 0 评论 -
Docker构建jdk1.8镜像
1、准备工作 1)已下载好jdk1.8[root@tseng jdk]# lsjdk-8u291-linux-x64.tar.gz 2)docker 已安装[root@tseng jdk]# docker -vDocker version 1.13.1, build 0be3e21/1.13.12、创建Dockerfile文件(注意ADD后的jdk文件名称和JAVA_HOME、JRE_HOME的目录名称)FROM centos:centos7...原创 2021-10-14 14:40:59 · 937 阅读 · 0 评论 -
Docker部署springBoot jar包,获取resource路径下的文件
根据流获取到文件,然后拷贝到新的文件夹下面import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import java.io.File;import java.io.IOException;import java.io.InputStream;/** * @author:Tseng * @description 获取转载 2021-09-23 10:14:18 · 2450 阅读 · 1 评论 -
Spring Boot 启动成功后打印IP地址及端口号
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;import org.springframework.context.ConfigurableApplicationC..原创 2021-08-18 16:33:09 · 3858 阅读 · 0 评论 -
多线程拆分list,合并list
1、利用callable线程方法返回线程查询的数据package com.demo.thread;import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;import com.demo.model.User;import com.demo.service.UserService;import java.util.ArrayList;import java.util.List;import java.util.concurren.转载 2021-08-10 15:09:21 · 956 阅读 · 0 评论 -
多线程注入对象@Autowired 注入为空的4种解法
前言当我们使用多线程时,想给线程注入一个service,但是运行时发现service总是为null。举个????:public class MyThread implements Runnable { @Autowired Service application; public void run() {}}原因new Thread不在spring容器中,也就无法获得spring中的bean对象。根据SpringBean的生命周期,能...转载 2021-08-10 14:36:26 · 3490 阅读 · 0 评论 -
Spring 事务失效的场景
用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景? 数据库引擎是否支持事务(Mysql 的 MyIsam引擎不支持事务); 注解所在的类是否被加载为 Bean(是否被spring 管理); 注解所在的方法是否为 public 修饰的; 是否存在自身调用的问题; 所用数据源是否加载了事务管理器; @Transactional的扩展配置propagation是否正确。 1、数据库引擎不支持事务...转载 2021-08-04 16:16:41 · 70 阅读 · 0 评论 -
iView Upload 七牛云上传文件、图片
1、代码 <FormItem label="七牛云上传图片" prop="imgUrl"> <Col span="16" style="text-align: center;"> <img :src="addForm.imgUrl" style="height: 70px;" /> </Col> <Col span="6" offset="1" st.原创 2021-07-12 17:12:55 · 747 阅读 · 0 评论 -
Long类型值过长,前端丢失精度变00
1、问题后端(Java)数据获取正常,前端显示精度有误后端截图 前端截图2、解决办法 1)搜索资料部分解决方案要求把Long类型转成String类型返回前端,这个治标不治本 2)利用JsonSerializer完成注解,完美解决Long类型精度问题,需要继承JsonSerializer类2.1JsonLongSerializer 类import com.fasterxml.jackson.core.JsonGenerat...转载 2021-06-24 11:47:51 · 683 阅读 · 0 评论 -
Swagger 中Long类型精度丢失及解决
1、问题"userId": 161974707115570780, "id": 161974707115570780, "userTimeId": "161974707115570792",原创 2021-06-15 15:53:33 · 4032 阅读 · 2 评论 -
mybatis plus QuerManager使用 FIND_IN_SET 和 REPLACE 查询不是逗号分隔的字符串
说明对于字符串【全部|其他|其他项】,查询逗号分割的数据用like查询会导致数据不准确,使用 函数FIND_IN_SET 和REPLACE结合查询数据如下:SQL1)like查询“其他”的type_name ,结果中包括其他项的记录也查询出来了select * from test where type_name like '%其他%'; 2)使用 函数FIND_IN_SET 和REPLACE结合查询select * from test where FIN...原创 2021-05-20 15:14:34 · 2385 阅读 · 0 评论 -
SpirngBoot 集成七牛云的初始化配置
1、application.yml配置文件##qiniu账户信息配置##oss: qiniu: accessKey: XXX secretKey: XXX urlpre: img.abc.com bucketName: img-pro##qiniu账户信息配置##2、maven配置<!-- 七牛 --><dependency> <groupId>com.qiniu</groupId> &原创 2021-05-17 19:56:42 · 381 阅读 · 0 评论 -
配置文件动态参数引入
/* * value = {"file:${user.home}\\configUtils\\config.properties", "file:/configUtils/config.properties"}, */@Component@PropertySource(value = "classpath:/file/config.properties", encoding = "UTF-8",ignoreResourceNotFound = true)@ConfigurationPropert.原创 2021-04-08 16:32:35 · 311 阅读 · 0 评论 -
基于URLConnection的POST连接和HttpURLConnection的POST/GET连接
import io.netty.util.internal.StringUtil;import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections.MapUtils;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.util.Map;im..原创 2021-04-08 16:12:38 · 170 阅读 · 0 评论 -
字节数组分割固定大小子块,数组分割固定大小子块
一、测试调用public static void main(String[] args) { int audio_size = 1024 * 10; // 分割的块大小 byte[] audioSteam = FileUtils.fileUrlToByte("E:\\abc.rar"); Object[] subAry = ByteUtils.splitAry(audioSteam, audio_size);//分割后的子块数组 for.原创 2021-04-08 15:58:40 · 647 阅读 · 2 评论 -
使用dependencyManagement管理依赖版本号0.0.9升级到2.1.0时无法依赖下载jar包问题
一、问题发生1、Spring Cloud Alibaba 版本升级2、创建新的项目时,使用新的Spring Cloud Alibaba依赖版本3、本地的maven镜像地址使用的是阿里云镜像地址二、解决办法1、找到Maven的settings.xml文件2、修改文件中<mirror>标签中<mirrorOf>标签<mirror> <id>nexus-aliyun</id> <mirrorOf>Ma原创 2021-03-21 20:28:39 · 473 阅读 · 0 评论 -
分布式事务中常见的三种解决方案
分布式事务中常见的三种解决方案目录一、分布式事务前奏 二、柔性事务解决方案架构 (一)、基于可靠消息的最终一致性方案概述 (二)、TCC事务补偿型方案 (三)、最大努力通知型 三、基于可靠消息的最终一致性方案详解 (一)、消息发送一致性 (二)、保证消息一致的变通做法 (三)、常规MQ消息处理流程和特点 (四)、消息重复发送问题和业务接口幂等性设计 (五)、本地消息服务方案 (六)、独立消息服务方案 (七)、消息服务子系统的设计实现 一、分布式事务前奏转载 2021-03-14 21:49:57 · 130 阅读 · 0 评论 -
SpringCloud Gateway简介、特性、概念
SpringCloud Gateway简介转载 2021-02-20 11:23:30 · 1888 阅读 · 0 评论 -
hibernate @OneToMany 级联删除
Hibernate 注解主表:@OneToMany子表:@@ManyToOne修改记录时,修改主表记录,同时删除子表数据先把主表查询关联的子表数据集合set 清空,从缓存中清除。在去删除子表的数据List detailList = new ArrayListList detailList = new ArrayListSet detailSet = leave.原创 2017-06-30 14:04:28 · 1562 阅读 · 0 评论 -
java 输入的个数字,反转输出这个数
package demo;import java.util.Scanner;/** * 输入的个数字,反转输出这个数 * 不使用反转函数 * @author Tseng */public class B {public static void main(String[] args) {Scanner sc = new Scanner(System.in); System.out.println("原创 2017-04-21 10:35:43 · 2273 阅读 · 0 评论 -
spring4.x 中注解@ResponseBody 返回的json数据txt下载解决
你的各种配置都不起作用的情况下,赶快切换spring版本吧。亲生经历:spring4.1.8在地址栏中访问接口返回的是提示f.txt文档下载,切换成4.1.6后正常在浏览器总显示json字符串切换前:切换后:原创 2017-04-14 10:15:03 · 731 阅读 · 0 评论 -
Myeclipse 14 导入外部项目时:Some projects cannot be imported because they already exist in the workspace
Some projects cannot be imported because they already exist in the workspace原创 2017-01-12 10:19:31 · 711 阅读 · 0 评论 -
通过网卡获取IP真实地址信息
/***1、Windows平台下获得本机ip地址*2、Linux平台下获得本机ip地址。由于和Windows平台不同,不能用经典的方式查看。*但是可以通过查询网络接口(NetworkInterface)的方式来实现。*原创 2016-01-21 17:32:07 · 992 阅读 · 0 评论