Skip to content

Commit

Permalink
[docs update]并发部分图片修复
Browse files Browse the repository at this point in the history
  • Loading branch information
Snailclimb committed Aug 4, 2022
1 parent dffc5dd commit 4aa189e
Show file tree
Hide file tree
Showing 9 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion docs/java/concurrent/images/jmm/cpu-cache-protocol.drawio
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-04T02:57:48.322Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="ce8Ll6ISaXkxNGjUtgQW" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">7VnbcqM4EP0aPcYFCGF4xLekpia12fVMzeVlSgHFaIORB+TbfP1IIK4iGWcTNq5K7FSMjoSE+pzuhgbA6fpwmeJNdM1CEgPLCA8AzoBlmabhiB+JHAvE88YFsEppqAbVwJL+Igo0FLqlIclaAzljMaebNhiwJCEBb2E4Tdm+PeyOxe1VN3hFNGAZ4FhHv9CQRwXqWuMavyJ0FZUrm45X9KxxOVjtJItwyPYNCM4BnKaM8eJofZiSWBqvtEtx3uKB3urCUpLwU0749Gt5HV6x/VXwc/lX+DH7gj64F1Yxyw7HW7VhdbH8WFogZdskJHISE8DJPqKcLDc4kL17wbnAIr6OVfcdS7giUVyOaNM4nrKYpflc8M4NSBAIPOMpuyeNnlsX2Uiekd0THkRquspmskffsLLBjqScHBqQMsAlYWvC06MYUuuxOEWpsZLZvubWshUWNXn1FIiVnlbV3LXJxYGy+hMYgBoD05vPAviHrGjGSZo9k5A2AcQMERn3EeA5Y4idLgENPk13CEJQmxDYQ4jp9BAyHooPc6y7xBwBFwF/CuY2mEyBCGESWYCJOFjkiP8B7/CljFXAcmJxjZPbtMWa83MrHT036EWWW9QXA0xnc6g7xdEq/52PwWQGPFMe+BPgedU6/4p18pg4ChJNGcLovE1/m+aEJaSjCQXhmK4S0QwElUTgE0khFWHQVx1rGoZymV691YqUsojxLYknOLhf5Xh38YaiHNVuyHCSf/M5OeaUybUv4OCBodKT0qEDe3To9gWGwXTo9QeGs6S8G/aHDeJuJ4j3cWX0cAWH4qpM8W8ljdoQnVsarTbxNvOoPW4z8vp5tHSB9/jV5QoZHe95/fj10E3oFAcReZ7jaA4CHejBUHepxcKf2YtHHKdgZuAnAts7NZQNlvkt+82y0U0s58AG+nNuJ0noy1qDjEYxzjJa5Gacch1+JMuTA+VfpTFHyPJU+1veNoyyPTsoa+eNY6NxQ1IqtixD4ex0bjK2TQNyQmwgYatQolPYoAj1MFRiKYnFff2uXV7pY02tcMOouOT6Rr3jr8joEF9sSJ3VLId0J4LjttTKqFxOJOhbEa5NlIuo2vYzdOW8hq6aqnpUUS+lHvus1IOQPXogwjxVP/lUdkdC9sgw/18V6dWKa0wTgVyTNVPhb4BscXpW0PLK3HLRMLnbdfRsgfpuegfMFvpT+1BefZqHnonjVfeuZX3lv7qdZXldt3O6KWBgnyu38s6xFhFfhmOE4KjzPOsY1qh8c/TyNGO4OWY/6EeDfvru/r1zv/Hvmwu9oJCXZafAg7L868+A5+YFYRe4BpiL/6LXBnNHNv2iRDyTVWLR5c/l3/Ni8ckRN8RZVM3arRwh+e0L7U7+0QuyxWeYgO303N4PF7B7WdarFO++LGDoPpBan+rL2kQvFqxFs355WgyvX0HD+W8=</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T13:25:05.991Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="mjUzkXDFLRMI-iCStmDP" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">7Vlbc6s2EP41PMbDTQIefcHptMmcTDOdNk8dGWTgBCMfIcd2f30lEAYEdlwfk7g9nWQS9tMiof12V7ugWdPV7p6idfxIQpxqph7uNGummaZh6JD/E8i+RDzPKYGIJqFUqoHn5C8sQV2imyTEeUuREZKyZN0GA5JlOGAtDFFKtm21JUnbq65RhDvAc4DSLvp7ErK4RF3TqfGfcBLF1coG9MqRFaqU5U7yGIVk24AsX7OmlBBWXq12U5wK41V2Ke+bHxk9PBjFGTvnhgX49suX8cufFDz43uuLlzxkX+7kLG8o3cgNy4dl+8oClGyyEItJDM2abOOE4ec1CsTolnPOsZitUjm8JBmTJPLH4XKSplOSElrMZS3dAAcBx3NGyStujCxcYANxR/6KWRDL6Q42EyPdDVdPjynDuwYkDXCPyQozuucqchTokgzpjZYt5W3NrVnpxE1eK0Uk/Sk6zF2bnF9Iq/8DBswOA9On3zjwK46SnGGafychbQKwEQLs9BHgQcdCUCWgwafhDkGIqRDidQkxYA8hzlB8WP18KBzw7bG2odsGzUiGFetLCKVJlHEx4EbDHJ8IYyU84YzlwCoJQ7FML7M193pPtA0bO0ChCvRQ1Rc71lBU2R1acMiTtxQJZTGJSIZSv0YVA9Y6D4SspeG+Ysb20qxow0ibZ25Auv9D3D8yQSW/yPkKYbZrSXsp5QxRNhZHkmA/RXmeBBU8T9KDHzU5PEpbTjY0wCdsA+RZiWiE2Qk9eY4Jw510AopTxJK39ql4dUbBkWQ4RUGMvy8RdhIeDFy8WHZTZIiwuwxOJMIy1K4dXUY7ukDPyWQ4PdEFhoou+H5pgLPwiEN34RNFAt4lrIwoYHpSLiJqpOuVXAeVEPYN4QnThO9Y5NJZh5lGtLaC1XgvWD82Co0zo7DhDOCEL5wdrHKFJ5LwndW+6Cq+qPpYuW95V7PkVCaCutOayAagPVFpmM5Ehb8etn25CztdF/YdbTLVPEvzgTaeaZ6r+bY2cTW+ZZ//5aO25kMhjh2h4840dy6Gxr74vW4KCuECglM1VzfVqAX1cmkWBfUAKQj2HPCg74AfrBZze/jjlHDmpgVtnMiSpLk24RfzAhn/jN7QvWgbNROmokpb0BZp8NtG9FyFne/ywtBjrmDA9a4e5FdR8V84DPcTQ1yMJ5rnHdb5ytcp2tNRkN1ogZiiBU4nKHiNClxdvFHcQyk3fGtS/BRzMp5OiFj7zhq8zoRQyT5Gz0no9vVoQ7mh9/5J+F9qkl0TtAi4gSa5ovYH7ZJdW2Hk07tko/vi6P82ueTKUbj69DbZ6CncP7RPdm64Tzbk+55/WaNsHHlN9QN0yq59a52yYb9fINx+q3xeQN1Ii+qZ9giobjCylfby3D7VUyoe21VcZeA+1ei+a3lECW8q9Ee8ItJDL4/ny5tLDPsL0dDxFvpAb74c97PbTrNbbV4rni99H9WI+2bUn4z4a52Q8Mon5MdkCEf5XOF4irucmxxc5Zuho3Y5FycHLtaff0v1+iO65f8N</diagram></mxfile>
Binary file modified docs/java/concurrent/images/jmm/cpu-cache-protocol.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/java/concurrent/images/jmm/cpu-cache.drawio
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2022-02-08T08:36:06.533Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="B4R4mgy3WOuTaF9DRYB6" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">7VnZcqM4FP0aHuMChFgevSaVmtSk2jPVPY8K3IAqGLmFHDv99S2BMKuzTJp2ajLJg9HRfs/RPSwGmm8Ol5xskxsWQWrYZnQw0MKwbcsyXfmjkKcSCQKvBGJOI92oBtb0B2jQ1OiORpC3GgrGUkG3bTBkWQahaGGEc7ZvN7tnaXvWLYmhB6xDkvbRrzQSSYn6tlfjV0DjpJrZcoOyZkOqxnoneUIitm9AaGmgOWdMlFebwxxSFbwqLmW/1Yna48I4ZOI1Hf76sb6Jrtj+Kvy+/jP6I/+Kr/0LuxzlkaQ7vWG9WPFURYCzXRaBGsQy0GyfUAHrLQlV7V5yLrFEbFJdfc8yoUmUy5FlmqZzljJejIXu/RDCUOK54OwBGjV3Pnaw6pE/gAgTPdwxZqpGLxW4gMPJGFjHyEpJAtuA4E+ySa3HsotW41Fm+5pb29FY0uQ10CDReoqPY9chlxc66m9gAPUYmN/+LYEvENNcAM/fSUibALAiDN4QAYHrIeJ2CWjwafljEILbhKABQix3gBBvLD4sr38kltjwsTGdG0vHmM0NmcIUsjJm8mJVINNr8kguVa4ybDeVa5zd8RZr7vedOuhFQC/yIqJT2cByt4ciklW9vIqLXzXVwgjknL7hm2r+aqpyGrmCABlT3JOHJEO0NdDmOmMZdIShIZLSOJPFUJIHEp8paqnMhVNdsaFRpKYZFF0tS6WNlNxBOiPhQ1zg3ckbsnJ1uaHFWfFfjCmIoEzNfYFGzw5HUWkxunhAjP5QdhhNjMFwdviQlHdz/7iZ3O9kcjTAlTnAFRqLq8rnP4uXOgh/NC+tNvFJzdTx2oyc30yrI/B//upyhc3O6Tl//jp1JzonYQLvOzi9A4JcFKCof6RWq+nCWT1zcEpmRn4scILXprLRnN92Pi0bXWP5CGzgl70dsmiqXjiobJSSPKelNxMu+vAzLg8HKr6pYE6wHejyP0XZNKvy4qCjXRSeGoVb4FRuWaXCxQluIOq98egwI7fFdjyEF5NFn8IGRXiAoQrjkMr7+sf2OoZY0zPcMipXWN+od84rNjvEl+vXvZrvRLoDIa8ttSorVwNJ+mIQvYEKER23/Q5duefQVVNVzypqNPU451QPxs7kRIZ5q36KoZyOhJyJaf1eFfVfWdwQmknkBjZMp78R3OL1rtDzlaXt41/l3W0uvYGbXjx00zuiW/Sf2sc/1bbZdIsLaRe293HswjurXdjBRFpE/YdainF9PAmCf2kgauh2AnC7ZjTy6UeveO/wH1Lb+VzDndgnUs3bbQNNOs/qrmlPqk9j7xaOLNbflcrm9dc5tPwJ</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T13:24:14.579Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="TtfzKUAGciy96luYy6S1" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">3VnbcuI4EP0aP0L5Jl8eMYGkpobd7JKt2Z2XLWELWxNjMbYIkK8fyRbYsgW5AAm7yUPcR7Jk9elu9alo1nCxuc3hMpmQCKWaqUcbzbrRTNMwdIf94ci2QnzfrYA4x5GYVANT/IwEqAt0hSNUSBMpISnFSxkMSZahkEoYzHOylqfNSSrvuoQx6gDTEKZd9BuOaFKhnunW+B3CcbLb2XD8amQBd5PFSYoERmTdgKyRZg1zQmj1tNgMUcqdt/NL9d74wOj+w3KU0de88PA8nUR3ZH0X/pz+Hn0tvoEvXs+sVnmC6UocWHws3e48kJNVFiG+iKFZwTrBFE2XMOSja8Y5wxK6SMXwnGRUkMg+h9k4TYckJXm5ljX3QhSGDC9oTh5RY2TmARvwN4pHRMNELLf3GR/pHlj44AnlFG0akHDALSILRPMtm7IbtQQZIhpNX9jrmltTF1jS5NUWIBTxFO/Xrl3OHoTX38CA1WFgeP8XA/5EMS4oyosTCZEJQEYEkKsiwHdcCzptAhp8Gt4lCAEyIZbdJcRwFIS4l+LD8NWEtEhg56Oyp2WPZiRDLfcLCKY4zpgZMq8hhgfcW5hVnIEYWOAo4tsoqa3J1xXpdtnk8Vpc6QquVMljnYGr517aM+L72eI5CaOHfx9+I9/dntOhBUWseguT5DQhMclgOqrRlgPrOV8JWQrH/UCUboVb4YoSmWfmwHz7N3+/b4Kd/Y9YrzRuNpK1FVZBYU4H/E7i7KewKHC4g8c43cdRk8PqgPxUB6u+gAqyykN0rNSLSsO2ixE9NtFVh0GOUkjxk/wlZ88/81BBHMIwQWcthhFE3jx8U8nrlE0n9NBsfqYEs+UEsxW3k+EqEgxcqhiyAH+xP0BZdCCou/CRTgFtMK2yCpi+sMus6uv6zq4TixvbhnGPcsyOzOtpxVOTtEbGSglrvJSw3Uw8JfE6WfxyJqrDpREO4Eg0vDpfxQ73BLOj7aNx34Jvd8u2oqw6uHir2Xi2F7JcOax1IC9U+aGzUBmx+2OfEMRuJ4gnEGcMmaAFEVny7ppyqHaYnTBs98Jz5Kh74cj1Z/q5Lu1WTXEUlzZQXdrnaLC8iRmsew90OQjmAfrj+wCPA5XkGAHNA9pgqI1sLRhqTCJyZKwF7GFcIoMv8Aneci2omU7KO69ZLpHm/FxxIVUy0CtKCgZsguEsN/Uge4rLvyNXC2403+APg0Dz/f0+P9g+pebsh9mVNn0pnKE0gOFjXOLtzRvXlyPsRmwF5W+5JmXVgfC9e9bFe0ez1TvaluJq81TC61K9o9ENwytXvh1vKzg5SIANgETAxypfJQPdQvAfU76nEeLKhHyo8lXycaDxvsoa+FbhexJVQG9R9enC1+3Q8rHC171S4at0lq1dme499pWXkL2HRevpgvgslfATZa+Si/+F6n1XOn2W2ATA7oN2FPRZX1T/tETja9UnaDU+drsov1t9MrP+7001vf4fmDX6BQ==</diagram></mxfile>
Binary file added docs/java/concurrent/images/jmm/cpu-cache.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/java/concurrent/images/jmm/cpu-cache.png
Binary file not shown.
Binary file modified docs/java/concurrent/images/jmm/jmm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/java/concurrent/images/jmm/jmm2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/java/concurrent/java-concurrent-questions-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ ThreadLocalMap(ThreadLocal<?> firstKey, Object firstValue) {

`ThreadLocal` 数据结构如下图所示:

![threadlocal-data-structure](images/interview-questions/threadlocal-data-structure.jpg)
![threadlocal-data-structure](./images/interview-questions/threadlocal-data-structure.jpg)

`ThreadLocalMap``ThreadLocal`的静态内部类。

Expand Down
4 changes: 2 additions & 2 deletions docs/java/concurrent/jmm.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ head:

为了更好地理解,我画了一个简单的 CPU Cache 示意图如下(实际上,现代的 CPU Cache 通常分为三层,分别叫 L1,L2,L3 Cache):

![CPU 缓存模型示意图](./images/jmm/cpu-cache.png)
![CPU 缓存模型示意图](./images/jmm/cpu-cache.jpg)

**CPU Cache 的工作方式:** 先复制一份数据到 CPU Cache 中,当 CPU 需要用到的时候就可以直接从 CPU Cache 中读取数据,当运算完成后,再将运算得到的数据写回 Main Memory 中。但是,这样存在 **内存缓存不一致性的问题** !比如我执行一个 i++操作的话,如果两个线程同时执行的话,假设两个线程从 CPU Cache 中读取的 i=1,两个线程做了 1++运算完之后再写回 Main Memory 之后 i=2,而正确结果应该是 i=3。

Expand All @@ -38,7 +38,7 @@ head:

## 指令重排序

说完了 CPU 缓存模型,我们再来看看另外一个比较重要的概念 **指令重排序** ,这同样
说完了 CPU 缓存模型,我们再来看看另外一个比较重要的概念 **指令重排序**

为了提升执行速度/性能,计算机在执行程序代码的时候,会对指令进行重排序。

Expand Down

0 comments on commit 4aa189e

Please sign in to comment.