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
华为
后端思想篇:设计好接口的36个锦囊!
前言大家好,我是捡田螺的小男孩。作为后端开发,不管是什么语言,Java、Go还是C++,其背后的后端思想都是类似的。后面打算出一个后端思想的技术专栏,主要包括后端的一些设计、或者后端规范相关的,希望对大家日常工作有帮助哈。我们做后端开发工程师,主要工作就是:如何把一个接口设计好。所以,今天就给大家介绍,设计好接口的36个锦囊。本文就是后端思想专栏的第一篇哈。1.接口参数校验入参出参校验是每个程序员必备的基本...
chujichenxuyuan
0回复
2.3w浏览
接口
oppo后端16连问(二)
4.你们的接口幂等是如何保证的?如果你调用下游接口超时了,是不是考虑重试?如果重试,下游接口就需要支持幂等啦。实现幂等一般有这8种方案:•select+insert+主键唯一索引冲突•直接insert+主键唯一索引冲突•状态机幂等•抽取防重表•token令牌•悲观锁(如selectforupdate,很少用)•乐观锁•分布式锁大家平时是用哪个方案解决幂等的,最后结合工作实际讲讲哈。可以看下我之前这篇文章:聊聊...
chujichenxuyuan
0回复
7023浏览
oppo
多线程批量拆分 List 导入数据库!
一、前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内。下面就展示一下过程。二、直接把list怼进Mysql使用mybatis的批量导入操作:Transactional(rollbackForException.class)publicintaddFreshStudentsNew2(List<FreshStudentAndStudent...
chujichenxuyuan
0回复
6718浏览
List
实战篇:一个核心系统 3 万多行代码的重构之旅
经典著作《重构》这本书中有这么一段话:一开始,我所做的重构都停留在细枝末节上。随着代码趋向简洁,我发现自己可以看到一些设计层面的东西了,这些是我以前理解不到的,如果没有重构,我达不到这种高度。重构,着实是一件让程序员兴奋的事情。今年年初,我们团队完成了一个复杂项目的重构工作,它属于广告系统最核心的引擎部分,大概有300多个文件,3万多行代码。从技术方案设计到最终全量上线仅仅花了1个月左右的时间,而且...
samri
0回复
6785浏览
核心系统
oppo后端16连问(五)
12.如何快速判断一个数是奇数还是偶数,除开对2取余呢。判断一个数是奇数还是偶数,我们最容易想到的就是对2取余。if(x%2)奇数else偶数还有一种方法,就是与1相与(&1),具体实现如下:if(x&1)奇数else偶数13.Spring声明式事务原理?哪些场景事务会失效?13.1声明式事务原理spring声明式事务,即Transactional,它可以帮助我们把事务开启、提交或者回滚的操作,通过Aop的方式进行管理。在spring的bean的初始化过程中,就需要对...
chujichenxuyuan
0回复
6396浏览
oppo
后端必备:如何排查问题以及jvm调优思路(一)
大家好,我是田螺。今天跟大家就CPU、磁盘、网络及内存方面的问题,聊聊如何排查和调优。•CPU过高,怎么排查问题•linux内存•磁盘IO•网络IO•java应用内存泄漏和频繁GC•java线程问题排查•常用jvm启动参数调优linuxCPU过高,怎么排查问题CPU指标解析•平均负载◆平均负载等于逻辑CPU个数,表示每个CPU都恰好被充分利用。如果平均负载大于逻辑CPU个数,则负载比较重•进程上下文切换◆...
chujichenxuyuan
0回复
6311浏览
内存问题
那些追源码的平凡之路
在斯坦福大学,乔布斯做了一场我认为他最精彩的演讲。他讲的第一个故事是connectingthedots,这也是贯穿他一生非常重要的思想。“你不可能充满预见地将生命的点滴串联起来;只有在你回头看的时候,你才发现这些点点滴滴之间的联系。所以,你要坚信,你现在所经历的将在你未来的生命中串联起来…正是这种信仰让我不会失去希望,它让我的人生变得与众不同。”我不禁在想:我的编码以及架构生涯中,那些点是什么,又终将会连成怎样...
samri
0回复
6150浏览
源码
oppo后端16连问(三)
8.数据库隔离级别是否了解?你们的数据库默认隔离级别是?为什么选它?四大数据库隔离级别,分别是读未提交,读已提交,可重复读,串行化(Serializable)。•读未提交:事务即使未提交,却可以被别的事务读取到的,这级别的事务隔离有脏读、重复读、幻读的问题。•读已提交:当前事务只能读取到其他事务提交的数据,这种事务的隔离级别解决了脏读问题,但还是会存在不可重复读、幻读问题;•可重复读:限制了读取...
chujichenxuyuan
0回复
5786浏览
oppo
我给Apache顶级项目提了个Bug(二)
03问题分析上一章节基本把这个Bug相关的原理知识介绍清楚了,下面正式进入问题的分析过程。最开始拿到这个问题,我也是比较头秃的,尤其看到读者下面这段信息。当然,我的功力是达不到盲猜水平的,说下我的完整思路。第1步复现问题我让读者给我打包发了Demo的源代码、数据库脚本以及ShardingProxy配置,然后本地安装了ShardingProxy4.1.1版本,再通过Navicat连接到ShardingProxy执行数据库脚本,环境基本就准备完毕了。启动Demo...
samri
0回复
5588浏览
Apache
一个架构师的缓存修炼之路
本文作者:张勇,现任科大讯飞高级架构师。11年后端经验,曾就职于同程艺龙、神州优车等公司。乐于分享、热衷通过自己的实践经验平铺对技术的理解。一位七牛的资深架构师曾经说过这样一句话:“Nginx+业务逻辑层+数据库+缓存层+消息队列,这种模型几乎能适配绝大部分的业务场景。这么多年过去了,这句话或深或浅地影响了我的技术选择,以至于后来我花了很多时间去重点学习缓存相关的技术。我在10年前开始使用缓存,从本地缓存、...
samri
0回复
5570浏览
架构师
oppo后端16连问(一)
前言大家好,我是程序员田螺。最近有位读者去面试了oppo,给大家整理了面试真题的答案。希望对大家有帮助哈,一起学习,一起进步。1.聊聊你印象最深刻的项目,或者做了什么优化。2.你项目提到分布式锁,你们是怎么使用分布式锁的3.常见分布式事务解决方案4.你们的接口幂等是如何保证的?5.你们的MySQL架构是怎样的?6.常见的索引结构有?哈希表结构属于哪种场景?7.给你ab,ac,abc字段,你是如何加索引的?8.数据库隔离级别是否...
chujichenxuyuan
0回复
5542浏览
oppo
我给Apache顶级项目提了个Bug(一)
这篇文章记录了给Apache顶级项目分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提交issue,中途因为官方开发者的主观臆断被Close了两次,直到11月20日才被认定成Bug并发出修复版本,历时20多天。本文将还原该Bug的分析过程,将有价值的经验和技术点进行提炼。通过本文,你将收获到:1、疑难问题的排查思路2、数据库中间件ShardingProxy的原理3、MySQL预编译的流...
samri
0回复
5501浏览
Apache
oppo后端16连问(四)
10.你们项目使用了RocketMQ对吧?那你知道如何保证消息不丢失吗?一个消息从生产者产生,到被消费者消费,主要经过这3个过程:1.生产者产生消息2.消息发送到存储端,保存下来3.消息推送到消费者,消费者消费完,ack应答。因此如何保证MQ不丢失消息,可以从这三个阶段阐述:•生产者保证不丢消息•存储端不丢消息•消费者不丢消息10.1生产者保证不丢消息生产端如何保证不丢消息呢?确保生产的消息能顺利到达存储端。...
chujichenxuyuan
0回复
5230浏览
oppo
编程高手是如何练成的?
每个人都有成长的渴望,也都会遇到成长的瓶颈。下面这个问题是一个读者问我的:如何才能训练成为一个编程高手?先简单说下这个读者的背景:工作3年多,目前在大厂做后台开发,身边有不少编程高手,是他想要追赶的目标。最近半年时间,他花了一些精力在研究源码和底层原理上,但总觉得这些知识和实际工作衔接不好,提升很慢,学习动力也越来越差,希望我能给点建议。我和他语音聊了半个小时,讲了一些我个人以及身边同事的案例。...
samri
0回复
4955浏览
编程
基于ansible在远程centos服务器docker环境安装docker-nginx
原创
本文档主要介绍如何使用ansible在远程centos服务器docker环境快速安装nginx,目标服务器为一台阿里云ECS,安装操作系统为阿里云提供的公共镜像Centos7.964。且已经预装docker环境。准备硬件一台阿里云ECS:1c2g40g预装docker环境参考[基于ansible在centos服务器安装docker](https:ost.51cto.composts12493)一台可以连接阿里云的linux服务器,预装ansible和git,其中ansible版本为2.9.27基础环境服务器类型OS公网IP内网IP备注目...
cuiyingfeng
0回复
7337浏览
ansible
docker
nginx
李东山:如何让 OpenHarmony 支持低功耗蓝牙芯片 GR551x
原创
编者按:在OpenHarmony生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献、分享经验,文中内容来自嘉宾访谈,不代表OpenHarmony工作委员会观点。李东山深圳市汇顶科技股份有限公司系统软件工程师大家好,我是李东山,来自深圳市汇顶科技股份有限公司,目前是BLE产品开发部的一名研发工程师,从2021年9月我开始承担BLESoCGR551x接入OpenAtomOpenHarmony(简称“OpenHarmony”)生态的适配任务,截止今年1月代码已...
OpenHarmony开发者
0回复
7908浏览
OpenHarmony
开发者故事
代码贡献者
面试必备:聊聊分布式锁的多种实现!(一)
前言大家好,我是捡田螺的小男孩。今天跟大家探讨一下分布式锁的设计与实现。希望对大家有帮助,如果有不正确的地方,欢迎指出,一起学习,一起进步哈•分布式锁概述•数据库分布式锁•Redis分布式锁•Zookeeper分布式锁•三种分布式锁对比1.分布式锁概述我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防⽌库存超卖,都需要用到分布式锁。分布式锁其实就是,控制分布式系...
chujichenxuyuan
0回复
7439浏览
分布式锁
后端必备:如何排查问题以及jvm调优思路(二)
linux网络IO问题当一个网络帧到达网卡后,网卡会通过DMA方式,把这个网络包放到收包队列中;然后通过硬中断,告诉中断处理程序已经收到了网络包。接着,网卡中断处理程序会为网络帧分配内核数据结构(skbuff),并将其拷贝到skbuff缓冲区中;然后再通过软中断,通知内核收到了新的网络帧。内核协议栈从缓冲区中取出网络帧,并通过网络协议栈,从下到上逐层处理这个网络帧•硬中断:与系统相连的外设(比如网卡、硬盘)自动产...
chujichenxuyuan
0回复
7122浏览
linux
手把手带你快速安装openGauss
openGauss在开源后受到业界的广泛关注,与此同时,可能还有不少朋友不太清楚如何安装部署openGauss,本文主要向大家介绍如何快速安装openGauss。一、准备安装环境二、创建配置文件安装openGauss前需要创建XML文件。用户需根据不同场景配置对应的XML文件。mkdirpoptsetupcdoptsetupviclusterconfig.xml以下为配置文件示例,加粗字体内容请替换。<xmlversion"1.0"encoding"UTF8"><ROOT><!openGauss整体信息><CLUSTER><PARAMname"c...
nettips
1回复
1.3w浏览
openGauss
直播预告丨OpenHarmony标准系统多媒体子系统之音频解读
今晚19点,OpenHarmony开源开发者成长计划知识赋能第五期“掌握OpenHarmony多媒体的框架原理”的第四节直播课,即将开播!深开鸿资深技术专家苑春鸽老师,将在OpenHarmony官方社群直播间带来干货分享《OpenHarmony标准系统多媒体子系统之音频解读》,他将详细介绍OpenHarmony音频框架,和大家一起熟悉音频开发接口。长按下方海报扫码,即可预约直播哦
OpenHarmony开发者
2回复
6006浏览
OpenHarmony
标准系统
直播
音频
暂无内容
1
424
425
426
427
428
429
430
431
432
485
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