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
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
harmony
纯血
harmonyos
听说你对explain 很懂?(一)
explain所有人都应该很熟悉,通过它我们可以知道SQL是如何执行的,虽然不是100%管用,但是至少大多数场景通过explain的输出结果我们能直观的看到执行计划的相关信息。早一些的版本explain还只能查看select语句,现在已经能支持delete,update,insert,replace了。刚开始我想写这个的时候只是因为这个东西经常性不用就忘记,写了发现其实这个东西真的挺麻烦的,要把每个场景都整出来麻烦的很。id查询编号,如果没有子查询或者联...
wg204wg
0回复
5117浏览
explain
一个单例还能写出花来吗?(一)
单例可以说是最简单的一个设计模式了,单例模式要求只能创建一个对象实例。通常的写法是声明私有的构造函数,提供静态方法获取单例的对象实例。常见的单例写法就是饿汉式、懒汉式、双重加锁验证、静态内部类和枚举的方式,写法可能大家都知道,不过针对不同的写法还是有可以继续深挖一下的地方,让我们从最简单的几种写法开始回顾单例,不想看前面的话直接往后翻好了。回顾几种实现方式饿汉式饿汉式的写法通常静态成员变量已经...
wg204wg
0回复
6866浏览
Java
一个单例还能写出花来吗?(二)
为了看到更详细的内容,我们执行javapcSingleton。通过最终生成的字节码,我们其实发现本质上枚举的初始化通过static代码块来进行初始化。考虑下类加载的几个步骤,加载>验证>准备>解析>初始化,最终初始化就是执行static代码块,而static代码块是绝对线程安全的,只能由JVM来调度,这样保证了线程安全。枚举的实现方式好处还不止于此,除了一目了然的实现简单之外,还能防止其他几种实现方式避免不了的几个问题。再说几种方式...
wg204wg
0回复
6025浏览
Java
男人要慢,SQL要快:记一次慢SQL优化
问题这是一个线上问题,从日志平台查询到的SQL执行情况,该SQL执行的时间为11.146s,可以认定为是一个慢查询,美化后的SQL如下:先找到这个表的定义以及索引情况如下:可见,主要有两个联合索引:status,toaccountid和status,fromaccountid问题分析我们先用explain查看执行计划:先看看explain的含义吧。id:没什么就是ID而已,如果没有子查询的话,通常就一行。selecttype:大致分为简单查询和复杂查询两类,复杂查询又分为简...
wg204wg
0回复
7048浏览
MySQL
听说你对explain 很懂?(三)
eqref通常通过主键索引或者唯一索引查询时会看到eqref,它最多只返回一条数据。userid是唯一索引,为了测试就关联以下主键索引。ref也是通过索引查找,但是和eqref不同,ref可能匹配到多条符合条件的数据,比如最左前缀匹配或者不是主键和唯一索引。最简单的办法,随便查一个普通索引就可以看到。fulltext使用FULLTEXT索引refornull和ref类似,但是还要进行一次查询找到NULL的数据。这相当于是对于ISNULL查询的优化,如果表数据...
wg204wg
0回复
6154浏览
explain
为什么数据库字段要使用NOT NULL?(一)
最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOTNULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOTNULL并且给默认值的形式。通常,对于默认值一般这样设置:整形,我们一般使用0作为默认值。字符串,默认空字符串时间,可以默认1970010108:00:01,或者默认0000000000:00:00,但是连接参数要添加zeroDateTimeBehaviorconvertToNul...
wg204wg
0回复
6301浏览
Mysql
Arm多个开源项目从GitHub迁移到GitLab
根据GitLab官网消息,ArmOpenSource已决定将公司的多个开源项目从GitHub迁移到GitLab。GitLab概述了ArmOpenSource选择其平台的重要原因:最大化选择和成本效益,最小化供应商锁定。Arm所创建的软件扮演着赋能件(enablementpieces)的角色,能够在其架构上集成其他软件。目前超过95%的移动设备都采用Arm处理器,而这些开源项目覆盖从传感器到云计算的诸多领域。Arm公司的杰出工程师和软件社区高级主管AndrewWafaa解释说:“就其...
开源news
0回复
8575浏览
开源
github
开源项目
我摊牌了,大厂面试Linux就这5个问题(二)
4.那如果CPU使用率达到100%呢?怎么排查?1.通过top找到占用率高的进程。2.通过topHppid找到占用CPU高的线程ID。这里找到958的线程ID3.再把线程ID转化为16进制,printf"0x%x\n"958,得到线程ID0x3be4.通过命令jstack163grep'0x3be'C5color或者jstack163vim+0x3be找到有问题的代码5.说说常见的Linux命令吧?常用的文件、目录命令ls:用户查看目录下的文件,lsa可以用来查看隐藏文件,lsl可以用于查看文件的详细信息,包括权限、...
wg204wg
0回复
6275浏览
Linux
我摊牌了,大厂面试Linux就这5个问题(一)
说真的,这就是《我想进大厂》系列第八篇,但是Linux的问题确实很少,就这样,强行编几个没有营养的问题也没啥意义。1.CPU负载和CPU利用率的区别是什么?首先,我们可以通过uptime,w或者top命令看到CPU的平均负载。LoadAverage:负载的3个数字,比如上图的4.86,5.28,5.00,分别代表系统在过去的1分钟,5分钟,15分钟内的系统平均负载。他代表的是当前系统正在运行的和处于等待运行的进程数之和。也指的是处于可运行状态和不...
wg204wg
0回复
6619浏览
Linux
修正版 | 面对千万级、亿级流量怎么处理?(二)
消息队列对于MQ的作用大家都应该很了解了,削峰填谷、解耦。依赖消息队列,同步转异步的方式,可以降低微服务之间的耦合。对于一些不需要同步执行的接口,可以通过引入消息队列的方式异步执行以提高接口响应时间。比如在交易完成之后需要扣库存,然后可能需要给会员发放积分,本质上,发积分的动作应该属于履约服务,对实时性的要求也不高,我们只要保证最终一致性也就是能履约成功就行了。对于这种同类性质的请求就可以走MQ异...
wg204wg
0回复
7671浏览
流量
《我想进大厂》之网络篇夺命连环12问(一)
谈一谈你对TCPIP四层模型,OSI七层模型的理解?为了增强通用性和兼容性,计算机网络都被设计成层次机构,每一层都遵守一定的规则。因此有了OSI这样一个抽象的网络通信参考模型,按照这个标准使计算机网络系统可以互相连接。物理层:通过网线、光缆等这种物理方式将电脑连接起来。传递的数据是比特流,0101010100。数据链路层:首先,把比特流封装成数据帧的格式,对0、1进行分组。电脑连接起来之后,数据都经过网卡来传输,而网...
wg204wg
0回复
6436浏览
TCP/IP
不管卷不卷,面试还是得问问你G1原理!
所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(GarbageFirst)回收器的出现颠覆了之前版本CMS、Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G1的论文后,直到2012年JDK7发布更新版本,花了将近10年的时间G1才达到商用的程度,而到JDK9发布之后,G1成为了默认的垃圾回收器,CMS也变相地相当于被淘汰了。G1结构G1抛弃了之前的分代收集的方式,面向整个堆内存进行回收,把内存划分为多个大小相等的独...
wg204wg
0回复
7238浏览
G1
没人告诉过你更复杂的缓存穿透怎么解决
你应该从网上看过太多的文章说缓存穿透怎么解决?无非就是布隆过滤器,缓存空值什么的。但是,更深入的一个问题,缓存空值有没有问题?如果缓存的空值太多怎么办?如果用的redis,那么太多的空值会不会打爆你的redis?如果用的本地缓存,会不会打爆你的内存?继而引发的问题就是还是会打爆你的数据库。从线上问题说起前不久,我们线上环境压测,在QPS压倒2W之后RT达到了几十秒,排查后发现是redis的连接数不够导致大量的连接超...
wg204wg
0回复
6313浏览
redis
阿里二面:什么是mmap?(二)
sendfile相比mmap来说,sendfile同样减少了一次CPU拷贝,而且还减少了2次上下文切换。sendfile是Linux2.1内核版本后引入的一个系统调用函数,通过使用sendfile数据可以直接在内核空间进行传输,因此避免了用户空间和内核空间的拷贝,同时由于使用sendfile替代了read+write从而节省了一次系统调用,也就是2次上下文切换。整个过程发生了2次用户态和内核态的上下文切换和3次拷贝,具体流程如下:用户进程通过sendfile()方法向操作...
wg204wg
0回复
7204浏览
mmap
《我想进大厂》之Zookeeper夺命连环9问(二)
那选举之后又是怎样进行数据同步的?那实际上Zookeeper在选举之后,Follower和Observer(统称为Learner)就会去向Leader注册,然后就会开始数据同步的过程。数据同步包含3个主要值和4种形式。PeerLastZxid:Learner服务器最后处理的ZXIDminCommittedLog:Leader提议缓存队列中最小ZXIDmaxCommittedLog:Leader提议缓存队列中最大ZXID直接差异化同步DIFF同步如果PeerLastZxid在minCommittedLog和maxCommittedLog之间,那么则说明...
wg204wg
0回复
7202浏览
Zookeeper
修正版 | 面对千万级、亿级流量怎么处理?(三)
水平分表首先根据业务场景来决定使用什么字段作为分表字段(shardingkey),比如我们现在日订单1000万,我们大部分的场景来源于C端,我们可以用userid作为shardingkey,数据查询支持到最近3个月的订单,超过3个月的做归档处理,那么3个月的数据量就是9亿,可以分1024张表,每张表的数据大概就在100万左右。比如用户id为100,那我们都经过hash(100),然后对1024取模,就可以落到对应的表上了。分表后的ID唯一性因为我们主键默认都...
wg204wg
0回复
6418浏览
流量
真实字节二面:什么是伪共享?
这个问题来自最近一个朋友字节面试碰到的,最后他也成功拿到了字节offer,这个问题我想可能挺多人不太清楚,所以想拿出来单独说一说。好了,让我们进入正题。什么是伪共享首先大家都知道,随着CPU和内存的发展速度差异的问题,导致CPU的速度远远快于内存,所以一般现在的CPU都加入了高速缓存,就是常说的解决不同硬件之间的性能差异问题。这样的话,很简单的道理,加入了缓存,就必然会导致缓存一致性的问题,由此,又引入了缓...
wg204wg
0回复
6610浏览
伪共享
《我想进大厂》之分布式事务篇(二)
SAGASaga源于1987年普林斯顿大学的Hecto和Kenneth发表的如何处理longlivedtransaction(长活事务)论文。主要思想就是将长事务拆分成多个本地短事务。如果全部执行成功,就正常完成了,反之,则会按照相反的顺序依次调用补偿。SAGA模式有两种恢复策略:向前恢复,这个模式偏向于一定要成功的场景,失败则会进行重试向后恢复,也就是发生异常的子事务依次回滚补偿由于这个模式在国内基本没看见有谁用的,不在赘述。消息队列基于...
wg204wg
0回复
7733浏览
事务
面试官:数据库自增ID用完了会怎么样?
看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段、回血的模式,因为魔兽的血量是int型,不能超过2^32大小。估计暴雪的设计师都没想到几个资料片下来血量都超过int上限了,以至于大家猜想才会有后来的属性压缩。这些都是题外话,只是告诉你数据量大了是有可能达到上限的而已,回到Mysql自增ID上限的问题,可以分为两个方面来说。1.有主键如果设置了主键...
wg204wg
0回复
6222浏览
MySQL
《我想进大厂》之Zookeeper夺命连环9问(一)
谈谈你对Zookeeper的理解?Zookeeper是一个开源的分布式协调服务,由雅虎公司创建,由于最初雅虎公司的内部研究小组的项目大多以动物的名字命名,所以后来就以Zookeeper(动物管理员)来命名了,而就是由Zookeeper来负责这些分布式组件环境的协调工作。他的目标是可以提供高性能、高可用和顺序访问控制的能力,同时也是为了解决分布式环境下数据一致性的问题。集群首先,Zookeeper集群中有几个关键的概念,Leader、Follower和Obse...
wg204wg
0回复
5883浏览
Zookeeper
暂无内容
1
132
133
134
135
136
137
138
139
140
156
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