晴空闲云 晴空闲云
2年前
javascript实践教程-03-变量
本节目标1.掌握声明变量的方式。2.掌握var和let的区别。内容摘要本篇讲解了变量声明的两种方式var和let,并对比var和let声明变量的差别,最后对变量名名称规则进行了总结。阅读时间1015分钟变量基础js中声明变量可以使用var和let关键词。其中var是es5的语法,let是es6的语法。var声明变量var可以用来声明局部变量和全局变
九路 九路
3年前
go语言定义“零值可用”的类型
1.Go类型的零值作为C程序员出身的我,我总是喜欢用在使用C语言的”受过的苦“与Go语言中得到的”甜头“做比较,从而来证明Go语言设计者在当初设计Go语言时是做了充分考量的。在C99规范中,有一段是否对栈上局部变量进行自动清零初始化的描述:如果未显式初始化且具有自动存储持续时间的对象,则其值是不确定的。规范的用语总是晦涩难懂的。
Wesley13 Wesley13
2年前
java debug体系为什么不能debug到jdk里所有的代码
作为java码农肯定碰到过当我们debug到一些class的时候,发现当进入到某个方法里是看不到声明的入参名,取而代之的是arg0,arg1等,继续深入更是看不到局部变量,这主要是java类编译的时候没有加g参数导致的,而为什么我们自己在eclipse中写的代码却是可以正常跟踪呢,原因很简单,因为eclipse自行编译的时候是带g参数编译的。  
Wesley13 Wesley13
2年前
java(十一)数组
数组用来存放相同数据类型的数据,逻辑位置与物理位置都是连续的。数组存放在堆里。栈和堆:栈:方法调用的时候使用栈,局部变量存放在栈里。堆:动态的分配内存,new出来的。引用类型存放在堆里,在栈里存放引用,也就是地址,一般用16进制来表示地址:0x...。基本类型和引用类型的区别:基本类型:在栈中存放的是二进制位。引用
Wesley13 Wesley13
2年前
Java连载7
一、变量1.注意点:在同一个“作用域”中,变量名不能重名,但是变量可以重新赋值。2.什么是作用域?答:描述的是变量的有效范围,在范围之内是可以被访问的,只要出了作用域就无法访问(也就是在大括号里面才行)3.关于变量的分类(1)局部变量:在方法体中声明的变量;(2)成员变量:在方法体外声明的变量。4.在不同的作用域中,变量名是可
Stella981 Stella981
2年前
JVM技术总结
1.程序计数器:记录正在执行的虚拟机的字节码的指令地址。2.java虚拟机栈:每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈的过程。该区域可能抛出以下异常:1.当线程请求的栈深度超过最大值,会抛出
Easter79 Easter79
2年前
ThreadLocal详解
ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。  这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是
Wesley13 Wesley13
2年前
JAVA内存模型与线程以及volatile理解
Java内存模型是围绕在并发过程中如何处理原子性、可见性、有序性来建立的。一、主内存与工作内存  Java内存模型主要目标是在虚拟机中将变量存储到内存和从内存中取出变量。这里的变量包括:实例字段、静态字段、构成数组对象的元素;不包括局部变量和方法参数,因为它们是线程私有的。Java内存模型规定了所有变量都存储在主内存,线程的工作内
Wesley13 Wesley13
2年前
C语言内存优化——继续含泪总结
之前分析了基本数据类型的优化,现在开始涉及全局和局部变量的优化,话说这个东西我从没想过还能这样优化的喂!全局变量/Globalvariables全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。所以编译器不会将全局变量存储在寄存器中,那样会带来额外的、不必要的负担和存储空间。所以在比较关键的循环中,我们要