浅谈 Java 内存模型:从 CAS 到 AQS
Java 内存模型 Java 的内存模型(Java Memory Model, JMM)规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存保存了被该线程使用的变量的主内存副本。线程对变量的读取、赋值等操作都必须在工作内存中执行,而不能直接读写主内存中的数据。 比如下面的例子
Java 内存模型 Java 的内存模型(Java Memory Model, JMM)规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存保存了被该线程使用的变量的主内存副本。线程对变量的读取、赋值等操作都必须在工作内存中执行,而不能直接读写主内存中的数据。 比如下面的例子
笔者在 Leetcode 中使用 Python 刷题时,总能体会到 @Cache 装饰器的强大,在写动态规划时省去了很多记忆化的麻烦。 与此同时,我好奇 Java 中注解的工作原理,想着能不能自己实现一个 Java 中的 @Cache 注解,为我的函数自动生成以函数参数为 key,函数返回值为 va