内存管理的烦恼
内存需要申请,使用完毕需要释放,何时释放?由谁来释放?释放时如何确认该内存区域存的是垃圾数据?这些麻烦在引入多线程后,又将继续变得复杂:CPU 缓存与主存数据不一致问题、指令有序性问题等等诸如此类。JVM 的自动内存管理缓解了这个烦恼,Java 内存模型对并发相关的问题提供了方案,为了实现自动内存管理,JVM 需要定义自己的内存布局,以此给预分配的内存划分区域,在运行时提供不同的作用。
Inspired by https://www.tiuweehan.com/blog/2020-09-10-docker-in-jenkins-in-docker/
DinD 即 Docker in Docker,就是在 Docker 容器中运行 Docker 服务。
使用 Docker 镜像部署 Jenkins 很方便,一个简单的 docker-compose.yml
如下:
1 | version: "3" |
As a web developer, you may confused with these module import/export usages:
exports.xx = xx
module.exports = xx
export xx
export default xx
require('..')
or import xx from '..'
?