变量

Windows 下环境变量详解

妖精的绣舞 提交于 2020-03-07 22:43:43
Windows 下环境变量详解 一个环境变量肯定先是一个变量 既然是一个变量,那么其值的改变就可以改变某个程序的运行结果,变量值可能会在执行期间被修改。变量可以通过不同的语法来设置,调用和清除。在计算机上则表现为 影响其运行进程的行为 。 每个应用程序都会引用环境变量 ,如计算机登录时将主目录设置为一个环境变量。 Windows 普通权限 打开 cmd 或 PowerSehll 程序时,则会默认打开这样一个目录。 %USERPROFILE% Windows 管理员权限 打开 cmd 或 PowerSehll 程序时,则会默认打开这样一个目录 %SystemRoot%\system32 因为计算机在查找 运行该进程的用户所拥有的目录结构 ,并将其显示出来。不同权限的用户,在不同目录下打开的 cmd 或 powershell 进程时其目录结构肯定是不同的,所以显示的目录也就不同。Linux 或 Mac 下打开终端会显示 HOME 变量。 真环境变量 进程是由一个或多个线程执行的计算机程序的实例。它包含程序代码及其活动。根据操作系统的不同,一个线程可以由多个并发指令的执行线程组成。多个进程可能与同一程序相关联。例如, 打开同一个程序的多个实例通常会执行多个进程 。一个 Chrome (程序)用标签页或新窗口打开多个 网站 (多个实例)任务管理器中的 进程 会增加对应的数量。 每个 进程

并发编程系列(十四)CAS详解与Unsafe类的应用

