Debezium发布历史149

news2024/11/19 22:41:47

原文地址: https://debezium.io/blog/2023/06/21/debezium-2-3-final-released/

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

Debezium 2.3.0.Final Released
June 21, 2023 by Chris Cranford
releases mongodb mysql postgres sqlserver caassandra oracle db2 vitess outbox spanner

在过去的几个月里,团队一直在忙于准备一个压缩的Debezum2.3的释放时间表,我很高兴地宣布下一期的销售已经到了, 2.3.0.Final 现在可以使用了!

尽管有一个压缩释放时间表,这个版本充满了新的功能和改进。Debezum2.3包括一个全新的通知子系统、改写信号子系统以支持将信号发送到Debez连接器的附加手段、引入JDBC存储模块以维持关系数据库中的Debezum状态、对VIVESSARD处理进行并行化、后GRESQL连接器副本标识改进、为库贝内特斯建立一个全新的Debezum服务器操作器、支持精确的、曾用于后数据库的语义学SQL连接器和甲骨文连接器的改进。

让我们花点时间来谈谈任何突破性的改变和所有这些改进,以及它们为什么如此重要!

突破性变化

新的特点和改进

其他变动

下一步是什么

你也可以找到一个完整的变化列表。 释放说明 .

突破性变化
我们通常试图避免尽可能多地在小版本中打破更改,但不幸的是,有时这种改变是不可避免的,特别是如果某一特性可能是 实验的 .根据您是从预览版本升级的,还是从早期的稳定版本升级的,Debezum2.3引入了两个破坏性更改:

后置ql/mysql安全连接更改

JDBC存储编码更改

后置ql/mysql安全连接更改
可以将后GRESSL和mysql的德贝兹配置为使用安全的SSL连接。对于后置SQL,可以通过配置实现database.sslmode 对于mysql来说这可以用database.ssl.mode .

使用Debezum2.3,这个配置选项不再默认disable (后问题)或disabled (mysql)而不是默认prefer (后问题)和preferred (mysql)。这意味着,在尝试使用加密的安全连接连接时,除非另有配置,否则连接器在默认情况下将返回到使用无担保连接。

JDBC存储编码更改
2.3.0.阿尔法1介绍了新的 实验的 JDBC存储模块。这个存储模块默认使用UTF-16作为默认编码;然而,大多数数据库更喜欢使用UTF-8作为默认编码。如果您是从2.3.0.阿尔法1升级,2.3.0.Beta1,以及以后在使用JDBC存储模块存储数据时使用UTF-8,以与典型的数据库默认值保持一致。

新的特点和改进
德贝兹2.3包含了大量的新功能改进,其中包括:

库贝内特斯德贝兹特服务器操作员

新的通知子系统

新的可扩展信号子系统

Jmx信号和通知集成

新的JDBC存储模块

一旦交付后行流

重复标识更改

甲骨文RAC改进

库贝内特斯德贝兹特服务器操作员
这个版本介绍了 预演 版本的新德贝泽斯操作员,提供部署和管理德贝泽斯服务器实例的能力库贝内特斯。Debezum服务器允许您将更改事件从您的数据源流到各种各样的消息传递基础结构。我们的目标是为希望利用库伯内特斯进行可伸缩性和高可用性部署的德贝兹社区提供一个无卡夫卡的替代方案。

目前,文档很少,因为操作符处于早期孵化阶段;然而,我们确实打算在即将到来的发布周期中改进这一点。你能找到 部署实例 及其基本描述 定制资源规范 在GITUUB存储库中,您可以将其用作短期的引用。

我们目前不建议对这个组件进行生产部署;但是,我们鼓励用户提供社区反馈。反馈对于评估组件是否已准备就绪或是否仍有改进的领域来满足每个人的需求是有价值的。

新的通知子系统
Debezum2.3引入了一个全新的特性,叫做通知,它允许Debez铵释放任何外部系统可以消耗的事件,以了解Debez铵生命周期各个阶段的状态。

通知事件被表示为一系列键/值元组,其结构包含几个非框字段。下面是一个简单通知事件的例子。

