当前位置: 首页 > news >正文

面试总结,4年经验

小伙伴你好,我是田哥。

本文内容是一位星球朋友昨天面试遇到的问题,我把核心的问题整理出来了。

ffb656d738517d240898641a27e3d5f9.png

1:Java 层面的锁有用过吗?除了分布式锁以外

是的,Java中提供了多种锁机制来保证并发访问数据的安全性和一致性。常见的Java锁包括:

  1. synchronized 关键字:用于对代码块或方法进行加锁,实现对象级别的互斥访问。

  2. ReentrantLock 类:通过构造器传入一个参数来指定是否使用公平锁,可以实现更灵活的线程控制。

  3. ReadWriteLock 接口:通过读写锁实现读共享、写独占的机制,可以提高并发读操作的效率。

这些锁机制在不同场景下都有各自的优缺点,需要根据具体的业务需求和性能要求来选择合适的锁机制。另外,还可以结合使用volatile关键字、Atomic类等原子操作来实现更高效的并发控制。

2:RocketMQ 消费模式一般有几种?

RocketMQ 消息队列的消费模式一般有两种,即集群消费和广播消费。

  1. 集群消费(Clustering)

集群消费是指多个消费者同时消费同一个主题(Topic)的消息,每个消息只能被其中一个消费者处理。当消费者组中的某个消费者挂掉后,其它消费者会自动接管该消费者的所有未确认的消息进行消费。这种消费模式适用于并行处理消息的场景。

  1. 广播消费(Broadcasting)

广播消费是指多个消费者同时消费同一个主题(Topic)的消息,每个消费者都会消费一遍所有的消息,而不是共同消费所有消息。这种消费模式适用于需要将消息推送给所有消费者的场景,如系统通知。

在实际场景中,可以根据不同的业务需求选择不同的消费模式。

3:openFegin底层内部使用什么通信协议?

OpenFeign 是 Spring Cloud 组件之一,用于声明式的 REST 客户端调用。它底层使用了 Netflix 的 Ribbon 作为负载均衡器,并使用了 Feign 自己的编码器和解码器来支持五种不同的注解。而在具体的通信协议方面,OpenFeign 并没有限定使用哪种协议,它可以支持 HTTP、TCP 等传输协议的请求。

通常情况下,OpenFeign 基于 HTTP 协议进行通信,因为 RESTful API 是使用 HTTP 来完成状态转移的一种方式,而 OpenFeign 正是用于调用 RESTful 服务的工具。所以,在大多数场景下,OpenFeign 底层使用的是 HTTP 协议来进行通信。

4:选http 作为数据传输有什么好处吗?

使用 HTTP 作为数据传输具有以下好处:

  1. 可扩展性:HTTP 是一种基于文本的协议,可以在各种平台和编程语言之间进行通信。因此,使用 HTTP 作为数据传输可以轻松地扩展应用程序。

  2. 简单性:HTTP 是一种非常简单的协议,易于理解和实现。这使得开发人员可以更快地编写代码,并且更容易维护。

  3. 可靠性:HTTP 协议提供了可靠的数据传输机制。如果一个请求失败了,客户端会收到一个错误响应,而不是一个错误的结果。这可以确保数据的完整性。

  4. 安全性:HTTP 协议可以与加密技术结合使用,例如 SSL/TLS,以提供安全的数据传输。

  5. 高效性:HTTP 协议使用 TCP/IP 协议栈,它是一种高效的协议栈,可以确保数据快速传输。此外,HTTP 还支持缓存机制,可以提高数据传输效率。

总之,选择使用 HTTP 作为数据传输协议可以带来许多好处,包括可扩展性、简单性、可靠性、安全性和高效性。

5:http协议和rpc协议的区别

HTTP 协议和 RPC(Remote Procedure Call)协议的主要区别在于:

  1. 技术实现方式不同:HTTP 是基于文本的协议,使用了请求-响应模式,而 RPC 是基于二进制的协议,使用了调用-返回模式。

  2. 应用场景不同:HTTP 协议通常用于 Web 应用程序中,用于浏览器与服务器之间的传输数据;而 RPC 协议用于客户端和服务端之间的通信,通常用于分布式系统或微服务架构中。

  3. 性能表现不同:RPC 协议相对于 HTTP 协议具有更好的性能表现,因为它使用较小的数据包进行通信,减少了网络延迟和带宽消耗。

  4. 接口描述方式不同:HTTP 使用 RESTful 风格的接口描述方式,而 RPC 使用 IDL(Interface Definition Language)来定义服务接口,可以更加明确和规范服务的接口。

  5. 语言支持不同:HTTP 协议是一种跨平台、跨语言的协议,支持任何编程语言;而 RPC 协议需要在客户端和服务端使用相同的语言和库才能通信。

