51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
鸿蒙
HarmonyOS6
设计模式-模板方法模式
模板方法模板方法模式在一个方法中定义了一个算法骨架,并且final修饰防止子类重写。方法中包含一些抽象方法,也就是一些步骤延迟到字类实现。模板方法使得在不改变算法结构的情况下,重新定义算法中的某些步骤。完整代码可以查看GitHub:https:github.comUniqueDongzerodesignstu类图模式实现在实现模板方法模式时,开发抽象类的软件设计师和开发具体子类的软件设计师之间可以进行协作。一个设计师负责给出一个算法的轮廓和框...
大家好我是佩奇
0回复
6706浏览
开发语言
框架语言
Spring Boot Dubbo 构建分布式服务
SpringBootDubbo构建分布式服务概述:节点角色说明调用关系说明服务容器Container负责启动,加载,运行服务提供者。服务提供者Provider启动的时候,向注册中心Registry注册自己提供的服务。服务消费者Consumer在启动的时候,向注册中心Registry订阅自己所需要的服务。注册中心Registry返回服务提供者的地址列表给消费者,如果有变更注册中心将基于长连接推送变更数据给消费者。服务消费者从提供者地址列表中,基于软负载均衡算...
大家好我是佩奇
0回复
6534浏览
开发语言
框架语言
volatile底层原理详解
volatile底层原理详解开设这个公众号是给自己一个锻炼,将自己的知识分享,以后会持续输出,希望给读者朋友们带来帮助。今天我们聊聊volatile底层原理;Java语言规范对于volatile定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能够被准确和一致性地更新,线程应该确保通过排它锁单独获得这个变量。首先我们从定义开始入手,官方定义比较拗口。通俗来说就是一个字段被volatile修饰,Java的内存模型确保所有的线...
大家好我是佩奇
0回复
7197浏览
开发语言
微服务
数据库系统设计概述(下篇)
续:数据库系统设计概述(上篇)四、知行合一知是行的主意,行是知的工夫;知是行之始,行是知之成。——王阳明这一章节将简单讲解一些数据库系统的常见技术点。系统架构MasterSlaveMasterslave架构可以说是最常用的数据存储架构,关系型数据库如:mysql,postgreSql,oracle,Nosql诸如:MongoDb,消息队列如:Kafka,RabbitMQ等都使用了这种架构。masterslave在整个系统中,Master承担写任务,Slave通过复制Master的数据保证...
大家好我是佩奇
0回复
7319浏览
微服务
开发语言
ReentrantReadWriteLock读写锁
概述ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应用中,大部分情况下对共享数据(如缓存)的访问都是读操作远多于写操作,这时ReentrantReadWriteLock能够提供比排他锁更好的并发性和吞吐量。读写锁内部维护...
大家好我是佩奇
0回复
5587浏览
开发语言
分布式数据库
Paxos 算法-浅显易懂的方式解析
Paxos算法是一种提高分布式系统系统容错性的一致性算法。对于一个一致性算法有以下特点:◆在所有被提出的提案中,只有一个会被选定。◆如果没有提案被选出,就不会有选定的提案。◆当一个提案被选定后,所有的节点进程都可以获取到被选定的提案信息。◆一旦“接受者”接受了提议,就不能再接受其他提议内容。算法过程在该一致性算法中有三种参与角色。分别为“提议者(Proposer向“接受者”提出提案)”、“接受者(Acceptor收...
大家好我是佩奇
0回复
6683浏览
微服务
框架语言
#夏日挑战赛#OpenHarmony JS 关系型数据库使用示例
原创
精华
[本文正在参加星光计划3.0–夏日挑战赛](https:ost.51cto.composts13954)作者:杜晨阳概述在应用开发的过程中,数据存储是一项重要功能。那么在鸿蒙系统中,作为数据持久化存储之一的数据库是怎么使用的呢?下面给大家带来的是基于api8版本的数据库使用示例导入模块javascriptimportdataRdbfrom'ohos.data.rdb'关系型数据库的使用1、创建数据库及表格javascriptconstSQLCREATETABLE"CREATETABLEIFNOTEXISTS"+TABLENAME+"(IDINTE...
深开鸿
2回复
1.4w浏览
开鸿HarmonyOS
JS
数据库
OpenHarmony
鸿蒙
智能合约安全——delegatecall (2)
本次,我们来讲一讲运用delegatecall函数时更复杂的合约漏洞案例。目标合约漏洞分析这次的攻击目标依然是获得HackMe合约中的owner权限,我们可以看到两个合约中除了HackMe合约中的构造函数可以修改合约的owner其他地方并没有修改owner的函数,但是却可以修改位置slot0的值,而HackMe合约中插槽slot0表示的便是Lib的地址,那么我们就先修改Lib的地址为我们的地址,再次调用HackMe合约时就会运行我们合约中的逻辑,那么想改哪个位...
fingernft
0回复
6005浏览
区块链技术
区块链
智能合约
合约安全
合约审计
StratoVirt地址空间管理-基于Rust的实现与优化
StratoVirt是开源在openEuler社区的轻量级虚拟化平台,具备轻量低噪、强安全性的行业竞争力。StratoVirt进程运行在用户态,在虚拟机启动之前,StratoVirt会完成启动之前的准备工作,包括虚拟机内存初始化、CPU寄存器初始化、设备初始化等。其中,内存初始化工作和虚拟机的地址空间管理,都是由StratoVirt的地址空间管理模块AddressSpace完成。如下是StratoVirt地址空间管理模块的组成,以及其在StratoVirt中的位置。stratovirt...
top_tony
0回复
7669浏览
容器
StratoVirt 基于 Rust 的 balloon 功能实践
StratoVirt是计算产业中面向云数据中心的企业级虚拟化VMM,实现了一套架构统一支持虚拟机、容器、Serverless三种场景。StratoVirt在轻量低噪、软硬协同、Rust语言级安全等方面具备关键技术竞争优势。背景介绍:通常,在同一台服务器上存在着不同的用户,而多数用户对内存的使用情况是一种间断性的使用。也就是说用户对内存的使用率并不是很高。在服务器这种多用户的场景中,如果很多个用户对于内存的使用率都不高的话,那么会存...
top_tony
0回复
6725浏览
容器
MySQL全面瓦解22:索引的介绍和原理分析
索引的定义MySQL官方对索引的定义为:索引(Index)是协助MySQL高效获取数据的数据结构。本质上,索引的目的是为了提高查询效率,通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。可以类比银行的保险柜,比如你要找归属你的保险柜子。如果没有索引,你需要拿着钥匙,一个个的保险柜的试过去才能找到属于你的保...
top_tony
0回复
5459浏览
分布式数据
StratoVirt vCPU管理Rust线程同步的实现
StratoVirt是开源在openEuler社区的轻量级虚拟化平台,具备轻量低噪、强安全性的行业竞争力。StratoVirt进程运行在用户态,在虚拟机启动之前,StratoVirt会完成启动之前的准备工作,包括虚拟机内存的初始化、CPU寄存器初始化、设备初始化等,启动,CPU寄存器初始化和虚拟机在运行过程中vCPU陷出事件的处理,都是由StratoVirt的vCPU管理模块CPU完成。如下是StratoVirt中vCPU管理模块的组成,以及其在StratoVirt中的位置。stratov...
top_tony
0回复
7465浏览
开发语言
openEuler Kernel 特性解读 | 内核在线修复神器 – livepatch
什么是livepatchLivepatch即内核热补丁,通常在系统不可重启的情况下,用于修复内核以及内核模块的函数bug。简单地说,livepatch将待修复函数的开头几条指令替换为特定的跳转指令,让其跳转至修复函数中,这样该函数每次被调用,都会自动执行替换后的函数,达到修复函数的效果。openEuler上的livepatch与linux主线上的实现略有不同,主要是openEuler上采用的方法是直接修改指令,而linux主线上采用的方法是基于ftrace实现跳转。...
top_tony
0回复
7496浏览
容器
智能合约安全——delegatecall (1)
在之前的内容中,学习到了storage中是使用插槽存储数据的。而delegatecall函数有个有趣的特点:当使用delegatecall函数进行外部调用涉及到storage变量的修改时是根据插槽位置来修改的而不是变量名。举个例子:合约A合约B当合约B调用testDelegatecall()函数时,合约B的地址c的值会变为合约A的地址,而地址a则是不变。因为合约A的函数test()改变的是插槽slot1的值,同样的在合约B中运行时,改变的也是插槽slot1的值,即地址c的值...
fingernft
0回复
5550浏览
区块链
区块链技术
智能合约
合约安全
技术分析
#夏日挑战赛# Spring Cloud Config 极速搭建
[本文正在参加星光计划3.0–夏日挑战赛](https:ost.51cto.composts13641)0.阅读完本文你将会学到如何基于Git搭建一个SpringCloudConfig服务器1.概述SpringCloudConfig是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,Server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client通过接口获取数据、并依据此数据初始化自己的应用。这种配置管理方案在Git版本控制的加持下可以在应用运行时进...
海绵宝宝233
5回复
8127浏览
java
智能合约安全——私有数据访问
这次我们将了解如何访问合约中的私有数据(private数据)。目标合约话不多说,直接上代码这次我们的目标合约是部署在Ropsten上的一个合约。合约地址:0x3505a02BCDFbb225988161a95528bfDb279faD6b链接:https:ropsten.etherscan.ioaddress0x3505a02BCDFbb225988161a95528bfDb279faD6bcode分析由上面的合约代码我们可以看到,Vault合约将用户的用户名和密码这样的敏感数据记录在了合约中,我们知道合约中修饰变量的关键字仅限制...
fingernft
0回复
6978浏览
区块链
区块链技术
智能合约
合约安全
合约审计
#夏日挑战赛# 云原生指南之 Go 如何连接使用 MySQL 数据库
原创
精华
[本文正在参加星光计划3.0–夏日挑战赛](https:ost.51cto.composts13641)1引言MySQL是一个基于结构化查询语言(SQL)的开源关系数据库管理系统。它是一种关系数据库,可将数据组织到一个或多个表中,其中数据相互关联。MySQL是行业领先的开源数据库管理系统。它是一个多用户、多线程的数据库管理系统。数据库驱动程序:数据库驱动程序实现了用于数据库连接的协议。驱动程序就像一个适配器,连接到特定数据库的通用接口。Go有sql...
宇宙之一粟
3回复
8724浏览
云原生
数据库
MySQL
Go
MySQL全面瓦解2:常用命令和系统管理
常用命令打开CMD命令窗口(记住使用管理员身份运行),我们就可以在命令窗口中做一些MySQL的命令操作了:服务启动和关闭这个我们上一个章节使用过了:netstartmysql,这是服务命令,不是语句命令,后面不需要加引号netstopmysql代表停止MySQL服务netstartmysq代表启动MySQL服务MySQL登录命令这个我们前面一章我们也了解过,使用过了:mysqlh主机名P端口u用户名p,前面一章有对h,u,p作过解释,这边P是指Port端口。mysqlhlocalh...
爱新觉羅丶高
0回复
7373浏览
开发语言
分布式数据库
微服务
MySQL 分库分表
1为什么要分库分表物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。为了解决这个问题,行业先驱们充分发扬了分而治之的思想,对大表进行分割,然后实施更好的控制和管理,同时使用多台机器的CPU、内存、存储,提供更好的性能。而分治有两种实现方式:垂直拆分和水平拆分。2垂直拆分(ScaleUp纵向扩展)垂直拆分分为垂直分库和垂直分表,主要按功能模块拆...
爱新觉羅丶高
0回复
6479浏览
开发语言
分布式数据库
MySQL全面瓦解3:数据类型介绍与分析
概述MySQL支持很多数据类型,以便我们能在复杂的业务场景中支持各种各样的数据格式,存储适当的数据内容。我们在设计数据库时,正确的使用数据库类型对整个数据库的整洁和高效,会有很大的帮助。目前常用的数据类型大致上可以分为4大类:整数类型、浮点数类型、字符串(字符)类型、日期时间类型。详细如下数值类型MySQL支持所有标准SQL数值数据类型,包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),还有近似数值数...
爱新觉羅丶高
0回复
9728浏览
开发语言
框架语言
暂无内容
1
49
50
51
52
53
54
55
56
57
82
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