示例通知事件
{
“id”: “c485ccc3-16ff-47cc-b4e8-b56a57c3bad2”,
“aggregate_type”: “Snapshot”,
“type”: “Started”,
“additional_data”: {

}
}
每个通知事件包括id 字段,一个UUID来识别通知,一个aggregate_type 通知所涉及的领域基于域驱动设计的概念,type 表示提供关于聚合类型本身的更多细节的字段,以及可选的additional_data 该字段由一个基于字符串的键/值对的地图组成,并附有关于事件的额外信息。

目前,有两种通知事件类型由Debezns支持:

初始快照的状况

监测递增快照

初始快照通知
初始快照是连接器首次启动时对现有数据的一致捕获。初始快照事件将有一个聚合类型,其值为:“Initial Snapshot” 事件的类型由三个逻辑值组成:

SKIPPED
表示跳过的初始快照。

ABORTED
表示终止的初始快照。

COMPLETED
表示已成功结束的初始快照。

以下是关于完成初始快照的通知示例:

已完成事件示例快照
{
“id”: “5563ae14-49f8-4579-9641-c1bbc2d76f99”,
“aggregate_type”: “Initial Snapshot”,
“type”: “COMPLETED”
}
增量快照通知
增量快照是在连接器正在进行主动流更改时从已配置的一组表中捕获现有数据。增量快照事件将具有具有"Incremental Snapshot" 这个类型将由几个逻辑值组成:

STARTED
表示已开始增量快照。

PAUSED
表示增量快照暂时暂停。

RESUMED
表示已暂停的增量快照现已恢复。

STOPPED
表示已停止增量快照。

IN_PROGRESS
表示正在进行增量快照。

TABLE_SCAN_COMPLETED
表示给定表的增量快照。

COMPLETED
指示所有表的增量快照。

配置通知
通过连接器的配置来配置德贝司通知。下面的例子展示了如何配置出框卡夫卡主题或基于日志的通道。

使用卡夫卡主题
{
“notification.enable.channels”: “sink”,
“notification.sink.topic.name”: “debezium_notifications”,

}
使用连接器日志
{
“notification.enable.channels”: “log”
}
新的可扩展信号子系统
自从引入增量快照特性以来,DEBeZUS支持信号的概念。信号非常重要,因为它允许您提供元数据来指示Debezns执行给定的任务,无论该任务是要编写连接器日志的条目,还是执行临时的增量快照。

在德贝兹2.3中,对信号子系统进行了改造,以引入 通道 ,代表一种介质,用来监视或监听信号并对其作出反应。在以前的版本中,有一个跨连接器普遍支持的通道,这就是数据库信号表。在本版本中,这些渠道已经统一,以下渠道可以从盒子中获得:

数据库信号表

卡夫卡信号话题

文件系统

Jmx

但这并不是全部,信号通道契约是可扩展的,允许您编写自定义实现,并轻松地将其提供给连接器。

信号和通知整合
德贝兹2.3以前引入了一个新的信号通道和通知功能。这个功能允许外部应用程序容易地与Debezum集成,发送信号来执行各种任务,例如临时的增量快照,并接收关于这些任务进展的通知。这个版本在此功能的基础上进行构建,以允许通过JMDA发送信号和接收通知的能力。

发出信号
在这个版本中,信号信道子系统得到了改进,以支持通过jmx发送信号。来自jconsole 窗口,您现在可以看到连接器有两个新的子部分,通知和信号部分如下所示:
图片来自官网原文
在这里插入图片描述

JCOSP指标
新的signals 节允许您调用一个操作上的jmx豆,以便传输信号到Debezns。这个信号类似于逻辑信号表结构,它接受3个参数、一个唯一的标识符、信号类型,最后是信号有效载荷。下表说明了这是从jconsole :
图片来自官网原文
在这里插入图片描述

发射信号
接收通知书
新的notifications 部分允许您接收并响应JMDABean从Debezum捕获的通知。DEBeZMIMNY将缓冲所有通知,以确保没有遗漏通知。下表说明了这是从jconsole :
图片来自官网原文
在这里插入图片描述

接收通知
JMDABean不会自动清除通知队列。为了避免内存问题,一定要调用reset 一旦处理完所有通知,通知书中的方法就会出现。

我们期待您的反馈,这一新的方式集成信号和通知与Debezum在JMDA上。

新的JDBC存储子系统
Debezum2.3介绍了一个新的存储模块实现,支持通过JDBC在数据存储中持续架构历史和偏移数据。对于您可能无法方便地访问持久性文件系统的环境,这提供了另一种通过远程持久性存储平台进行存储的选择。

