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 NEXT
梅科尔工作室
面部识别
递归最佳解析
摘要:递归是一种应用非常广泛的算法(或者编程技巧)。之后我们要讲的很多数据结构和算法的编码实现都要用到递归,比如DFS深度优先搜索、前中后序二叉树遍历等等。所以,搞懂递归非常重要,否则,后面复杂一些的数据结构和算法学起来就会比较吃力推荐用户注册领取佣金很多人都遇到过,很多App在推广的时候都是这个套路。「萧何」引荐「韩信」加入刘邦阵营,「韩信」又引荐了那些年上铺的兄弟「韩大胆」加入。我们就可以认为「...
大家好我是佩奇
0回复
3721浏览
分布式数据库
微服务
9.队列-生产消费模式
队列:生产消费模式及线程池的运用向固定大小的线程池投放请求任务时,若果线程池中没有空闲资源了,这时候还有新的请求进来,线程池如何处理这个请求?拒绝请求还是排队?使用怎样的处理机制一般两种策略:●直接拒绝任务请求;●将请求排队,等有空闲线程的时候取出排队的请求继续处理。那如何存储排队的请求呢?这就是今天要讲的话题。其底层的数据结构就是今天我们要讲的内容,「队列」Queue。完整代码详见GitHub:https:gi...
大家好我是佩奇
0回复
3753浏览
开发语言
分布式数据库
容器
这个开源组织里的项目都是精品
前言在开源中国里,不知道大家有没有留意到一个Java开源组织——Dromara?这个组织是由ApacheShenYu(前身是Soul网关)的作者创立,多位Java开源作者参与的一个Java开源组织。在开源中国社区,很多Java开源作者都是各自为战,独立运营项目。Domara组织的诞生就是为了联合Java开源的力量,共建社区,资源共享,共同推行中国Java开源事业的发展。目前Dromara社区拥有9个GVP项目,和一些Star数量很高的项目。这些开源项目社区都很...
gnt_xxy
0回复
4384浏览
开源
组件
抓到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回复
4676浏览
Netty
抓到Netty一个Bug,聊一下Netty是如何高效接收网络连接的(四)
4.啊哈!!Bug!!image.pngnetty不论是在本文中处理接收客户端连接的场景还是在处理接收客户端连接上的网络数据场景都会在一个do{....}while(...)循环readloop中不断的处理。同时也都会利用在上一小节中介绍的RecvByteBufAllocator.Handle来记录每次readloop接收到的连接个数和从连接上读取到的网络数据大小。从而在readloop的末尾都会通过allocHandle.continueReading()方法判断是否应该退出readloop循环结束连接的接收流程或者...
r660926
0回复
4555浏览
netty
重磅硬核 | 一文聊透对象在JVM中的内存布局(六)
8.数组对象的内存布局前边大量的篇幅我们都是在讨论Java普通对象在内存中的布局情况,最后这一小节我们再来说下Java中的数组对象在内存中是如何布局的。8.1基本类型数组的内存布局基本类型数组内存布局.png上图表示的是基本类型数组在内存中的布局,基本类型数组在JVM中用typeArrayOop结构体表示,基本类型数组类型元信息用TypeArrayKlass结构体表示。数组的内存布局大体上和普通对象的内存布局差不多,唯一不同的是在数组类型...
r660926
0回复
4296浏览
JVM
抓到Netty一个Bug,聊一下Netty是如何高效接收网络连接的(三)
3.RecvByteBufAllocator简介Reactor在处理对应Channel上的IO数据时,都会采用一个ByteBuffer来接收Channel上的IO数据。而本小节要介绍的RecvByteBufAllocator正是用来分配ByteBuffer的一个分配器。还记得这个RecvByteBufAllocator在哪里被创建的吗??在《聊聊Netty那些事儿之Reactor在Netty中的实现(创建篇)》一文中,在介绍NioServerSocketChannel的创建过程中提到,对应Channel的配置类NioServerSocketChannelConfig也会随着...
r660926
0回复
4186浏览
Netty
7.双向链表的优雅实现
❝链表是基本的数据结构,尤其双向链表在应用中最为常见,LinkedList就实现了双向链表。今天我们一起手写一个双向链表。❞文中涉及的代码可访问GitHub:https:github.comUniqueDongalgorithms.git上次我们说了「单向链表」的代码实现,今天带大家一起玩下双向链表,双向链表的节点比单项多了一个指针引用「prev」。双向链表就像渣男,跟「前女友」和「现女友」,还有一个「备胎』都保持联系。前女友就像是前驱节点,现女友就是「...
大家好我是佩奇
0回复
5695浏览
开发语言
微服务
8.栈实现浏览器的前进后退
栈实现浏览器的前进后退当你一次访问1、2、3页面之后,点击浏览器的后退按钮就可以返回到2和1.当后退到1,点击前进按钮还可以继续查看页面2、3。但是当你退到2页面,点击了新的页面4,那就无法继续通过前进、后退查看页面3了。「我们如何实现这个功能呢?」什么是栈「栈」我们都知道Java虚拟机JVM就有『本地方法栈』『虚拟机栈』的划分,每个方法执行的时候都会创建一个栈帧用于存放局部变量表、操作数栈、动态链接、方法出口信...
大家好我是佩奇
0回复
4563浏览
分布式数据库
微服务
欲善事先利器——IDEA 插件篇
工欲善其事,必先利其器,好鞋踢好球是非常合乎逻辑的事情。——《长江七号》同样的开场白,不一样的酒,不一样的故事。上篇《欲善事先利器——系统篇》已经推荐了一些个人常用的效率系统软件。觉得有帮助的,有共鸣的Rock一下。我们继续新篇——IDEA插件篇。用Eclipse的请原谅,本人已经好几年没用过Eclipse了,给不了你好的建议。以下插件插件直接在IDEA插件管理里面搜索安装:IDEACtrl+A输入"plugins"选择plugins选择marketp...
大家好我是佩奇
0回复
4267浏览
开发语言
微服务
4.线性表之数组数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组是用来存储固定大小的同类型元素。你一定会说数组这么简单,有啥说的。嘿嘿嘿,里面包含的玄机可不一定每个人都知道。今天的疑惑来了…..数组几乎都是从0开始编号的,有没有想过「为啥数组从0开始编号,而不是从1开始呢?」使用1不是更符合人类的思维么?数组简介「数组是一种线性表数据结构,用一组连续的...
大家好我是佩奇
0回复
4112浏览
框架语言
微服务
设计模式之-降龙十八掌
温馨提示:本文代码较多且综合了好几种设计模式使用,建议收藏或者慢慢观看。代码区域可以左右滑动本文将综合抽象工厂、组合模式、装饰器模式、适配器模式、观察者模式等模式运用在本例子中。对于不熟悉这些模式的读者可以阅读历史文章学习加强自己的代码心法。完整代码在github:https:github.comUniqueDongzerodesignpatterns对应的com.zero.headfirst.verb包目录下。适配器模式首先我们从制造一个屏幕模拟器开始,模拟鸭子叫...
大家好我是佩奇
0回复
3948浏览
开发语言
框架语言
微服务
6.单向链表实现的正确方式
文中涉及的代码可访问GitHub:https:github.comUniqueDongalgorithms.git上一篇《链表导论心法》讲解了链表的理论知识以及链表操作的实现原理。「talkischeap,showmethecode!」今天让一起把代码撸一遍,在写代码之前一定要根据上一篇的原理多画图才能写得好代码。举例画图,辅助思考。比如插入节点,在已知节点b的前面插入x废话少说,撸起袖子干。接口定义首先我们定义链表的基本接口,为了显示出B格,我们模仿我们Java中的List接...
大家好我是佩奇
0回复
3764浏览
微服务
容器
小熊派学习笔记5
原创
AP热点APIEnableHotspot:启用AP热点模式DisableHotspot:禁用AP热点模式SetHotspotConfig:设置指定的热点配置GetHotspotConfig:获取指定的热点配置IsHotspotActive:检查AP热点模式是否启用GetStationList:获取连接到该热点的一系列STAGetSignalLevel:获取接收信号强度和频率配置一个WiFi热点的步骤:1.注册WiFi事件的回调函数2.设置指定的热点配置SetHotspotConfig(结构体(ssid,加密方式,频段,通道,密钥))3.启动W...
cuican233
0回复
4602浏览
小熊派
发生死锁怎么办
锁的定义:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。竞争的资源可以是:锁、网络连接、磁盘共享变量等一切可以称作是【资源】的东西。我们使用锁来保证线程安全,但是使用不当与滥用可能就会引起死锁。并发程序一旦死锁,一般没有特别好的办法,很多时候只能重启。所以我们一定要比避免死锁。简单例子举个不恰当的例子:现在岳不...
大家好我是佩奇
0回复
5461浏览
开发语言
容器
设计模式-外观模式
外观模式(FacadePattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,通过这个接口使得这一个子系统更加容易使用。又称为门面模式,属于对象结构性模式。角色外观模式主要包含如下角色:●Facade(外观角色):统一的高层接口,通过该角色将客户端的请求委托到不同的子系统。●SubSystem(子系统角色):相当于零件,多个零件组合完成一...
大家好我是佩奇
0回复
5149浏览
框架语言
容器
微服务
管程(Moniter): 并发编程的基本心法
在吃透Syncchronized原理中介绍了关于Synchronize的实现原理,无论是同步方法还是同步代码块,无论是ACCSYNCHRONIZED还是monitorenter、monitorexit都是基于Monitor实现的,那么这篇来介绍下什么是Monitor。所谓管程:指的是管理共享变量以及对共享变量的操作过程,让它们支持并发。翻译为Java就是管理类的成员变量和成员方法,让这个类是线程安全的。是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥...
大家好我是佩奇
0回复
5014浏览
开发语言
框架语言
设计模式-委托模式
模式定义温馨提示:内容较多建议收藏阅读,大约需要5分钟。代码可在GitHub中阅读:欢迎star。https:github.comUniqueDongzerodesignpatterns在常用的23种设计模式中其实面没有委派模式(delegate)的影子,但是在Spring中委派模式确实用的比较多的一种模式,SpringMVC框架中的DispatcherServlet其实就用到了委派模式其实我个人的理解就是一个特殊的静态代理模式,只不过加入了策略模式,我们看下面的图。策略模式的环境上下文角...
大家好我是佩奇
0回复
4906浏览
框架语言
微服务
酷炫的 Stream API 最佳指南
Java8带来一大新特性Lambda表达式流(Stream),当流与Lambda表达式结合使用,代码将变得相当骚气与简洁。超级大招,释放代码假如有一个需求,需要对数据库查询的发票信息进行处理:取出金额小于10000的发票。对筛选出来的数据排序。获取排序后的发票销方名称。发票ModelBuilderDatapublicclassInvoiceimplementsSerializable{销方名称privateStringsaleName;是否作废privateBooleancancelFlag;开票金额privateBigDecimalamount...
大家好我是佩奇
0回复
4820浏览
框架语言
微服务
设计模式-责任链模式
定义责任链模式(ChainofResponsibilityPattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。用通俗的话就是推卸责任某件事,我们去解决,找到A,结果A踢皮球,说这不关我的事,去找B解决,然后我们就去找B,结果B也说,这跟我没关系,快去找C,就这样,我们就被踢来踢去,这就是责任链模式的思...
大家好我是佩奇
0回复
4730浏览
微服务
容器
暂无内容
1
10
11
12
13
14
15
16
17
18
67
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