51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
WOT技术大会
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
24年11月软考
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
HarmonyOS NEXT
听说你对explain 很懂?(一)
explain所有人都应该很熟悉,通过它我们可以知道SQL是如何执行的,虽然不是100%管用,但是至少大多数场景通过explain的输出结果我们能直观的看到执行计划的相关信息。早一些的版本explain还只能查看select语句,现在已经能支持delete,update,insert,replace了。刚开始我想写这个的时候只是因为这个东西经常性不用就忘记,写了发现其实这个东西真的挺麻烦的,要把每个场景都整出来麻烦的很。id查询编号,如果没有子查询或者联...
wg204wg
0回复
4125浏览
explain
一个单例还能写出花来吗?(一)
单例可以说是最简单的一个设计模式了,单例模式要求只能创建一个对象实例。通常的写法是声明私有的构造函数,提供静态方法获取单例的对象实例。常见的单例写法就是饿汉式、懒汉式、双重加锁验证、静态内部类和枚举的方式,写法可能大家都知道,不过针对不同的写法还是有可以继续深挖一下的地方,让我们从最简单的几种写法开始回顾单例,不想看前面的话直接往后翻好了。回顾几种实现方式饿汉式饿汉式的写法通常静态成员变量已经...
wg204wg
0回复
5095浏览
Java
一个单例还能写出花来吗?(二)
为了看到更详细的内容,我们执行javapcSingleton。通过最终生成的字节码,我们其实发现本质上枚举的初始化通过static代码块来进行初始化。考虑下类加载的几个步骤,加载>验证>准备>解析>初始化,最终初始化就是执行static代码块,而static代码块是绝对线程安全的,只能由JVM来调度,这样保证了线程安全。枚举的实现方式好处还不止于此,除了一目了然的实现简单之外,还能防止其他几种实现方式避免不了的几个问题。再说几种方式...
wg204wg
0回复
4324浏览
Java
Hi3861智能小车(二) 代码说明
原创
小车第2版的系统环境是基于OpenHarmony3.02LTS这个系统版本。调用\device\hisilicon\hisparkpegasus\sdkliteos\include下的设备接口实现功能。在\device\hisilicon\hisparkpegasus\sdkliteos\app\demo这个目录下有很全很好的例子可以做为参考,我的开发过程也就对案例“抄改”的过程。对接口.H文件的目录浏览一遍,每个函数下都有详细的说明,后面遇到问题主要是通过阅读这些函数说明来找到解决办法。写完的代码主要是分2大部分...
细嗅蔷薇05
0回复
9079浏览
Hi3861小车
openharmony3
男人要慢,SQL要快:记一次慢SQL优化
问题这是一个线上问题,从日志平台查询到的SQL执行情况,该SQL执行的时间为11.146s,可以认定为是一个慢查询,美化后的SQL如下:先找到这个表的定义以及索引情况如下:可见,主要有两个联合索引:status,toaccountid和status,fromaccountid问题分析我们先用explain查看执行计划:先看看explain的含义吧。id:没什么就是ID而已,如果没有子查询的话,通常就一行。selecttype:大致分为简单查询和复杂查询两类,复杂查询又分为简...
wg204wg
0回复
5193浏览
MySQL
为什么数据库字段要使用NOT NULL?(一)
最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOTNULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOTNULL并且给默认值的形式。通常,对于默认值一般这样设置:整形,我们一般使用0作为默认值。字符串,默认空字符串时间,可以默认1970010108:00:01,或者默认0000000000:00:00,但是连接参数要添加zeroDateTimeBehaviorconvertToNul...
wg204wg
0回复
4761浏览
Mysql
听说你对explain 很懂?(三)
eqref通常通过主键索引或者唯一索引查询时会看到eqref,它最多只返回一条数据。userid是唯一索引,为了测试就关联以下主键索引。ref也是通过索引查找,但是和eqref不同,ref可能匹配到多条符合条件的数据,比如最左前缀匹配或者不是主键和唯一索引。最简单的办法,随便查一个普通索引就可以看到。fulltext使用FULLTEXT索引refornull和ref类似,但是还要进行一次查询找到NULL的数据。这相当于是对于ISNULL查询的优化,如果表数据...
wg204wg
0回复
4605浏览
explain
Arm多个开源项目从GitHub迁移到GitLab
根据GitLab官网消息,ArmOpenSource已决定将公司的多个开源项目从GitHub迁移到GitLab。GitLab概述了ArmOpenSource选择其平台的重要原因:最大化选择和成本效益,最小化供应商锁定。Arm所创建的软件扮演着赋能件(enablementpieces)的角色,能够在其架构上集成其他软件。目前超过95%的移动设备都采用Arm处理器,而这些开源项目覆盖从传感器到云计算的诸多领域。Arm公司的杰出工程师和软件社区高级主管AndrewWafaa解释说:“就其...
开源news
0回复
6574浏览
开源
github
开源项目
【直播回顾】战码先锋第四期:轻松入门,成为媒体子系统贡献者
6月7日晚上19点,战"码"先锋第四期直播《轻松入门,成为媒体子系统贡献者》,在OpenHarmony社群内成功举行。本期课程,由华为终端BG软件架构设计部主任工程师Jelly老师主讲,是「OpenHarmony开源贡献者计划」"战码先锋,PR征集令"系列活动配套直播之一。「OpenHarmony开源贡献者计划」活动自发布以来,已收到700+PR,新晋40+Contributors。为了帮助更多新手开发者开启开源之旅,我们联合6大OpenHarmony开源大咖,精选5大简单上...
OpenHarmony开发者
0回复
5472浏览
OpenHarmony
直播有奖
一文详解EventMesh落地华为云的探索及实践
精华
本文整理自51CTO开源基础软件学习季直播公开课《EventMesh如何解决SaaS组合式应用集成标准化问题》,更多精彩内容及公开课视频,可点击链接跳转查看。Gartner2020调查显示:到2024年,30%的电商企业将采用组合式应用创新(PBC)。对于PBC,Gartner是这样定义的:PBC是具有明确业务能力的多个数据模型、微服务、API应用和事件通道的集成。它以业务为驱动,能独立完成业务需求,不需要外部依赖。多个PBC可以以积木方式来建立企业...
罗锦荣AlexLuo
2回复
1.1w浏览
EventMesh
极路由4折腾openWRT+VPN+家庭NAS记
原创
极路由,原本是走在智能路由的最前线,无奈公司倒闭,云插件中心和手机APP已经无法访问,原生OS的功能也受到众多的限制,家里的极路由4因此闲置起来。在设备吃灰一段时间后,还是心痒痒想折腾一下,我的设备我做主!毕竟设备起死回生后,还能有蛮多用处的。比如配置家庭小型NAS,曾经128GB的手机三天两头的清理存储,却因图片视频珍贵舍不得删除而纠结,现在定期备份到NAS,手机随时随地清理不再心疼!目前openWRT系统(R21.12....
yadian
0回复
5.8w浏览
路由
openWRT
VPN
NAS
Zerotier
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
吞吐量在了解qps、tps、rt、并发数之前,首先我们应该明确一个系统的吞吐量到底代表什么含义,一般来说,系统吞吐量指的是系统的抗压、负载能力,代表一个系统每秒钟能承受的最大用户访问量。一个系统的吞吐量通常由qps(tps)、并发数来决定,每个系统对这两个值都有一个相对极限值,只要某一项达到最大值,系统的吞吐量就上不去了。QPSQueriesPerSecond,每秒查询数,即是每秒能够响应的查询次数,注意这里的查询是指用户发出...
wg204wg
0回复
1.7w浏览
QPS
TPS
RT
面试官:缓存一致性问题怎么解决?| 文末送书
关于Redis的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。对于缓存和数据库的操作,主要有以下两种方式。先删缓存,再更新数据库先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。解决方案延时双删延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到...
wg204wg
0回复
1.3w浏览
Redis
修正版 | 面对千万级、亿级流量怎么处理?(二)
消息队列对于MQ的作用大家都应该很了解了,削峰填谷、解耦。依赖消息队列,同步转异步的方式,可以降低微服务之间的耦合。对于一些不需要同步执行的接口,可以通过引入消息队列的方式异步执行以提高接口响应时间。比如在交易完成之后需要扣库存,然后可能需要给会员发放积分,本质上,发积分的动作应该属于履约服务,对实时性的要求也不高,我们只要保证最终一致性也就是能履约成功就行了。对于这种同类性质的请求就可以走MQ异...
wg204wg
0回复
5975浏览
流量
《我想进大厂》之分布式事务篇(二)
SAGASaga源于1987年普林斯顿大学的Hecto和Kenneth发表的如何处理longlivedtransaction(长活事务)论文。主要思想就是将长事务拆分成多个本地短事务。如果全部执行成功,就正常完成了,反之,则会按照相反的顺序依次调用补偿。SAGA模式有两种恢复策略:向前恢复,这个模式偏向于一定要成功的场景,失败则会进行重试向后恢复,也就是发生异常的子事务依次回滚补偿由于这个模式在国内基本没看见有谁用的,不在赘述。消息队列基于...
wg204wg
0回复
5894浏览
事务
阿里二面:什么是mmap?(二)
sendfile相比mmap来说,sendfile同样减少了一次CPU拷贝,而且还减少了2次上下文切换。sendfile是Linux2.1内核版本后引入的一个系统调用函数,通过使用sendfile数据可以直接在内核空间进行传输,因此避免了用户空间和内核空间的拷贝,同时由于使用sendfile替代了read+write从而节省了一次系统调用,也就是2次上下文切换。整个过程发生了2次用户态和内核态的上下文切换和3次拷贝,具体流程如下:用户进程通过sendfile()方法向操作...
wg204wg
0回复
5569浏览
mmap
本周二晚19:00战码先锋直播丨轻松入门,成为媒体子系统贡献者
OpenAtomOpenHarmony(以下简称“OpenHarmony”)工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开源建设、贡献代码或者帮助社区提交和修复Bug,与OpenHarmony社区共同成长。本期「OpenHarmony开源贡献者计划」以“战码先锋,PR征集令”为主题,联合6大OpenHarmony开源大咖,精选5大简单上手的开源代码仓(Docs、ArkUI、媒体子系统、测试子系统、启动恢复),在【战“码”先锋直播间】,在线...
OpenHarmony开发者
0回复
6244浏览
OpenHarmony
战码先锋
直播有奖
《我想进大厂》之Zookeeper夺命连环9问(二)
那选举之后又是怎样进行数据同步的?那实际上Zookeeper在选举之后,Follower和Observer(统称为Learner)就会去向Leader注册,然后就会开始数据同步的过程。数据同步包含3个主要值和4种形式。PeerLastZxid:Learner服务器最后处理的ZXIDminCommittedLog:Leader提议缓存队列中最小ZXIDmaxCommittedLog:Leader提议缓存队列中最大ZXID直接差异化同步DIFF同步如果PeerLastZxid在minCommittedLog和maxCommittedLog之间,那么则说明...
wg204wg
0回复
5544浏览
Zookeeper
不管卷不卷,面试还是得问问你G1原理!
所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(GarbageFirst)回收器的出现颠覆了之前版本CMS、Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G1的论文后,直到2012年JDK7发布更新版本,花了将近10年的时间G1才达到商用的程度,而到JDK9发布之后,G1成为了默认的垃圾回收器,CMS也变相地相当于被淘汰了。G1结构G1抛弃了之前的分代收集的方式,面向整个堆内存进行回收,把内存划分为多个大小相等的独...
wg204wg
0回复
5461浏览
G1
阿里二面:什么是mmap?(一)
平时在面试中你肯定会经常碰见的问题就是:RocketMQ为什么快?Kafka为什么快?什么是mmap?这一类的问题都逃不过的一个点就是零拷贝,虽然还有一些其他的原因,但是今天我们的话题主要就是零拷贝。传统IO在开始谈零拷贝之前,首先要对传统的IO方式有一个概念。基于传统的IO方式,底层实际上通过调用read()和write()来实现。通过read()把数据从硬盘读取到内核缓冲区,再复制到用户缓冲区;然后再通过write()写入到socket缓冲区,...
wg204wg
0回复
5176浏览
mmap
暂无内容
1
398
399
400
401
402
403
404
405
406
485
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