Java 事务

概念:

通常观念认为,事务仅与数据库相关。

事务必须服从 ISO/IEC 所制定的 ACID 原则。

事务特性

  1. 原子性:事务执行过程中的任何失败都将导致事务所做的修改失效

    对于数据修改,要么全部执行,要么全部不执行
    
  2. 一致性:当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。

    事务执行前后,数据状态保持一致性(例如转账,转账之后两人总金额不变)
    
  3. 隔离性:在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见

    一个事务的处理不能影响另一个事务的处理
    
  4. 持久性:事务处理结束,其效果在数据库中持久化

    即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作
    

通俗理解,事务是一组原子操作单元,从数据库角度说,就是一组 SQL 指令。

事务是为了解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。

事务的类型:

JDBC 事务

用 Connection 对象控制,JDBC 的 Connection 接口提供了两种事务模式:自动提交、手工提交。

Connection : java.sql.Connection

JDBC 为使用 Java 进行数据库的事务操作提供了最基本的支持。可以将多个 SQL 语句放到同一个事务中,保证其 ACID 特性。

优点: API 比较简单,可以实现最基本的事务操作,性能也相对较好。

缺点:事务的范围局限于一个数据库连接。一个 JDBC 事务不能跨越多个数据库

涉及到多数据库的操作或者分布式场景,JDBC事务就无能为力了

简单代码实现:

public void JdbcTransfer() { java.sql.Connection conn = null;try{ String url = "jdbc:mysql://localhost:3306/test?user=root&password=root";  //定义连接数据库的urlconn = DriverManager.getConnection(url); // 将自动提交设置为 false,//若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交conn.setAutoCommit(false);// 获取一个执行、发送 SQL 语句的对象stmt = conn.createStatement(); // 将 A 账户中的金额减少 500 stmt.execute("\update t_account set amount = amount - 500 where account_id = 'A'");// 将 B 账户中的金额增加 500 stmt.execute("\update t_account set amount = amount + 500 where account_id = 'B'");// 提交事务conn.commit();// 事务提交:转账的两步操作同时成功} catch(SQLException sqle){            try{ // 发生异常,回滚在本事务中的操作conn.rollback();// 事务回滚:转账的两步操作完全撤销stmt.close(); conn.close(); }catch(Exception ignore){ ignore.printStackTrace(); } sqle.printStackTrace(); } 
}

JTA (Java Transaction API)事务

JTA 是一种高层的,与实现无关的,与协议无关的 API,应用程序和应用服务器可以使用 JTA来访问事务。

可以理解为 JTA 是我们使用事务必要的工具,可以帮我们解决分布式事务的问题。

如果计划用 JTA 界定事务,需要有一个实现 javax.sql.XADataSourcejavax.sql.XAConnectionjavax.sql.XAResource 接口的 JDBC 驱动程序。

这个实现这些接口的驱动程序可以参与 JTA 事务。

一个 XADataSource 对象就是一个 XAConnection 对象的工厂,XAConnection 是参与 JTA 事务的 JDBC 连接。

J2EE 应用程序使用 JNDI 查询数据源。

JNDI:是 J2EE 里面一个重要的规范,使用 JNDI 不用代码写一长串去连接数据库,只需要引入使用数据库的配置文件,便于解耦合。

使用 JTA 事务必须使用 XADataSource 来产生数据库连接,产生的连接为 XA 连接。

符合 XA 规范的相关接口类才能使用 JTA 事务。

XA(javax.sql.XAConnection)和非XA(javax.sql.Connection)连接的区别在于:XA可以参与JTA事务,而且不支持自动提交

相关代码引用:

public void JtaTransfer() { javax.transaction.UserTransaction tx = null;java.sql.Connection conn = null;try{ tx = (javax.transaction.UserTransaction) context.lookup("java:comp/UserTransaction");  //取得JTA事务,本例中是由Jboss容器管理javax.sql.DataSource ds = (javax.sql.DataSource) context.lookup("java:/XAOracleDS");  //取得数据库连接池,必须有支持XA的数据库、驱动程序  tx.begin();conn = ds.getConnection();// 将自动提交设置为 false,//若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交conn.setAutoCommit(false);stmt = conn.createStatement(); // 将 A 账户中的金额减少 500 stmt.execute("\update t_account set amount = amount - 500 where account_id = 'A'");// 将 B 账户中的金额增加 500 stmt.execute("\update t_account set amount = amount + 500 where account_id = 'B'");// 提交事务tx.commit();// 事务提交:转账的两步操作同时成功} catch(SQLException sqle){            try{ // 发生异常,回滚在本事务中的操做tx.rollback();// 事务回滚:转账的两步操作完全撤销stmt.close(); conn.close(); }catch(Exception ignore){ } sqle.printStackTrace(); } }

JTA 提供了UserTransaction用来处理事务,不过不光依靠这个类就能将 JDBC 操作转换为 JTA 操作,还是需要符合 XA 协议的接口。

JTA 优点很明显,可以解决分布式事务,可是有很多缺点,实现复杂、笨重、限制代码复用性。

容器事务

容器事务主要是 J2EE 应用服务器提供的,容器事务大多是基于 JTA 完成,这是一个基于 JNDI 的,相当复杂的 API 实现。

通过 EJB 容器提供的容器事务管理机制(CMT)完成功能。

ETJ: 将Java Beans的运行正式从客户端领域扩展到服务器领域

声明式事务

通过 AOP(面向切面)方式在方法前使用编程式事务的方法开启事务,在方法后提交或回滚。用配置文件的方法或注解方法(如:@Transactional)控制事务。

注解在方法上是方法自动启动事务,在类上是整个类中的方法都使用事务

Spring 开启事务注解

<tx:annotation-driven transaction-manager="transactionManager"/>

SpringBoot 事务处理

只需要简单的 @Transactional 注解可实现

简单代码实现:

@Service
public class PersonService {@Resourceprivate PersonMapper personMapper;@Resourceprivate CompanyMapper companyMapper;//rollbackFor:触发回滚的异常,默认是RuntimeException和Error//isolation: 事务的隔离级别,默认是Isolation.DEFAULT也就是数据库自身的默认隔离级别@Transactional(rollbackFor = {RuntimeException.class, Error.class})public void saveOne(Person person) {Company company = new Company();company.setName("tenmao:" + person.getName());companyMapper.insertOne(company);personMapper.insertOne(person);}
}

编程式事务

手动开启、提交、回滚事务。

Spring 编程式事务实现需要在配置文件中配置相应的事务处理器,用 AOP、事务标签、注解方式实现事务。

例如 JDBC 事务处理器

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" />
</bean>

由于我们使用较多的是 SpringBoot 开发,这里就不多对 Spring 配置文件进行更多的阐述了。

无论是 Spring 还是 SpringBoot 实现编程式事务都需要在实体类中获取事务处理器对象,手动进行开启事务和提交事务各种操作。

SpringBoot 简单代码实现:

TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try {for (int i = 0; i < 10; i++) {Post post = new Post();if (i == 5) { post.setContent("dddddddddddddddddddddddddddddddddddddddddddd");} elsepost.setContent("post" + i);post.setWeight(i);postService.save(post);}transactionManager.commit(status);} catch (Exception e) {transactionManager.rollback(status);e.printStackTrace();}

事务的属性

事务的隔离级别 (Transaction Isolation Levels)

JDBC 对事务的支持

JDBC 提供了5种不同的事务隔离级别,在 Connection 中进行了定义。

TRANSACTION_NONE JDBC    		驱动不支持事务
TRANSACTION_READ_UNCOMMITTED 	允许脏读、不可重复读和幻读。
TRANSACTION_READ_COMMITTED 		禁止脏读,但允许不可重复读和幻读。
TRANSACTION_REPEATABLE_READ 	禁止脏读和不可重复读,单运行幻读。
TRANSACTION_SERIALIZABLE 		禁止脏读、不可重复读和幻读。

Connection 提供了一个 auto-commit 的属性来指定事务何时结束。

当 auto-commit 为 true 时,当每个独立 SQL 操作的执行完毕,事务立即自动提交,也就是说每个 SQL 操作都是一个事务。

当 auto-commit 为 false 时,每个事务都必须显示调用 commit 方法进行提交,或者显示调用 rollback 方法进行回滚。auto-commit 默认为 true。

保存点(SavePoint):JDBC 定义了 SavePoint 接口,提供在一个更细粒度的事务控制机制。当设置了一个保存点后,可以 rollback 到该保存点处的状态,而不是 rollback 整个事务。

Connection接口的 setSavepointreleaseSavepoint 方法可以设置和释放保存点。

JDBC 规范虽然定义了事务的以上支持行为,但是各个 JDBC 驱动,数据库厂商对事务的支持程度可能各不相同。

事务的传播行为

PROPAGATION_REQUIRED:	如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS:	支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY:	支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。PROPAGATION_NEVER:		以非事务方式执行,如果当前存在事务,则抛出异常。 虽然有7种,但是常用的就第一种REQUIRED和第四种REQUIRES_NEW

事务并发处理可能引起的问题

脏读(dirty read):一个事务读取了另一个事务尚未提交的数据

不可重复读(non-repeatable read):一个事务的操作导致另一个事务前后两次读取到不同的数据

幻读(phantom read):一个事务的操作导致另一个事务前后两次查询的结果数据量不同

不可重复读是同一数据不一样,幻读是数据量不一样

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 《21个项目玩转深度学习》--补充知识&BUG汇总(第5章 深度学习中的目标检测)

    第5章 深度学习中的目标检测 5.2 BUG调试 5.2.1 export 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 **解决办法&#xff1a;**用set替换...

    2024/4/27 11:23:31
  2. java的可见性、有序性和原子性(转)

    话不多说&#xff0c;先上一张图 没错&#xff0c;我们今天聊的东西&#xff0c;跟他没啥关系。 上面这是java的内存结构&#xff08;我就是忽悠你们来的&#xff09;。 今儿主要先聊一聊java的内存模型&#xff08;嗯&#xff0c;也不是非想跟你们聊&#xff0c;主要是标题…...

    2024/4/1 11:48:32
  3. 一文搞懂最大似然估计

    https://zhuanlan.zhihu.com/p/26614750...

    2024/4/26 8:05:50
  4. Java基本数据类型转换包含哪两类?请举例说明

    1.自动类型转换 &#xff08;1&#xff09;byte、short、char类型被提升到int类型 &#xff08;2&#xff09;整型,实型,字符型数据可以混合运算。运算中&#xff0c;不同类型的数据先转化为同一类型&#xff0c;然后进行运算&#xff0c;转换从低级到高级 。 2.强制类型转换 …...

    2024/4/22 13:03:34
  5. SpringBoot中的tomcat优化和修改

    项目背景 在做项目的时候&#xff0c;把SpringBoot的项目打包成安装包了&#xff0c;在客户上面安装运行&#xff0c;一切都是那么的完美&#xff0c;可是发生了意外&#xff0c;对方突然说导出导入的文件都不行了。我急急忙忙的查看日志&#xff0c;发现报了一个错误 java.io…...

    2024/4/26 20:16:22
  6. 【技术博客】通过量化知识来解释知识蒸馏

    【技术博客】通过量化知识来解释知识蒸馏 知识蒸馏介绍 知识蒸馏&#xff08;Knowledge Distillation&#xff09;最早是在2006年由 Bulica 提出的&#xff0c;在2014年 Hinton 对知识蒸馏做了归纳和发展。知识蒸馏主要思想是训练一个小的网络模型来模仿一个预先训练好的大型…...

    2024/4/26 3:23:53
  7. Linux 命令行 终端 绘制C语言函数的调用图

    绘制函数的调用图 https://blog.csdn.net/qq_23599965/article/details/88839012 使用cflow分析函数调用关系&#xff0c;生成文本文件*# cflow whoami.c* 将cflow输出的文本文件转化为dot格式&#xff1a; # cflow whoami.c | tree2dotx > out.dot将dot格式转化为图片格…...

    2024/4/25 18:36:45
  8. Spring+SpringMVC+Hibernate整合

    前言&#xff1a; 1. 用于配置Spring的 .xml 插件 为了编写时有一些提示、自动生成一些配置信息&#xff0c;可以给 eclipse增加支持 spring的插件&#xff1a;spring tool suite&#xff0c;https://spring.io/tools/sts/all&#xff0c;下载然后安装&#xff08;不推荐这种…...

    2024/4/26 0:35:52
  9. 离散傅里叶变换(DFT)

    x(x[0],x[1],…,x[N−1])x (x[0], x[1], \ldots, x[N-1])x(x[0],x[1],…,x[N−1]) 为长度为 NNN 的离散时间信号&#xff0c;可以将其在 N 个正交基上展开&#xff0c;x∑i0N−1aiϵi\displaystyle{x \sum_{i0}^{N-1} a_i \epsilon_i }xi0∑N−1​ai​ϵi​&#xff0c;其中 …...

    2024/4/26 3:32:06
  10. pandas怎么对groupby之后的每个分组应用apply函数

    #&#xff08;1&#xff09;怎样对数值列按照分组的归一化 #&#xff08;2&#xff09;怎样取每个分组的TOP N数据 ‘’’ X的归一化&#xff1a; X(normalized) (X当前值-最小值)/&#xff08;X最大值-X最小值&#xff09; ‘’’ import pandas as pd import os os.chdi…...

    2024/4/23 23:54:57
  11. jupyter notebook运行出错:ModuleNotFoundError: No module named ‘keras‘ 解决办法

    接上一篇 《win10python3.6tensorflow-cpukerasPycharm环境下的tensorflow配置方法》 通过Anaconda Prompt 打开 查看当前可用的kernel jupyter kernelspec list显示 添加Python kernel conda activate tensorflow #tensorflow是之前创建的虚拟环境名字在tensorflow虚拟环…...

    2024/4/27 22:44:39
  12. 队列的两种实现形式

    链表实现 #include <cstdio> #define null NULL using namespace std; struct node {node* nxt;int val; }; struct queue {node* front;node* rear;queue(){frontrearnull;}void push(int val){node* x new node();x->valval;x->nxtnull;if(rearnull){frontx;re…...

    2024/4/27 21:33:04
  13. 使用shell 脚本备份数据

    做运维的人一般都会用到shell 脚本&#xff0c; 而且是必须会的。 shell 是Linux 系统自带的工具&#xff0c; 可用大大的提高效率。 减少人肉运维。 下面就简单介绍一篇 备份数据的例子。 #!/bin/bash #auto_backup.sh db_user"dbuser" db_password"123456…...

    2024/4/24 14:45:19
  14. Responsebody到ResponseEntity的区别及应用

    作者&#xff1a; 张瑞丰 出处&#xff1a;https://www.cnblogs.com/zhangruifeng/p/13260542.html...

    2024/4/21 23:44:43
  15. ActiveMQ跟SpringBoot整合的双向队列

    JmsListener(destination "mytest.queue") SendTo("out.queue") public String receiveQueue(String text){System.out.println(text);return "消息已收到&#xff0c;over"; } JmsListener(destination "out.queue") public void …...

    2024/4/23 4:51:52
  16. HDU 1241 Oil Deposits 简单DFS

    题目&#xff1a;(来源于hdu oj 官网&#xff09; Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that…...

    2024/4/23 4:48:07
  17. likwid perfctr: 测量CPU的硬件性能计数器

    虽然已经有很多工具可以测量硬件性能计数器&#xff0c;但是仍然缺少一个轻量的命令行工具进行简单的端到端测量。Linux MSR模块&#xff0c;提供了从用户空间访问模型专用寄存器的接口&#xff0c;使我们能够不修改Linux内核就能读取Linux读取硬件性能计数器。此外&#xff0c…...

    2024/4/27 3:21:29
  18. Django学习 day57之Django第三日

    Django第三日【知识储备】静态文件配置的本质细节知识创建步骤一 登录功能&#xff0c;连接mysql路由视图函数模板文件login.html模板文件index2.html二 MTV与MVC三 django请求生命周期图知识储备四 虚拟环境讲解&#xff0c;pycharm配置五 orm概述七 django中orm的使用【知识储…...

    2024/4/26 5:53:22
  19. recently----me

    HTML/HTML5 CSS/CSS3 javascript jQuery Bootstrap XMLXPath Servlet: Servlet/GenericServlet/HttpServlet; Servlet生命周期&#xff1b; Http协议剖析; GET和POST的区别; 转发和重定向; Cookie; Session; Servlet规范中常用接口的讲解Jsp: Jsp本质; Jsp和Servlet的区别以及…...

    2024/4/23 13:01:09
  20. 1248:Dungeon Master

    【题目描述】 这题是一个三维的迷宫题目&#xff0c;其中用‘.’表示空地&#xff0c;‘#’表示障碍物&#xff0c;‘S’表示起点&#xff0c;‘E’表示终点&#xff0c;求从起点到终点的最小移动次数&#xff0c;解法和二维的类似&#xff0c;只是在行动时除了东南西北移动外…...

    2024/4/23 23:55:12

最新文章

  1. c++并查集

    文章目录 前言一、并查集1、并查集原理2、并查集实现3、并查集应用1.省份数量2.等式方程的可满足性 前言 一、并查集 1、并查集原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#xff0c;然后…...

    2024/4/28 1:45:50
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. uniapp原生下拉刷新在手机上不起作用

    开启原生下拉刷新时&#xff0c;页面里使用了全屏高的scroll-view&#xff0c;向下拖动内容时&#xff0c;会优先触发scroll-view滚动而不是下拉刷新。 "enablePullDownRefresh": true, 这就可能会导致下拉刷新不起作用&#xff0c;这时候就需要做到取舍&#xff0c…...

    2024/4/27 8:49:19
  4. 【图论】知识点集合

    边的类型 neighbors(邻居)&#xff1a;两个顶点有一条共同边 loop&#xff1a;链接自身 link&#xff1a;两个顶点有一条边 parallel edges&#xff1a;两个顶点有两条及以上条边 无向图 必要条件&#xff1a;删掉顶点数一定大于等于剩下的顶点数 设无向图G<V,E>是…...

    2024/4/25 6:59:51
  5. 微信小程序的页面交互2

    一、自定义属性 &#xff08;1&#xff09;定义&#xff1a; 微信小程序中的自定义属性实际上是由data-前缀加上一个自定义属性名组成。 &#xff08;2&#xff09;如何获取自定义属性的值&#xff1f; 用到target或currentTarget对象的dataset属性可以获取数据 &#xff…...

    2024/4/25 11:41:25
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/27 1:53:53
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/27 3:39:11
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/27 12:24:35
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/27 12:24:46
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/27 3:39:08
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/27 3:39:07
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/27 3:39:07
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/27 12:44:49
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/27 21:08:20
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/26 22:35:59
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/27 18:40:35
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/27 3:39:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/27 13:52:15
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/27 13:38:13
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/27 1:03:20
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/27 3:22:12
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/27 22:51:49
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/27 3:39:00
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/26 23:53:24
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/27 20:28:35
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57