一、前言 在现代软件开发中,事务处理是必不可少的一部分。当多个操作需要作为一个整体来执行时,事务可以确保数据的完整性和一致性,并避免出现异常和错误情况。在SpringBoot框架中,我们可以使用声明式事务和编程式事务来管理事务处理。其中事务的坑也是不少,比较常见的就是事务失效,大家可以看看!后面小编在出一篇事务失效场景哈,喜欢的可以关注,等待更新哈! 这篇博客将重点探讨这两种事务处理方式的源码实现、区别、优缺点、适用场景以及实战。我们来接着说事务,里面还涉及到三个知识点,大家可以自行百度好好了解! 事务的特性 事务的传播行为 隔离级别 本篇文章主要讲的就是实现事务的两种方式的分析! 让我们...

  1DAkmdwKLl8o   2023年11月06日   52   0   0 Java

一、前言 大家在开发过程中必不可少的和日期打交道,对接别的系统时,时间日期格式不一致,每次都要转化! 每次写完就忘记了,小编专门来整理一篇来详细说一下他们四个的转换的方法,方便后面使用!! 二、LocalDateTime、LocalDate、Date三者联系 这里先说一下,为什么日期有Date了,还在JDK8中推出了LocalDateTime、LocalDate呢? 原因Date: 非线程安全的方法Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、setDate()、setHours()、setMinutes()、setSeconds()等方法。这些方法都...

  1DAkmdwKLl8o   2023年11月02日   44   0   0 Java

一、前言 我们在开发中最常见的异常就是NullPointerException,防不胜防啊,相信大家肯定被坑过! 这种基本出现在获取数据库信息中、三方接口,获取的对象为空,再去get出现! 解决方案当然简单,只需要判断一下,不是空在去后续操作,为空返回! 所有在JDK8时出现了专门处理的方案,出来很早了,但是小编惭愧一直没有去使用它! 最近在看《Java开发手册》,一直想着提高自己的代码水平,文中就指出了使用Optional来解决NullPointerException! 二、Java开发手册规范 小编使用的是2022版的黄山版,29页写到: 【推荐】防止NPE,是程序员的基本修养,注意NPE...

  1DAkmdwKLl8o   2023年11月02日   60   0   0 Java

一、前言 Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆。看了之后发现大部分的starter都是这个原理,实践才会记忆深刻。核心思想:约定大于配置。 二、初探starter启动原理 我们直接看看官网的starter是怎么设计的,仿照这写一个就行了! 我们Ctrl点击<artifactId>spring-boot-starter-web</artifactId>,进入内部pom,我们发现里面有个 <dependency> <groupId>org.springframework.boot...

  1DAkmdwKLl8o   2023年11月01日   38   0   0 Java

一、前言 我们在实际开发中肯定会遇到后端的时间传到前端是这个样子的:2022-08-02T15:43:50这个时候前后端就开始踢皮球了,!!后端说:前端来做就可!前端说:后端来做就可!作为一名有责任感的后端,这种事情怎么能让前端来搞呢!还有就是Long类型的返回到前端可能会损失精度,这个情况只能后端来做了! 解决方案还是看的开源框架,人家写的,咱就不造轮子了!直接开车!! 二、错误示范 带着T非常不好,产品要求不带,哈哈,一切按照原型来哦!! 下面的testNum的值是Long类型的最大值:9223372036854775807,这样就会损失精度成:9223372036854776000 ...

  1DAkmdwKLl8o   2023年11月01日   77   0   0 Java

一、前言 我们在企业级的开发中,必不可少的是对日志的记录,实现有很多种方式,常见的就是基于AOP+注解进行保存,但是考虑到程序的流畅和效率,我们可以使用异步进行保存,小编最近在spring和springboot源码中看到有很多的监听处理贯穿前后:这就是著名的观察者模式!! 二、基础环境 项目这里小编就不带大家创建了,直接开始!! 1.导入依赖 小编这里的springboot版本是:2.7.4 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artif...

  1DAkmdwKLl8o   2023年11月01日   79   0   0 Java