总之,虽然 HTTP 协议和 RPC 协议都可以用作网络通信的协议,但它们的技术实现方式、应用场景、性能表现、接口描述方式和语言支持等方面都存在一定的差异,需要根据具体的应用场景来选择合适的协议。

6:在mysql数据库中,比如说在更新的时候会有几种生成的日志格式?

在 MySQL 数据库中,在进行数据更新操作时,会根据事务隔离级别和二进制日志的格式生成不同类型的日志。以下是几种可能的日志格式:

  1. 语句格式(statement-based):这种日志格式记录了 SQL 语句本身,也就是在执行 SQL 语句时所使用的具体语句。这种格式适用于非事务性存储引擎,或是事务隔离级别为 READ COMMITTED 的 InnoDB 存储引擎。

  2. 行格式(row-based):这种日志格式记录了每一行被修改前后的值,相对于语句格式,这种格式更加详细。这种格式适用于事务性存储引擎,如 InnoDB,以及事务隔离级别为 REPEATABLE READ 或 SERIALIZABLE 的存储引擎。

  3. 混合格式(mixed):这种日志格式是上述两种格式的结合。在默认情况下,MySQL 会使用混合格式来记录二进制日志。

可以通过设置系统变量 binlog_format 来切换日志格式,默认值为 MIXED。不同的日志格式有着各自的优缺点,需要根据实际应用场景选择合适的日志格式。

###:7:在MySQL数据库中,什么情况下会触发行锁、什么情况下会触发表锁?在 MySQL 数据库中,行锁和表锁是根据具体的 SQL 操作类型、事务隔离级别以及存储引擎等因素来触发的。

当进行 UPDATE、DELETE、INSERT INTO 等修改性操作时,在满足以下条件的情况下会触发行锁:

  1. 该表使用的存储引擎支持行锁(如 InnoDB 存储引擎);

  2. 事务隔离级别不是 READ UNCOMMITTED

  3. 当前操作的数据行没有被其他事务占用或锁定;

而在其他情况下,则可能会触发表锁。比较常见的情况有:

  1. 当使用 LOCK TABLES 语句显式锁定整个表时;

  2. 当进行 SELECT 操作时,如果使用了表锁定读(LOCK IN SHARE MODE)或排他锁定读(FOR UPDATE)。

需要注意的是,MySQL 中的表锁是一种粗粒度的锁定方式,会对整张表进行锁定,所以在高并发场景下可能会出现性能瓶颈。因此,建议尽量使用行锁定方式,同时合理设置事务隔离级别和存储引擎等参数,以达到更好的性能和并发控制效果。

7:说说 MySQL数据库中,悲观锁、乐观锁、表锁、行锁、页锁,最好是用代码来说。

MySQL 数据库中,悲观锁、乐观锁、表锁、行锁、页锁是常见的锁定方式。

  1. 悲观锁

悲观锁是一种传统的锁定方式,它的核心思想是“先加锁再操作”,即在每次对数据进行读写操作时,都会先对数据进行锁定,以防止其他并发操作对数据的干扰。悲观锁通常使用数据库的锁机制来实现,比如行锁或表锁等。由于需要频繁地加锁和解锁,在高并发的情况下可能会导致性能问题。

-- 创建测试表
CREATE TABLE `account` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`balance` decimal(10,2) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB;-- 插入测试数据
INSERT INTO `account` VALUES (1,'张三',1000.00),(2,'李四',1000.00);-- 开始事务
START TRANSACTION;-- 查询账户余额并加锁
SELECT `balance` FROM `account` WHERE `name` = '张三' FOR UPDATE;-- 修改账户余额
UPDATE `account` SET `balance` = `balance` - 500 WHERE `name` = '张三';-- 提交事务
COMMIT;

上述示例中,我们先使用 SELECT ... FOR UPDATE 语句查询账户余额并加锁,然后再执行 UPDATE 语句修改账户余额,最后提交事务。由于在查询过程中已经对该行数据进行了加锁,其他事务在这个时候是无法对该行数据进行读写操作,从而避免了并发问题。

  1. 乐观锁

