Jenkins详细教程
最近花了一段时间研究jenkins这个工具。所以写下这篇文章,算是当做记录吧!一、jenkins是什么? Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行…
volatile关键字作用
volatile是一个和多线程相关的关键字,主要有一下2点作用(只保证可见性,不保证原子性) 防止指令重排(有序性) JVM在不改变程序执行结果的前提下,在编译时会对指令的顺序进行重新排序,而volatile关键字则能够禁止指令的重新排序能够确保线程内存中的对象对其他内存可见。(可见性) 正常情况下每个线程操作共享变量时需要经历如下几个步骤 如果某个线程(线程01)要操作主内存中的变量A,则该线程…
尾插法建立单链表并输出单链表。
#include <iostream> using namespace std; typedef struct LNode{ int data; struct LNode *next; }LNode; int createlistR(LNode *&C,int a[],int n){ LNode *s,*r; int i; C=(LNode*)malloc(sizeof(LNo…
el-select 为每一项添加图标
<div class="selectbtype"> <el-select v-model="btypeId" placeholder="请选择" @change="handleSelect" > <el-option v-for="item in btypeArr" :key="item.id" :label="item.title" :value="item.id"…
C++:初始值设定项
C++:初始值设定项 简介初始化类型零初始化默认初始化常量变量的默认初始化静态变量的默认初始化值初始化复制初始化直接初始化列表初始化聚合初始化初始化联合和结构初始化包含聚合的聚合引用初始化外部变量的初始化 简介 初始值设定项可指定变量的初始值。 你可以在以下上下文中初始化变量: 在变量的定义中: int i = 3; Point p1{ 1, 2 }; 作为函数的一个参数: set_point(P…
Channel 通信
1、通道上的发送发生在该通道上的相应接收完成之前。 var c = make(chan int, 10) var a string func f() { a = "hello, world" c <- 0//close(c) } func main() { go f() <-c print(a) } 确保打印: “hello, world”。 2、通道关闭发生在由于通道关闭而返回零值的…
Vim学习日记之三(bashrc)
Vim学习日记之三(bashrc) 文章目录 Vim学习日记之三(bashrc)前言一、Vim配置文件简介 前言 Vim的配置文件提供许多个性化的功能,如字体颜色,行号显示,允许使用鼠标等设置,方便使用。 一、Vim配置文件简介 Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim。 Vim 配置文件分为系统配置文件和用户配置文件: 系统配置…
adb 备份和还原apk应用数据
.版本 2 ' 备份应用数据 adbCom = “adb pull /data/data/org.telegram.messenger/ C:\1” ' 备份apk数据 adbCom = “adb pull /data/app/org.telegram.messenger-1 C:\1.apk” ' 还原应用数据 adbCom = “adb -s 127.0.0.1:21503 push C:\1…
使用stream流简化对集合的操作
使用stream流筛选集合中的数据 使用传统的方式来筛选集合中的元素,我们可以想象到的方式就是遍历集合,将符合条件的元素存入一个新的集合中,或者将不符合的元素从集合中剔除。可是如果一旦筛选条件不止一个的时候,就会发现这种处理方式很繁琐,所以这个时候可以考虑使用jdk8的新特性,流式操作,再配合上lambda表达式和函数引用来简化代码的书写 常用方法 终结方法:返回值类型不再是Stream接口自身类…