markdown mermaid状态图

状态图

状态图是一种用于计算机科学和相关领域描述系统行为的图。状态图要求描述的系统由有限数量的状态组成。

语法:

stateDiagram-v2
    [*] --> Still
    Still --> [*]

    Still --> Moving:push
    Moving --> Still:摩擦
    Moving --> Crash:速度过快
    Crash --> [*]

stateDiagram-v2 [] –> Still Still –> [] Still –> Moving:push Moving –> Still:摩擦 Moving –> Crash:速度过快 Crash –> [*]

在状态图中,展示了系统有那些状态,以及状态之间相互转换的。 上面的示例图显示了 Still、MovingCrash 三种状态。 可以将 Still状态 更改为 Moving。 也可以将 Moving状态更改回 StillCrash。 但无法从 Still过度到 Crash 状态。

可以通过多种方式声明一个状态。 最简单的方法是状态定义是通过 id 。

stateDiagram-v2
    id

stateDiagram-v2 id

定义状态的另一种方法是,状态id后接冒号和描述。

stateDiagram-v2
    S:开始
    R:运行
    W:等待

    S-->R:start()
    R-->W:wait()
    W-->R:notify(),nofityAll()

stateDiagram-v2 S:开始 R:运行 W:等待 S–>R:start() R–>W:wait() W–>R:notify(),nofityAll()

id:des :状态id:状态详细
如果状态比较长,并且要多次引用,可以用此种方式,可以减少敲打键盘的的次数。

当一种状态进入另一种状态时,通过过渡转换。 这使用文本箭头 -->表示。

stateDiagram-v2
    状态1 --> 状态2

stateDiagram-v2 状态1 –> 状态2

可以向过渡中添加文本。描述它代表什么。

stateDiagram-v2
    new-->Runable:start()

stateDiagram-v2 new–>Runable:start()

有两种特殊状态指示图,开始和停止。 可以用 [*] 语法表示开始或停止状态。

stateDiagram-v2
    [*] --> 运行
    s1 --> [*]

stateDiagram-v2 s1:运行 [] –> s1 s1 –> []

例子:

Java线程状态图:

stateDiagram-v2
New-->Runnable:start()

Runnable-->Waiting:wait()
Waiting-->Runnable:notify(),notifyAll()

TimedWaiting-->Runnable:sleep()结束
Runnable-->TimedWaiting:sleep()开始

Blocked-->Runnable:synchronized
Runnable-->Blocked:synchronized

Runnable-->Terminated:run()结束

stateDiagram-v2 New–>Runnable:start() Runnable–>Waiting:wait() Waiting–>Runnable:notify(),notifyAll() TimedWaiting–>Runnable:sleep()结束 Runnable–>TimedWaiting:sleep()开始 Blocked–>Runnable:synchronized Runnable–>Blocked:synchronized Runnable–>Terminated:run()结束

Original: https://www.cnblogs.com/sdsxblpjava/p/15791270.html
Author: 同学Zou
Title: markdown mermaid状态图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/572390/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SpringBoot代码生成器,从此不用手撸代码

    前言 通常在开始开发项目的时候,首先会建立好数据库相关表,然后根据表结构生成 Controller、Service、DAO&#x…

    Java 2023年5月30日
    076
  • javaWeb

    B/S和C/S C/S架构的程序: B/S架构的程序: Web服务器 对外提供web服务的软件。 我们要使用的web服务器: tomcat 不要钱。 nginx 并发处理能力特强。…

    Java 2023年6月7日
    0104
  • 8.java NIO

    1.简介 2.NIO和BIO的比较 1.BIO以流的方式处理数据,而NIO以块的放还是处理数据,块的I/O都效率比流的I/O高很多 2.BIO是阻塞的,NIO是非阻塞的 3.BIO…

    Java 2023年6月5日
    066
  • SpringBoot中配置Logback日志输出

    因为在SpringBoot中默认使用的Logback日志系统,所以SpringBoot已经集成了相关依赖,无需多余的依赖,只需在src/main/resources文件夹下,增加l…

    Java 2023年5月30日
    068
  • SpringBoot使用RabbitMq实现队列和延时队列

    闲来无事看了看RabbitMq的队列,总结了一些队列的实现方法,当然,免不了各种看别人的博客哈哈哈 其中延时队列有两种方式,一种是使用TTl+死信队列实现,一种是直接用Rabbit…

    Java 2023年6月14日
    084
  • 人工智能与机器学习的不同之处

    人工智能早已不是一个新名词,它的发展历史已经有几十年。从80年代早期开始,当时计算机科学家设计出可以学习和模仿人类行为的算法。在学习方面,最重要的算法是神经网络,但由于模型过于强大…

    Java 2023年6月5日
    075
  • 软件工程 结构化设计方法 第3篇随笔

    * 调用:模块间的一种关系,模块A为了完成其任务必须依赖其他模块 ​ ——————> Original: https://www.cnblogs.com/shuisanya/…

    Java 2023年6月16日
    086
  • 真·Android Zxing 扫码中文乱码解决

    Zxing3.2.1 之前遇到过Android Zxing扫码乱码的问题,网上搜了下解决了下。 今天又遇到了问题。 依然会乱码。 研究总结如下: Zxing 可以在Hints中添加…

    Java 2023年6月15日
    068
  • 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)

    TableGo v6.0.0 版震撼发布,此次版本更新如下:1、UI界面大改版,组件大调整,提升界面功能的可扩展性。2、新增BeautyEye主题,界面更加清新美观,也可以通过配置…

    Java 2023年6月9日
    097
  • 操作系统 进程控制 实验(C语言)

    进程控制 基本要求 模拟操作系统内核对进程的控制和管理:包括进程的创建和撤销、进程状态的切换和简单的内存空间管理。 实验提示 1、 定义管理每个进程的数据结构PCB:包含进程名称、…

    Java 2023年6月5日
    092
  • .net 反射简单介绍

    1.什么是反射 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如…

    Java 2023年5月30日
    0130
  • Git rebase 合并多次提交

    在一般研发管理流程中,我们一般都是这么使用Git版本的: 0、先拿到一个需求(不细谈需求前面的采集、归纳整理、确认及评审等环节) 1、从主分支checkout一个新分支 2、在完成…

    Java 2023年6月6日
    069
  • 云E办接口文档

    简介: 云E办接口文档 HOST:localhost:8081 联系人:wanglufei Version:1.0 接口路径:/v2/api-docs 验证码 接口描述: 接口地址…

    Java 2023年6月5日
    069
  • 基础常用API总结2

    java.lang包下 返回值类型 方法 功能 boolean matches(String regex) 如果 当前字符串中regex(正则表达式)所表示的字符,如果有返回tur…

    Java 2023年6月8日
    089
  • Hadoop Archives(HDFS文件归档)

    Hadoop Archives Guide (HDFS文件归档)一.简介:Hadoop Archives 是特殊的归档格式,一个 Hadoop archives对应一个文件系统目录…

    Java 2023年6月9日
    080
  • Java 7 实现代码的即改即用

    import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;impor…

    Java 2023年5月29日
    0146
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球