乐观锁是一种基于版本号的锁定方式,它的核心思想是“先操作再判断”,即在每次对数据进行读写操作时,会先获取当前数据的版本号,并将其存储在本地。然后在提交更新之前,会先检查当前数据的版本号是否与本地存储的一致,如果一致,则说明没有其他并发操作对数据进行了修改,可以直接提交更新;如果不一致,则说明有其他并发操作对数据进行了修改,此时需要重新获取数据并重试更新操作。下面是一个示例:

-- 创建测试表
CREATE TABLE `account` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`balance` decimal(10,2) NOT NULL,`version` int(11) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=InnoDB;-- 插入测试数据
INSERT INTO `account` VALUES (1,'张三',1000.00,1),(2,'李四',1000.00,1);-- 开始事务
START TRANSACTION;-- 查询账户余额和版本号
SELECT `balance`, `version` FROM `account` WHERE `name` = '张三';-- 修改账户余额和版本号
UPDATE `account` SET `balance` = `balance` - 500, `version` = `version` + 1 WHERE `name` = '张三' AND `version` = 1;-- 提交事务
COMMIT;

上述示例中,我们在表中添加了一个 VERSION 字段,并在查询和更新语句中使用它来实现乐观锁。在更新时,我们先查询该行数据的版本号,然后再执行 UPDATE 语句修改余额和版本号,只有在版本号与查询结果一致的情况下才会更新成功。

  1. 表锁

表锁是对整张表进行锁定的方式。在使用表锁时,会对整张表进行加锁,从而保证同时只有一个事务可以对表进行操作。表锁是一种粗粒度的锁定方式,可能会导致性能瓶颈。

以下是一个示例代码,演示如何使用表锁:

-- 获取表锁
LOCK TABLES mytable WRITE;-- 执行对mytable的修改操作
UPDATE mytable SET column1 = 'new value' WHERE id = 1;-- 释放表锁
UNLOCK TABLES;

在上面的代码中,LOCK TABLES语句获取了mytable的写锁,这意味着其他事务无法对该表进行修改操作,直到该锁被释放。在锁定期间,可以执行对该表的修改操作,例如UPDATE语句。最后,UNLOCK TABLES语句释放了表锁,使其他事务可以对该表进行修改操作。

  1. 行锁

行锁是对单行数据进行锁定的方式。在使用行锁时,会对要操作的数据行进行加锁,从而保证同时只有一个事务可以对该行数据进行操作。行锁是一种细粒度的锁定方式,可以提高并发性能和吞吐量

下面是一个简单的代码案例,演示如何使用行锁:

-- 创建测试表
CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`age` int(11) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 插入测试数据
INSERT INTO `test` (`name`, `age`) VALUES ('张三', 20);
INSERT INTO `test` (`name`, `age`) VALUES ('李四', 22);
INSERT INTO `test` (`name`, `age`) VALUES ('王五', 25);-- 执行事务1,使用行锁更新数据
START TRANSACTION;
SELECT * FROM `test` WHERE `id`=1 FOR UPDATE;
UPDATE `test` SET `age`=21 WHERE `id`=1;
COMMIT;-- 执行事务2,使用行锁更新数据
START TRANSACTION;
SELECT * FROM `test` WHERE `id`=1 FOR UPDATE;
UPDATE `test` SET `age`=22 WHERE `id`=1;
COMMIT;

在上面的例子中,我们首先创建了一个名为test的测试表,包含idnameage三个字段。然后插入了三条测试数据。接下来,我们使用两个事务对同一行数据进行更新操作。在每个事务中,我们使用FOR UPDATE语句对该行数据加上行锁,防止其他事务修改该行数据。最后,我们提交了两个事务,完成了数据更新操作。

需要注意的是,行锁的使用需要谨慎,如果使用不当可能会导致死锁等问题。因此,在实际开发中,应该根据具体情况来选择合适的锁机制,以保证数据库的性能和数据的一致性。

  1. 页锁

页锁是对数据页进行锁定的方式。在使用页锁时,会对要操作的数据所在的页进行加锁,从而保证同时只有一个事务可以对该页数据进行操作。页锁是一种介于行锁和表锁之间的锁定方式,可以根据实际情况选择使用。

