大年初二,朋友问了我一个技术的问题(朋友实在是好学,佩服!)开启10000个线程,每个线程给员工表的money字段【初始值是0】加1,没有使用悲观锁和乐观锁,但是在业务层方法上加了synchronized关键字,问题是代码执行完毕后数据库中的money 字段不是10000,而是小于10000 问题出在哪里?Service层代码:SQL代码(没有加悲观/乐观锁):用1000个线程跑代码:简单来说:多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-26 15:08:05
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MySQL作为一种关系型数据库管理系统,在处理多个并发事务时,可能会出现死锁的情况。当两个或多个事务相互等待对方释放锁资源时,就会发生死锁。在这种情况下,MySQL会自动选择一个事务作为死锁牺牲者,并终止该事务,释放资源以解除死锁。
在MySQL中,我们可以通过一些方式来处理死锁情况,其中之一就是干掉死锁会话(session)。下面我们来看一下如何在MySQL中干掉死锁会话。
首先,我们可以通            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-03 05:12:24
                            
                                55阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:  1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;  2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;  3. 修改一个静态的方法,其作用的范围是整个静            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 16:59:31
                            
                                24阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录1. 死锁问题2. 锁续命问题3. 主从锁失效的问题4. lua 脚本做扣减库存5. 使用 redis 分布式锁做扣减库存6. lua 和分布式锁的优化7. 并行转串行思路8. redis 和 zk 分布式锁比较 1. 死锁问题场景: 当用 redis 做分布式锁时,当 A 用户竞争锁成功,A 用户所在的主机挂了,这时候还没有来得及释放锁,那么其他用户去用 setnx 指令去竞争锁时发现 r            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 15:48:49
                            
                                144阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、降低耦合解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息、用户下单我会发送一个MQ、收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的组件,来处理系统之间的调用解耦,最终通过解耦的方式来提升整体系统架构的负载能力。其实解耦思路可以理解为设计模式中观察者模式的具体使用效果,在观察者模式中当对象间存在一对多关系时,则使用观察者模式,它是一            
                
         
            
            
            
            一、事务简介1、事务简介事务(Transaction) 是指作为单个逻辑工作单元执行的一系列操作。2、事务的特性A、原子性(Atomicity)表示组成一个事务的多个数据库操作是一个不可分隔的原子单元,只有所有的操作执行成功,整个事务才提交,事务中任何一个数据库操作失败,已经执行的任何操作都必须撤销,让数据库返回到初始状态。B、一致性(Consistency)事务操作成功后,数据库所处的状态和它的            
                
         
            
            
            
            Bean,就是由 IOC 容器初始化、装配及管理的对象。 在IOC容器启动之后,并不会马上就实例化相应的bean,此时容器仅仅拥有所有对象的BeanDefinition(BeanDefinition:是容器依赖某些工具加载的XML配置信息进行解析和分析,并将分析后的信息编组为相应的BeanDefinition)。只有当getBean()调用时才是有可能触发Bean实例化阶段的活动。因为当对应某个b            
                
         
            
            
            
            kill session 是DBA经常碰到的事情之一。如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生。同时也应当注意,如果kill 的session属于Oracle 后台进程,则容易导致数据库实例宕机。  通常情况下,并不需要从操作系统级别杀掉Oracle会话进程,但并非总是如此,下面的描述中给出了在Oracle级别杀掉会话以及操作系统级别杀掉进程。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-19 09:01:03
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录Session概念Session使用案例Session的存储媒介Tomcat SessionTomcat session 缺点 Session概念Session 大家知道是保存用户状态信息的,前端第一次请求后端,后端会生成一个session并返回set-cookie: JSESSIONID=xxxx来标识客户端,等客户端再次访问即可通过JSESSIONID找到服务端对应的session。Se            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 13:19:49
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             技术背景        超文本传输协议(Hypertext Transfer Protocol,)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应        协议是无状态的协议,一次浏览器和服务器的交互过程就是一次会话,对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-26 19:30:55
                            
                                37阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            随着企业级JAVA应用的发展,目前这个领域已经出现了很大的革新,现代的发展趋势是微服务以及可水平扩展的原生云应用(Cloud native application)。在这样的发展趋势下,过去所使用的Session管理器的不足就暴露了出来。        Spring Session为企业级JAVA应用的Session管理带来了革新,使得以下功能更加容易实现:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 11:09:18
                            
                                103阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ServletContainerInitializerServletContainerInitializer 也是 Servlet 3.0 新增的一个接口,主要用于在容器启动阶段通过编程风格注册Filter, Servlet以及Listener,以取代通过web.xml配置注册。这样就利于开发内聚的web应用框架。例如Spring,我们使用它的web功能时,需要在web.xml中依据Spring的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 09:44:26
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录Spring Session 架构及应用场景为什么要spring-sessionSR340规范与spring-session的透明继承Spring Session探索特点核心 APIservlet session 与 spring-session 关系webflux 与 spring session 的关系基于 Servlet 的 Spring Session 实现思考题背景1、注册到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 12:32:21
                            
                                115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            /* Formatted on 2018/3/14 23:34:49 (QP5 v5.256.13226.35538) */ SELECT dob.object_name table_name , lo.locked_mode , lo.session_id , vss.serial# , vps.spid , vss.ac...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-21 11:19:31
                            
                                215阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在项目开发中,使用了SSH框架集成时,多处都会用到Session。在对Session的使用维护上,有如下几种看法: 
 1.getCurrentSession();  
 获得当前会话中的session,该session有容器自行维护管理,Spring可以代理事务。 
 2.this.getSession(); 
 从当前的执行中获得或创建一个h            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-04 12:37:15
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在项目开发中,使用了SSH框架集成时,多处都会用到Session。在对Session的使用维护上,有如下几种看法: 1.getCurrentSession(); 获得当前会话中的session,该session有容器自行维护管理,Spring可以代理事务。 2.this.getSession(...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-07 11:36:54
                            
                                111阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 关于@RequestMapping注解在控制器中,在处理请求的方法之前添加@RequestMapping注解,可以配置请求路径与处理请求的方法的映射关系!在@RequestMapping注解的源代码中有:/**
 * The primary mapping expressed by this annotation.
 * <p>This is an alias for {@lin            
                
         
            
            
            
            一、Spring-Session使用的场景HttpSession是通过Servlet容器进行创建和管理的,在单机环境中。通过Http请求创建的Session信息是存储在Web服务器内存中,如Tomcat/Jetty。假如当用户通过浏览器访问应用服务器,session信息中保存了用户的登录信息,并且session信息没有过期失,效那么用户就一直处于登录状态,可以做一些登录状态的业务操作。但是现在很多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-09 20:30:27
                            
                                283阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Spring-Session 提供API和实现实现类,用于管理用户Session会话(官方)关于它的特性,模块就参考官网,我就不照本宣科咯.为什么是SpringSession随着分布式架构和集群等架构的主流化,就带了session共享问题.Spring-Session它像Spring家族的其他组件一样,它的出现是为了指定标准,说白了就是在企业开发中,我提供框架,接口,流程规范.这里可见Spring            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 09:57:00
                            
                                40阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性、可复用性与易集成性。优良的设计模式遍及各处,使得其框架虽然学习曲线陡峭,但一旦掌握则欲罢不能。初学者并不需要过多了解框架的实现原理,随便搜一下如何使用“基于注解的controller”就能很快上手,而一些书籍诸如“spring            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 14:42:01
                            
                                66阅读
                            
                                                                             
                 
                
                                
                    