FreeModBus源码解析(1)---开篇
一、设计思想 任何通信协议的实现都是基于状态机的设计思想,就是来了一串数据判断是是干啥的在调用相应的处理函数只不过高手一般采用回调处理。 如果你熟悉了回调、源码里的状态机的实现又可以理解,那么恭喜你已经掌握了通信协议的实现方法。 如果你可以从源妈里体会到分层的设计思想,那么恭喜你已经触碰到了架构师的门槛。 本系列文章就是通过对FreeModeBus源码进行解析来掌握以上技能。 二、ModBus协议简介以及状态机的实现 为啥把ModBus协议简介与状态机的实现放在一起呢???
使用java读取json数据
package cn.itcast.day04.test;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
Azure HPC Pack 节点提升成域控制器
4.1提升HPC HEAD 节点主机作为域控制器 使用本地管理员凭据通过RDP登录到IaaS VM,并将HPC HEAD节点提升为域控制器: 1.在服务器管理器中,单击“ 添加角色和功能”: 图17 添加新角色 图18 选择基于角色的安装 图19 添加Active Directory域服务角色 图20 AD DC角色安装组件 图21完成AD DC角色的安装系统任务 安装AD Directory域服务后,选择图标标记,然后选择“ 将此服务器升级为域控制器 ” 图22 将IaaS VM升级为AD域
Java Lambda filter foreach的简单使用
Java Lambda filter foreach的简单使用 Java在对 List 集合进行按条件查询的时候,经常会想到使用for循环。 自从 Java 8 引入了 Lambda 后,简化了循环的使用。 举例说明 Lambda的 foreach 和 filter 的简单使用。 1、自定义类 Hero /**
* Created by Miracle Luna on 2020/3/8
*/
public class Hero {
private String name;
简单的servlet+jsp综合案例
综合案例(无数据库) servlet @WebServlet("/userManage")
public class UserManage extends HttpServlet {
private Map<String, User> userMap = new HashMap<String,User>();
public UserManage(){
User user1 = new User("1","小明",20);
User user2
周排行