在MySQL中,可以使用SELECT ... FOR UPDATE语句来获取页锁,例如:

-- 事务A获取页锁
BEGIN;
SELECT * FROM user WHERE age >= 18 AND age <= 25 FOR UPDATE;-- 事务B尝试获取页锁,会被阻塞
BEGIN;
UPDATE user SET age = 20 WHERE age >= 18 AND age <= 25;

在上述代码中,事务A获取了age在18到25岁之间的所有行的页锁,事务B在尝试更新这些行时,由于这些行已经被事务A持有页锁,所以需要等待事务A释放锁才能执行更新操作。

需要注意的是,页锁只能保证页级别的互斥操作,并不能保证行级别的互斥操作。如果多个事务同时对同一行数据进行修改,即使这些行属于同一个页,也不会被页锁阻塞,因为页锁只限制对整页的修改。

另外,使用页锁可能会导致死锁问题,因为如果两个事务都要修改同一页数据,但是获取锁的顺序不同,就会发生死锁。因此,需要谨慎使用页锁。

除了页锁外,MySQL还有行锁和表锁两种锁机制,需要根据具体情况选择适当的锁。

最后

从文章中大家也可以发现,现在面试中,MySQL会占很大的比例,所以希望大家多多留意MySQL数据相关的问题。

好了,今天就分享这么多,我们下期再见,记得点赞收藏

题外话:如果有需要简历修改、简历优化、简历包装、面试辅导、模拟面试、技术辅导、技术支持等,欢迎加我微(tj20120622)。

我的个人技术博客:http://woaijava.cc/

回复77 ,获取《面试小抄2.0版》

回复电子书,获取后端必读的200本电子书籍。

文章推荐

中厂,面试就问了4道题,凉了!

分布式问题,你知道几个?

应届生,实力已超6年,太卷了!

手把手教你写简历,包装、优化!

面试不问java,问MySQL,如何破局?

相关文章:

面试总结,4年经验

小伙伴你好&#xff0c;我是田哥。 本文内容是一位星球朋友昨天面试遇到的问题&#xff0c;我把核心的问题整理出来了。 1&#xff1a;Java 层面的锁有用过吗&#xff1f;除了分布式锁以外 是的&#xff0c;Java中提供了多种锁机制来保证并发访问数据的安全性和一致性。常见的J…...

享受简单上传体验:将Maven仓库迁移到GitHub

前言&#xff1a;我为什么放弃了Maven Central 之前我写过一篇《Android手把手&#xff0c;发布开源组件至 MavenCentral仓库》&#xff0c;文中详细介绍了如何发布组件到Maven Central中供所有开发者共用。但是最近使用下来&#xff0c;发现Sonatype JIRA 的Maven Center上传…...

R语言 | 进阶字符串的处理

目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…...

【MySQL高级】——InnoDB索引MyISAM索引

一、索引概述 MySQL官方对索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。 索引的本质&#xff1a;索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”&#xff0c;满足特定查找算法。 这些数据结构以某种方式指向…...

电影《灌篮高手》观后

上周和同学一起看了电影《灌篮高手》这部电影&#xff0c;个人以前没有看过相关漫画和动画&#xff0c;但记得&#xff0c;看过海报和一些宣传物品&#xff0c;有的衣服上&#xff0c;有文具盒上&#xff0c;也都出现过&#xff0c;而且是在自己小时候&#xff0c;可见当时的影…...

C# .Net 中的同步上下文

.Net 中的同步上下文 【文 / 张赐荣】 什么是同步上下文&#xff1f; 同步上下文&#xff08;SynchronizationContext&#xff09;是一个抽象类&#xff0c;它提供了一个基本的功能&#xff0c;用于在不同的同步模型中传播一个同步操作。 同步上下文表示一个代码执行的位置&a…...

3分钟入门:Flex 布局

flex 布局原理 全称 flexible box&#xff0c;弹性布局。 如何开启&#xff1a;为元素添加 display: flex。 开启 flex 布局的元素&#xff0c;称为 flex 容器&#xff08;flex container&#xff09;&#xff0c;其子元素成为容器成员&#xff0c;称为 flex 项目。 flex 布…...

我想知道,就目前形势而言,学java好还是C++好?

