草庐IT

折腾了我一周,原来Netty网络编程就是这么个破玩意儿!!!

1、阻塞阻塞模式下,相关方法都会导致线程暂停ServerSocketChannel.accept会在没有连接建立时让线程暂停SocketChannel.read会在通道中没有数据可读时让线程暂停阻塞的表现其实就是线程暂停了,暂停期间不会占用cpu,但线程相当于闲置单线程下,阻塞方法之间相互影响,几乎不能正常工作,需要多线程支持但多线程下,有新的问题,体现在以下方面32位jvm一个线程320k,64位jvm一个线程1024k,如果连接数过多,必然导致OOM,并且线程太多,反而会因为频繁上下文切换导致性能降低可以采用线程池技术来减少线程数和线程上下文切换,但治标不治本,如果有很多连接建立,但长时间

modbus是什么玩意儿的 C#实现ModbusRTU读取线圈状态功能0x01

MODBUS的基本分类:通过串口传输:ModbusRTU/ModbusASCII通过网口传输:ModbusTCP/ModbusUDPModbusRTU:功能码:0x01读线圈状态0x02读输入线圈(只读)0x03读保持型寄存器0x04读输入寄存器存储区分成四个寄存器:线圈状态(可读可写)输入线圈(只读)保持型寄存器(可读可写)输入寄存器(只读)读线圈消息帧格式功能码:0x01请求格式:从站地址功能码起始地址读取长度CRC校验1byte1byte2byte2byte2byte请求的从站地址若为0,则为广播模式,从站不做响应;240以后的保留。响应格式:从站地址功能码字节数输出状态7-0输出状态1

modbus是什么玩意儿的 C#实现ModbusRTU读取线圈状态功能0x01

MODBUS的基本分类:通过串口传输:ModbusRTU/ModbusASCII通过网口传输:ModbusTCP/ModbusUDPModbusRTU:功能码:0x01读线圈状态0x02读输入线圈(只读)0x03读保持型寄存器0x04读输入寄存器存储区分成四个寄存器:线圈状态(可读可写)输入线圈(只读)保持型寄存器(可读可写)输入寄存器(只读)读线圈消息帧格式功能码:0x01请求格式:从站地址功能码起始地址读取长度CRC校验1byte1byte2byte2byte2byte请求的从站地址若为0,则为广播模式,从站不做响应;240以后的保留。响应格式:从站地址功能码字节数输出状态7-0输出状态1

编程枯燥?程序员的有趣玩意儿,你绝对想知道!

哈喽,大家好,我是了不起。作为程序员,编写代码是日常工作中最重要的事情之一。尽管编写代码的过程可以变得枯燥乏味,但有一些程序员选择采取一些有趣的方式来使编程变得更有趣。本篇文章了不起将探讨一些程序员的有趣实践,以帮助那些正在寻找一些新鲜感的程序员们。1、参加开源项目参加开源项目是一种有趣的方式来展示程序员的技能,并与其他开发者一起合作。开源项目通常是由一组志同道合的开发者创建和维护的,旨在解决特定的问题。程序员可以参加这些项目,并提交自己的代码或帮助解决问题。参加开源项目还可以帮助程序员学习如何使用其他开发者编写的代码,并帮助他们提高自己的编程技能。下面是一个参加开源项目的示例代码,该代码使用

编程枯燥?程序员的有趣玩意儿,你绝对想知道!

哈喽,大家好,我是了不起。作为程序员,编写代码是日常工作中最重要的事情之一。尽管编写代码的过程可以变得枯燥乏味,但有一些程序员选择采取一些有趣的方式来使编程变得更有趣。本篇文章了不起将探讨一些程序员的有趣实践,以帮助那些正在寻找一些新鲜感的程序员们。1、参加开源项目参加开源项目是一种有趣的方式来展示程序员的技能,并与其他开发者一起合作。开源项目通常是由一组志同道合的开发者创建和维护的,旨在解决特定的问题。程序员可以参加这些项目,并提交自己的代码或帮助解决问题。参加开源项目还可以帮助程序员学习如何使用其他开发者编写的代码,并帮助他们提高自己的编程技能。下面是一个参加开源项目的示例代码,该代码使用

还在用 OpenFeign?来试试 SpringBoot3 中的这个新玩意!

年过完啦,松哥也已经搬砖搬了三天了。疫情放开后,今年这个年格外的轻松惬意,心中一种特别压抑的东西被除去了,新闻中看到各地游人如织、西安大唐不夜城游人摩肩接踵,真的好像回到了2019年一样,朋友圈中也都是喜气洋洋,生活还是很美好的。好久没发技术文章了,最近回到工作地,晚上有空又可以码码技术了,今天我们就来聊一个SpringBoot3中的新鲜玩意,声明式HTTP调用。1.由来SpringBoot3去年底就已经正式发布,我也尝了一把鲜,最近有空会和小伙伴们慢慢聊聊SpringBoot3都给我们带来了哪些新东西。今天我们就先来看看声明式HTTP接口。用过SpringCloud的小伙伴都知道,在Spri

还在用 OpenFeign?来试试 SpringBoot3 中的这个新玩意!

年过完啦,松哥也已经搬砖搬了三天了。疫情放开后,今年这个年格外的轻松惬意,心中一种特别压抑的东西被除去了,新闻中看到各地游人如织、西安大唐不夜城游人摩肩接踵,真的好像回到了2019年一样,朋友圈中也都是喜气洋洋,生活还是很美好的。好久没发技术文章了,最近回到工作地,晚上有空又可以码码技术了,今天我们就来聊一个SpringBoot3中的新鲜玩意,声明式HTTP调用。1.由来SpringBoot3去年底就已经正式发布,我也尝了一把鲜,最近有空会和小伙伴们慢慢聊聊SpringBoot3都给我们带来了哪些新东西。今天我们就先来看看声明式HTTP接口。用过SpringCloud的小伙伴都知道,在Spri

当你真的学会DataBinding后,你会发现“这玩意真香”!

前言?DataBinding只是一种工具,用来解决View和数据之间的绑定。DataBinding,顾名思义:数据绑定,它可以将布局页面中的组件和应用中的数据进行绑定,支持单向绑定和双向绑定,单向绑定就是如果数据有变化就会驱动页面进行变化,双向绑定就是除了单向绑定之外还支持页面的变化驱动数据的变化,如果页面中有一个输入框,那么我们就可以进行双向绑定,数据变化,它的显示内容就变了,我们手动输入内容也可以改变绑定它的数据。?官方文档:https://developer.android.google.cn/jetpack/androidx/releases/databinding?官方Demo地址:

当你真的学会DataBinding后,你会发现“这玩意真香”!

前言?DataBinding只是一种工具,用来解决View和数据之间的绑定。DataBinding,顾名思义:数据绑定,它可以将布局页面中的组件和应用中的数据进行绑定,支持单向绑定和双向绑定,单向绑定就是如果数据有变化就会驱动页面进行变化,双向绑定就是除了单向绑定之外还支持页面的变化驱动数据的变化,如果页面中有一个输入框,那么我们就可以进行双向绑定,数据变化,它的显示内容就变了,我们手动输入内容也可以改变绑定它的数据。?官方文档:https://developer.android.google.cn/jetpack/androidx/releases/databinding?官方Demo地址:
12