C++快速入门之operator operatorC++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换。对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式转换,我们下面就用以下这个小例子温故一下这两种用法: #include <iostream> #include <sstream> using namespac 2021-06-02 C&C++ C++ c++
C++快速入门之inline inline当程序执行函数调用指令时,CPU将存储该函数调用后指令的内存地址,将函数的参数复制到堆栈上,最后将控制权转移到指定的函数。然后,CPU执行函数代码,将函数返回值存储在预定义的内存位置/寄存器中,并将控制权返回给调用函数。如果函数的执行时间少于从调用者函数到被调用函数(被调用者)的切换时间,则这可能会成为开销。 对于大型函数和/或执行复杂任务的函数,与函数运行所花费的时间相比,函数调用的 2021-06-02 C&C++ C++ c++
C++快速入门之virtual virtual为什么需要virtual,因为C++选择了优先静态绑定,所以需要一个特别的关键字来告诉编译器这个函数需要动态绑定(动态绑定通常就是所谓的“多态”)。为什么Object-C没有这样的关键字?因为据我所知,Object-C等语言选择了动态绑定,所以它们没有像C++里面的静态绑定函数(不带virtual的),所以就不需要这个关键字。大体上相当于其函数都是virtual的…… 从语言风格上说 2021-06-02 C&C++ C++ c++
Activiti 数据库表结构 文档适用于 Activiti 5-6 Activiti 工作流总共包含 23 张数据表(现在是25张,新增了 ACT_EVT_LOG 和 ACT_PROCDEF_INFO ) 表名规则Activiti 使用到的表都是 ACT_ 开头的。表名的第二部分用两个字母表明表的用途。 ACT_GE_ (GE) 表示 general 全局通用数据及设置,各种情况都使用的数据。 ACT_HI_ (HI) 2021-04-02 BPM Activiti bpm activiti 数据库设计
Windows10系统,MySQL8.x zip安装 下载https://dev.mysql.com/downloads/mysql/ 配置在Windows系统中,配置文件默认是安装目录下的 my.ini 文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改。当然,极端情况下,所有的都是可以更改的。 在安装根目录下添加 my.ini,比如我这里是:D:\app\mysql-8.0.19-winx64\my.ini,写入基本配置: [m 2021-04-02 工具 安装教程 tool mysql
Liquibase 报错 Found 2 files that match 错误信息Starting Liquibase at 22:26:47 (version 4.2.2 #36 built at 2020-12-09 20:07+0000) Unexpected error running Liquibase: Found 2 files that match io/jmix/securitydata/liquibase/changelog/001-security 2021-02-26 Jmix jmix liquibase
Jmix_0.3.1 项目 liquibase 删除索引失败问题 问题描述当你添加对象关系时,系统默认会给你将当前字段设为索引! 但代码里却没有显示指定对应索引的话,下次扫描时 liquibase 会创建删除索引的changelog,但由于对象关系引用的需要所以就会报错! 问题处理 手动添加关联对象相对于的索引 删除 需要删除索引的changelog文件 启动项目 总结Jmix 好用,但新框架还很多Bug,新手程序员 使用的话很容易掉坑!🙄 2021-02-26 Jmix jmix liquibase
分布式:一致性协议 前言一致性模型本质上是进程与数据存储的约定,通过一致性模型我们可以理解和推理在分布式系统中数据复制需要考虑的问题和基本假设。那么,一致性模型的具体实现有一些呢?本文会介绍一致性协议实现的主要思想和方法。 什么是一致性协议一致性协议描述了特定一致性模型的实际实现。 一致性模型就像是接口,而一致性协议就像是接口的具体实现。一致性模型提供了分布式系统中数据复制时保持一致性的约束,为了实现一致性模型的约束 2021-02-15 架构 分布式 分布式