自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Json的博客

I am an ordinary person, but what about it?

  • 博客(28)
  • 收藏
  • 关注

原创 ✅为什么MySQL默认使用RR隔离级别?

对于数据库的默认隔离级别,Oracle默认的隔离级别是 RC,而MySQL默认的隔离级别是 RR。那么,你知道为什么Oracle选择RC作为默认级别,而MySQL要选择RR作为默认的隔离级别吗?

2024-04-25 09:20:35 531

原创 ✅MySQL的脏读、幻读、不可重复度是什么

脏读又称为无效数据读取,指在数据库访问中,事务T1修改了某个数值,随后事务T2读取了该数值,而后因某种原因,T1撤销了对该数值的修改,导致T2读取到的数据变为无效。具体而言,脏读是指一个事务正在访问数据并对其进行修改,但这些修改尚未提交到数据库中。此时,另一个事务也访问该数据,并使用了它。由于这些数据尚未提交,另一个事务所读取的数据就会成为脏数据,基于这些脏数据所做的操作可能会产生不正确的结果。幻读是指在事务非独立执行时出现的现象,举例来说,第一个事务对表中的数据进行了修改,涉及到表中的“全部数据行”。

2024-04-23 09:13:26 223

原创 ✅真实对账系统是如何设计并优化的

往期文章在热点数据如何更新的一篇文章中有提到对账系统。其实我在实际业务场景中是有遇到过类似对账的优化问题的。说优化之前要掌握一点就是一定要掌握Java并发包的相关特性。本章节对此有很大依赖。热点数据高效更新文章:inventory hint,解决热点数据如何高效更新。

2024-04-22 09:39:34 523

原创 什么是数据库事务?更新事务实现流程是怎样的

数据库事务是对各种数据项进行访问和潜在操作的数据库操作序列,必须要么全部执行,要么全部不执行,在逻辑上构成一个不可分割的工作单元。事务包括从事务开始到事务结束期间执行的所有数据库操作。并非所有对数据库的操作序列都是数据库事务。原子性(Atomicity):事务作为一个原子单元执行,包含的数据库操作要么全部执行成功,要么全部回滚,保证数据的完整性。一致性(Consistency):事务应当确保数据库的状态从一个一致状态转变为另一个一致状态,即在事务执行前后,数据满足完整性约束。隔离性(Isolation)

2024-04-19 16:35:55 441

原创 ✅对线面试官-CHAR和VARCHAR了解嘛,区别是什么

CHAR在长度不足时会补充空格,因此,当在一个长度为10的CHAR中分别存储"paidaxing "和"paidaxing"时,实际存储的均为"paidaxing ",导致原空格信息丧失。然而,使用VARCHAR可能引发内存碎片问题,需要额外1到2个字节存储长度信息,并更新语句可能导致页分裂等情况。举例来说,适合使用VARCHAR的场景包括存储产品描述(可变长度)、用户地址(可变长度)以及用户名称(可变长度)。,其长度固定且在存储时会自动加入空格以填满指定长度,长度范围为0至255;

2024-04-18 09:09:25 268

原创 ✅MySQL的InnoDB存储引擎支持哪几种行格式?

数据库表中的行格式决定了数据在物理存储时的布局方式,进而对查询和DML操作的性能产生影响。COMPACT适用于处理大量包含可变长度列(如VARCHAR、VARBINARY、BLOB和TEXT类型)数据。对于可变长度列,前768字节的数据存储在B树节点的索引记录中,超出部分存储在溢出页中。大于或等于768字节的固定长度列会被编码为可变长度列,可以存储在页外。:MySQL 5.7版本引入的DYNAMIC格式是COMPACT格式的升级版本。

2024-04-17 09:16:13 358

原创 面试官追问的STW,到底什么是STW?有什么影响?

STW,即的缩写,指的是系统在执行特定操作时需暂停(停止)所有应用程序线程。这个概念在早起文章中有提到过(如图)。也有在文章提到过(如图):所以感兴趣的小伙伴可以去看下往期文章。

2024-04-16 09:38:02 321

原创 ✅MySQL执行大事务会存在什么问题?

之前在如何实现百万级数据从Excel导入中有提到一句不建议利用大事务进行一个错误处理。为什么不建议呢。本次来简单说一下。实现百万级数据从Excel导入到数据库的方式所谓大事务,通常指包含大量要执行的SQL语句和较长执行时间的事务。这样的大事务往往会带来诸多问题。如下:占用数据库连接:这一点很好理解。随着SQL语句的增多,执行时间也会相应延长。大型事务会持续占用数据库连接,由于数据库连接资源有限,长时间占用可能导致其他事务无法获取连接,从而降低系统的吞吐量,影响系统的可用性。

