一、事务四大特性1、原子性 atomicity:事务不可分,提交便一次性提交2、一致性 consistency:事务执行前后数据保持完整性,经典例子是银行转账前后双方的总额需保持不变,类似能量守恒3、隔离性 isolation:不同事务执行之间需保持隔离,不相互影响4、持久性 durability:事务结束造成的改变便持久到数据库二、并发问题1、脏读①:A读到B还未提交的事务,如果B回滚操作,此时
转载 2023-11-23 12:37:31
131阅读
疑问:对于多用户访问下springboot项目运行,到底是怎么支持的第一点:项目部署服务器springboot自带的tomcat容器对于用户连接有默认配置## 服务器最大连接数,默认8192server.tomcat.max-connections=10000## 等待队列长度,默认100。server.tomcat.accept-count=1000## 最大工作线程数,默认200。(4核8g内
由于springboot内置web容器是Tomcat,所以我们在使用springboot时,如果内置Tomcat参数不满足要求时,可按需优化。 SpringBoot内置Tomcat,在默认设置中,Tomcat的最大线程数是200,最大连接数是10000。支持的并发量是指连接数,也就是说 支持最大并发量是一万(默认)。 Tomcat有两种处理连接的模式, 1,是BIO,一个线程只处理一个Socket
转载 2023-07-21 12:46:15
1709阅读
在上周三下午时,客户、业务和测试人员同时反溃生产环境登录进入不了系统,我亲自测试时,第一次登录进去了,待退出后再登录时,复现了客户的问题,场景像是请求连接被拒绝了,分析后判断是spring boot的连接数使用完了,于是重启了服务,客户访问都恢复正常。虽然问题暂时解决了,但实质原因还无法确定。根据分析,判断是spring boot服务连接被拒绝,查看配置的最大连接数和最大线程数时,配置为:#最大连
因为最近项目上线,需要同步期初数据-工序,大概有120万数据,采用之前Mybatis批量插入,一次5000的方式,单线程,大概需要近半个小时,后面为了提高效率,采用多线程编程,速度提升了大概2倍,耗时15分钟,同步120万条数据数采用的是SpringBoot的多线程和@Async和Future先了解下概念:此处引用其他网站的解释:什么是SpringBoot多线程Spring是通过任务执行器(Tas
综述Spring Boot 能支持的最大并发量主要看其对内置服务器的设置。由于现在都使用的是springboot服务,配置文件中也没有配置相关参数,基本都是使用默认的线程配置。springboot内置了tomcat Jetty和Undertow服务器Spring Boot启动程序通常使用Tomcat作为默认的嵌入式服务器。如果需要更改 - 您可以排除Tomcat依赖项并改为包含Jetty或Unde
转载 2023-09-08 15:13:43
594阅读
工程地址  : https://github.com/tjfy1992/SpringBootQuartz 运行方法 Spring Boot工程已经集成了服务器。右键点击DemoApplication.java -> Run As -> Java Application即可运行工程。默认端口为8080,启动后在浏览器地址栏输入http://localhost:8080
(17)SpringBoot 2.X 高并发秒杀系统总结1.系统介绍2.开发环境和工具3.开发技术4.秒杀优化方向5.项目亮点5.1 使用分布式Seesion,可以实现让多台服务器同时可以响应。5.2 使用redis做缓存提高访问速度和并发量,减少数据库压力,利用内存标记减少redis的访问5.3 使用页面静态化,加快用户访问速度,提高QPS,缓存页面至浏览器,前后端分离降低服务器压力5.4 使
转载 2023-10-19 13:21:36
97阅读
一、问题域Nginx、LVS、Keepalived、F5、DNS轮询,往往讨论的是接入层的这样几个问题:1)可用性:任何一台机器挂了,服务受不受影响2)扩展性:能否通过增加机器,扩充系统的性能3)反向代理+负载均衡:请求是否均匀分摊到后端的操作单元执行二、上面那些名词都是什么概念1)Nginx:一个高性能的Web-Server和实施反向代理的软件2)LVS:Linux Virtual Server
SpringMVC在restful风格的接口性能优化目前,restful的接口风格很流行,使用springMVC来搭配restful也是相得益彰。如下,使用@PathVariable注解便可以获取URL上的值。@RequestMapping(value = "restful/{name}", method = RequestMethod.GET) public String restful
转载 2024-03-23 12:36:40
28阅读
本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:Jedis的nx生成锁如何删除锁模拟抢单动作(10w个人开抢)jedis的nx生成锁对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖:<dependency&g
转载 2023-08-25 18:28:07
71阅读
最近公司在做一个数据报表的功能,其中需要导入原来的手动操作的数据到现在的系统中,经过整理,数据以excel的格式导入。在处理的过程中发现,需要读取解析的数据大概10W+,以原有的处理方式,读取excel中的数据需要消耗时间2分钟,插入到数据库中需要消耗时间高达20分钟。结果就是直接系统卡死了。后来想到的处理方式有2种:1.使用队列中间件  。 2.多线程考虑中间件要调整的还挺多,就选择第
转载 2023-09-06 15:16:59
20阅读
工作中遇到项目使用Disruptor做消息队列,对!你没看错,不是Kafka也不是rabbitmq。Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录。一、Disruptor介绍Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统
# 如何用Spring Boot解决并发 ## 介绍 作为一名经验丰富的开发者,我将教你如何使用Spring Boot解决并发问题。在本文中,我将通过具体的步骤和代码示例来指导你完成这个任务。 ### 任务概述 我们将通过以下步骤来解决并发问题: 1. 使用Spring Boot创建一个简单的Web应用 2. 使用Spring并发解决方案来管理并发请求 ## 流程步骤 下面是解决并发问题的
原创 2024-05-04 04:51:44
65阅读
# Spring Boot中的线程并发 在现代应用开发中,处理并发请求是一个重要的话题。Spring Boot作为一个流行的Java框架,提供了多种方法来管理和处理线程,并发编程使得应用能够高效地利用多核处理器的能力。本文将介绍如何在Spring Boot中使用线程进行并发处理,并提供相关代码示例。 ## 线程与并发 在Java中,线程是程序执行的基本单位。多线程可以使得程序在同一时刻执行多
原创 2024-10-11 06:08:50
74阅读
# 如何实现Spring Boot并发查询 ## 一、整体流程 首先,我们来看一下实现"Spring Boot并发查询"的整体流程: | 步骤 | 描述 | | ---- | ------------ | | 1 | 创建Spring Boot项目 | | 2 | 配置数据源 | | 3 | 编写并发查询接口 | | 4 | 测试并发查询接
原创 2024-03-14 04:31:58
130阅读
# Spring Boot 并发编程:基础知识与示例 ## 引言 在现代软件开发中,尤其是在微服务架构和大规模系统中,并发编程成为了一个重要的技能。Spring Boot,作为一种流行的框架,提供了许多工具和库来简化并发编程的复杂性。本文将探讨Spring Boot中的并发编程,帮助开发者理解并发的基本概念,并通过代码示例加深理解。 ## 并发编程的基本概念 并发编程指的是在同一时间段内,
原创 10月前
49阅读
Jedis的nx生成锁如何删除锁模拟抢单动作(10w个人开抢)本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:Jedis的nx生成锁如何删除锁模拟抢单动作(10w个人开抢)jedis的nx生成锁对于java中想操作redis,好的方式是使用je
# Spring Boot 并发写入实现指南 在现代应用程序开发中,处理高并发写入是一个常见的挑战。特别是当我们使用 Spring Boot 时,如何确保数据在多线程环境中的一致性与安全性是开发者需要掌握的技能。本文将带你了解如何在 Spring Boot 中实现并发写入,并为你提供详细的步骤与代码示例。 ## 2. 流程概述 在开始之前,让我们先看一下实现并发写入的整体流程: | 步骤
原创 2024-09-25 05:41:08
91阅读
# Spring Boot设置并发 在开发Web应用程序时,经常会遇到需要处理大量请求或同时处理多个请求的情况。为了提高系统的性能和响应速度,我们需要合理地配置并发处理能力。Spring Boot是一个用来构建独立的Spring应用程序的框架,也提供了方便的并发设置功能。 ## 什么是并发 并发是指一个系统在同一时间段内能够处理多个任务或请求的能力。在Web应用中,通常使用线程池来管理并发
原创 2024-03-13 05:18:44
117阅读
  • 1
  • 2
  • 3
  • 4
  • 5