前言 就现实点看看&#xff0c;可以对比现在Java和C的市场占有率&#xff0c;可以看到&#xff0c;到目前为止&#xff0c;Java在国内编程语言的市场仍然是占据着大头&#xff0c;在招聘当中Java的人数占有率仍然是遥遥领先于C&#xff0c;Java目前开阔的市场以及其巨大的岗位…...

Mysql 管理

目录 0 课程视频 1 系统数据库 -> 安装完mysql ->自带四个数据库 2 常用工具 -> 写脚本用 2.1 mysql 客户端工具 2.2 mysqladmin 2.3 mysqlbinlog -> 二进制日志 -> 运维讲解 2.4 mysqlshow 2.5 mysqldump 备份用 ->导出 2.6 mysqlimport/source -…...

C#基础(算术运算符)

作用 算术运算符 是用于 数值类型变量计算的运算符 它的返回结果是数值 赋值符号 // // 关键知识点&#xff1a; // 先看右侧 再看左侧 把右侧的值赋值给左侧的值 int myAge 18; 算术运算符 加 // 用自己计算 先算右侧结果 在赋值给左侧变量 int i 1; i i 2; …...

BM43-包含min函数的栈

题目 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈中所含最小元素的 min 函数&#xff0c;输入操作时保证 pop、top 和 min 函数操作时&#xff0c;栈中一定有元素。 此栈包含的方法有&#xff1a; push(value):将value压入栈中pop():弹出栈顶元素top():获取…...

[学习笔记] [机器学习] 3. KNN( K-近邻算法)及练习案例

视频链接数据集下载地址&#xff1a;《3. KNN及练习案例》配套数据集 1. K-近邻算法(KNN)概念 学习目标&#xff1a; 掌握K-近邻算法实现过程知道K-近邻算法的距离公式知道K-近邻算法的超参数 K K K值以及取值问题知道kd树实现搜索的过程应用KNeighborsClassifier实现分类知…...

React Hooks 钩子函数错误用法,你还在犯这些错误吗

React Hooks 常见错误 前言 本片文章主要是在写react hooks的时候&#xff0c;遇到的常见错误的写法&#xff0c;和错误。也是一个对只是的巩固和总结。 错误一 上代码&#xff1a;正确写法 function TestReactHooksError() {const [test, setTest] useState(test);useEff…...

tpm2-tools源码分析之tpm2_evictcontrol.c(1)

TPM 2.0中的tpm2_evictcontrol命令对应的源文件就是tpm2_evictcontrol.c&#xff0c;该文件位于tpm2-tools/tools/下&#xff0c;一共有339行&#xff08;版本5.5&#xff09;。 tpm2_evictcontrol的功能是使一个被加载的密钥持久保存、或者从TPM中移除一个持久密钥。命令描述…...

SpringCloud_OpenFeign服务调用和Resilience4J断路器

文章目录 一、负载均衡概论1、服务器负载均衡2、客户端负载均衡3、客户端负载均衡策略(SpringCloudRibbon)4、客户端负载均衡策略(SpringCloudLoadBalancer) 二、SpringCloudOpenFeign服务调用1、OpenFeign服务调用的使用2、OpenFeign服务调用的日志增强3、OpenFeign服务调用超…...

【C++】switch 语句

目录 1、缘起 2、笔记整理 3、if 和 switch 区别 4、总结 1、缘起 最近&#xff08;2023-04-29&#xff09;在 BiliBili 黑马程序员学习 C 编程语言&#xff0c;今天学习到了 switch 语句。以前在学习 C 语言 的时候&#xff0c;对这块知识点掌握的不是很好&#xff0c;…...

【Database-06】Centos 9 安装docker版的Oceanbase

1、安装docker 1.1、卸载旧版本 旧版本的 Docker 被称为docker或docker-engine。如果安装了这些&#xff0c;卸载它们以及相关的依赖项。 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotat…...

TiDB Operator 和 Operator Dashboard

TiDB Operator 和 Operator Dashboard V1TiDB Operator概念实现 Operator Dashboard概念实现 V2思路实例代码TiDB ARM OperatorTiDB ARM Operator Dashboard V1 为了演示如何编写 TiDB Operator 和 Operator Dashboard&#xff0c;我们将分别介绍它们的概念和实现。 TiDB Ope…...

计算机网络闲谈01——QUIC协议