为了利用这个新模块,必须在项目或应用程序中添加以下依赖项:

马文坐标

io.debezium
debezium-storage-jdbc
2.3.0.Final

下面的例子说明如何通过JDBC存储模块配置偏移或架构历史存储:

偏移JDBC存储的配置示例
{
“offset.storage.jdbc.url”: “”,
“offset.storage.jdbc.user”: “dbuser”,
“offset.storage.jdbc.password”: “secret”,
“offset.storage.jdbc.offset_table_name”: “debezium_offset_storage”
}
架构历史JDBC存储的配置示例
{
“schema.history.internal.jdbc.url”: “”,
“schema.history.internal.jdbc.user”: “dbuser”,
“schema.history.internal.jdbc.password”: “secret”,
“schema.history.internal.jdbc.schema.history.table.name”: “debezium_database_history”
}
一旦交付后行流
重氮传统上一直是一个一旦交付的解决方案,保证不会错过任何变化。确切地说,这是阿帕奇卡夫卡社区提出的一项提案,作为阿帕奇卡夫卡社区的一部分。 KIP-618 .该建议旨在解决生产者(源连接器)的一个共同问题,即生产者重试时,它可能会将一批事件重新发送给卡夫卡经纪人,即使该批已由经纪人提交。这意味着在某些情况下,可能会发送重复事件,而并非每个消费者(接收器连接器)都能够很容易地处理此类情况。

Debezum计划以一种分阶段的方式展开一次性的传递语义。在快照和流的周围有一些特殊的角角案例,这些案例可能因连接器而异。在此基础上,Debezum2.3首先专门为后SQL添加了非常简单的语义支持。 流动阶段 只是!

为了充分利用这一优势,一旦交付,就不需要对连接器配置进行更改;但是,需要对您的卡夫卡连接工作人员配置进行调整,以启用此功能。你可以在 KIP-618 .

如果您将连接器混合在同一个连接集群上,这样做和不支持一次交付,您将无法设置exactly.once.support 在工人配置中required 因为这将导致不支持此功能的连接器在启动时失败验证。

重复标识更改
Debezum2.3介绍了一个新的后GRESQL连接器特性,称为"自动复制身份"。

复制标识是后格来格sql对插入、更新和删除的数据库事务日志中捕获的列的识别方法。这个新功能允许通过连接器配置配置表的副本标识,并在启动时将设置此配置的责任下放给连接器。

新的配置选项,replica.identity.autoset.values ,指定以逗号分隔的表和副本标识元组列表。如果表已经有一个给定的副本标识,则将覆盖该标识以匹配如果表被包含的话在此配置中指定的内容。后格SQL支持几个副本标识类型,有关这些类型的更多信息可在 文件 .

在指定replica.identity.autoset.values ,该值是一个逗号分隔的值列表,每个元素都使用: .下面是一个例子,其中两个表被配置为具有完整的副本标识:

{
“replica.identity.autoset.values”: “public.table1:FULL,public.table2:FULL”
}
甲骨文RAC改进
连接到甲骨文RAC安装时,必须指定rac.nodes 配置属性,具有集群中所有单个节点的最小主机地址或IP地址。旧版本的连接器也支持不同的格式,允许为每个节点包含一个端口,因为集群上的每个节点可能使用同一端口。

Debezum2.3改进了甲骨文RAC支持,还承认每个节点不一定使用相同的甲骨文站点标识符(SID),因此,现在也可以将SID包含在rac.nodes 配置财产以支持此类安装。

下面的例子说明了连接到两个甲骨文RAC节点,每个节点使用不同的端口和SID参数:

配置示例
{
“connector.class”: “io.debezium.connector.oracle.OracleConnector”,
“rac.nodes”: “host1.domain.com:1521/ORCLSID1,host2.domain.com:1522/ORCLSID2”,

}
其他补救措施
在这个版本中出现了相当多的缺陷和稳定性变化,值得注意的是:

德贝齐斯服务器停止向谷歌云酒吧/子服务器发送事件 DBZ-5175

烤变字符数组和日期数组没有正确处理 DBZ-6122

升级至英菲尼斯潘14.0.11.最后,以修复CE-2022-45047 DBZ-6193

引入物流者查询过滤模式 DBZ-6254