泪湿孤枕 提交于 2020-03-07 21:23:35
我们在前面的并发编程系列文章中,提到过CAS但是我们当时没有过多地进行解释,提到CAS我们首先应该理解一下JAVA中的乐观锁, 乐观锁就是每次不加锁而是假设没有冲突而去完成某项操作 ,如果因为冲突失败就重试,直到成功为止。 乐观锁用到的机制就是CAS,Compare and Swap(比较与交换)。 什么是CAS CAS,Compare and Swap(比较与交换)。 我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。 在Java发展初期,java语言是不能够利用硬件提供的这些便利来提升系统的性能的。而随着java不断的发展,Java本地方法(JNI)的出现,使得java程序越过JVM直接调用本地方法提供了一种便捷的方式,因而java在并发的手段上也多了起来。而在Doug Lea提供的cucurenct包中,CAS理论是它实现整个java包的基石。 CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。无论哪种情况,它都会在 CAS 指令之前返回该 位置的值。(在 CAS 的一些特殊情况下将仅返回

函数二

孤街浪徒 提交于 2020-03-07 20:45:03
函数二 """ - 变量作用域 - 多函数程序执行流程 - 函数的返回值 - 函数的参数 - 拆包和交换两个变量的值 - 引用 - 可变和不可变类型 """ 一. 变量作用域 """ 变量生效的范围: 局部变量 全局变量 """ 1.局部变量 """ 定义在函数体内部的变量,即只在函数体内部生效 """ def testA ( ) : a = 100 print ( a ) testA ( ) # 100 print ( a ) # 报错:name 'a' is not defined 2.全局变量 """ 在函数体内、外都能生效的变量 函数修改变量a的值为200 `testB`函数内部的`a = 200`是定义了一个局部变量 在函数体内部修改全局变量a,加声明global """ a = 100 # 定义全局变量a def testA ( ) : print ( a ) # 访问全局变量a,并打印变量a存储的数据 testA ( ) # 100 def testB ( ) : a = 200 # 此a是局部变量 print ( a ) testB ( ) # 200 print ( f '全局变量a = {a}' ) # 全局变量a = 100 def testc ( ) : global a # global 关键字声明a是全局变量 a = 200 print ( a )

$,@,%__perl varibale!

送分小仙女□ 提交于 2020-03-07 20:17:15
Perl有三种变量: 纯变量(Scalar Varible) 数组(Array) 关联数组(Associative array) 一、纯变量 又称标量变量,是Perl处理的最简单的数据类型。标量可以是数字(如2,3或2.5e6), 也可以是字符串(如“hello”和“ 网上学园 ”)。 Perl中的标量变量以美元符号$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如: $a和$A是不同的变量; $this_is_a_long_variable_1和 $this_is_a_long_variable_2是不同的变量; Perl中的变量可以通过操作符(如+或.等)来产生新的变量。你可以从文件和设备中读取变量,也可以将其输出。 使用纯量变量时要在前面加上$符号, 注意:指定的纯变量是一个字符的话,就要加上""双引号或单引号;如果是数值的话,就不用加上""这个符号。 标量数据又可以分为数字和字符串两种: 数字 可分为整型变量和浮点变量。 整型变量:(如2,-200,3568等)。Perl支持8进制和16进制变量,8进制以0开头(如0255,表示8进制的255),16进制以0x或0X开头 (如-0x1a,代表负的1A) 实型变量:(如2.5,-6.3e5,-2.3-e6等)。 字符串 最短的字符串可以没字符,最长可以把你的内存填满

函数定义

我的未来我决定 提交于 2020-03-07 17:45:36
1.1 js中函数声明解析(学习笔记) 误区:定义函数比声明函数更丰富,定义包含实现 **1.1.1函数的分类 函数声明式 :使用function声明函数,并指定函数名。 函数表达式 :使用function声明函数,但未指定函数名。 函数表达式2 .匿名函数,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。 立即执行函数 ,两种写法。立即执行函数里面的函数必须是函数表达式 (function(){})() (function(){}()) (function(){}())这样写的好处是在内部定义的变量不会跟外部的变量有冲突,达到保护内部变量的作用。 回调函数 此函数比较特殊,一般属于异步。例如 setTimeout(function, xx) 1.2函数声明与函数表达式的区别 1.调用位置 函数声明 可以在当前作用域下提前调用,因为 函数提升即将函数声明提升到它所在作用域的最开始的部分(js预解析函数提升) 函数表达式 只能在声明之后调用 2.调用方法区别 函数声明 必须有函数名。【通过函数名调用】 函数表达式中 的函数名可选的(所以称为匿名函数)(更像js语句的一部分) 比如赋值表达式等号右边,作为函数参数,立即执行函数。这三种情况都可以不使用函数名。【1.作为其他函数的参数,通过参数名访问。2.函数赋值给一个变量,通过变量名访问。】 3

tf.add_to_collection 和 tf.get_collection 和 tf.add_n

穿精又带淫゛_ 提交于 2020-03-07 17:12:18
简要介绍 tf.add_to_collection:把多个变量放在一个 自己命名 的集合里,包括不同域内的变量 tf.get_collection:读取一个列表,生成一个新列表 tf.add_n:把一个列表里的元素求和 add_to_collection(name, value) name 为集合名,value 为 变量; 通常 tensorflow 会把变量和可训练的变量自动收集起来,包括不同域的变量; 变量对应的集合名字叫 variables,或者叫 tf.GraphKeys.VARIABLES; 可训练的变量对应的集合名字为 trainable_variables,或者叫 tf.GraphKeys.TRAINABLE_VARIABLES; print(tf.GraphKeys.VARIABLES) # variables print(tf.GraphKeys.TRAINABLE_VARIABLES) # trainable_variables 示例 with tf.name_scope('test1') as test1: v1 = tf.Variable(1) tf.add_to_collection('all', v1) ### 显式加入集合 with tf.name_scope('test2') as test2: v2 = tf.Variable(2) tf.add

上下文执行栈

徘徊边缘 提交于 2020-03-07 17:10:52
知识点: * 执行上下文 * 每次函数执行的时候,会产生一个执行上下文,执行上下文是一个对象 * 执行上下文里面会创建一个变量对象 ,里面存放着当前函数内的变量 * 基本数据类型保存在变量对象里的,引用数据数据类型要单独在单堆内存里开辟空间保存。 * 变量对象里保存的就是堆里的内存地址 1 function task(m, n) { 2 var a = 1; 3 var b = { 4 name: '张三' 5 } 6 var c = [1, 2, 3]; 7 } 8 task(10, 20); 我们可以知道task的执行上下文 1 let taskExecutionContext = { 2 this: window, 3 [[Scope]]: [函数的活动对象,全局的变量对象], 4 //Variable Object 变量对象 里面存的是当前函数执行要使用到的变量 5 VO: { 6 m: 10, 7 n: 20, 8 a: 1, 9 b: '内存地址指向对象{name: 张三}', 10 c: '内存地址指向数组[1,2,3]' 11 } 12 } 某个函数第一次被调用时,会创建一个执行环境(execution context)及相应的作用域链,并把作用域链赋值给一个特殊的内部属性(即 [[Scope]] ) 当代码在一个环境中执行时,会创建变量对象的一个作用域链

第11章 处理用户输入

喜夏-厌秋 提交于 2020-03-07 16:18:45
11.1 命令行参数 可以在执行脚本时,向命令行中添加数据值 如 ./add.sh 10 30 11.1.1 读取参数 命令行中输入的所有参数赋值给一些特殊变量,这些变量称为 位置变量 $0 为程序名称 $1 为第一个参数名称,以此类推,超过10 用 ${10} 表示 注意点: 每个参数都是使用空格分隔,要想在参数中包含空格,就必须使用 ‘ ’ 或者“ ” 引号不作为数据的一部分,他们只定义数据的起止 11.1.2 读取程序名称 使用 参数 $0 可以确定从命令行启动的程序的名称。实际上 $0 是程序的完整路径, 而不是程序名称,basename 只返回程序名称,不带路径 name=`basename $0` echo the command entered is :$name 11.2 特殊参数变量 有一些特殊的变量用来跟踪命令行参数 11.2.1 参数计数 $# 命令行参数的个数 ${!#} 命令行最后一个参数 当命令行没有参数时,$# 值为0 ${!#} 返回脚本名称 获取命令行所有参数 $* $@ $* 将命令行中所有参数作为一个单词处理 $@ 作为一个字符串中的多个单词处理 11.3 移位---改变命令行参数的相对位置 使用shift 命令,默认每个参数变量左移一个位置,于是,$2的值移交给$1, $1的值丢弃,变量 $0 的值和程序名称都保持不变 在不清楚

JVM深入解析

有些话、适合烂在心里 提交于 2020-03-07 14:37:23
Java运行时数据区: Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图: 1、程序计数器:指向当前线程正在执行的字节码指令。线程私有的。 2、虚拟机栈:虚拟机栈是Java执行方法的内存模型。每个方法被执行的时候,都会创建一个栈帧,把栈帧压人栈,当方法正常返回或者抛出未捕获的异常时,栈帧就会出栈。 (1)栈帧:栈帧存储方法的相关信息,包含局部变量数表、返回值、操作数栈、动态链接 a、局部变量表:包含了方法执行过程中的所有变量。局部变量数组所需要的空间在编译期间完成分配,在方法运行期间不会改变局部变量数组的大小。 b、返回值:如果有返回值的话,压入调用者栈帧中的操作数栈中,并且把PC的值指向 方法调用指令 后面的一条指令地址。 c、操作数栈:操作变量的内存模型。操作数栈的最大深度在编译的时候已经确定(写入方法区code属性的max_stacks项中)。操作数栈的的元素可以是任意Java类型,包括long和double,32位数据占用栈空间为1,64位数据占用2。方法刚开始执行的时候,栈是空的,当方法执行过程中,各种字节码指令往栈中存取数据。 d、动态链接

Python学习(2)变量、常量、注释

萝らか妹 提交于 2020-03-07 14:35:35
1、变量 变量的概念 :变量 是 为了存储 程序运算过程中的一些中间 结果,为了方便日后调用 变量的命名规则: 1. 要具有描述性 2. 变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~) 3. 不能以中文为变量名 4. 不能以数字开头 5. 保留字符是不能被使用 x=1 y=2 z=x*y print("x乘y等于:",z) 输出结果: x乘y等于: 2 2、常量 常量的概念:不变的量 pie = 3.141592653.... 在Python里面所有的变量都是可变的 ,所以用全部大写的变量名来代表次变量为常量 3、注释 单行注释 用# 多行注释用三个单引号或三个双引号 '''被注释的内容''' #使用#单行注释,python单行注释符 ''' 单引号多行注释,python多行注释符 单引号多行注释,python多行注释符 单引号多行注释,python多行注释符 ''' """ 双引号多行注释,python多行注释符 双引号多行注释,python多行注释符 双引号多行注释,python多行注释符 """ 来源: https://www.cnblogs.com/Tenderness-GG/p/7471357.html