next

vue组件的keep-alive

我与影子孤独终老i 提交于 2020-12-16 10:23:12
keep-alive> 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。    <keep-alive> 包裹动态组件时,会 缓存不活动的组件实例 ,而不是销毁它们。    <keep-alive> 与 <transition> 相似,只是一个抽象组件,它不会在DOM树中渲染(真实或者虚拟都不会),也不在父组件链中存在,比如:你永远在 this.$parent 中找不到 keep-alive 。 1、prop: include: 字符串或正则表达式。只有匹配的组件会被缓存。 exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。   exclude优先级大于include   在2.1.0版本Vue中常见用法: // 组件 export default { name: ' test-keep-alive ' , data () { return { includedComponents: " test-keep-alive " } } } <keep-alive include= " test-keep-alive " > <!-- 将缓存name为test-keep-alive的组件 --> <component></component> </keep-alive> <keep-alive include= " a,b " > <!--

List的三种遍历法(望各路神仙给菜鸟我 指点指点)

痞子三分冷 提交于 2020-12-16 10:20:40
package collection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class MyList { /** * @param args */ public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); //List的第一种遍历法 for(String str:list){ System.out.print(str+" "); //打印 aa bb cc dd } System.out.println(); //List的第二种遍历法 for(int i=0;i<list.size();i++){ if(i!=list.size()-1){ System.out.print(list.get(i)+" "); //这个remove(i)是移除上面打印的, list.remove(i); }else{ System.out.print(list.get(i)); } //打印为aa cc } /

数据结构与算法之PHP实现链表类(单链表/双链表/循环链表)

走远了吗. 提交于 2020-12-16 06:59:29
链表是由一组 节点 组成的集合。每个节点都使用一个对象的引用指向它的后继。指向另一个节点的引用叫做 链 。 链表分为单链表、双链表、循环链表。 一、单链表 插入:链表中插入一个节点的效率很高。向链表中插入一个节点,需要修改它前面的节点(前驱),使其指向新加入的节点,而新加入的节点则指向原来前驱指向的节点(见下图)。 由上图可知,B、C之间插入D,三者之间的关系为 current为插入节点的前驱节点 current->next = new // B节点指向新节点D new->next = current->next // 新节点D指向B的后继节点C 删除:从链表中删除一个元素,将待删除元素的前驱节点指向待删除元素的后继节点,同时 将待删除元素指向 null,元素就删除成功了 (见下图)。 由上图可知,A、C之间删除B,三者之间的关系为 current为要删除节点的前驱节点 current->next = current->next->next // A节点指向C节点 具体代码如下: <? php // 节点类 class Node { public $data ; // 节点数据 public $next ; // 下一节点 public function __construct( $data ) { $this ->data = $data ; $this -> next =

一条简单的更新语句,MySQL是如何加锁的?

假如想象 提交于 2020-12-16 06:54:52
看如下一条sql语句: #tableT(idint,namevarchar(20))deletefromTwhereid=10; MySQL在执行的过程中,是如何加锁呢? 再看下面这条语句: select*fromTwhereid=10; 那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识。 相关知识介绍 多版本并发控制 在MySQL默认存储引擎InnoDB中,实现的是基于多版本的并发控制协议——MVCC(Multi-Version Concurrency Control)(注:与MVVC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。 其中MVCC最大的好处是:读不加锁,读写不冲突。在读多写少的OLTP应用中,读写不冲突是非常重要的,极大的提高了系统的并发性能,在现阶段,几乎所有的RDBMS,都支持MVCC。其实,MVCC就一句话总结:同一份数据临时保存多个版本的一种方式,进而实现并发控制。 当前读和快照读 在MVCC并发控制中,读操作可以分为两类:快照读与当前读。 快照读(简单的select操作):读取的是记录中的可见版本(可能是历史版本),不用加锁。这你就知道第二个问题的答案了吧。 当前读(特殊的select操作、insert、delete和update):读取的是记录中最新版本

一条简单的更新语句,MySQL是如何加锁的?

冷暖自知 提交于 2020-12-16 06:54:40
如下一条sql语句: [SQL] 纯文本查看 复制代码 ? # table T (id int , name varchar (20)) delete from T where id = 10; MySQL在执行的过程中,是如何加锁呢? 在看下面这条语句: [SQL] 纯文本查看 复制代码 ? select * from T where id = 10; 那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识。 相关知识介绍 多版本并发控制 在MySQL默认存储引擎InnoDB中,实现的是基于多版本的并发控制协议——MVCC(Multi-Version Concurrency Control)(注:与MVVC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。其中MVCC最大的好处是:读不加锁,读写不冲突。在读多写少的OLTP应用中,读写不冲突是非常重要的,极大的提高了系统的并发性能,在现阶段,几乎所有的RDBMS,都支持MVCC。其实,MVCC就一句话总结:同一份数据临时保存多个版本的一种方式,进而实现并发控制。 当前读和快照读 在MVCC并发控制中,读操作可以分为两类:快照读与当前读。 快照读(简单的select操作):读取的是记录中的可见版本(可能是历史版本),不用加锁。这你就知道第二个问题的答案了吧。 当前读

数据结构-双链表