2024-04-15 10:26:52 342

原创 ✅实现百万级数据从Excel导入到数据库的方式

在处理过程中,并非每条数据都直接操作数据库,以免对数据库造成过大压力。此外,在这一过程中,需考虑数据重复问题,可在Excel中设定若干字段为数据库唯一约束。此外,在处理过程中,需要考虑并发问题,因此我们将使用线程安全的队列来存储内存中的临时数据,如ConcurrentLinkedQueue。为了提升并发处理能力,我们将百万级数据存储在同一个Excel文件的不同工作表中,然后通过EasyExcel并发地读取这些工作表数据。一般不推荐直接回滚操作,而是自动重试,若尝试多次仍无效,则记录日志,随后重新插入数据。

2024-04-12 09:43:15 346 1

原创 ✅基于TTL 解决线程池中 ThreadLocal 线程无法共享的问题

在Java的并发编程领域中,ThreadLocal被广泛运用来解决线程安全困境,它巧妙地为每个线程提供独立的变量副本,有效规避了线程间数据共享的问题。不过,在使用线程池时,传递线程局部变量在父子线程之间并非易事。这是因为ThreadLocal的设计初衷仅在于线程内的数据隔离,无法支持跨线程间的数据传递。

2024-04-09 09:57:11 404

原创 @Transactional事务是真的好用吗

最后,本文观点或许不会得到所有人的认同,很多人可能会称:Spring官方推崇无侵入的声明式事务,你又有何资格质疑。老实说,初入职场的那几年,我也钟情于声明式事务,认为其简洁、“优雅”。觉得那些热衷于编程式事务的前辈多此一举,缺乏工匠精神。然而,随着线上遇到几次问题后的反思,我们发现,有时候你的代码确实优雅无瑕。然而,这种优雅也常伴随一些副作用,并且前辈们也无法指责我,因为我的做法确实无可指摘…因此,有些事情,只能在切身体会后才能领悟。

2024-04-07 11:19:10 276

原创 什么是单元测试,和集成测试有什么区别?

是指对软件系统中最微小的可测试单位进行验证的过程。一般由开发人员编写,目的在于验证代码的准确性与可靠性。其旨在尽可能覆盖代码中的每个功能单元,如函数、方法、类等,并透过测试框架与断言来检验这些功能单元的正确性。通常自动化完成的单元测试可以快速执行。,则是审视整个系统或特定模块的测试流程。其目标在于确认系统内不同模块之间的互动与协作是否规范。由测试人员编写,旨在验证整个系统是否符合需求与规范。集成测试一般需要将各个模块整合,并利用手动或自动化测试工具来执行验证。

2024-04-03 09:24:20 386 3

原创 你们单测覆盖率是如何统计的?原理是什么?

Java字节码插桩技术是指在编译期或运行期,通过修改Java字节码的方式,在代码中插入额外的代码。这种技术。

2024-04-02 09:18:45 703 1

原创 大型企业通常如何进行单元测试?

有效的单元测试》是一本非常值得推荐的读物。有需要这本书的,可到文末领取。

2024-04-01 10:46:55 275

原创 Redis不再 “开源”

根据新许可证的条款,托管 Redis 产品的云服务提供商将不再允许免费使用 Redis 的源代码。例如,云服务提供商只有在与 Redis(Redis 代码的维护者)达成许可条款后,才能向用户交付 Redis 7.4。Redis 将继续支持其庞大的合作伙伴生态系统(包括托管服务提供商和系统集成商),并独家访问 Redis 通过其合作伙伴计划开发和提供的所有未来版本、更新和功能。总的来说,对于使用 Redis 开源版本和新版本的 Redis 的最终用户(使用双重许可证进行内部或个人使用),没有任何变化。

2024-03-28 09:33:10 349

原创 实战篇-Docker 安装ELK(单节点)

文中的apps目录是在/home/ubuntu目录下。

2024-03-27 13:41:21 698

原创 Java对象的存活是如何判断的呢?以及JVM如何回收已经消亡的对象

在过往的文章中主要讲述了JVM-Java虚拟机内存模型,接下来我们讲解一下Java对象在虚拟机中是如何判断存亡的,如何回收已经消亡的对象的呢。也就是Java及在Java虚拟机中主要关注的也就是Java堆中的对象,因为这里面存放了Java世界中几乎所有的对象实例,要想对已经失去意义的对象也就是已经消亡的对象进行回收之前首先就要判断, 哪些对象还“存活”着,哪些对象已经“死去”(“死去”即不可 能再被任何途径使用的对象)了。 说到这里就不得不引出两个比较重要的算法:在很多教科书素材中都是这样提到的:会在对象中