在部署多个连接器时锁定日志中的争用点 DBZ-6256

确保连接器可以从陈旧的时间戳开始到过去的一个多小时。 DBZ-6307

甲骨文更改事件源信息块中的rs_id字段为空 DBZ-6329

向http客户端添加JRT身份验证 DBZ-6348

使用后进10不支持的项目。 DBZ-6353

记录,记录,处理,保留。小时应参照最后偏移,而不是合并。 DBZ-6355

流碎片列表支持多个任务 DBZ-6365

改进SKIPP的代码。 DBZ-6366

动力学汇----无线服务证书提供商 DBZ-6372

没有正确地处理烤的养狗店 DBZ-6379

无法解析用于表分区的甲骨文DDL缩小空间 DBZ-6386

为SQL服务器设置未来的操作日期 DBZ-6388

由于复制槽处于活动状态,连接器任务无法恢复流处理 DBZ-6396

基于数据库的数据没有正确地保持没有时差的日期和时间值。 DBZ-6399

蒙戈德连接器崩溃在无效简历令牌上 DBZ-6402

快照第五步-捕获桌的阅读结构太长 DBZ-6439

启动只读mysql连接器 DBZ-6440

使用多租赁时,甲骨文并行快照没有适当设置PDB上下文 DBZ-6457

[Mariadb]添加对用户统计插件关键词的支持 DBZ-6459

从谷歌BUB/子错误中无法恢复德贝齐斯服务器 DBZ-6461

“忽略提供的无效任务” DBZ-6463

清单应以文档中的数据库名称为前缀。 DBZ-6474

在通知发送时,DB2连接器可能与NPE发生故障 DBZ-6485

新记录状态SMT与头值SMT相结合会导致意外的字段名称异常 DBZ-6486

当队列内存大小限制到位时,大小数失败 DBZ-6490

允许在德贝兹汇连接器配置中指定架构 DBZ-6491

甲骨文表无法捕获,无法获得运行时间。 DBZ-6492

信号轮询间隔具有错误的默认值 DBZ-6496

甲骨文JDBC驱动器23.X投出ORA-18716-没有在任何时差 DBZ-6502

阿尔卑斯公园图片应明确使用LLVM/LLang15 DBZ-6506

文件信号通道没有加载 DBZ-6509

利用事件。处理。失败。处理。活复制连接模式 DBZ-6510

Mysqledonludly弹换用事件源在初始化期间强制执行卡夫卡依赖性 DBZ-6511

德贝兹增量快照块大小文档不清楚或错误 DBZ-6512

在转换日之间负秒的错误值 DBZ-6513

德贝兹增量快照块大小文档不清楚或错误 DBZ-6515

对某些错误只使用错误处理方式 DBZ-6523

[后GRESQLTERY]数据没有被流捕获 DBZ-6524

甲骨文连接器:特定组合的快照失败 DBZ-6528

在分组路由中使用更好的散列功能 DBZ-6529

快照上的表顺序不正确 DBZ-6533

开始为德贝兹姆操作员发布夜间图像 DBZ-6541

开始为德贝司操作员发布图像 DBZ-6542

部分路由中未处理的未处理的未接收将使整个连接插件崩溃 DBZ-6543

现场有虫。名称。调整。模式财产 DBZ-6559

运算符设置不正确的转换值。 DBZ-6560

将mysqJDBC驱动程序升级到8.0.33 DBZ-6563

将谷歌云BOM升级到26.17.0 DBZ-6570

由于K8的启动,库伯特-康菲扩展会干扰SSL测试 DBZ-6574

与卡夫卡信号的只读连接器在启动时失败 DBZ-6579

雷迪斯架构历史可能在启动时失败 DBZ-6580

