## Java 手写事务
### 1. 什么是事务
在计算机科学领域,事务是指一系列操作被视为一个不可分割的工作单元,要么全部执行成功,要么全部回滚。
### 2. 为什么需要事务
在一些需要保证数据一致性和完整性的应用场景中,事务是必不可少的。例如,在银行系统中,转账操作需要保证两个账户的金额同时发生变化,如果转账过程中出现故障或异常,那么整个操作必须回滚,以保证数据的一致性。
###
原创
2023-10-16 06:19:55
51阅读
【吃透Java手写】RPC-简易版-源码解析1 RPC1.1 RPC概念1.2 常用RPC技术或框架1.3 初始工程1.3.1 Productor-common:HelloService1.3.2 Productor:HelloServiceImpl1.3.3 Consumer2 模拟RPC2.1 Productor2.2 模拟一个RPC框架2.2.1 HttpServer2.2.2 HttpC
转载
2024-07-02 20:32:13
30阅读
## Java手写事务提交:深入理解事务管理
在Java开发中,事务管理是一个至关重要的部分,尤其是在与数据库交互时。事务可以确保一组操作要么全部成功,要么全都失败,从而保证数据的一致性和完整性。本文将深入探讨Java手写事务提交的过程及其实现,并通过代码示例来加深理解。
### 什么是事务?
首先,事务(Transaction)是一系列操作的集合,这些操作要么全部完成,要么全部不完成。事务
原创
2024-09-10 07:26:46
42阅读
一、Java(一).基础(二).容器(三).并发池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。线程池提供了一种限制和管理资源(包括执行一 个任务)。每个线程池还维护一 些基本统计信息,例如已完成任务的数量。使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程
JDBCJava数据库连接,Java Database Connectivity,简称JDBC是Java和数据库之间的一个桥梁,提供了诸如查询和更新数据库中数据的方法。以下使用MYSQL数据库做例子。相关的步骤写在代码里面,如下:1.将mysql的数据库连接jar包导入到项目中mysql-connector-java-8.0.15.jar(这个文件可以在网上下载) 链接如下: https://re
转载
2024-09-28 19:16:22
21阅读
# Java手写批量事务提交
在进行数据库操作时,尤其是在需要处理大量数据时,批量事务提交可以显著提高操作效率和性能。本文将通过一个简单的示例来解释如何在Java中手动实现批量事务提交。我们将使用JDBC来进行操作,并通过一个序列图来帮助更好地理解这一过程。
## 1. 什么是批量事务提交
批量事务提交是指在数据库中一次性提交多条SQL语句,以减少数据库连接和操作的开销。在Java中,我们通
原创
2024-09-14 07:24:42
54阅读
1. Spring boot 自动配置原理核心注解1. @SpringBootApplication`@SpringBootApplication 是由3个注解构成@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan1.1@SpringBootConfiguration等同于@Configuration 将启动类标注为一个
java 开发中什么是事务?在Java开发中,事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作。这些操作要么全部成功执行,要么全部失败。事务具有ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性:事务中的操作要么全部成功,要么全部失败。不会出现部分成功,部分失败的情况。一致性:事
转载
2024-06-20 14:05:38
34阅读
手写spring事务框架1.写好UserDaopackage com.itmayiedu.dao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereot...
原创
2021-06-21 18:18:33
219阅读
目录11、手写Spring框架第一步:创建模块myspring第二步:准备好我们要管理的Bean第三步:准备myspring.xml配置文件和log4j2.xml配置文件第四步:编写ApplicationContext接口第五步:编写ClassPathXmlApplicationContext第六步:确定采用Map集合存储Bean第七步:解析配置文件实例化所有Bean第八步:测试能否获取到Bean
转载
2024-06-06 13:45:13
43阅读
1.首先自定义一个事务注解(类似于@Transactional)package com.itmayiedu.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import j...
原创
2021-06-21 18:18:32
177阅读
项目之前是springboot简单的mybatis接入mysql,后续需求要接入clickhouse,顺便借此机会引入mybatis-plus,因为在迭代过程中时不时要加字段,每次加字段都要手动改mapper.xml文件的resultmap等sql实在是很没必要。但在接入之后,在往clickhouse插入测试数据时,使用了mybatis-plus自带的batchSave()方法,发现速度非常慢,完
转载
2023-09-03 19:26:52
320阅读
从0开始,手写一个MySQL的学习价值在于: 可以深入地理解MySQL的内部机制和原理,Mysql可谓是面试的绝对重点和难点;从而
开发原因@transactional 开发组件 框架:SpringBoot 组件:Atomikos IDE:Intellij 开发思路JTA 是一个不错的解决方案,通常 JTA 需要应用服务器的支持,但在查阅 SpringBoot 的文档时发现,它推荐了 Atomikos 和 Bitronix Atomikos&
Redis事务提供了一种将多个命令打包执行的能力,确保这些命令要么全部成功执行,要么在出现错误时全部不做。这种机制对于需要保证操作原子性的场景非常有用,如金融交易、库存扣减等。Redis事务的设计背景是为了在内存数据库中实现类似于传统关系型数据库的事务特性,同时保持Redis的高性能和简单性。然而,与关系型数据库不同的是,Redis事务不支持回滚操作,如果在事务中的某个命令失败,整个事务将被放弃,但不会撤销已经执行的命令。这种设计简化了系统的复杂性,并利用Redis的单线程特性来避免锁的竞争,从而实现快速的数据处理Java手写Redis事务管理:带你掌握缓存事务的内部秘密
原创
2024-07-29 15:54:42
34阅读
构造方法构造方法有什么作用,什么是构造方法构造方法是一个比较特殊的方法,作用:可以完成对象的创建,以及给实例变量赋值(初始化实例变量)换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。(注意:实例变量没有手动赋值的时候,系统会赋默认值。)重点(需要记忆):当一个类没有提供任何构造方法,系统会默认提供一个无参数的构造方法。(而这个构造方法被称为缺省构造器。)例如下面程序:public cl
增加代码详解缓存 com.simple.ibatis.cache缓存接口-Cachepublic interface Cache {
/**放入缓存*/
void putCache(String key,Object val);
/**获取缓存*/
Object getCache(String key);
/**清空缓存*/
void clea
原创
2020-10-15 16:21:31
436阅读
java面试:手写代码
二分查找法/**
* 二分查找法。时间复杂度:O(log n)
* 二分查找法:给定一组有序的数组,每次都从一半中查找。直到找到要求的数据。
*
* @param nums
* @param target
* @return
*/
pub
转载
2023-07-06 22:18:16
0阅读
SpringAOP原理什么是AOP?AOP即面向切面编程,利用AOP可以对业务进行解耦,提高重用性,提高开发效率应用场景:日志记录,性能统计,安全控制,事务处理,异常处理AOP底层实现原理是采用代理实现的Spring事务基本特性:原子性隔离性一致性持久性事务控制分类:编程式事务:手动控制事务操作声明式事务:通过AOP控制事务编程式事务实现使用编程事务实现手动事务@Component@Scope("
原创
精选
2019-05-01 22:06:01
5641阅读
点赞
HashMap简介HashMap是Java中一中非常常用的数据结构,也基本是面试中的“必考题”。它实现了基于“K-V”形式的键值对的高效存取。JDK1.7之前,HashMap是基于数组+链表实现的,1.8以后,HashMap的底层实现中加入了红黑树用于提升查找效率。HashMap根据存入的键值对中的key计算对应的index,也就是它在数组中的存储位置。当发生哈希冲突时,即不同的key计算出了相同
转载
2024-06-05 19:08:39
11阅读