(转)面试中的Singleton
Singleton 经常在面试中谈到,转一篇挺有意思的文章: 面试中的Singleton
引子
“请写一个Singleton。”面试官微笑着和我说。 “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现:
|
|
Singleton 经常在面试中谈到,转一篇挺有意思的文章: 面试中的Singleton
“请写一个Singleton。”面试官微笑着和我说。 “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现:
|
|
Singleton是一个非常常用的设计模式,几乎所有稍大的程序都会用到它。所以构建一个线程安全,并且高效的singleton很重要。既然要讨论这个主题,我们就先来定义一下我们的需求:
x86汇编语言主要有两个语法分支: AT&T和Intel。我们平常接触到的GNU系的工具(包括GCC,OBJDUMP等)都是使用AT&T语法
AT&T | Intel | 注释 | |
---|---|---|---|
寄存器 | %eax | eax | |
立即数 | $5 | 5 | |
指令后缀 | movl | mov | 操作数长度4 |
操作数方向 | movl $5, %eax | mov eax,5 | |
寻址1 | var | [var] | 寄存器直接寻址 |
寻址2 | 0x8(%eax) | [eax + 0x8] | 段+偏移寻址 |
寻址3 | %segreg:disp(base,index,scale) | segreg:[base+index*scale+disp] | 间接寻址 |
These are instructions for setting up EDK II build environment on Ubuntu, and building OVMF images for use with qemu.
之前一直使用Archlinux,但安装在Mac OSX的parallels desktop虚拟机中,这种滚动更新的方式经常会带来一些问题,比如Xorg的版本升级太快导致parallels tools不支持。所以准备换一个长期支持版的ubuntu,这个parallels官方的支持应该会及时一些。这里记录一下ubuntu 14.04安装之后的配置。
hexo出自台湾大学生tommy351之手,是一个基于Node.js的静态博客程序
Hexo is Better than Octopress:
Simple and Quick
hexo n #写文章 hexo g #生成 hexo d #部署 # 可与hexo g合并为 hexo d -g