一起来, 138期 已经做好了准备。非常感谢所有参与这个版本的社区的贡献者: 安德烈 , 安格舒曼·戴伊 , 阿尼尔·达萨里 , 阿尼莎 , 伯特兰·帕奎特 , 鲍勃·罗丹 , 布雷诺·莫雷拉 , 克兰福德 , 基督教雅各孟西 , 大卫贝克 , 弗雷德里克·洛朗 , 公长华 , , 乌马基神童 , 侯赛因·安萨里 , 因德拉舒克拉 , 伊斯梅尔·辛塞克 , 杰克布切切克 , 杰西·埃伦兹韦格 , 伊里·帕坎奇c , 约翰·沙兰达 , 坎提萨布拉曼尼亚人 , 卡特琳娜·加里耶娃 , 马里奥菲奥尔维塔莱 , 马丁·梅戴克 , 米格尔·安赫尔·索托马约尔 , 徐南希 , 尼尔利维 , 翁德雷杰巴贝克 , 奥伦伊利亚 , Rj诺林 , 勒内·克纳 , 罗丹 , 罗纳克杰因 , 谢尔盖艾兹纳 , 张舒兰 , 斯蒂芬克拉克森 , 托马斯桑顿 , 汤米·卡尔松 , 托尼约瑟夫 , 沃伊泰克 ,以及 蔡灿材 !

接下来呢?
随着德贝兹2.3的退出,我们的主要重点将是协调对任何德贝兹2.3报告的修复,但主要是即将发布的新的德贝兹2.4预览版本。

德贝兹2.4计划进行大量的修改,我们打算用一个大桶的方式处理这些变化,每个桶被分配一个优先级。同任何时间表一样,优先次序可能会改变,但以下是预期情况的概要:

优先事项1
[核心]时间表b

[核心]时差单消息转换,以方便使用德贝兹时态类型

[核心]初步快照通知

[蒙戈数据库]全数据库更改流支持

多任务部署度量支持

[甲骨文]开放式适配器支持

[甲骨文]XML,长、粗和长的原始数据类型支持

[通用]对其他连接器的语义支持

[依赖]阿帕奇卡夫卡3.5.X支持

优先事项2
[操作员]德贝兹操作员的下一步

[核心]临时阻塞快照

[依赖性]使用机会

优先事项3
[嵌入式引擎]并行化支持

并行增量快照支持

[mysql]并行架构快照支持

这并不是一个详尽无遗的清单,也不是一个雄心勃勃的清单,但是考虑到德贝兹2.3的时间缩短了,我们希望德贝兹2.4的额外几个星期将使下一个小版本成为可能,所有这些功能和更多。路线图将于本周更新,以与上述的德贝齐姆2.4和未来的路线图保持一致,因此请务必与我们联系,了解 邮寄清单 或我们的 聊天 如果你有任何想法或建议。

否则的话,我希望随着我们北方人的夏天的到来,在接下来的几个月里,假期和应得的休假将是正常的。给那些旅行或打算为自己和家人花费一些时间,享受和安全的人!

直到下次…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1469450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

平衡,才是世界生生不息的真谛

凤凰涅槃,浴火重生。这句话是很有哲理的,可以运用到命运中。而对于命运,以中为最好,即是平衡。然而,每一个人,都是要经历命运的锤炼,无论怎样锤炼,都要保持一颗善良的心,…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址:【黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…

2024年最新汉化版电脑数据恢复软件EasyRecovery易恢复14

一、功能特点 2024 EasyRecovery易恢复软件,是一款广受欢迎的数据恢复工具。其全面的功能特点让它在数据恢复领域占有一席之地。 EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win最新版本下载:https://wm.makeding.c…

MATLAB环境下基于粒子群优化算法和离散小波变换的心电信号降噪

由于现实环境的复杂性以及信号获取设备的非理想特性等原因,导致人们在获得信号的过程中会引入各种各样的噪声成分,这不但会使得信号质量达不到实际要求,而且会掩盖信号中的重要细节。这也就要求我们在对数字信号进行具体地分析处理之前&#…

第九篇【传奇开心果系列】python文本和语音相互转换库技术点案例示例:SpeechRecognitio库开发会议记录和转录工具经典案例

传奇开心果博文系列 系列博文目录python文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、SpeechRecognition库多种语音识别引擎支持示例代码四、SpeechRecognition库实时语音转录示例代码五、SpeechRecognitio库转录文本中提取关键词…

改进Yolov5目标检测与单目测距 yolo速度测量-pyqt界面-yolo添加注意力机制

当设计一个结合了 YOLOv5 目标检测、单目测距与速度测量以及 PyQt 界面的毕业设计时,需要考虑以下几个方面的具体细节: 计算机视觉、图像处理、毕业辅导、作业帮助、代码获取,私聊会回复! YOLOv5 目标检测: 首先,选择…

【Java程序设计】【C00312】基于Springboot的无人智慧超市管理系统(有论文)

