变量

Java-Array01

放肆的年华 提交于 2020-02-16 21:30:20
Array class ArrayDemo { public static void main(String[] args) { /* 数组的定义方式: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 好处:数组可以存储多个数据,而且可以对数据进行编号, 从0开始。操作元素完成可以通过编号(索引)完成。 */ int[] arr = new int[3];//通过new关键字创建了一个长度为3,元素类型是int的数组实体。 System.out.println(arr[1]); //System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:访问到了数组不存在的索引时,会发生该异常。 arr = null; System.out.println(arr[0]);//NullPointerException:当使用没有任何实体指向的引用变量操作实体时,运行会发生该异常。 /* Java对内存空间的划分:五部分: 栈,堆,方法区,本地方法区,寄存器。 栈内存:存储都是局部变量。只要是在方法中定义的变量都是具备变量。 一旦变量的生命周期结束该变量就被释放。 堆内存:存储都是实体(对象) 每一个实体都有一个首地址值。 堆内存的变量都有默认初始化值。不同类型不一样。int-0 double-0.0 boolean

并发编程之无锁

大憨熊 提交于 2020-02-16 21:03:53
并发编程之无锁 6.2 CAS与volatile 源码之LongAdder 6.8 Unsafe 6.2 CAS与volatile 其中的关键是compareAndSet,它的简称就是CAS(也有Compare And Swap的说法),它必须是原子操作。 注意 其实CAS的底层是lock cmpxchg指令(X86架构),在单核CPU和多核CPU下都能够保证【比较-交换】的原子性。 在多核状态下,某个核执行到带lock的指令时,CPU会让总线锁住,当这个核把此指令执行完毕,再开启总线。这个过程中不会被线程的调度机制所打断,保证了多个线程对内存操作的准确性,是原子的。 volatile 获取共享变量时,为了保证变量的可见性,需要使用volatile修饰。 它可以用来修饰成员变量和静态成员变量,他可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作volatile变量都是直接操作主存。即一个线程对volatile变量的修改,对另一个线程可见。 注意 : volatile仅仅保证了共享变量的可见性,让其它线程能够看到最新值,但不能解决指令交错问题(不能保证原子性) CAS必须借助volatile才能读取到共享变量的最新值来实现【比较并交换】的效果 为什么无锁效率高 无锁情况下,即使重试失败,线程始终在高速运行,没有停歇

MySql 申明变量以及赋值

一世执手 提交于 2020-02-16 20:47:00
sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的); 申明局部变量语法:declare @变量名 数据类型;例如:declare @num int; 赋值:有两种方法式(@num为变量名,value为值) set @num=value; 或 select @num=value; 如果想获取查询语句中的一个字段值可以用select给变量赋值,如下: select @num=字段名 from 表名 where …… mysql中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。 第一种用法:set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量 第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where …… 注意上面两种赋值符号,使用set时可以用“=”或“:=”,但是 使用select时必须用“:=赋值” 来源: https://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html

shell脚本 介绍以及总结

旧时模样 提交于 2020-02-16 20:06:47
shell的历史 shell概况 人想要和操作系统进行交互,传送指令给操作系统,就需要使用到shell。宏义的shell是人与机器交互的页面,它分为两种,一种是有界面的,比如GUI,另外一种是没有界面的,完全是指令操作的(CLI)。我们一般说的shell指的就是命令行界面。 Bourne shell 最早Ken Thompson设计Unix的时候,使用的是命令解释器,命令解释器接受用户的命令,然后解释他们并执行。 后来出现了Bourne shell(通称为sh),顾名思义,就是一个叫Bourne shell创建的。对,它就是现在我们机器上面的/bin/sh这个可执行文件。这个老哥创建的sh一直沿用至今,现在的UNIX操作系统都配置有sh,而且各种新的shell都会向后兼容sh的语法。 Bourne shell 带来了: 脚本可以写在文件里被调用,比如sh a.sh可以执行a.sh里面的shell命令 可以交互或者非交互的方式调用 可以同步执行也可以异步执行 支持输入输出的pipeline,就是管道方式 支持输入输出的重定向,就是现在使用的> 和 >> 提供一系列内置命令 提供流程控制基本的函数和结构 弱类型变量,就是可以直接 a=1,不需要指定a为int 提供本地和全局的变量作用域 脚本执行前不需要编译 去掉goto功能 使用``进行命令执行替换 增加了for~do~done的循环

sql server和mysql变量赋值的区别 以及 MySql Declare

可紊 提交于 2020-02-16 18:04:38
sql server和 mysql 都是我们经常用到的数据库系统,下面就为您介绍sql server和mysql变量赋值的区别,希望对您能有所启迪。 sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的); 申明局部变量语法:declare @变量名 数据类型;例如:declare @num int; 赋值:有两种方法式(@num为变量名,value为值) set @num=value; 或 select @num=value; 如果想获取查询语句中的一个字段值可以用select给变量赋值,如下: select @num=字段名 from 表名 where …… mysql变量赋值不用事前申明,在用的时候直接用“@变量名”使用就可以了。 第一种用法:set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量 第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where …… (张英:似乎mysql中不能使用 select @p1 := c1, @p2:=c2 from tb 方式赋值) 注意上面两种赋值符号,使用set时可以用“=”或“:=”,但是使用select时必须用“:=赋值” mysql可以在SP中声明不带@的局部变量

11、函数(def)

