自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 DateString转Date类型yyyy-MM-dd格式

只需一行代码,直接valueOf即可,记得处理时间的代码放到trycatch里,throw的异常为Exception父类即可。想要计算两个date时间的差值,计算单位必须同为date yyyy-MM-dd格式。这是正常转换为CTS时间,虽然是date类型但是无法计算。CTS Date转Date yyyy-MM-dd。

2023-01-30 08:50:39 243

原创 JPA根据查询id报错More than one row with the given identifier

今天再开发过程中再测试库创建假数据,偷懒复制了id,只改了最后一位数字,导致JPA查询出两条结果,我怀疑是不是JPA对于Long类型校验只做固定前几位,修改后id就没问题了。JPA切记repository查询时不要使用getOne()方法,有时查询出来的数据未空,标准写法应该是。一般情况下是A表和B关联表中的数据B表中的关联A.id出现了一对多的情况,也就是B1的A.id1,B2的A.id也是1的情况。开发流水账,记录一下D。...

2022-07-14 19:13:18 239

转载 idea运行java文件控台乱码问题

网上的那些方法都不行。接下来一步解决复制这个-Dfile.encoding=gbk粘贴到不用重启就可以解决。

2022-05-24 16:45:41 96

原创 报错:org.springframework.dao.InvalidDataAccessApi

前后端联调测试报错,说id不能为null我用本地postman测试也没什么问题,请来大哥一问。。具体报错如下VO接受前端传入的类型是long而转换DTO的时候却是Long记住包装类可以传递给简单类型的值,简单类型不可以传给包装类。(由于不够细心又被上了一课,哎)...

2022-05-20 17:29:44 280

原创 SpringBootJPA自定义SQL返回值查询报错NotSerializableException

SpringBootJPA自定义SQL返回值查询报错NotSerializableException

2022-05-17 15:54:46 600

转载 MYSQL实现分布式锁

基于数据库表要实现分布式锁,最简单的方式就是直接创建一张锁表,然后通过操作该表中的数据来实现加锁和解锁。当要锁住某个方法或资源时,就向该表插入一条记录,表中设置方法名为唯一键,这样多个请求同时提交数据库时,只有一个操作可以成功,判定操作成功的线程获得该方法的锁,可以执行方法内容;想要释放锁的时候就删除这条记录,其他线程就可以继续往数据库中插入数据获取锁。创建这样一张表:CREATE TABLE `method_lock` ( `id` INT(11) NOT NULL AUTO_IN

2022-04-07 15:06:55 4211

原创 Spring等框架中对应的相关组件

SpringCloud五大组件1.服务发现——Netflix Eureka2.客户端负载均衡——Netflix Ribbon3.断路器——Netflix Hystrix4.服务网关——Netflix Zuul5.分布式配置——Spring Cloud ConfigSpringBoot四大组件1.auto-configurationAuto-configuration是Spring Boot的核心特性,其约定大于配置的思想,赋予了Spring Boot开箱即用的强大能力。..

2022-04-07 14:26:59 410

原创 Redis的几种内存淘汰策略

1.全局键空间选择性移除 Noeviction:内存不足写入新数据时就会报错allkeys-lru:键空间中,移除最近最少使用的keyallkeys-random:键空间中,随机移除某个key2.设置过期时间的键空间选择性移除volatile-lru:在设置了过期时间的键空间中,移除最近最少使用的keyvolatile-random:在设置了过欧气时间的键空间中,随机移除某个keyvolatile-ttl:在设置了过期时间的键空间中,有更早过期的时间key优先移除...

2022-04-05 15:08:18 999

原创 数据库如何实现消息的幂等性问题

在db层面使用唯一主键约束、乐观锁、悲观锁来实现唯一索引唯一索引相当于业务字段的ID如果重复操作业务ID,之后的操作就不会被执行乐观锁or悲观锁指在执行数据操作时加锁,其他时间不加锁,因此相比于整个执行悲观锁流程来说,效率更高乐观锁可以通过版本号和cas算法来实现update table_name set version=version+1 where version=0;悲观锁对表全部上锁然后开始操作...

2022-04-02 22:36:19 630

原创 ThreadLocal的作用以及对其的理解

普通的共享变量在对各线程访问的状态下是不安全的,考虑使用加锁的手段或者其他手段而Thread Local可以实现共享变量的县城内共享,让每个线程各用各的资源对象,避免引发线程安全问题局部变量能不能实现呢?答:不能,局部变量不能跨越方法使用换而言之,就是TreadLocal实现了线程内的资源共享那TreadLocal怎么实现线程隔离的呢其原理就是每个线程内有一个ThreadLocalMap(基础长度为15,满10 扩容)类型的成员变量,来储存资源对象而这个TreadLocalMap

2022-03-31 17:21:56 99

原创 分布式事务详解

事务的基础概念事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败(同成功,同失败)。本地事务计算机系统中,更多的时通过关系型数据库控制事务这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。数据库事务的四大特性:ACIDA(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。

2022-03-31 15:41:32 1008

原创 企业要求的J2EE详解

从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的 J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE 是一个标准,而不是一个现成的产品。J2EE又包括哪些技术呢ServletServlet是java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的 技术相比,Ja

2022-03-30 23:02:06 883

原创 maven的基础jar包org.apache.http报错

引入下面依赖可以解决该问题:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> &l...

2022-03-29 20:09:51 1580

原创 Spring事务失效的8种原因

1、数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。根据 MySQL 的官方文档:MySQL :: MySQL 8.0 Reference Manual :: 16.1 Setting the Storage Engine从 MySQL 5.5.5 开始的默认存储引擎是:InnoDB,之前默认的都是:MyISAM,所以这点要值得注意,底层引擎不支持事务再怎么搞都是白搭。2、

2022-03-29 20:03:24 6181

空空如也

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

TA关注的人

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