- 博客(628)
- 资源 (59)
- 收藏
- 关注
原创 window系统关机脚本生成
2、 输入 shutdown –s –t 5 也就是5秒关机,然后点击下一步。设置关机快捷键,桌面空白处单击右键,点击“新建”-“快捷方式”3、 接着,输入快捷方式名称,点击完成。
2023-06-02 16:23:22
14
原创 io.netty项目UDP实现
创建引导类(Bootstrap):创建一个引导类,用于配置和启动Netty的UDP客户端。创建引导类(Bootstrap):创建一个引导类,用于配置和启动Netty的UDP服务。添加Netty依赖:在项目的构建文件(如Maven的pom.xml)中添加Netty的依赖项,以便引入Netty库。添加Netty依赖:在项目的构建文件(如Maven的pom.xml)中添加Netty的依赖项,以便引入Netty库。启动UDP服务:调用引导类的bind()方法来启动UDP服务,绑定指定的IP地址和端口。
2023-05-31 16:45:30
502
原创 ASCII Unicode UTF-8等等编码介绍
这是个很重要的特性,所以很多情况下(如很多协议传输数据时)都使用ISO 8859-1编码,由于ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO 8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。通过查询下文将要介绍的GB2312编码表,“中文”应该是"d6d0 cec4"两个字符,使用ISO 8859-1编码来“表示”的时候则将它拆开为4个字节来表示,即"d6 d0 ce c4"(事实上,在进行存储的时候,也是以字节为单位处理的)。如果是低字节序,就写入FF FE。
2023-05-31 09:38:43
491
原创 OpenSSL加密解密文件
(注:这里install.log是你想要加密的文件,enc.log是加密后的文件,回车后系统会提示你输入密码。-out选项:输出文件,对于加密来说,输出的应该是加密后的文件名;(注:enc.log是刚才加密的文件,install.log是解密后的文件,-d选项实现解密功能。-pass选项:选择输入口令的方式,输入源可以是标准输入设备,命令行输入,文件、变量等。-K选项:手动输入加密密钥(不使用该选项,Openssl会使用口令自动提取加密密钥)。-e选项:实现加密功能(不使用-d选项的话默认是加密选项)。
2023-05-26 15:36:16
779
原创 Class类的方法cast(obj)方法
Class.cast(Object obj)方法 就是作用就是强制类型转换。将obj转化为Class类型。Parent.cast(child) 将child转化为Parent。异常告诉我们 Banana 不能转换成 Apple。到这里 有的人就明白了 Tree one = Tree.class.cast(appleTree);再创建两个实现类 Apple 和Banana。先定义一个接口 Tree。
2023-05-26 15:36:00
12
原创 CompletableFuture详解-初遇者-很细
CompletableFuture是jdk8的新特性。CompletableFuture实现了CompletionStage接口和Future接口,前者是对后者的一个扩展,增加了异步会点、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。代码涉及到lambda表达式用法,不熟悉的可先看下。
2023-05-26 15:27:41
1106
原创 java接口中的default(默认)方法详解
Java的接口中有一种特殊的方法,叫做默认方法。接口中的默认方法有以下特点:default方法可以有方法体。接口中的普通方法必须被实现类重写;默认方法可以不被实现类重写。
2023-05-26 15:11:14
1260
原创 Lambda表达式详解-初遇者-很细
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。
2023-05-26 15:09:00
836
原创 sudo不用每次都输入密码
执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp”,在tmp后执行回车。提示:执行sudo visudo,默认是使用nano编辑器,所以保存退出的时候需要通过快捷键的方式来完成。保存退出后在输入sudo 命令时就不用密码了。#默认用的nano编辑器打开的。执行“Ctrl+X”退出。1.随便打开一个终端。执行“Ctrl+O”
2023-05-24 09:18:14
12
原创 floatToRawIntBits和floatToIntBits
方法将单精度浮点数的位表示转换为整数,返回的整数值可以用于比较两个浮点数是否相等。这个方法会将NaN编码成一个特殊的值,并且对于同样的浮点数,它返回的整数值是固定的。,它不会将NaN编码成一个特殊的值,而是保留NaN的位模式。这个方法用于需要将浮点数位表示保存为整数的场合,例如在网络通信或持久化数据时。需要注意的是,在使用这两个方法时需要遵守IEEE 754标准的规定,否则可能会得到不正确的结果。是Java语言中两个处理浮点数和整数位之间转换的方法。方法也将单精度浮点数的位表示转换为整数,但不同于。
2023-05-23 10:12:22
11
原创 利用CX-ONE搭建omron PLC仿真环境
设置串口通讯,选择“Real Comms”,选择本地串口名称(可以使用串口助手,创建虚拟串口)CX-Simulator,omron PLC仿真软件。找到“CX-Simulator”打开。选择“Controller Link”,点击“Connect”设置网络类型,设定虚拟PLC的FINS address。打开omron 组态软件CX-Programmer。选择与CX-Simulato 创建PLC相同类型。必须处于“编程”模式下,才能将值推送到PLC。HostLink 请求D0000数据。
2023-05-22 17:08:33
567
原创 bps、Byte、MiB、bit、bits之间的关系
2、在现实生活中,带宽为1Mbps,但实际下载速度没有1MB,由于1Mbps=0.125MB/s=0.125×1024 KB/s=128 KB/s=128kBps。bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范畴;3、Byte是大小单位,Byte意为“字节”,是计算机文件大小的基本计算单位,1 Byte = 8 bits。1、bps是速度传输单位,1Mbps=1000 000 bps,1bps=1bits/s。另外,Byte通常简写为B(大写),而bit通常简写为b(小写),1B=8b。
2023-05-08 16:16:22
509
原创 Java的位运算
11111111 11111111 11111111 11111100 符号位不变,其他位置取反得到原码为:10000000 00000000 00000000 00000011。11111111 11111111 11111111 11111101 - 1 得到反码:11111111 11111111 11111111 11111100。比如 -1 << 2 = -4 (为方便讲解,图示的补码为-1)根据上面的运算得到补码结果为:11111111 11111111 11111111 11111111。
2023-04-27 18:28:06
349
原创 OPC UA 基于 X.509 证书认证
OPC UA 服务器返回证书:如果证书认证通过,OPC UA 服务器会返回自己的证书给客户端,客户端也会验证服务器证书的有效性和真实性。安全通道建立:在双方的证书验证通过后,客户端和服务器端会建立一个安全通道,使用安全策略对通信数据进行加密和签名,保证通信的安全性。将证书存储在 OPC UA 服务器端:将生成的 X.509 证书存储在 OPC UA 服务器端,并配置服务器端的证书验证策略。生成 X.509 证书:可以使用 OpenSSL 等工具生成证书,需要指定证书的颁发者、有效期、公钥、私钥等信息。
2023-04-20 09:33:50
123
原创 URI URL URN定义
URI:全称Uniform Resource Identitfier,也就是统一资源标识符,可以标识互联网上某一资源,用来标识抽象或物理资源的一个紧凑字符串。URL:全称Uniform Resource Locator,统一资源定位符,一种定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。
2023-04-19 10:26:14
382
原创 modbus寄存器、功能码、报文结构解析
Modbus是一种主/从通讯模式。主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。
2023-04-18 10:16:59
1088
原创 OPCUA 标识符( Identifier)类型
这些标识符类型在 OPC UA 中有着不同的应用场景,例如数值型标识符主要用于预定义的节点类型和属性,字符串型标识符主要用于自定义节点类型和属性,GUID型标识符主要用于标识命名空间,URI型标识符主要用于标识节点和属性,而 Qualified Name型标识符和Localized Text型标识符则主要用于引用其他 Namespace 中的节点和属性,并且可以提供本地化支持。Opaque型标识符(Opaque Identifier):表示为任意字节序列,主要用于自定义的数据类型和结构体成员。
2023-04-17 18:21:12
171
原创 Kafka的历史版本对应SpringBoot版本
截至目前(2023年),Kafka的最新版本是2.9.0,发布于2022年11月30日。Kafka的历史版本可以在Kafka官方网站的下载页面中找到。Kafka从0.8版本开始发布,经历了多个版本的迭代和升级。每个版本都有其自己的特点和改进,Kafka用户可以根据自己的需要选择合适的版本使用。
2023-04-17 17:59:46
785
原创 Java Agent及Agent启动方式
Java Agent主要用于监控、诊断和性能分析等领域,比如可以通过Java Agent在应用程序运行时监控方法的执行时间,内存使用情况等,并且还可以在运行时修改方法的行为或者新增方法。Java Agent 启动方式指的是启动 Java 应用程序时通过命令行参数指定 Java Agent 的方式。在启动应用程序时,使用参数 "-javaagent:path/to/agent.jar" 的形式,其中 "path/to/agent.jar" 是 Java Agent JAR 文件的路径。
2023-04-13 17:18:55
230
原创 git查看代码仓库地址、分支
如何查看自己是在哪里拉取的代码呢?进入项目的根目录,执行git remote -v。查看仓库分支执行 git status。
2023-04-13 08:55:34
16
原创 数据库一级二级三级缓存
一级缓存指的是基于线程的本地缓存,存储的是 Session 中查询的数据,可以通过开启 Hibernate 的二级缓存来提高性能。二级缓存是基于 SessionFactory 的缓存,存储的是经常使用的数据,可以减少数据库的查询次数,提高系统的性能。当我们进行数据库操作时,查询的结果会被缓存在当前会话中,如果再次查询同样的数据,就可以直接从缓存中获取,而不需要再次向数据库发起查询请求,从而提高查询效率。在一次会话中,如果对同一数据进行更新操作,会自动清除对应的缓存,保证数据的一致性。
2023-04-12 18:27:54
612
转载 IDEA URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
在idea的web项目中,新创建xml文件时。xml文件的头部有个地址显示为红色,鼠标移上去时,显示的提示为“URI is not registered (Settings | Languages & Frameworks | Schemas and DTD”,如下图。(2)来到这个地方File -> Setting -> Languages & Frameworks -> Schemas and DTDs,点击右下方的+号,将复制的URL粘贴上去,点击应用即可。(1)复制显示红色的这条URL。
2023-04-10 18:16:52
32
原创 Netty解码器LengthFieldBasedFrameDecoder
好绕口). 如果lengthFieldLength=4, 那么就会从上图红色位置向后读取4个字节, 把4个字节里面的内容作为真正data的长度. 而且lengthFieldLength的取值不是任意的, 它只能取值1,2,3,4,8. 具体原因后面的源码会说明.如上图, 假如lengthFieldLength=4, 读取4个字节的内容是0x00000010(十六进制表示), 十进制就是16, 也就是说, 数据data的长度是16个字节. 但是这里稍等下, 需要介绍下一个关键属性.
2023-04-10 18:13:07
301
原创 Netty主要组件
学习这些组件先不要深入细节, 先有个大概的概念, 每个组件具体做啥, 然后把它们串联起来, 加深对Netty整体架构的理解。在ChannelPipeline中可以放入用户自定义的Handler,用于具体的业务处理, 这里面也包括。, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。一个是服务端通道, 一个是客户端通道,接收客户端连接和处理数据读写都是通过通道进行的。在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。这两种重要的Handler。
2023-04-10 17:56:15
277
原创 Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解
当程序在18:00:00之前执行时,schedule分别会在18:00:00、18:00:06、18:00:12...等时间点执行计划任务,每隔时间点间隔6秒。而当程序运行时刻比计划任务计划首次执行时间晚时,如同样在18:07:00时刻开始执行程序,则计划任务程序会立马计算程序执行时刻晚于指定时刻,会立即执行(18:07:00-18:00:00)/3+1=3次任务(代表18:00:00、18:03:00和18:06:00三个时刻执行的任务),接下来任务执行时刻是18:09:00、18:12:00等。
2023-04-10 16:25:08
495
原创 经典蓝牙和BLE区别
传统蓝牙模块在2004年推出,主要代表是支持蓝牙2.1协议的模块,在智能手机爆发的。高速模块在2009年推出,速率提高到约24Mbps,是传统蓝牙。蓝牙4.0标准包括传统蓝牙部分和低功耗蓝牙模块部分。低功耗蓝牙是建立在传统蓝牙。另外,因为BLE技术采用非常快速的连接方式,因此可以。低功耗蓝牙模块(BLE):是指支持蓝牙协议4.0或更高的模块,也称为。泛指支持蓝牙协议在4.0以下的模块,一般用于数据量比较大的传输。经典蓝牙模块可再细分为:传统蓝牙模块和高速蓝牙模块。基础之上继而发展的,并有别于传统蓝牙模块。
2023-04-03 13:12:05
364
原创 spring-data-redis独立创建对象,针对多个redis数据源
一般集成spring-boot 使用,当连接多个数据源,不具备初始化加载参数时,独自创建stringRedisTemplate对象。
2023-03-29 17:06:43
74
原创 spring-data-mongodb 独立创建对象,针对多个mongo数据源问题
一般集成spring-boot 使用,当连接多个数据源,不具备初始化加载参数时,独自创建MongoTemplate 对象。
2023-03-29 17:06:38
76
原创 postgresql使用笔记
结果集会显示当前连接的数据库名、用户、IP地址、开始时间、等待事件、查询语句等。pg_stat_activity其实是一个视图。
2023-03-16 17:27:40
39
原创 linux 字符串截取(cut)
n :取消分割多字节字符。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。以#作为分隔符,输出第一个#前的区域1的东西。-f :与-d一起使用,指定显示哪个区域。截取第三个字符后所有的(包括第三个字符)选项:-d指定分隔符,-f指定提取第几列。-d :自定义分隔符,默认为制表符。截取前三个字符(包括第三个字符)-c :以字符为单位进行分割。截取字符串11-14位置的字符。
2023-03-09 17:21:35
514
原创 OPC UA常见故障信息代码
Bad_DataUnavailable 0x809E0000 由于存在未安装的卷、离线存档或磁带,或由于暂时不可用等类似原因,期望的数据在请求的时间范围内不可用。变量值为最后一个质量为Good的值。Bad_NodeIdRejected 0x805D0000 由于节点ID无效或服务器不允许客户端指定节点ID,请求的节点ID被拒绝。Bad_CertificateHostNameInvalid 0x80160000 用于连接服务器的主机名与证书中的主机名不匹配。
2023-03-08 17:18:41
1464
原创 linux 字符串截取(cut)
n :取消分割多字节字符。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除。-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。以#作为分隔符,输出第一个#前的区域1的东西。-f :与-d一起使用,指定显示哪个区域。截取第三个字符后所有的(包括第三个字符)选项:-d指定分隔符,-f指定提取第几列。-d :自定义分隔符,默认为制表符。-c :以字符为单位进行分割。截取字符串11-14位置的字符。
2023-03-08 17:05:28
623
原创 rs422 rs485 rs232串口转换
RS422是全双工通信,而RS485是半双工通信,两种通信是不能兼容的,如果要RS485接到RS422使用,只需要使用RS422其中的一组通讯线就可以。RS422 同名端连接 T+接R+,T-接R-。
2023-02-23 14:49:21
230
原创 ProIEC104Client 恢复默认配置
找到在 “计算机”->”HKEY_CURRENT_USER”->”Software”->”弓口虫系列软件”->ProIEC104Client. 然后将 ProIEC104Client 整个条目项删除,再运行即可恢复初始状态。wind + r cmd 输入regedit。
2023-02-10 18:32:50
116
原创 ProIEC104Client重置
找到在 “计算机”->”HKEY_CURRENT_USER”->”Software”->”弓口虫系列软件”->ProIEC104Client. 然后将 ProIEC104Client 整个条目项删除,再运行即可恢复初始状态。
2023-02-10 14:25:03
85
原创 Postman form-data、x-www-form-urlencoded的区别
比如汉字‘丁’吧,他的utf8编码在十六进制下是0xE4B881,占3个字节,把它转成字符串‘E4B881’,变成了六个字节,每两个字节前加上百分号前缀,得到字符串“%E4%B8%81”,变成九个ascii字符,占九个字节(十六进制下是0x244534254238253831)。5、multipart/form-data将表单中的每个input转为了一个由boundary分割的小格式,没有转码,直接将utf8字节拼接到请求体中,在本地有多少字节实际就发送多少字节,极大提高了效率,适合传输长字节。
2023-02-01 15:14:58
1324
Microsoft Visual C++ Redistributable vc2005~2010
2021-04-28
扫地僧C++讲义.7z
2021-03-01
PROFIBUS规范(中文).zip
2020-12-17
MQTT-3.1.1-CN.docx
2020-09-20
SK2000V1.3.9.zip
2020-09-16
prosys-opc-ua-simulation-server
2020-08-02
apr-1.7.0.tar.gz tomcat-native-1.2.26-src.tar.gz
2023-01-09
tomcat-native-1.2.26-openssl-1.1.1i-win32-bin
2022-08-12
Fiddle 拦截器v5最新版
2022-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人