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
Tomcat 高并发之道原理拆解与性能调优(下篇)
续:Tomcat高并发之道原理拆解与性能调优(上篇)连接器之IO模型与线程池设计连接器主要功能就是接受TCPIP连接,限制连接数然后读取数据,最后将请求转发到Container容器。所以这里必然涉及到IO编程,今天带大家一起分析Tomcat如何运用IO模型实现高并发的,一起进入IO的世界。IO模型主要有5种:同步阻塞、同步非阻塞、IO多路复用、信号驱动、异步IO。是不是很熟悉但是又傻傻分不清他们有何区别?所谓的IO就是计算机内存与外部设...
大家好我是佩奇
0回复
9830浏览
开发语言
微服务
LSM设计一个数据库引擎
摘要:了解Btree之外的存储引擎。LSM一个流行的高性能写的数据库实现方式。LogStructuredMergeTree,简称LSM。以Mysql、postgresql为代表的传统RDBMS都是基于btree的pageorented存储引擎。现代计算机的最大处理瓶颈在磁盘的读写上,数据存储无法绕开磁盘的读写,纯内存型数据库除外,但由于内存存储的不稳定性,我们一般只将内存型的存储作为缓存系统。为提升数据库系统的写性能,我们发现磁盘的顺序写性能远远大于随机写性能,...
大家好我是佩奇
0回复
5603浏览
开发语言
框架语言
递归最佳解析
摘要:递归是一种应用非常广泛的算法(或者编程技巧)。之后我们要讲的很多数据结构和算法的编码实现都要用到递归,比如DFS深度优先搜索、前中后序二叉树遍历等等。所以,搞懂递归非常重要,否则,后面复杂一些的数据结构和算法学起来就会比较吃力推荐用户注册领取佣金很多人都遇到过,很多App在推广的时候都是这个套路。「萧何」引荐「韩信」加入刘邦阵营,「韩信」又引荐了那些年上铺的兄弟「韩大胆」加入。我们就可以认为「...
大家好我是佩奇
0回复
6339浏览
分布式数据库
微服务
透视HTTPS建造固若金汤的城堡
为什么有HTTPS?因为HTTP不安全!现在的互联网已经不再是“田园时代”,“黑暗森林”已经到来。上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名、密码、银行卡等敏感信息,威胁人身安全和财产安全。上网的时候必须步步为营、处处小心,否则就会被不知道埋伏在哪里的黑客所“猎杀”。HTTPS如何实现安全通信?如何构建出固若金汤的网络城堡?主要涉及的知识点如下:●了解什么是HTTPS●什...
大家好我是佩奇
0回复
4612浏览
框架语言
容器
微服务
这个开源组织里的项目都是精品
前言在开源中国里,不知道大家有没有留意到一个Java开源组织——Dromara?这个组织是由ApacheShenYu(前身是Soul网关)的作者创立,多位Java开源作者参与的一个Java开源组织。在开源中国社区,很多Java开源作者都是各自为战,独立运营项目。Domara组织的诞生就是为了联合Java开源的力量,共建社区,资源共享,共同推行中国Java开源事业的发展。目前Dromara社区拥有9个GVP项目,和一些Star数量很高的项目。这些开源项目社区都很...
gnt_xxy
0回复
7014浏览
开源
组件
抓到Netty一个Bug,聊一下Netty是如何高效接收网络连接的(三)
3.RecvByteBufAllocator简介Reactor在处理对应Channel上的IO数据时,都会采用一个ByteBuffer来接收Channel上的IO数据。而本小节要介绍的RecvByteBufAllocator正是用来分配ByteBuffer的一个分配器。还记得这个RecvByteBufAllocator在哪里被创建的吗??在《聊聊Netty那些事儿之Reactor在Netty中的实现(创建篇)》一文中,在介绍NioServerSocketChannel的创建过程中提到,对应Channel的配置类NioServerSocketChannelConfig也会随着...
r660926
0回复
6499浏览
Netty
抓到Netty一个Bug,聊一下Netty是如何高效接收网络连接的(四)
4.啊哈!!Bug!!image.pngnetty不论是在本文中处理接收客户端连接的场景还是在处理接收客户端连接上的网络数据场景都会在一个do{....}while(...)循环readloop中不断的处理。同时也都会利用在上一小节中介绍的RecvByteBufAllocator.Handle来记录每次readloop接收到的连接个数和从连接上读取到的网络数据大小。从而在readloop的末尾都会通过allocHandle.continueReading()方法判断是否应该退出readloop循环结束连接的接收流程或者...
r660926
0回复
7460浏览
netty
重磅硬核 | 一文聊透对象在JVM中的内存布局(六)
8.数组对象的内存布局前边大量的篇幅我们都是在讨论Java普通对象在内存中的布局情况,最后这一小节我们再来说下Java中的数组对象在内存中是如何布局的。8.1基本类型数组的内存布局基本类型数组内存布局.png上图表示的是基本类型数组在内存中的布局,基本类型数组在JVM中用typeArrayOop结构体表示,基本类型数组类型元信息用TypeArrayKlass结构体表示。数组的内存布局大体上和普通对象的内存布局差不多,唯一不同的是在数组类型...
r660926
0回复
5929浏览
JVM
抓到Netty一个Bug,聊一下Netty是如何高效接收网络连接的(五)
5.doReadMessages接收客户端连接publicclassNioServerSocketChannelextendsAbstractNioMessageChannelimplementsio.netty.channel.socket.ServerSocketChannel{OverrideprotectedintdoReadMessages(List<Object>buf)throwsException{SocketChannelchSocketUtils.accept(javaChannel());try{if(ch!null){buf.add(newNioSocketChannel(this,ch));return1;}}catch(Throwablet){logger.warn("Failedtocreateanewchannelfromanaccept...
r660926
0回复
7481浏览
Netty
时间序列数据库(TSDB)初识与选择
背景这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。“所有一切如泪水般消失在时间之中,时间正在死去“,以前我们利用互联网解决现实的问题。现在我们已经不...
大家好我是佩奇
0回复
8364浏览
微服务
你应该知道一些其他存储——列式存储
导读:在讲《ApacheDruid底层存储设计》时就说过要讲一讲列式存储。现在来了,通过本文你可以了解到行存储模式、列存储模式、它们的优缺点以及列存储模式的优化等知识。今日格言:不要局限于单向思维,多对比了解更多不同维度的东西。从数据存储讲起我们最先接触的数据库系统,大部分都是行存储系统。大学的时候学数据库,老师让我们将数据库想象成一张表格,每条数据记录就是一行数据,每行数据包含若干列。所以我们对大部分数...
大家好我是佩奇
0回复
5193浏览
微服务
2.时间复杂度与空间复杂度
前面我们说了算法的重要性数据结构与算法开篇,今天我们就开始学习如何分析、统计算法的执行效率和资源消耗呢?请看本文一一道来。数据结构和算法本生解决的就是「快」和「省」的问题,那就是如何让代码跑得快,还能节省存储空间。打造一台法拉利,不仅跑得快还省油,拥有好的算法与数据结构,程序跑得快,还省内存并且长时间运行也不会出故障,就像跑车长时间运行车子也不会出现异常「车震」,同时还快。所以赶紧上车,一起学...
大家好我是佩奇
0回复
7287浏览
微服务
开发语言
update语句到 redo log深入理解
前面我们分析过一个查询语句的执行流程,并且解释了执行过程中涉及的模块。一条查询语句一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。这次,我们来深入学习一条更新语句在MySQL中的执行流程。通过此文我们可以充分了解什么是RedoLog表结构创建首先我们先创建一张表,只有主键ID,以及int类型字段c。createtableT(IDintprimarykey,cint);现在我们要更新一条数据,语句如下:updateTsetcc+1whereID2;...
大家好我是佩奇
0回复
7246浏览
框架语言
容器
欲善事先利器——系统篇
工欲善其事,必先利其器,好鞋踢好球是非常合乎逻辑的事情。——《长江七号》我们的目标是提高编程技术能力。或是面向兴趣编程(FOM,favoriteorientedprogramming),或是面向钱途编程(MOM,moneyoritentedprogramming),抑或真的是面向”对象“编程(SOM,spouseorientedprogramming),所有这些,都需要你提高自己的技术能力,才能如火纯青,游刃有余。那么今天,我却不讲如何提高技术能力。我讲什么?讲效率。工欲善其事必先利其器...
大家好我是佩奇
0回复
5314浏览
分布式数据库
微服务
6.单向链表实现的正确方式
文中涉及的代码可访问GitHub:https:github.comUniqueDongalgorithms.git上一篇《链表导论心法》讲解了链表的理论知识以及链表操作的实现原理。「talkischeap,showmethecode!」今天让一起把代码撸一遍,在写代码之前一定要根据上一篇的原理多画图才能写得好代码。举例画图,辅助思考。比如插入节点,在已知节点b的前面插入x废话少说,撸起袖子干。接口定义首先我们定义链表的基本接口,为了显示出B格,我们模仿我们Java中的List接...
大家好我是佩奇
0回复
5980浏览
微服务
容器
Apache Druid 的集群设计与工作流程
导读:本文将描述ApacheDruid的基本集群架构,说明架构中各进程的作用。并从数据写入和数据查询两个角度来说明Druid架构的工作流程。Druid是多进程架构,每种进程类型都可以独立配置,独立扩展。这样可以为集群提供最大的灵活度。这种设计还提供了强失效容忍:一个失效的组件不会立即影响另外的组件。下面我们来深入了解Druid有哪些进程类型,每种进程又在整个集群中扮演什么角色。进程和服务(ProcessandServers)Druid有多种进...
大家好我是佩奇
0回复
6704浏览
开发语言
微服务
Mysql:小主键,大问题
今日格言:让一切回归原点,回归最初的为什么。本篇讲解Mysql的「主键」问题,从「为什么」的角度来了解Mysql主键相关的知识,并拓展到主键的生成方案问题。再也不怕被问到Mysql时只知道CRUD了。一、为什么需要主键1.数据记录需具有「唯一性」(第一范式)2.数据需要关联「join」3.数据库底层索引用于检索数据所需以下废话连篇,可以直接跳过到下一节。“「信息」是用来消除随机不定性的东西”(香农)。人通过获得、识别自然界和...
大家好我是佩奇
0回复
5358浏览
开发语言
框架语言
微服务
4.线性表之数组数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组是用来存储固定大小的同类型元素。你一定会说数组这么简单,有啥说的。嘿嘿嘿,里面包含的玄机可不一定每个人都知道。今天的疑惑来了…..数组几乎都是从0开始编号的,有没有想过「为啥数组从0开始编号,而不是从1开始呢?」使用1不是更符合人类的思维么?数组简介「数组是一种线性表数据结构,用一组连续的...
大家好我是佩奇
0回复
6131浏览
框架语言
微服务
欲善事先利器——IDEA 插件篇
工欲善其事,必先利其器,好鞋踢好球是非常合乎逻辑的事情。——《长江七号》同样的开场白,不一样的酒,不一样的故事。上篇《欲善事先利器——系统篇》已经推荐了一些个人常用的效率系统软件。觉得有帮助的,有共鸣的Rock一下。我们继续新篇——IDEA插件篇。用Eclipse的请原谅,本人已经好几年没用过Eclipse了,给不了你好的建议。以下插件插件直接在IDEA插件管理里面搜索安装:IDEACtrl+A输入"plugins"选择plugins选择marketp...
大家好我是佩奇
0回复
5743浏览
开发语言
微服务
7.双向链表的优雅实现
❝链表是基本的数据结构,尤其双向链表在应用中最为常见,LinkedList就实现了双向链表。今天我们一起手写一个双向链表。❞文中涉及的代码可访问GitHub:https:github.comUniqueDongalgorithms.git上次我们说了「单向链表」的代码实现,今天带大家一起玩下双向链表,双向链表的节点比单项多了一个指针引用「prev」。双向链表就像渣男,跟「前女友」和「现女友」,还有一个「备胎』都保持联系。前女友就像是前驱节点,现女友就是「...
大家好我是佩奇
0回复
7837浏览
开发语言
微服务
暂无内容
1
44
45
46
47
48
49
50
51
52
80
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