计算机网络闲谈01——QUIC协议 预备知识 重传机制 RTT 一个连接的往返时间 RTO 重传超时时间 RTT和RTO 的关系是&#xff1a;由于网络波动的不确定性&#xff0c;每个RTT都是动态变化的&#xff0c;所以RTO也应随着RTT动态变化。 流量控制 对发送方发送速率的控制 称之为…...

楼层滚动效果(超级简单,易懂)

系列文章目录 文章目录 系列文章目录一、楼层滚动效果图如下1. 下图是纯Css实现的楼层滚动2.通过Js优化后的楼层滚动如下图(&#x1f339;&#x1f339;) 二、楼层滚动&#xff08;Css实现&#xff09;1.滚动原理2.代码如下 三、楼层滚动&#xff08;JsCss优化后的楼层滚动&…...

FPGA、 CPU、GPU、ASIC区别

一、为什么使用 FPGA&#xff1f; 众所周知&#xff0c;通用处理器&#xff08;CPU&#xff09;的摩尔定律已入暮年&#xff0c;而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务&#xff0c;然而日新月异的行业又要求这些定制的硬件可被重新…...

ChatGPT 之父承认 GPT-5 并不存在,为什么 OpenAI 总是这么实诚?|万字详述

ChatGPT 诞生前传 来源: 爱范儿 微信号&#xff1a;ifanr 最近&#xff0c;OpenAI 的 CEO Sam Altman 在一场公开会议上为 GPT-5 辟谣。 他声称 OpenAI 并没有在训练 GPT-5&#xff0c;而是一直基于 GPT-4 做别的工作。 OpenAI 是一家非常有趣的机构&#xff0c;和微软、Go…...

华为交换机配置telnet登录图文教程

一、配置交换机管理vlan和地址&#xff0c;配置交换机接口 1.关闭多余的信息提示&#xff1a; [Huawei]undo in en Info: Information center is disabled. [Huawei] 2.交换机配置 在工作中通过Telnet方式登录交换机进行设备登录管理能更加便利&#xff0c;不需要到机房里…...

Linux:网络基础1

网络协议分层 所有网络问题&#xff0c;本质都是通信距离变长了&#xff0c;为了尽可能减少通信成本&#xff0c;定制了协议。 协议分层的优势&#xff1a; 软件设计方面的优势 - 低耦合 一般我们的分层依据: 功能比较集中&#xff0c;耦合度比较高的模块-- 一层 &#xff0c…...

Matlab对日期变量和时间变量的管理

Matlab2012a内置了三个函数 datanumdatevecdatestr 靠这三个函数&#xff0c;可以基本实现日期变量和时间变量的管理。下面直接来看。 &#xff08;1&#xff09;datanum 这个函数用来将字符串&#xff0c;日期矢量转为通用日&#xff08;数值型&#xff09;。所谓的通用日…...

js字符串 常用方法 并带详细讲解

JavaScript中字符串是一种基本数据类型&#xff0c;表示文本数据。字符串常用方法有以下几种&#xff1a; length&#xff1a;返回字符串的长度。 let str "hello world"; console.log(str.length); // 11indexOf&#xff1a;返回字符串中指定字符或子串的位置&am…...

Oracle_Audit_审计

1、什么是审计审计&#xff08;Audit)用于监视用户所执行的数据库操作&#xff0c;并且Oracle会将审计跟踪结果存放到OS文件&#xff08;默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/&#xff09;或数据库&#xff08;存储在system表空间中的SYS.AUD$表中&#xff0c;可通…...

python算法中的深度学习算法之生成对抗网络(详解)

目录 学习目标: 学习内容: 生成对抗网络 Ⅰ. 生成器 Ⅱ. 判别器...

【VM服务管家】VM4.0软件使用_1.2 工具类

目录 1.2.1 文本保存&#xff1a;逐行保存格式化模块输出的方法1.2.2 脚本模块&#xff1a;循环模块搭配脚本使用的方法1.2.3 几何查找&#xff1a;彩色图像的几何查找方法1.2.4 深度学习&#xff1a;图像分割的面积的获取方法1.2.5 颜色识别&#xff1a;使用颜色识别工具做分类…...

Android系统架构

Application层&#xff0c;也就是应用层&#xff0c;不仅包括通话短信联系人这种系统级的应用&#xff0c;还包括用户自己安装的一些第三方应用Framework层&#xff0c;这一层大部分用Java写的&#xff0c;包括系统服务和四大组件Library层&#xff0c;这一层大部分都是C/C写的…...