Forgetful Alann

In youth we learn, in age we understand.

0%


内存管理的烦恼

内存需要申请,使用完毕需要释放,何时释放?由谁来释放?释放时如何确认该内存区域存的是垃圾数据?这些麻烦在引入多线程后,又将继续变得复杂:CPU 缓存与主存数据不一致问题、指令有序性问题等等诸如此类。JVM 的自动内存管理缓解了这个烦恼,Java 内存模型对并发相关的问题提供了方案,为了实现自动内存管理,JVM 需要定义自己的内存布局,以此给预分配的内存划分区域,在运行时提供不同的作用。

Read more »


线程是最小的调度执行单元,线程隶属于某个进程,一个进程内可以启动多个线程来处理不同的任务。

为什么使用多线程

线程间如何通讯

线程间协作的安全问题

保证线程安全的实现方式

Java 内存模型对线程安全提供哪些基础支持


Bash 启动时会通过脚本来初始化环境,有关的启动初始化脚本有两种:1. profile 2. bashrc 。

Read more »


mktemp 命令可以创建临时文件或文件夹,trap 命令可用于指定当 shell 触发某个信号时执行指令(例如 shell 退出时清理临时文件)。

Read more »


编写脚本时常常会出现各种错误,导致意料之外的情况发生,下面说明如何尽可能的降低这些错误带来的风险,以及如何排查错误位置。

Read more »


Bash 中支持定义一维数组,数组中的元素无需连续,也没有数量上限。其可定义的数组类型有两种:数字索引数组关联数组(字符串索引数组)。

Read more »