摘要:
Go 语言的变量声明格式为: var 变量名 变量类型 返回类型. 匿名变量不占用命名空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。 Go 语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有切片、结构体、函数、map、通道(channel)等。Go 语言 阅读全文
摘要:
Java编译器输出的指令流,基本上[1]是一种基于栈的指令集架构,它们依赖操作数栈进行工作 与之相对的另外一套常用的指令集架构是基于寄存器的指令集 举个最简单的例子,分别使用这两种指令集计算“1+1”的结果,基于栈的指令集会是这样子的: 基于栈的指令集主要的优点就是可移植, 缺点是执行速度慢,相同操 阅读全文
摘要:
偏向锁 偏向锁也是JDK 1.6中引入的一项锁优化,它的目的是消除数据在无竞争情况下的同步原语,进一步提高程序的运行性能。如果说轻量级锁是在无竞争的情况下使用CAS操作去消除同步使用的互斥量,那偏向锁就是在无竞争的情况下把整个同步都消除掉,连CAS操作都不做了。 当锁对象第一次被线程获取的时候,虚拟 阅读全文
摘要:
JAVA虚拟机规范中定义使用一种JAVA内存模型来屏蔽掉各种硬件及操作系统的内存访问差异. 内核线程实现 内核线程(Kernel-Level Thread,KLT)就是直接由操作系统内核(Kernel,下称内核)支持的线程,这种线程由内核来完成线程切换,内核通过操纵调度器(Scheduler)对线程 阅读全文