版本号

Git复习(三)之使用

拜拜、爱过 提交于 2019-11-27 10:27:40
创建版本库 git init 进入一个文件,执行该命令此时目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到 .git 目录,那是因为这个目录默认是 隐藏的,用 ls -ah 命令就可以看见。 添加文件到Git仓库 第一步:添加到暂存区 git add xxx xxx可以是“.”表示所有文件,也可以是指定的文件名,该命令可反复多次使用,添加多个文件 第二步:提交到仓库 git commit -m "xxx" xxx是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。 执行完该命令可能会提示: 1 file changed :1个文件被改动 2 insertions :插入了两行内容 ⚠️如果不用 git add 到暂存区,那就不会加入到 commit 中 查看当前工作区的状态 git status 执行完该命令可能会提示: Changes not staged for commit(还没有准备提交的修改) 查看修改内容 情况一:查看当前文件的修改 git diff xxx xxx想要查看修改的文件名 情况二:查看当前版本和版本库最新版本的区别 git reset HEAD -- xxx xxx想要查看修改的文件名 查看提交历史

乐观锁的一种实现方式——CAS

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 09:26:49
在 深入理解乐观锁与悲观锁 一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。 线程安全 众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程中的操作执行顺序是不可预测的。 Java里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性。加上复合操作的原子性,我们可以认为Java的线程安全性问题主要关注点有3个:可见性、有序性和原子性。 Java内存模型 (JMM)解决了可见性和有序性的问题,而锁解决了原子性的问题。这里不再详细介绍JMM及锁的其他相关知识。但是我们要讨论一个问题,那就是锁到底是不是有利无弊的? 锁存在的问题 Java在JDK1.5之前都是靠 synchronized 关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程持有共享变量的锁,都采用独占的方式来访问这些变量。独占锁其实就是一种悲观锁,所以可以说 synchronized 是悲观锁。 悲观锁机制存在以下问题: 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。

u-boot

谁说胖子不能爱 提交于 2019-11-27 06:39:52
1.解压好u-boot后,打开uboot根目录的README文件,在software configuration 里有写明,如果要针对某个单板进行配置,需要执行:make <board_name>_config 其中uboot支持的board_name可以在根目录的include/configs/下查看。 2.makefile 2.1 uboot version确定 (Makefile 24-29行) U_BOOT_VERSION “1.3.4xyz” 1)uboot版本号分为4个级别: VERSION : 主板号 PATCHLEVEL : 次版本号 SUBLEVEL : 再次版本号 EXTRAVERSION : 另外附加的版本信息 这4个用 . 分隔开共同构成了最终的版本号。 2)makefile中版本号最终生成一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号。 Include/version_autogenerated.h文件是编译过程中自动生成的一个文件,所有源目录中没有,但是编译过后的uboot中就有了。它里面的内容是一个宏定义,宏定义的值就是我们在Makefile中配置的uboot版本号。 3)验证方法:自己修改主makefile中几个version有关的变量,然后编译uboot,然后烧录到SD卡中,从SD卡中启动

Mysql中MVCC的使用及原理详解

房东的猫 提交于 2019-11-27 05:32:29
转载自: https://blog.csdn.net/w2064004678/article/details/83012387 准备 测试环境:Mysql 5.7.20-log 数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别 创建一张存储引擎为testmvcc的表,sql为: CREATE TABLE testmvcc ( id int( 11) DEFAULT NULL, name varchar( 11) DEFAULT NULL ) ENGINE= InnoDB DEFAULT CHARSET=utf8; 什么是MVCC? 英文全称为Multi-Version Concurrency Control,翻译为中文即 多版本并发控制。在小编看来,他无非就是乐观锁的一种实现方式。在Java编程中,如果把乐观锁看成一个接口,MVCC便是这个接口的一个实现类而已。 特点 1.MVCC其实广泛应用于数据库技术,像Oracle,PostgreSQL等也引入了该技术,即适用范围广 2.MVCC并没有简单的使用数据库的行锁,而是使用了行级锁,row_level_lock,而非InnoDB中的innodb_row_lock. 基本原理 MVCC的实现,通过保存数据在某个时间点的快照来实现的。这意味着一个事务无论运行多长时间

Git复习(三)之使用

十年热恋 提交于 2019-11-27 05:08:54
创建版本库 git init 进入一个文件,执行该命令此时目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到 .git 目录,那是因为这个目录默认是 隐藏的,用 ls -ah 命令就可以看见。 添加文件到Git仓库 第一步:添加到暂存区 git add xxx xxx可以是“.”表示所有文件,也可以是指定的文件名,该命令可反复多次使用,添加多个文件 第二步:提交到仓库 git commit -m "xxx" xxx是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。 执行完该命令可能会提示: 1 file changed :1个文件被改动 2 insertions :插入了两行内容 ⚠️如果不用 git add 到暂存区,那就不会加入到 commit 中 查看当前工作区的状态 git status 执行完该命令可能会提示: Changes not staged for commit(还没有准备提交的修改) 查看修改内容 情况一:查看当前文件的修改 git diff xxx xxx想要查看修改的文件名 情况二:查看当前版本和版本库最新版本的区别 git reset HEAD -- xxx xxx想要查看修改的文件名 查看提交历史

git 使用

