• 说明下对状态机的理解。(如果项目中有遇到,可以简单描述下)


    状态机在编译原理中较为重要
    其中状态机可以用作如识别正则表达式,识别句子中含有单词(假如英语句子没有空格)以及进行自然语言处理。
    其作用是当判定一个状态,如当前状态,及拿当前状态判定下一个节点或指向的状态,
    并结合判定的节点来判定下一个节点应有的状态或指向某个节点。

    比如在正则表达式中,用某个正则格式来断定一句话是否符合这个格式,当判定语句的多个字眼后,再判定下一个是否符合,如果下一个字眼不符合,
    则正则不被匹配。而正则之所以要设定开始匹配和匹配结束的相关标识,即需要进行匹配句子中有哪些句子字眼是符合正则的开始或结束的。

    而程序中,比如在之前基金估值系统中,需要设定规则,当A种类基金计算的估值偏离了设定阈值多少之后,则哪个字段需要进行标红展示,
    而当B种类基金计算的另一个值偏离以后,哪个字段或者需要重新计算等。

    比如在节点提交的程序如工作流中,即银行担保系统,A岗提交给B岗是预先设定好的,而比如B岗提交文件给秘书岗或经理岗是可以的,但
    不是提交给财务岗,因为财务岗位不在B岗可提交的范围之内。
    而当提交后,经理岗可以退回需要AB岗重审,而可能秘书岗就没有这个权利,需要自己进行审核再提交给经理岗。
    最终经理岗确认,秘书岗才可以提交财务岗进行类似划款操作。

    最感觉是状态机的程序业务按说就是同济中学的数学题试卷word的读取了,
    因为设定了每个题都有题目,选项,答案,但有的题是没有图片的,有的有,
    有的有选项,而有的只有填空,在判定的时候,需要按行读取,
    并且判定上一个标示下面是否有对应的标示,如果没有则需要有
    另一个标示,不然此题是不完整的。
    当所有题都完整,并且都能按判定顺序去读取后,数据也就真正
    可以入库,并且做相关处理后展示到页面上了。

    又比如在现在微服务网关的gateway当中,gateway使用predicate进行网关路由的断言,
    判定前置路径是否与服务接口匹配,
    比如我使用/userService/*来匹配用户服务下的全部接口与
    /authService/encrypt是完全不同的。
    而通过判定不同的路径,接口被路由到对应的接口。

    又比如Java线程中,运行中的线程可以加入等待,等待中的线程可以被唤起,
    而不是销毁的线程的可以被唤起,而是需要创建线程进入Runnable状态后才可。

    又比如在Spring的组件Spring Batch中,用其进行计算某些数值后,如果值等于
    预期的某些值,那么执行一个Step,而非预期另一个值,执行另一个Step。

  • 相关阅读:
    生产环境中使用google otp登录不上服务器的解决办法
    kvm虚拟机快照创建与管理
    什么是字节码、机器码、本地代码?
    什么是CDN?哪些是流行的jQuery CDN?使用CDN有什么好处?
    Spring Boot(七):Mybatis 多数据源最简解决方案
    Spring Boot(六):如何优雅的使用 Mybatis
    Spring Boot、Spring MVC 和 Spring 有什么区别?
    Spring Boot(五):Spring Boot Jpa 的使用
    Spring Boot(四):Thymeleaf 使用详解
    Spring Boot(三):Spring Boot 中 Redis 的使用
  • 原文地址:https://www.cnblogs.com/ukzq/p/16669115.html
Copyright © 2020-2023  润新知