待兔 待兔
4年前
ThreadLocal源码分析
最近在学多线程并发的知识,发现好像ThreadLoca还挺重要,决定看看源码以及查找各方资料来学习一下。ThreadLocal能够提供线程的局部变量,让每个线程都可以通过set/get来对这个局部变量进行操作,不会和其它线程的局部变量进行冲突,实现了线程的数据隔离。首先是ThreadLocal的结构:每个Thread维护一个ThreadLocalMap,这个
Wesley13 Wesley13
3年前
java nio(nio机制buffer及buffer优化)
深入Buffer:下面,我们看下NIO中buffer的两个重要的组成部分:buffer的状态变量和buffer的访问方法;状态变量是buffer内部计数系统的关键,在每一次的read/write过程中,buffer的状态变量都是变化的。通过记录和跟踪这些状态变化,buffer就可以在内部完成操作资源的控制;当你从channel中读
Easter79 Easter79
3年前
swift(1)基础
常量let变量var变量常量的名称不再限制英文字符,数字,下划线,可以使特殊字符和汉字等,但是仍然限制数学符号,箭头,不能数字开头,还有一堆其他限制,针对这点,我觉得还是使用原来的规则较好,简单,明了,熟悉,尽量不要乱用字符吧。打印信息不用再指定类型了,直接打印变量或常量即可。println("helloworld")类型可以获得最大和最小
御弟哥哥 御弟哥哥
4年前
彻底理解js的作用域链
在之前的文章(https://www.helloworld.net/p/G4dFV7tALU4J)中我已经介绍了执行上下文的变量对象。在这一篇文章我要介绍执行上下文的作用域链了。执行上下文.作用域链(scopechain)作用域链与变量对象有着密不可分的关系,因为作用域链就是变量对象的数组!其中第
Kevin501 Kevin501
4年前
Go语言中new()和make()的区别
1.Go语言中的值类型和引用类型值类型:int,float,bool,string,struct和数组(数组要特别注意,别搞混了)变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完后会自动释放。引用类型:slice,map,chan和值类型对应的指针变量存储的是一个地址(或者理解为指针),指针指向内存中真
Stella981 Stella981
3年前
Ruby知识总结
ruby入门掌握其实很简单,下面对我司主要使用的部分入门做一个简单的归纳总结:本文的文章结构:1、变量2、操作符3、if~else~end、unless4、数组(Array)5、哈希(Hash)6、循环(eachdo|变量|)
Stella981 Stella981
3年前
JavaScript学习小结
JavaScirpt变量可用来保存两种类型值:基本类型值,引用类型值基本类型值:Undefined,Null,Boolean,Number,String基本类型及引用类型值特点:1.基本类型值在内存中占据固定大小的空间,被保存在栈内存中;2.从一个变量向另一个变量复制基本类型值,会创建这个值的一个副本;
Stella981 Stella981
3年前
ES6+(前端面试题整合)
谈一谈let与var和const的区别let为ES6新添加申明变量的命令,它类似于var,但是有以下不同:let命令不存在变量提升,如果在let前使用,会导致报错let暂时性死区的本质,其实还是块级作用域必须“先声明后使用”的性质,let暂时性死区的原因:var会变量提升,let不会。
Wesley13 Wesley13
3年前
C++GOW系列之(1):变量初始化
原文请链接http://www.gotw.ca/gotw/001.htm变量有多少种初始化方式呢?要小心注意某些似是而非的变量初始化BUG问题:下面的代码有什么区别呢?  SomeTypetu;SomeTypet(u);SomeTypet();SomeTyp
Wesley13 Wesley13
3年前
C++中静态变量、常量、静态整型常量、静态非整型常量、引用变量的初始化方法
C中静态变量、常量、静态整型常量、静态非整型常量、引用变量的初始化方法先看一段代码classCTypeInit{public:CTypeInit(intc):m_c(c),m_ra(c){}private:intm_a;//通过初始化列表初始化,