自古美人都是妖i 提交于 2019-11-27 00:50:00
相信小伙伴们对git不陌生吧,但是究竟git是怎么样工作的,它的构成又是怎么样的呢?我们来看看: 上图很明显的说明,git是又4个部分组成的: 工作区域--add-->暂存区域--commit-->本地版本仓库--push-->远程版本仓库 基本指令 1. add git add -u:将文件的修改、文件的删除,添加到暂存区。 git add .:将文件的修改,文件的新建,添加到暂存区。 git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区。 虽然网上是如上这么说,但是我试过好像git add . 和git add -A 效果是一样的。 2.commit commit -m:把暂存区的内容提交到本地版本区 commit -a -m:相当于git add -u和git commit -m组合 3.log 可以查看每个commit的版本号: 4.reflog 和log很像,比log能看得更多,git reset也可以看到 5.reset reset: "git reset --hard 版本号 " 执行这句就可以回滚代码回到对应的版本了,我们常用回滚 本地分支 的代码 其中版本号是上面红框的随机字符串,和git log的commit右边的字符串,一般取开头的几位就ok了 例如git reset --hard ad208 6.revert revert:也是回滚版本

修改nginx的版本号

只谈情不闲聊 提交于 2019-11-27 00:21:26
隐藏http头中的nginx版本号看起来更安全些。 要修改版本号可以后样: vi path/to/nginx/src/core/nginx.h 文件内容如下: #define nginx_version 1000000 #define NGINX_VERSION "1.0.0" #define NGINX_VER "nginx/" NGINX_VERSION #define NGINX_VAR "NGINX" #define NGX_OLDPID_EXT ".oldbin" 其中 NGINX_VERSION 后面 1.0.0 就是版本号,改后重新编辑即可。 转载于:https://www.cnblogs.com/jmax/archive/2011/04/13/2015468.html 来源: https://blog.csdn.net/weixin_30802273/article/details/99222539

Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用

我怕爱的太早我们不能终老 提交于 2019-11-26 23:02:17
title: Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用 date: 2015-12-27 19:16:07 categories: Android Studio tags: [Android Studio,gradlew] 博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 Android Studio 多渠道打包 Android Studio 真可谓神器,详细请点这里: 打造安卓开发航空母舰 这里介绍其多渠道打包: 1 建立多渠道 这里介绍一种简单的,直接as操作: 直接上图咯,在项目结构你添加flavor就好了 1 确定后,项目会自动同步,完成后,渠道就配置好了。 当然,也可以直接在gradle脚本里操作: android { productFlavors { dev { manifestPlaceholders = [channel: "dev" ] } official { manifestPlaceholders = [channel: "official" ] } xiaomi { manifestPlaceholders = [channel: "xiaomi" ] } wandoujia { manifestPlaceholders = [channel: "wandoujia" ] }

windos下 nvm安装使用

被刻印的时光 ゝ 提交于 2019-11-26 17:15:59
1,下载nvm (直接下载安装无需配置) 链接:https://pan.baidu.com/s/1lvObzz_2jGi5p5jrLLf9kw 提取码:kcej 2,安装完成后检测一下是否安装成功 在命令行输入 nvm ,如果出现nvm版本号和一系列帮助指令,则说明nvm安装成功; 否则,可能会提示 nvm: command not found 3,修改settings.txt 在你安装的目录下找到settings.txt文件,打开后加上 node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/ 4,已经大功告成,可以开始使用 nvm list 查看目前已经安装的版本 nvm list available 显示可下载版本的部分列表 nvm install 版本号 安装指定的版本的nodejs nvm use 版本号 使用指定版本的nodejs 来源: https://www.cnblogs.com/u-1596086/p/11328777.html

Maven实战读书笔记(14)

走远了吗. 提交于 2019-11-26 17:01:56
什么是版本管理? 版本管理是指项目整体版本的演变过程管理,如从 1.0-SNAPSHOT 到 1.0 再到 1.1-SNAPSHOT 什么是版本控制? 版本控制是指借助版本控制工具(如 Subversion )追踪代码的每一个变更 什么时候可以将快照版本更新为发布版本 1 、所有自动化测试应当全部通过 2 、项目没有配置任何快照版本的依赖 3 、项目没有配置任何快照版本的插件 4 、项目所包含的代码已经全部提交到版本控制系统中 Maven 的版本号定义约束 可能有个版本号是这样的, 1.3.4-beta-2 Maven 的版本号定义约定是这样的, < 主版本 >.< 次版本 >.< 增量版本 >-< 里程碑版本 > 1 、主版本:表示项目的重大架构变更 2 、次版本:表示较大范围的功能增加和变化 3 、增量版本:一般表示重大 Bug 的修复 4 、里程碑版本:顾名思义,这往往指某一个版本的里程碑。例如, Maven 3 已经发布了很多里程碑版本,如 3.0-alpha-1 、 3.0-alpha-2 、 3.0-beta-1 等,这样的版本与正式的 3.0 相比,往往表示不是非常稳定,还需要很多测试 关于版本号需要注意的地方 1 、不是每个版本号都必须拥有这四个部分,一般来说,主版本和次版本都会声明,但增量版本和里程碑就不一定了 2 、当用户在声明依赖或插件未声明版本时,