流过昼夜 提交于 2020-02-16 17:42:17
11.1、函数: 函数即变量 函数的作用域只跟函数声明时定义的作用域有关,跟函数的调用位置无任何关系 1、函数格式: def test(x): ''' 2*x+1 :param x:整形数字 :return: 返回计算结果 ''' y = 2 * x + 1 return y a = test() #调用函数 print(a) 11.2、函数返回: 1、规则: (1)函数的返回值可以是任何数据类型 (2)函数如果有多个返回值用逗号隔开 (3)函数只用一个返回值时,返回值的数据类型不发生改变 (4)函数有多个返回值时,返回值以元组的形式返回 (5)函数遇到return时函数结束 2、用法: def test01(): msg = 'test01' return msg #函数返回一个值 def test02(): msg = 'test02' return 1, 2, 3, 4, 'a', ['alex'], {'name': 'alex'}, None #函数返回多个值 t1 = test01() t2 = test02() print(t1) print(t2) 11.3、函数普通传参: 1、规则: (1)函数分为形参和实参,形参在函数被调用后释放 (2)位置参数,必须一一对应,缺一不行多一也不行 (3)关键字参数,无须一一对应,缺一不行多一也不行 (4)两者混用时

多线程共享变量和 AsyncLocal

不羁的心 提交于 2020-02-16 16:32:15
>>返回《C# 并发编程》 1. 简介 2. 异步下的共享变量 3. 解析 AsyncLocal 3.1. IAsyncLocalValueMap 的实现 3.2. 结论 1. 简介 普通 共享变量: 在某个类上用静态属性的方式即可。 多线程 共享变量 希望能将这个变量的 共享范围 缩小到 单个线程 内 无关系 的B线程 无法访问 到A线程的值; [ThreadStatic] 特性、 ThreadLocal<T> 、 CallContext 、 AsyncLocal<T> 都具备这个特性。 例子: 由于 .NET Core 不再实现 CallContext,所以下列代码只能在 .NET Framework 中执行 class Program { //对照 private static string _normalStatic; [ThreadStatic] private static string _threadStatic; private static ThreadLocal<string> _threadLocal = new ThreadLocal<string>(); private static AsyncLocal<string> _asyncLocal = new AsyncLocal<string>(); static void Main(string[]

Java SE 004 运算符

六月ゝ 毕业季﹏ 提交于 2020-02-16 14:37:19
Java SE 004 运算符 前言:此笔记为圣思园张龙老师讲述的java视频课程笔记,自己看视频学习时记录的,用于积累与复习,在此分享给学习软件编程的兄弟姐妹们,以供参考。 1.什么叫做使用变量 就是说使用这个变量,如int a =1; a=2; 执行a=2时就在使用这个变量,或者是在执行System.out.println(a)的时候就是使用这个变量的时候。 public class Variable3 { public static void main ( String [ ] args ) { int a = 1 ; int b = 2 ; /* int c = a + b; int d = a - b; int e = a * b; System.out.println(c); System.out.println(d); System.out.println(e); */ int c = a / b ; System . out . println ( c ) ; } } (1)当有若干个变量进行运算的时候,结果属于什么类型的呢,它是属于参加运算的变量里面,类型范围最大的那个类型。 (2)当java执行环境发现a与b是不能整除的时候,而且它要根据两个变量的类型来得知结果应该是一个int类型,这个时候他就会将结果小数部分,全部给舍掉,不是数学上的四舍五入。

PHP语法结构、变量、数据类型

馋奶兔 提交于 2020-02-16 14:28:04
一、PHP语法结构 1、XML风格 <?php echo 'XML风格' ; 注意:如果PHP代码后不存在其他(HTML、CSS)代码,结尾 ?> 必须省略; 2、短风格 <? echo '短风格' ; 注意: 默认情况下,PHP引擎中的短风格被禁用; 将PHP配置文件中的short_open_tag设置为on,即可启用(不推荐) 3、注释 C++风格: //注释内容 Shell风格: #注释内容 在PHP模式当中,你可以将不需要执行的代码注释起来。PHP有三种注释模式: //、/* */ 和 # 。其中, // 和 /* */ 表示注释掉本行, /* */ 表示注释掉二者之间的部分。使用 /* */ 会有一些副作用,因此使用相对较少。 <?php print "This is printed\n" ; // print "This is not printed\n"; # print "This is not printed\n"; print "This is printed\n" ; /* print "This is not printed\n"; print "This is not printed\n"; */ ?> 上面的代码展示了三种注释的使用方式,但是没有说明 /* */ 存在的问题。如果你用 /* 开始了注释,而 */ 和另外一个 /* 连在一起的话

Linux学习-实验楼(1)

耗尽温柔 提交于 2020-02-16 13:25:35
1.Shell:命令解释器 2.Linux技能树 3.X11:X窗口系统,其本身只是工具包及架构协议,Xorg是x架构规范的一个实现体,是实现了x协议规范的一个提供图形界面的服务器 4.终端本质上是对应着Linux上的/dev/tty设备,Linux的多用户登陆就是通过不同的/dec/tty设备完成的 5. 查看所属用户组: groups命令 实验4--Linux目录结构及文件基本操作 1.FHS标准:文件系统层次结构标准,它定义了系统中每个区域的用途,所需要的最小构成的文件和目录同事还给出了例外处理与矛盾处理。 2.进入当前登录用户的home路径   cd ~ 3.使用touch命令创建空白文件,其主要作用是来更改已有文件的时间戳的 4.标准输入输出:执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘,标准输出文件(stdout)和标准错误输出文件(stderr),后面两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程姜葱标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中 实验5-环境变量与文件查找 1.创建:可以用declare创建,也可以使用时直接创建 输出:echo $tmp,变量名只能是英文字母,数字或者下划线,且不能以数字作为开头。 2.变量类型:1