一、前言 在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elasticsearch中,在一些开源框架中知道了,有专门进行同步的!那就是Logstash。在思考,同步完怎么查看呢,这时Kibana映入眼帘,可视化的界面,让使用更加的得心应手哈!!这就是三剑客ELK。不过大多时候都是进行日志采集的,小编没有用,只是用来解决一个表的数据量大,查询慢的!后面小编在专门搭建日志采集的ELK。 二、三者介绍 1.Elasticsearch Elasticsearch是一个分布式、RE...

  1DAkmdwKLl8o   2023年11月01日   91   0   0 Java

一、前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。redis有两种高可用的方案: HighavailabilitywithRedisSentinel(哨兵) ScalingwithRedisCluster(分片集群) 第一个就是我们本次的要搭建的,就是高可用的哨兵,主redis挂掉,哨兵会进行投票进行故障转移!第二个就是分片集群,哨兵的一个缺点就是只能存在一个master节点,写的效率太低。分片集群就是解决哨兵的问题,可以水平扩展,提高redis的性能! 哨兵最低配是三哨兵,以奇数递增。分片集群最低配是三主三从。 小编之前写...

  1DAkmdwKLl8o   2023年11月01日   68   0   0 Java

一、前言 策略模式可能是在工作中使用最多的,也是在面试中最常提到的,代码重构和优化的必备!小编之前也是一直说,其实没有真正的实战;最近有了机会实战了一下,来分享一下使用心得和在企业级的使用! 二、策略模式 1.什么是策略模式 策略模式,英文全称是StrategyDesignPattern。在GoF的《设计模式》一书中,它是这样定义的: 定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。 2.策略模式结构组成 Strategy:抽象策略类,一般为接口或者策略类 ConcreteStrategy:具体...

  1DAkmdwKLl8o   2023年11月01日   128   0   0 Java

一、前言 今天小编带大家一起整合一下easyExcel,之所以用这个,是因为easyExcel性能比较好,不会报OOM! 市面上常见的导入导出Excel分为三种: hutool easyExcel poi hutool和easyExcel都是对poi的封装,使用起来更加方便!如果想使用poi和hutool导出的可以看一下小编的之前写的文章: 使用POI+hutool导入Excel使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet 导出的话看一下这篇,下面主要以导入来展开介绍!EasyExcel导出Excel表格到浏览器,并通过Postman测试导出Excel 二、导入依...

  1DAkmdwKLl8o   2023年11月01日   82   0   0 Java

一、前言 第一次记录自己的年度总结,一直想写,不知从何写起;其实也是自己这两年来了解到的东西,分享给大家,虽然是个井底之蛙,但是也要勇于说出自己的看法,欢迎大佬指导哈。可能自己语言功底太差,这也是小编一直写博客的动力,锻炼自己的写作能力! 本次主要来说一下小编对于Java后端开发人员的一些见解哈! 今天来说说一个普通的三本、计算机科学与技术的菜鸟的一年! 二、达标 从事Java开发也有两年的时间了,一直在思考一个事情,每个工作年限要达到的等级职称应该是什么? 其实就是年限一年年的增加,自己的能力要跟着提升,不能一年经验用十年,每一年都要比前一年有所得有所悟! 不说大厂的等级,用最常用的初级、中...

  1DAkmdwKLl8o   2023年11月01日   54   0   0 Java

一、前言 我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。 maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐,版本维护起来也是十分头疼! 这时NexusRepository出现了,现在主流的还是nexus3,所以今天小编带大家一起搭建使用一下。当然公司也必须有一个自己的私服,来存放公司的技术沉淀,提高开发效率! 网上教程看了很多,但是基本都是教怎么上传到私服,从私服拉取依赖就没有写! 本文从上传到拉去面面...

  1DAkmdwKLl8o   2023年11月01日   87   0   0 Java

一、前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面!大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于Hadoop,存在一定的缺陷(循环迭代式数据流处理:多并行运行的数据可复用场景效率不行)。所以Spark出来了,一匹黑马,8个月的时间从加入Apache,直接成为顶级项目!! 选择Spark的主要原因是: Spark和Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信是基于内存,而Hadoop是基于磁盘。 二、Spark介绍 官网地址 Spark是用于大规模数据处理的统一分...

  1DAkmdwKLl8o   2023年11月01日   422   0   0 大数据
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~