E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
netty源码解析
Java多线程(四)——ThreadPoolExecutor
源码解析
ThreadPoolExecutor
源码解析
多线程场景下,手动创建线程有许多缺点:频繁创建、销毁线程会消耗大量CPU资源,销毁线程后需要被回收,对GC垃圾回收也有一定的压力使用线程池有许多好处:降低CPU
程序一逸
·
2024-01-07 21:08
java
jvm
开发语言
K8s 之 kube-scheduler 源码学习
主要分为四个模块本地部署简介整体架构
源码解析
1.本地部署windows环境需要先安装一个DockerDesktop下载地址:https://hub.docker.com/search?
积跬步方至千里
·
2024-01-07 20:02
个人笔记
kubernetes
kube-scheduler
golang
【Navigation】teb_local_planner
源码解析
ROS局部路径规划器插件teb_local_planner流程梳理(上)ROS局部路径规划器插件teb_local_planner流程梳理(下)主要文件:test_optim_node.cppteb_planner_ros.cppoptimal_planner.cpp
华璃
·
2024-01-07 19:49
ROS
源码解析
机器人
自动驾驶
人工智能
【Navigation】global_planner
源码解析
全局规划器global_planner功能包文章目录global_planner功能包结构1、plan_node.cpp2、planner_core.cpp3、astar.cpp4、dijkstra.cpp5、quadratic_calculator.cpp6、grid_path.cpp7、gradient_path.cpp8、orientation_filter.cpp全局规划大都基于静态地图进
华璃
·
2024-01-07 19:45
ROS
源码解析
ROS
ros
机器人
算法
netty
-拆包和粘包
为什么会发生TCP粘包、拆包呢?发生TCP粘包、拆包主要是由于下面一些原因:应用程序写入的数据大于套接字缓冲区大小,这将会发生拆包。应用程序写入数据小于套接字缓冲区大小,网卡将应用多次写入的数据发送到网络上,这将会发生粘包。进行MSS(最大报文长度)大小的TCP分段,当TCP报文长度-TCP头部长度>MSS的时候将发生拆包。接收方法不及时读取套接字缓冲区数据,这将发生粘包。……如何处理粘包、拆包问
coderljx
·
2024-01-07 16:54
Dubbo
源码解析
之服务暴露过程
主要有Dubbo的xml标签解析器、装配ServiceBean、服务暴露、订阅与通知、元数据注册等步骤,其中服务暴露又分为本地暴露和远程暴露,远程暴露中主要有将invoker转换为exporter、启动
netty
郭美冉
·
2024-01-07 15:13
被标记为事务的方法互相调用的坑(上)
微服务、Spring,MyBatis,
Netty
源码分析的朋友可以加我的Java高
程序员日常填坑
·
2024-01-07 10:54
FutureTask 核心
源码解析
1引导语研究源码,一般我们都从整体以及实例先入手,再研究细节,不至于一开始就“深陷其中而"当局者迷".本文,我们来看最后一种有返回值的线程创建方式。使用继承方式的好处是方便传参,可以在子类里面添加成员变量,通过set方法设置参数或者通过构造函数进行传递使用Runnable方式,则只能使用主线程里面被声明为final变量不好的地方是Java不支持多继承,如果继承了Thread类,那么子类不能再继承其
JavaEdge
·
2024-01-07 10:41
第五章
Netty
第二节协议设计
协议设计与解析为什么需要协议TCP/IP消息传输是基于二进制流的方式,没有边界。协议的目的就是划定消息的边界,制定通信双方要共同遵守的通信规则。例如:在网络上传输下雨天留客天留我不留是中文中一句著名的无标点符号的句子,没有标点符号,有很多种拆解方式,不同拆解有不同的意思。这就是说明了标点符号的重要性,也就是消息边界的重要性。网络中的协议,也就是给网络传输的信息加上「标点符号」。下面一种协议较为常用
--believe
·
2024-01-07 09:56
Netty
netty
源码解析
:Apache RocketMQ重置消费位点
引入resetoffset,即重置消费进度,一般在以下场景中使用:需要重新消费已经消费过的消息,重置到最早位置或根据时间进行重置。消息积压,不需要消费积压的消息,重置到最新位置,使其从最新位置开始消费。重置到最早、或者根据时间进行重置与消息补发的区别?●消息补发是将原先的消息由生产者重发一次,与区别的那边消息本质上不是同一条消息(除了消息体一样以外)。●重置操作是操作消费位点(offset),本质
serendipitabition
·
2024-01-07 08:25
apache
rocketmq
消息队列
【
源码解析
】Apache RocketMQ发送消息源码
sendmessage
源码解析
引入sendmessage方法作为我们经常使用的方法,平时我们很难去关注他底层到底做了什么。
serendipitabition
·
2024-01-07 08:52
Apache
RocketMQ
消息队列
源码解析
apache
rocketmq
SpringBoot如何整合Redis
Lettuce:采用
netty
,实例可以再多个线程中进行共享,不存在线程不安全
DHDN——1997
·
2024-01-07 06:30
Spring
spring
boot
redis
后端
Spring Cloud - Nacos与Eureka区别及如何选型
NacosEureka说明注册中心是是服务治理基本功能,负责服务中心化注册配置中心是否Eureka需要配合Config实现配置中心,且不提供管理界面动态刷新是否Eureka需要配合MQ实现配置动态刷新,Nacos采用
Netty
掉发的小王
·
2024-01-07 05:18
Java
spring
java
eureka
Java BIO、NIO、AIO、
Netty
知识详解(值得珍藏)
1.什么是IOJava中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据传输流,字符串流,对象流等等等。比如程序从服务器上下载图片,就是通过流的方式从网络上以流的方式到程序中,在
孤蓬&听雨
·
2024-01-07 05:39
知识库
java
nio
开发语言
vue 虚拟DOM
源码解析
1、什么是虚拟DOM虚拟DOM(VirtualDOM)是使用javaScript对象描述真实DOMvue.js中的虚拟DOM借鉴snabbdom,并添加了vue.js的特性,例如:指令和组件机制2、为什么使用虚拟DOM可以避免直接操作DOM,提高开发效率作为一个中间层,可以跨平台虚拟DOM不一定可以提高效率首次渲染的时候会增加开销,在第一次渲染的时候,需要增加一个虚拟DOM复杂视图情况下提升渲染性
方方孜
·
2024-01-07 04:17
springboot2.x版本集成redis说明(lettuce、redisson)
lettuce作为新式的redis客户端,基于
netty
采用异步非阻塞式IO,是线程安全的,优点是提供了很多redis高级功能,例如集群、哨兵、管道等,缺点是api抽象,学习成本高。
DreamBoy_W.W.Y
·
2024-01-07 04:09
redis
redis
【SpringBoot】SpringBoot整合Redis(Lettuce)
Jedis和Lettuce的区别Lettuce和Jedis的都是连接RedisServer的客户端Jedis是直接连接RedisServer,在多线程环境下是非线程安全的,只有使用连接池Lettuce是基于
Netty
她的坏机器人
·
2024-01-07 04:08
SpringBoot
java
redis
spring
spring
boot
spring
5
Spring boot2 整合lettuce+Redisson Sentinel(哨兵模式)
前言springboot2之前redis的连接池为jedis,2.0以后redis的连接池改为了lettuce,lettuce能够支持redis4+以上lettuce是基于
netty
实现的与redis进行同步和异步的通信
安果缘
·
2024-01-07 04:38
lettuce
sentinel
redis哨兵模式集群
redisson
redis
ConcurrentHashMap为什么线程安全
文章目录一、必要知识1.成员属性2.Node存储结构3.TreeNode4.TreeBin二、
源码解析
1.初始化数组时的线程安全2.put操作的线程安全3.扩容操作的线程安全4.统计容器大小的线程安全5
倜傥村的少年
·
2024-01-07 00:51
Java核心
java
java.lang.NoSuchMethodError: io.
netty
.util.concurrent.SingleThreadEventExecutor
1.项目依赖项中包含多个版本的
Netty
,尝试排除或更新其中的一个,以确保它们是一致的。2.如果使用Maven,你可以查看pom.xml文件中的依赖项,并尝试排除其中的一个
Netty
。
童心同萌
·
2024-01-06 22:15
java
io.netty.util
spring之循环依赖底层源码分析
目录前言:@Resouce/@AutoWired区别@Resouce注入过程spring循环依赖底层原理
源码解析
解决循环依赖问题所需要的重要关键对象循环依赖不同场景解决方式前言:今天聊一聊spring循环依赖问题
山鸟与鱼!
·
2024-01-06 18:09
spring源码
spring
java
后端
Hive
源码解析
一:Driver
本文为Hive源码系列的第一节(共三节)客户端部分,本节主要内容是通过源码分析总结从bin/hive启动到SQL解析转换成MR再到提交任务打印结果的一个宏观流程;第二节则针对HSQL如何解析、转换成MR程序;第三节则针对MR的提交流程再加Hive的远程DEBUG模式。这是hive的架构图从架构图来看,黄颜色属于Hive范畴,蓝颜色属于Hadoop范畴,其中MetaStore可以说是独立Hive核心
小王是个弟弟
·
2024-01-06 17:25
hive
hadoop
big
data
Dubbo服务提供端处理请求的过程剖析
1处理请求的过程概述(1)消费端发起TCP连接后,服务提供方的
Netty
Server的connected方法将被调用;(2)因为
Netty
默认的线程模型为All,因此AllChannelHandler类把接收到的所有消息
J_bean
·
2024-01-06 16:05
源码研究-Dubbo
3.2.7
dubbo
dubbo服务端处理请求
ScheduledThreadPoolExecutor
源码解析
ScheduledThreadPoolExecutor是Java中的一个类,它继承自ThreadPoolExecutor,用于在给定的延迟后运行或定期执行任务。它提供了一种灵活的方式来调度和控制线程池中的线程。带着下面几个问题来分析线程池:如何创建线程是否有最大线程容量限制如何进行定时的1.如何创建线程ScheduledThreadPoolExecutor继承了ThreadPoolExecutor
倜傥村的少年
·
2024-01-06 14:53
Java核心
java
设计模式之装饰者模式【结构型模式】
想系统/深入学习某技术知识点…一个人摸索学习很难坚持,想组团高效学习…想写博客但无从下手,急需写作干货注入能量…热爱写作,愿意让自己成为更好的人…文章目录前言一、概述二、结构三、案例四、使用场景五、JDK
源码解析
六
哥的时代
·
2024-01-06 10:57
软件设计模式
设计模式
java
软件工程
设计模式之外观模式【结构型模式】
:想系统/深入学习某技术知识点…一个人摸索学习很难坚持,想组团高效学习…想写博客但无从下手,急需写作干货注入能量…热爱写作,愿意让自己成为更好的人…文章目录前言一、概述二、结构三、案例四、使用场景五、
源码解析
总结前言一
哥的时代
·
2024-01-06 10:22
软件设计模式
设计模式
外观模式
ui
软件工程
java
RPC学习——入门体验
文章目录前言站长巨人的肩膀上RPC学习——原理图code前言看了flink-rpc之后,感觉rpc框架真的是太强大了,比如
netty
、akka,之前基于akka写过一个能够处理千万级实时数据量的处理系统
京河小蚁
·
2024-01-06 09:30
flink
rpc
flink
netty
: Marshalling序列化示例
一、请求对象和响应对象,分别要实现Serializable接口packagecn.edu.tju;importjava.io.Serializable;publicclassUserRequestimplementsSerializable{privateStringusername;privateStringpassword;publicStringgetUsername(){returnuse
amadeus_liu2
·
2024-01-06 08:31
Netty
java
前端
开发语言
vue-lazyload
源码解析
Lazy类/src/lazy.js构造函数定义变量接收实例化参数。this.version='__VUE_LAZYLOAD_VERSION__'this.mode=modeType.eventthis.ListenerQueue=[]this.TargetIndex=0this.TargetQueue=[]this.options={//不用打印debug信息silent:silent,//是否绑
丶梅边
·
2024-01-06 05:19
easyexcel的@NumberFormat
源码解析
debug了一天,关键源码如下:com.alibaba.excel.write.executor.AbstractExcelWriteExecutor#converterAndSet由于@NumberFormat注解对应的字段肯定是BigDecimal,所以肯定会走这一步然后进行赋值,然后再之前给cell设置好了格式,就可以直接进行excel写入了(不会在代码中生成值)
梦魇梦狸º
·
2024-01-06 03:52
excel
vue
源码解析
响应式原理(data)3
当我们在组件中对响应的数据做了修改,就会触发setter的逻辑,最后调用dep.notify()方法代码如下:classDep{//...notify(){//stabilizethesubscriberlistfirstconstsubs=this.subs.slice()for(leti=0,l=subs.length;i{this.dep.notify()})}}elseif(this.sy
知丶雲淡
·
2024-01-06 02:32
rtsp 获取视频流 java_浏览器无插件播放rtsp视频流 java后台 + js + html
传输数据流的长连接,网上很多都是node.js开发的http转websocket,借鉴采用java+
netty
进行了这一步的转换。这个地方一定要搞清楚http和WS的区别,为啥要转WS。
weixin_39983563
·
2024-01-05 23:42
rtsp
获取视频流
java
netty
笔记-protobuf编解码
1.protobuf编解码publicclassTestSubscribeReqProto{privatestaticbyte[]encode(SubscribeReqProto.SubscribeReqreq){returnreq.toByteArray();}privatestaticSubscribeReqProto.SubscribeReqdecode(byte[]body)throwsI
兴浩
·
2024-01-05 22:13
J.U.C之线程池06:
源码解析
-线程池的终止
线程池终止线程池ThreadPoolExecutor提供了shutdown()和shutDownNow()用于关闭线程池。shutdown()后线程池将变成shutdown状态,此时不接收新任务,但会处理完正在运行的和在阻塞队列中等待处理的任务。shutdownNow()后线程池将变成stop状态,此时不接收新任务,不再处理在阻塞队列中等待的任务,还会尝试中断正在处理中的工作线程。awaitTer
贪睡的企鹅
·
2024-01-05 21:45
如何使用Node.js快速创建本地HTTP服务器并实现公网访问服务端
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,
Netty
等常用开发工具系列
檀越剑指大厂
·
2024-01-05 20:28
s20
cpolar
node.js
http
服务器
【Java基础
源码解析
系列】深入了解延迟队列 DelayQueue
1.前言前面我们了解了基于数组,链表实现的阻塞队列,以及优先级队列。今天我们来了解下基于优先级队列的延迟队列,而且今天的内容很核心哦。大家快搬好小板凳做好,听我慢慢分析2.简单实例Task类publicclassTaskimplementsDelayed{privateStringname;privateLongtime;publicTask(Stringname,Longdelay){this.
全栈切图仔
·
2024-01-05 20:01
Java
多线程
java
android
开发语言
Hotspot
源码解析
-第十二章-OS线程绑定
12.2OS线程绑定12.2.1os_linux.cpp12.2.1.1create_main_thread这个函数的入口函数是thread.cpp->set_as_starting_thread()boolos::create_main_thread(JavaThread*thread){//断言判断,主线程必须是当前线程,否则抛出异常退出assert(os::Linux::_main_thre
zhang527294844
·
2024-01-05 19:14
Java虚拟机
java
Hotspot
源码解析
-第十三章-全局模块初始化
第十三章-全局模块初始化这一章主要对全局模块初始化有个大概轮廓,知道初始了哪些模块,做了哪些事情,具体的细节,会根据重要程度在后面各章节中一一体现。13.1初始全局模块13.1.1init.cpp13.1.1.1init_globalsjintinit_globals(){HandleMarkhm;//管理模块初始化,包括时间统计、各种指标计数、性能数据统计、运行时数据统计和监控、类加载服务情况(
zhang527294844
·
2024-01-05 19:14
Java虚拟机
java
Hotspot
源码解析
-第十二章-JavaThread的创建
在本章中会大量用到Handle,也就是句柄的概念,那么首先先把指针、引用、句柄的概念搞清楚1、指针:在C/C++中大量使用指针,表示某个对象/内存的地址,不受指向的类型限制,只是表示地址,这个概念好理解2、引用:引用在面向对象语言(C++、Java)中大量存在,可以把引用等价于指针,区别在于,引用限定了类型,声明时是什么类型,就是什么类型,这样的好处就是不至于在运行时产生类型转换的错误3、句柄:句
zhang527294844
·
2024-01-05 19:43
Java虚拟机
java
java 多线程 安全 源码,纯干货,从
源码解析
多线程与高并发,再说不会,我再也不踏足IT圈...
没什么太多说的,多线程与高并发,面试重点,咱直接进入正题,联合底层源码,咱们从源码看一下,多线程与高并发底层的知识点,这也是阿里p8+的面试官建议的学习到的级别javaCASCompareAndSwap(CompareAndExchange)/自旋/自旋锁/无锁linux由于常常配合循环操做,直到完成为止,因此泛指一类操做gitcas(v,a,b),变量v,期待值a,修改值b面试ABA问题,你的女
李轶林
·
2024-01-05 19:10
java
多线程
安全
源码
Hotspot 垃圾回收之ConcurrentMarkSweepGeneration(二)
源码解析
目录一、ModUnionClosure/ModUnionClosurePar二、CMSIsAliveClosure/CMSParKeepAliveClosure三、CFLS_LAB1、构造方法和modify_initialization2、alloc3、retire4、compute_desired_plab_size四、ConcurrentMarkSweepGeneration1、定义2、构造方
孙大圣666
·
2024-01-05 19:07
Hotspot和Linux内核
ModUnionClosure
CFLS_LAB
CMSCollector
Hotspot 本地方法绑定与执行
源码解析
目录一、InterpreterGenerator::generate_native_entry二、Methodnative_function1、定义2、set_native_function和clear_native_function3、jni_RegisterNatives和jni_UnregisterNatives4、NativeLookup::lookup三、Methodsignature_
孙大圣666
·
2024-01-05 19:37
Hotspot和Linux内核
synchronized
源码解析
目录对于可偏向、偏向锁、无锁、轻量锁、重量锁源码级解析一、不同修饰的区别1、修饰方法2、修饰代码块二、synchronized通用逻辑lock_object函数1、biased_locking_enter函数-偏向锁1.1、无锁可偏向,怎么理解?1.2、偏向锁2、轻量|重量锁函数lock_objectlock_object小结:函数InterpreterRuntime::monitorenterm
ckiuick
·
2024-01-05 19:35
java
jvm
开发语言
Hotspot
源码解析
-第十二章-线程栈保护页
了解保护页,先从几个问题开始吧1、为什么线程栈有栈帧了,还要有保护页?答:在操作系统中内存可以看成是一个大数组,这就有一个问题,线程之间可能会互相踩了别人的内存空间,所以栈空间也存在这个问题。为了防止栈溢出时破坏栈之外的数据结构,语言运行时会保留最大栈上限limit所在的一片区域,这就是保护页(GuardPage),也可叫哨兵值(Sentry)。当函数返回时检查保护页的值,如果被修改,说明已到达最
zhang527294844
·
2024-01-05 19:04
Java虚拟机
java
Netty
权威指南,万字长文带你深入理解
Netty
目录一.前言二.IO和NIO2.1.面向流和面向Buffer2.2.选择器2.3.IO和NIO的区别2.4.JDK原生NIO程序的问题三.
Netty
详解3.1.
Netty
的特点3.2.
Netty
的线程模型
流华追梦
·
2024-01-05 17:19
Java
Netty
ByteBuf
Netty线程模型
Netty工作原理
Netty启动
NioEventLoop
js获取网络设备类型
getNetworkType();*/exportfunctiongetNetworkType(){varua=navigator.userAgent;varnetworkStr=ua.match(/
NetTy
pe
风如白话
·
2024-01-05 16:47
#
javascript
javascript
javascript如何获取设备连接网络类型,切换提示给用户
navigator对象,有兴趣可自行在浏览器打印,如下图具体方法如下getTypeNet(){letstrCode=navigator.userAgent;letstringNet=strCode.match(/
NetTy
pe
迷途老书僮
·
2024-01-05 16:16
javascript
javascript
Vue
获取网络类型
GreatSQL社区2023全年技术文章总结
这些文章涵盖了GreatSQL、MGR、
源码解析
、故障解析、SQL优化、安装部署、等众多数据库技术文章。1、新版本发布GreatSQL8.0.32-25今日发布MyS
GreatSQL社区
·
2024-01-05 15:00
GreatSQL
年终总结
2023新年总结与展望
微服务更加熟悉,对consul、kafka、gateway的熟悉和掌握更近一步对docker和虚拟化部署更加熟悉对PostgreSQL数据库和JPA更加熟悉对clickhouse数据库和大数据分析更加熟悉对
netty
坚持是一种态度
·
2024-01-05 14:24
某程序员的日常加吐槽
程序人生
后端
Java网络编程:socket与
Netty
Java网络编程:socket与
Netty
Java网络编程:socket与
Netty
TCP/IP介绍简介数据传输TCP粘包和黏包现象为什么出现如何解决Socket介绍介绍功能开发
Netty
介绍简介部分重点类和方法
坚持是一种态度
·
2024-01-05 14:54
java
大数据开发
网络协议
Java网络编程
Netty
TCP/IP
socket编程
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他