基于Springboot的无人智慧超市管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧无人超市管理系统,本系统有管理员、用户二种角色权限; 管理员:系统首页、个人中心、…

Java EE改名Jakarta EE,jakarta对程序开发的影响

一、前言 很多Java程序员在使用新版本的Spring6或者springboot3版本的时候,发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候,也发展了大量jakarta的工程包。 比如:camunda的webapps编译工程就提供了2种方式javax和jaka…

美国硅谷大带宽服务器|大带宽服务器租赁贵吗?

在数字化时代,服务器成为了支撑各种在线业务和应用程序的重要基石。尤其对于那些需要处理大量数据、保证快速响应和稳定连接的企业或个人来说,大带宽服务器成为了不可或缺的选择。而美国硅谷,作为全球科技创新的摇篮,其服务器租赁…

Mysql--索引分类

Mysql--索引分类 1. 索引分类2. 聚集索引&二级索引 1. 索引分类 在MySQL数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 2. 聚集索引&二级索引 而在在InnoDB存储引擎中,根据索引的存储形式&am…

机器学习基础(五)监督与非监督学习的结合

导语:上一节我们详细探索非监督学习的进阶应用,详情可见: 机器学习基础(四)非监督学习的进阶探索-CSDN博客文章浏览阅读613次,点赞15次,收藏13次。非监督学习像一位探险家,挖掘未标…

通过底层原理理解Java是值传递还是引用传递?

本文学习目标或者巩固的知识点 参数传递方式 值传递引用传递指针传递 彻底理解Java的值传递和引用传递 从底层的角度分析值传递会发生复制行为 Java的参数传递例子 快手的一面面试曾经问到过此类题目,所以记下此篇加深印象。 问:求下面main方法中的输…

用c# 自己封装的Modbus工具类库源码

前言 Modbus通讯协议在工控行业的应用是很多的,并且也是上位机开发的基本技能之一。相关的类库也很多也很好用。以前只负责用,对其并没有深入学习和了解。前段时间有点空就在这块挖了挖。想做到知其然还要知其所以然。所以就有了自己封装的Modbus工具类库…

【鸿蒙开发】第十四章 Stage模型应用组件-任务Mission

1 任务(Mission)管理场景 任务(Mission)管理相关的基本概念如下: AbilityRecord:系统服务侧管理一个UIAbility实例的最小单元,对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。 Mi…

C# winfroms使用socket客户端服务端代码详解

文章目录 1️⃣ 通信相关说明1.1服务端与客户端1.2 信息发送原理1.3 信息接收原理 2️⃣ socket代码2.1 客户端代码2.2 服务端代码 3️⃣ 定时任务处理报文3.1 Timers定时任务 优质资源分享 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_4315141…

共基课程学习

序言 教育教师 政治基础知识 马克思主义哲学 西方哲学史 三个阶段 西方哲学的起源 圈1 圈2 圈3 第一个哲学高峰 希腊三贤 圈4 圈5 是故格拉底的学生 圈6 是柏拉图的学生 圈7、圈8 这是一个政教合一的社会 圈7 圈8 圈9 圈10 圈11 圈12 文艺复兴、启蒙运动共…

BlackberryQ10 是可以安装 Android 4.3 应用的,Web UserAgent 版本信息

BlackberryQ10 是可以安装 Android 4.3 应用的 最近淘了个 Q10 手机,非常稀罕它,拿着手感一流。这么好的东西,就想给它装点东西,但目前所有的应用都已经抛弃这个安卓版本了。 一、开发环境介绍 BlackBerry Q10 的 安卓版本是 4.…

计算机体系架构初步入门

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 目录 1 计算机五大…

Spring 中 ApplicationContext 和 BeanFactory 的区别有哪些

先看一张类图: 区别: 1:包目录不同: spring-beans.jar 中 org.springframework.beans.factory.BeanFactory spring-context.jar 中 org.springframework.context.ApplicationContext 2:国际化: BeanFacto…

c++之ini配置文件的详细解析

文章目录 ini文件概要代码实例分析小结 ini文件概要 ini文件是一种系统配置文件,它有特定的格式组成。通常做法,我们读取ini文件并按照ini格式进行解析即可。在c语言中,提供了模板类的功能,所以我们可以提供一个更通用的模板类来解…