Content #
Docker如何管理init层 IPC Namespace Net Namespace User Namespace Docker Command Cookbook Docker数据管理中的四个目录 Data Volume 与 Data Volume Container Dockerfile中执行脚本 构建镜像的构建上下文 Configure the docker daemon to use a proxy
FORCE_Targets 名为"FORCE"的target在Makefile中的含义。 一个优化Makefile的案例
如果某规则没有前导依赖,其目标(target)也不是磁盘上的文件,那么make会认为该规则的target在每次运行时都会被更新。以这样的规则为前导依赖的规则,每次运行时都会被执行。
Makefile一般会作如下使用:
clean: FORCE
rm $(objects)
FORCE:
其中的"FORCE"只是一个约定而成的名称,可以随便使用其它名称。由于FORCE规则的target每次会被更新,clean规则每次都会被执行。
https://www.gnu.org/software/make/manual/html_node/Force-Targets.html
对使用工具的合规律性的形体感受和在所谓“装饰品”上的自觉加工,两者不但有着漫长的时间距离(数十万年),而且在性质上也是根本不同的。虽然二者都有其实用功利的内容,但前者的内容是现实的,后者则是幻想的;劳动工具和劳动过程中的合规律性的形式要求(节律、均匀、光滑等)和主体感受,是物质生产的产物;“装饰"则是精神生产、意识形态的产物。尽管两者似乎都是“自然的人化”和“人的对象化”,但前者是将人作为超生物存在的社会生活外化和凝冻在物质生产工具上,是真正的物化活动;后者则是将人的观念和幻想外化和凝冻在这些所谓“装饰品”的物质对象上,它们只是犡化的活动。前者是现实的“人的对象化”和“自然的人化”,指天画地得想像中的这种“人化”和“对象化”。前者与种族的系列一起构成原始人类的基础,后者则是包括宗教、艺术、哲学等胚胎在内的上层建筑。
美的历程
北桥:北桥是CPU和内存、显卡等部件进行数据交换的唯一桥梁,也就是说CPU想和其他任何部分通信必须经过北桥。北桥芯片中通常集成的还有内存控制器等,用来控制与内存的通信。现在的主板上已经看不到北桥了,它的功能已经被集成到CPU当中了。
南桥:主要负责I/O设备之间的通信,CPU要想访问外设必须经过南桥芯片。总线是传输数据用的,它分为地址总线和数据总线。以内存为例,地址总线传输要访问的内存地址,数据总线传输读写的数据。有些总线地址和数据是分离的,有些是同一根总线分时利用。
FSB总线:即前端总线(Front Side Bus),CPU和北桥之间的桥梁,CPU和北桥传递的所有数据必须经过FSB总线,可以这么说FSB总线的频率直接影响到CPU访问内存的速度。
ISA总线:最早出现的标准总线,传输速度低,早期的低速外设会采用ISA总线进行连接,比如声卡。
PCI总线:一种高性能局部总线,构成了CPU和外设之间的高速通道。显卡一般都是用的PCI插槽, PCI总线传输速度快,能够很好地让显卡和CPU进行数据交换。
buffer与buffer name的区别 emacs的编辑命令是表达式执行的副作用 Emacs consult-buffer命令的实现
新建roam条目时,如果要结束输入,并且不受自动列表选项的影响的话,在文字输入后按:M-RET.
org mode 中调整latex公式预览的大小: org-format-latex-options(customize)
Java 再入锁可以设置公平性(fairness),我们可在创建再入锁时选择是否是公平的。
ReentrantLock fairLock = new ReentrantLock(true);
所谓的“公平性”指的是什么?与之对比,synchronized的公平性又是怎样的?
这里所谓的公平性是指在竞争场景中,当公平性为真时,会倾向于将锁赋予等待时间最久的线程。公平性是减少线程“饥饿”(个别线程长期等待锁,但始终无法获取)情况发生的一个办法。
如果使用 synchronized,我们根本无法进行公平性的选择,其永远是不公平的,这也是主流操作系统线程调度的选择。通用场景中,公平性未必有想象中的那么重要,Java 默认的调度策略很少会导致 “饥饿”发生。与此同时,若要保证公平性则会引入额外开销,自然会导致一定的吞吐量下降。所以,我建议只有当你的程序确实有公平性需要的时候,才有必要指定它。