 Java 应用与开发 - Java EE 体系结构大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 Java 应用与开发 Java EE 体系结构 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 6, 2018 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 参考书目 1. 吕海东,张坤编著,Java 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议0 码力 | 40 页 | 1.89 MB | 1 年前3 Java 应用与开发 - Java EE 体系结构大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 Java 应用与开发 Java EE 体系结构 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 6, 2018 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 参考书目 1. 吕海东,张坤编著,Java 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议0 码力 | 40 页 | 1.89 MB | 1 年前3
 MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 1 基础数据类型:多元组与结构体 2 回顾:多元组 多元组:固定⻓度的不同类型数据的集合 定义: (<表达式>, <表达式>, ...) 类型: (<表达式类型>, <表达式类型>, ...) 例如: 身份信息: ("Bob", 2023, 10, 24): (String, Int, Int, Int) 成员访问: ⼀个多元组类型的元素即是每个组成类型的元素构成的有序元素组 集合的笛卡尔积,⼜称积类型 例:扑克牌的所有花⾊:{ } 4 结构体 元组的问题在于,难以理解其所代表的数据 (String, Int) :⼀个⼈的姓名和年龄?姓名和⼿机号?地址和邮编? 结构体允许我们赋予名称 struct PersonalInfo { name: String; age: Int } struct ContactInfo 5 结构体的定义 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } struct PersonalInfo { name: String; age: Int} 定义结构体的值时,形如 { <字段名>: <值> , ... } let info: PersonalInfo = { name: "Moonbit", age: 1, } 结构体的值的定义不在意顺序:0 码力 | 26 页 | 435.86 KB | 1 年前3 MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 1 基础数据类型:多元组与结构体 2 回顾:多元组 多元组:固定⻓度的不同类型数据的集合 定义: (<表达式>, <表达式>, ...) 类型: (<表达式类型>, <表达式类型>, ...) 例如: 身份信息: ("Bob", 2023, 10, 24): (String, Int, Int, Int) 成员访问: ⼀个多元组类型的元素即是每个组成类型的元素构成的有序元素组 集合的笛卡尔积,⼜称积类型 例:扑克牌的所有花⾊:{ } 4 结构体 元组的问题在于,难以理解其所代表的数据 (String, Int) :⼀个⼈的姓名和年龄?姓名和⼿机号?地址和邮编? 结构体允许我们赋予名称 struct PersonalInfo { name: String; age: Int } struct ContactInfo 5 结构体的定义 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } struct PersonalInfo { name: String; age: Int} 定义结构体的值时,形如 { <字段名>: <值> , ... } let info: PersonalInfo = { name: "Moonbit", age: 1, } 结构体的值的定义不在意顺序:0 码力 | 26 页 | 435.86 KB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 10 从稀疏数据结构到量化数据类型从稀疏数据结构到量化数据类型 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 本课涵盖:稀疏矩阵、 unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 是负数,则得到的模也是负数。 Python 的 % 就没问题 • 7 % 4 = 3 • -7 % 4 = 1 • Python 的模运算 a % b 的值始终是 [0, b) 区间内的正数,非常方便。 对稀疏数据结构造成的问题 • 如果这里的 x 是负数,则 x % B 也是负数,会造成对 m_block 的越界访问。 • 因此 % 会返回负数对 CFD 用户来说是个很大的坑点,很多人想当然地用 % 做循环边界, 是正数,则是向下取整。 Python 的 // 就没问题 • 7 // 4 = 1 • -7 // 4 = -2 • Python 的整除运算 a // b 的值始终是向下取整,非常方便。 对稀疏数据结构造成的问题 • 也就是说,如果 x 是 [-3,0] 则 x / B 会是 0 ,如果 x 是 [0,3] 则 x / B 也是 0 。导致两个 同时跑到一个 block 上去,会出错。 高效的解决:位运算0 码力 | 102 页 | 9.50 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 10 从稀疏数据结构到量化数据类型从稀疏数据结构到量化数据类型 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 本课涵盖:稀疏矩阵、 unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 是负数,则得到的模也是负数。 Python 的 % 就没问题 • 7 % 4 = 3 • -7 % 4 = 1 • Python 的模运算 a % b 的值始终是 [0, b) 区间内的正数,非常方便。 对稀疏数据结构造成的问题 • 如果这里的 x 是负数,则 x % B 也是负数,会造成对 m_block 的越界访问。 • 因此 % 会返回负数对 CFD 用户来说是个很大的坑点,很多人想当然地用 % 做循环边界, 是正数,则是向下取整。 Python 的 // 就没问题 • 7 // 4 = 1 • -7 // 4 = -2 • Python 的整除运算 a // b 的值始终是向下取整,非常方便。 对稀疏数据结构造成的问题 • 也就是说,如果 x 是 [-3,0] 则 x / B 会是 0 ,如果 x 是 [0,3] 则 x / B 也是 0 。导致两个 同时跑到一个 block 上去,会出错。 高效的解决:位运算0 码力 | 102 页 | 9.50 MB | 1 年前3
 MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环赋值操作是⼀个命令 在⽉兔中,结构体的字段默认不可变,我们也允许可变的字段,需要⽤ mut 标识 1. struct Ref[T] { mut val : T } 2. 3. fn init { 4. let ref: Ref[Int] = { val: 1 } // ref 本身只是⼀个数据绑定 5. ref.val = 10 // 我们可以修改结构体的字段 6. println(ref println(ref.val.to_string()) // 输出 10 7. } 8 变量 我们可以将带有可变字段的结构体看作是引⽤ 1 var x = 1 x = 2 x 2 x let ref = { val : 1 } ref.val = 10 ref ref 1 10 val val mut ref = { val : 1 } ref = { val : 10 } } ref ref 1 1 val val 10 val 9 别名 指向相同的可变数据结构的两个标识符可以看作是别名 1. fn alter(a: Ref[Int], b: Ref[Int]) { 2. a.val = 10 3. b.val = 20 4. } 5. 6. fn init { 7. let x: Ref[Int] = { val : 1 } 80 码力 | 23 页 | 780.46 KB | 1 年前3 MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环赋值操作是⼀个命令 在⽉兔中,结构体的字段默认不可变,我们也允许可变的字段,需要⽤ mut 标识 1. struct Ref[T] { mut val : T } 2. 3. fn init { 4. let ref: Ref[Int] = { val: 1 } // ref 本身只是⼀个数据绑定 5. ref.val = 10 // 我们可以修改结构体的字段 6. println(ref println(ref.val.to_string()) // 输出 10 7. } 8 变量 我们可以将带有可变字段的结构体看作是引⽤ 1 var x = 1 x = 2 x 2 x let ref = { val : 1 } ref.val = 10 ref ref 1 10 val val mut ref = { val : 1 } ref = { val : 10 } } ref ref 1 1 val val 10 val 9 别名 指向相同的可变数据结构的两个标识符可以看作是别名 1. fn alter(a: Ref[Int], b: Ref[Int]) { 2. a.val = 10 3. b.val = 20 4. } 5. 6. fn init { 7. let x: Ref[Int] = { val : 1 } 80 码力 | 23 页 | 780.46 KB | 1 年前3
 Go 入门指南(The way to Go)2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 - 2 - 本文档使用 书栈(BookStack.CN) 构建 第5章:控制结构 5.1 if-else 结构 5.2 测试多返回值函数的错误 5.3 switch 结构 5.4 for 结构 5.5 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素0 码力 | 466 页 | 4.44 MB | 1 年前3 Go 入门指南(The way to Go)2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 - 2 - 本文档使用 书栈(BookStack.CN) 构建 第5章:控制结构 5.1 if-else 结构 5.2 测试多返回值函数的错误 5.3 switch 结构 5.4 for 结构 5.5 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素0 码力 | 466 页 | 4.44 MB | 1 年前3
 Go Web编程md 11.3.md。 代码文件 代码文件 代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于src/11.3/ src/11.3/目录下。在正文中按 需要添加代码。 格式规范 格式规范 正文 正文 请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一 节”的链接。 代码 代码 代码要go 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生 了。 在本章中,我们将讲述Go的安装方法,以及如何配置项目信息。 目录 目录 links links 目录 下一节: Go安装 6 1.1 Go 安装 1.1 Go 安装 Go的三种安装方式 Go的三种安装方式 Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式: 并设置相应的环境变量。 Go使用Mercurial进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行 如下代码: 假设已经位于Go的安装目录 $GO_INSTALL_DIR下 hg clone -u release https://code.google.com/p/go cd go/src ./all.bash 运行all.bash后出现"ALL0 码力 | 295 页 | 5.91 MB | 1 年前3 Go Web编程md 11.3.md。 代码文件 代码文件 代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于src/11.3/ src/11.3/目录下。在正文中按 需要添加代码。 格式规范 格式规范 正文 正文 请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一 节”的链接。 代码 代码 代码要go 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生 了。 在本章中,我们将讲述Go的安装方法,以及如何配置项目信息。 目录 目录 links links 目录 下一节: Go安装 6 1.1 Go 安装 1.1 Go 安装 Go的三种安装方式 Go的三种安装方式 Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式: 并设置相应的环境变量。 Go使用Mercurial进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行 如下代码: 假设已经位于Go的安装目录 $GO_INSTALL_DIR下 hg clone -u release https://code.google.com/p/go cd go/src ./all.bash 运行all.bash后出现"ALL0 码力 | 295 页 | 5.91 MB | 1 年前3
 Go 入门指南(The way to Go)章),以及如何安装 Go 语言(第 2 章)和开发 环境(第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三 语言通过改善或去除在 C、C++ 或 Java 中的一些所谓“开放”特性来让开发者们的工作更加便利。 这里只举例其中的几个,比如对于变量的默认初始化,内存分配与自动回收,以及更简洁却不失健壮的控 制结构。同时我们也会发现 Go 语言旨在减少不必要的编码工作,这使得 Go 语言的代码更加简洁,从而 比传统的面向对象语言更容易阅读和理解。 与 C++ 或 Java 这些有着庞大体系的语言相比,Go Go 语言的语法标准,你也可以在 src/cmd/internal/gc/go.y 中查看到,这种语法标准在编译 时不需要符号表来协助解析。 1.2.5 语言的特性 Go 语言从本质上(程序和结构方面)来实现并发编程。 Go入门指南 - 9 - 本文档使用 看云 构建 因为 Go 语言没有类和继承的概念,所以它和 Java 或 C++ 看起来并不相同。但是它通过接口 (interface)的概念来实现多态性。Go0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)章),以及如何安装 Go 语言(第 2 章)和开发 环境(第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三 语言通过改善或去除在 C、C++ 或 Java 中的一些所谓“开放”特性来让开发者们的工作更加便利。 这里只举例其中的几个,比如对于变量的默认初始化,内存分配与自动回收,以及更简洁却不失健壮的控 制结构。同时我们也会发现 Go 语言旨在减少不必要的编码工作,这使得 Go 语言的代码更加简洁,从而 比传统的面向对象语言更容易阅读和理解。 与 C++ 或 Java 这些有着庞大体系的语言相比,Go Go 语言的语法标准,你也可以在 src/cmd/internal/gc/go.y 中查看到,这种语法标准在编译 时不需要符号表来协助解析。 1.2.5 语言的特性 Go 语言从本质上(程序和结构方面)来实现并发编程。 Go入门指南 - 9 - 本文档使用 看云 构建 因为 Go 语言没有类和继承的概念,所以它和 Java 或 C++ 看起来并不相同。但是它通过接口 (interface)的概念来实现多态性。Go0 码力 | 380 页 | 2.97 MB | 1 年前3
 FISCO BCOS 1.3 中文文档程序部署 获取代码 新建一个目录,例如/mydata sudo mkdir -p /mydata sudo chmod 777 /mydata cd /mydata clone 源码 git clone https://github.com/FISCO-BCOS/FISCO-BCOS.git 安装FISCO-BCOS 切换到FISCO-BCOS目录下,执行FISCO-BCOS安装脚本。脚本自动下载并安 -o 根证书生成的目录 bash generate_chain_cert.sh -o /mydata 配置机构证书 生成机构(agency)证书,假设生成机构test_agency cd /mydata/FISCO-BCOS/tools/scripts/ #bash generate_agency_cert.sh -c 生成机构证书所需的根证书所在目录 -o 机构证书 生成目录 -n 机构名 bash 成的机构test_agency生 成SDK证书 cd /mydata/FISCO-BCOS/tools/scripts/ # bash generate_sdk_cert.sh -d 机构证书的目录 bash generate_sdk_cert.sh -d /mydata/test_agency/ 生成过程中需要输入几次密码,测试环境的默认输入123456即可. bash generate_sdk_cert0 码力 | 491 页 | 5.72 MB | 1 年前3 FISCO BCOS 1.3 中文文档程序部署 获取代码 新建一个目录,例如/mydata sudo mkdir -p /mydata sudo chmod 777 /mydata cd /mydata clone 源码 git clone https://github.com/FISCO-BCOS/FISCO-BCOS.git 安装FISCO-BCOS 切换到FISCO-BCOS目录下,执行FISCO-BCOS安装脚本。脚本自动下载并安 -o 根证书生成的目录 bash generate_chain_cert.sh -o /mydata 配置机构证书 生成机构(agency)证书,假设生成机构test_agency cd /mydata/FISCO-BCOS/tools/scripts/ #bash generate_agency_cert.sh -c 生成机构证书所需的根证书所在目录 -o 机构证书 生成目录 -n 机构名 bash 成的机构test_agency生 成SDK证书 cd /mydata/FISCO-BCOS/tools/scripts/ # bash generate_sdk_cert.sh -d 机构证书的目录 bash generate_sdk_cert.sh -d /mydata/test_agency/ 生成过程中需要输入几次密码,测试环境的默认输入123456即可. bash generate_sdk_cert0 码力 | 491 页 | 5.72 MB | 1 年前3
 Rust 程序设计语言简体中文版Rust 程序设计语言 简体中文版 Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 ...................................................................................................................... 5 前言 ....................... ............................... 91 5. 使用结构体组织相关联的数据 ............................................................................................ 101 5.1. 结构体的定义和实例化 ................................. ................................................................ 102 5.2. 结构体示例程序 ............................................................................................................ 109 5.3. 方法语法0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版Rust 程序设计语言 简体中文版 Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 ...................................................................................................................... 5 前言 ....................... ............................... 91 5. 使用结构体组织相关联的数据 ............................................................................................ 101 5.1. 结构体的定义和实例化 ................................. ................................................................ 102 5.2. 结构体示例程序 ............................................................................................................ 109 5.3. 方法语法0 码力 | 600 页 | 12.99 MB | 1 年前3
 FISCO BCOS 2.9.0 中文文档运维部署工具 693 20 数据治理通用组件 745 21 多方协作治理组件 751 22 区块链应用开发组件 759 i 23 整体架构 767 24 区块链交易流程 773 25 数据结构与编码协议 779 26 核心模块设计解析 783 27 MVP 867 28 贡献者 871 29 合作伙伴 879 30 深入浅出FISCO BCOS 903 31 社区资源和更多开源工具 共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量 高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。 • 存储:世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性 能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持 数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。 在很多场景中非常有意义; • 分布式存储不仅支持Key-Value形式,还支持SQL方式,使得业务开发更为简便; • 世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降 的问题; • 优化了数据存储的结构,更节约存储空间。 同时,2.0版本仍然兼容1.0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 2.1.3 并行计算模型 2.00 码力 | 1489 页 | 107.09 MB | 1 年前3 FISCO BCOS 2.9.0 中文文档运维部署工具 693 20 数据治理通用组件 745 21 多方协作治理组件 751 22 区块链应用开发组件 759 i 23 整体架构 767 24 区块链交易流程 773 25 数据结构与编码协议 779 26 核心模块设计解析 783 27 MVP 867 28 贡献者 871 29 合作伙伴 879 30 深入浅出FISCO BCOS 903 31 社区资源和更多开源工具 共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量 高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。 • 存储:世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性 能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持 数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。 在很多场景中非常有意义; • 分布式存储不仅支持Key-Value形式,还支持SQL方式,使得业务开发更为简便; • 世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降 的问题; • 优化了数据存储的结构,更节约存储空间。 同时,2.0版本仍然兼容1.0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 2.1.3 并行计算模型 2.00 码力 | 1489 页 | 107.09 MB | 1 年前3
共 493 条
- 1
- 2
- 3
- 4
- 5
- 6
- 50














 
 