2022-07-04 08:48:21 336 1

原创 一篇文章带你对Java对象创建过程解密

Java对于我们来说,它就是一门编程语言。Java程序在运行过程中无时无刻不在创建对象,在代码层面其实就是一个简单的`new`的一个过程。但是底层实现逻辑并非如此。那么它究竟是如何进行创建对象的呢?接下来我们一起来一探究竟。...

2022-06-22 21:36:21 85

转载 springboot 集成 spring security 自定义登录

springboot 集成 spring security 自定义登录转载于:https://www.cnblogs.com/wuzhenzhao/p/13095714.html

2021-05-11 11:11:38 132

原创 前端vue项目部署到tomcat,一刷新报错404解决方法

公司前端写的后台部署到tomcatwebapps目录下后,无法进行刷新,一刷新就会报错404,自动跳的404页面。在网上查了下,官方说是HTML5 History模式引发的问题,但是解决方案中,并没有tomcat的解决方案。如链接:https://router.vuejs.org/zh-cn/essentials/history-mode.html废话不多说直接进入主题我使用的是Vue4.X当运行命令npm run build 后 会产生一下如图所示的文件然后直接将图片一中的dist .

2020-09-14 16:11:55 3839 3

原创 关于element-ui popover组件通过数据渲染出多个popover时点击取消时 popover的显示与隐藏问题

关于element-ui popover组件通过数据渲染出多个popover时点击取消时 popover的显示与隐藏问题废话不多说直接上代码 <template slot-scope="scope"> <el-button @click="editRowData(scope.row)" type="primary" size="mini" class="el-icon-edit" >&l

2020-09-07 14:26:04 1216 1

原创 可以在后台自动获取电脑信息的代码

废话不多说直接上代码 很有用。。。。。。。。。。。public String login(Model model, HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException { String remoteHost = null; String auth = request.getHeader("Authorization"); String usern

2020-07-16 13:38:22 471

转载 Java 通过telnet协议 操作远程交换机

/***@date 2015年2月4日 下午3:15:13*@author XUQIANG*@filename TelnetConnection.java*@package com.merit.monitor.device.parameter.sdk*/package com.merit.monitor.device.parameter.sdk;import java.io.BufferedReader;import java.io.IOException;import java.io.I

2020-06-24 11:00:50 845

转载 高效的找出两个List中的不同元素

package com.czp.util;import java.util.Collection;import java.util.HashMap;import java.util.HashSet;import java.util.LinkedList;import java.util.Map;/**该类提供对集合类的高效操作@author*/public class CollectionUtil { /** * 不允许实例化 */ priva

2020-05-27 08:31:24 314

原创 超简洁的jquery操作页面中iframe内的dom元素

超简洁的jquery操作页面中iframe内的dom元素超简洁的jquery操作页面中iframe内的dom元素超简洁的jquery操作页面中iframe内的dom元素jquery$("#iframe1").contents().find("#news_text").html("");iframe1:页面中的iframe的ID;news_text:iframe内需要被操作的元素的ID...

2020-04-27 09:12:31 228

转载 IDEA部署tomcat的web项目配置tomcat遇到的问题

IDEA下使用tomcat部署web项目很不错的文章:转载自https://www.iteye.com/blog/yangjianzhouctgu-2218382

2020-03-23 08:39:27 96

原创 Spring框架值spring容器的相关内容(一)

Spring容器创建对象的三种方式构造器方式实例化默认调用这个类型的无参构造 <bean id="标识" class="包名.类名"></bean>静态工厂方法实例化本质上调用一个静态方法,获取一个对象 <bean id="标识" class="包名.工厂类名" factory-method="静态方法名"></bean>...

2019-09-24 10:07:38 84

原创 JAVA代码根据IP/掩码位数格式地址段得到起始地址和结束地址,可用IP数量,掩码

JAVA代码根据IP/掩码位数格式地址段得到起始地址和结束地址,可用IP数量,掩码IP地址:将IP和掩码位数拆分计算子网掩码根据子网掩码获取开始IPIP可用数量(包含广播地址)根据ip地址和掩码获取结束IPIP地址:String network ="10.102.90.128/26";将IP和掩码位数拆分 String arr[] = network.split("/"); Strin...

2019-07-10 17:03:04 1843

空空如也

空空如也

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

TA关注的人

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