笑着哭i 提交于 2020-12-16 03:24:53
数据结构:双链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点 双链表和单链表的区别 单链表对于一个节点,有储存数据的data。和next后驱节点(指针)。也就是这个单链表想要一些遍历的操作都得通过前节点—>后节点。 双链表对于一个节点,有些和单链表一样有存储数据的data,指向后方的next(指针)。它拥有单链表的所有操作和内容。但是他还有一个前驱节点front(指针)。 单链表一般都有一个头结点,双向链表可以没有头结点。 本次创建的为一个没有头结点的双链表 双链表的创建 typedef struct dlinklist { /*数据域*/ int number; /*前驱指针*/ struct dlinklist *front; /*后驱指针*/ struct dlinklist *next; }DLlinkList; 正因为拥有两个指针,所以双链表可以正向遍历也可以反向遍历。 双链表的初始化 DLlinkList* init_list(int n) { int i; DLlinkList *head,*node,*end; if(n <= 0) { return NULL; } node = (DLlinkList*)malloc(sizeof

一条简单的更新语句,MySQL是如何加锁的?

和自甴很熟 提交于 2020-12-16 01:55:02
看如下一条sql语句: # table T (id int, name varchar(20)) delete from T where id = 10 ; MySQL在执行的过程中,是如何加锁呢? 再看下面这条语句: select * from T where id = 10 ; 那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识。 相关知识介绍 多版本并发控制 在MySQL默认存储引擎InnoDB中,实现的是基于多版本的并发控制协议——MVCC(Multi-Version Concurrency Control)(注:与MVVC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。其中MVCC最大的好处是:读不加锁,读写不冲突。 在读多写少的OLTP应用中,读写不冲突是非常重要的,极大的提高了系统的并发性能,在现阶段,几乎所有的RDBMS,都支持MVCC。其实,MVCC就一句话总结:同一份数据临时保存多个版本的一种方式,进而实现并发控制。 当前读和快照读 在MVCC并发控制中,读操作可以分为两类:快照读与当前读。 快照读(简单的select操作):读取的是记录中的可见版本(可能是历史版本),不用加锁。这你就知道第二个问题的答案了吧。 当前读(特殊的select操作、insert、delete和update)

简要记录丨Windows 下 VSCode 搭建基础 C/C++ 编译环境

丶灬走出姿态 提交于 2020-12-15 15:16:08
道阻且长,行则将至。埋头苦干,不鸣则已,一鸣惊人!加油,骚年! 文章目录 1 参考资料 2 简要说明 3 正文记录 3.1 软件安装 3.2 扩展插件安装 3.3 C/C++ 编译器安装 3.4 VSCode C/C++ 环境配置 3.4.1 C++ 编译环境配置 3.4.2 C 编译环境配置 4 编译程序测试 5 总结 1 参考资料 Visual Studio Code 如何编写运行 C、C++ 程序? - 谭九鼎的回答 - 知乎 (https://www.zhihu.com/question/30315894/answer/154979413) vscode 配置 C/C++ 编译环境 教程( https://blog.csdn.net/qq_43041976/article/details/100542557 )   谢谢各位前辈的教程帮助,十分感激! 2 简要说明   首先要明白,VSCode 仅仅只是一个文本编辑器而已,类似记事本、 Sublime Text 等,本身不具备编译器的功能。   但是 VSCode 可以通过安装各种扩展插件,实现代码编译、调试、运行等功能。   我觉得首先概念要正确,然后才能好好正视这个软件,参考知乎回答解释如下: VSC 只是一个纯文本编辑器( editor ),不是 IDE (集成开发环境),不含编译器( compiler

date命令详解

[亡魂溺海] 提交于 2020-12-15 09:50:16
原文链接:https://www.cnblogs.com/qmfsun/p/4598650.html date "+今天是%Y-%d-%m,现在是%H:%M:%S" 1. 显示时间 date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间。如下: 如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下: %n : 下一行 %t : 跳格 %H : 小时(00-23) %I : 小时(01-12) %k : 小时(0-23) %l : 小时(1-12) %M : 分钟(00-59) %p : 显示本地 AM 或 PM %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00-60) %T : 直接显示时间 (24 小时制) %X : 相当于 %H:%M:%S %Z : 显示时区 %a : 星期几 (Sun-Sat) %A : 星期几 (Sunday-Saturday) %b : 月份 (Jan-Dec) %B : 月份 (January-December) %c : 直接显示日期与时间 %d : 日 (01-31) %D : 直接显示日期 (mm/dd/yy) %h : 同 %b %j : 一年中的第几天

[转]关于mysql多版本并发控制

↘锁芯ラ 提交于 2020-12-15 09:44:24
多版本并发控制(MVCC) MVCC 的思路是这样:我们为每一个事务都分配连续递增的ID(XID),同时每次更新一行数据的时候,为这一行生成一个新版本,并在新版本上记录执行这次修改事务的XID。同时全局维护一个当前未提交的事务 XID 列表(后续简称 xid_set)。 当我们要读数据的时候,首先记录当前最大的事务ID是多少(后续简称 next_xid),比这个值更大的事务在我们读数据时都还没开始执行,所以当读到数据版本XID比 next_xid 大的时候,说明当前版本在本次查询中不应该被读到,需要找这一行数据更早的版本了。但并不是 XID 比 next_xid 小的版本就一定都可以被读到,因为可能之前的一些事务还没有提交。所以在开始读数据时,除了记录 next_xid,还需要记录此时全局未提交的事务 XID 列表(就是复制一份这一时刻的 xid_set)。当读到的版本 XID 小于 next_xid 且不在 xid_set 中,这个数据就是当前应该被读取到的版本了。 所以读操作应当看见哪些版本,受这两个值的影响: 开始读操作时的最大的事务ID next_xid 开始读操作时未提交的事务ID列表 xid_set 这两个值唯一确定了一份数据快照(ReadView),限制了当前读事务一定只能读到已提交的数据版本,无法读到执行到一半还未提交的事务产生的变更。当写事务提交时