Java内存模型

Java内存模型(JMM) 概念 Java内存模型(Java Memory Model,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。 Java内存模型(不仅仅是JVM内存分区):调用栈和本地变量存放在线程栈上,对象存放在堆上。 堆栈存放规则 一个本地变量可能是原始类型,在这种情况下,它总是“呆在”线程栈上。 一个本地变量也可能是指向一个对象的一个引用。在这种情况下,引用(这个本地变量)存放在线程栈上,但是对象本身存放在堆上。 一个对象可能包含方法,这些方法可能包含本地变量。这些本地变量仍然存放在线程栈上,即使这些方法所属的对象存放在堆上。 一个对象的成员变量可能随着这个对象自身存放在堆上。不管这个成员变量是原始类型还是引用类型。 静态成员变量跟随着类定义一起也存放在堆上。 存放在堆上的对象可以被所有持有对这个对象引用的线程访问。当一个线程可以访问一个对象时,它也可以访问这个对象的成员变量。如果两个线程同时调用同一个对象上的同一个方法,它们将会都访问这个对象的成员变量,但是每一个线程都拥有这个成员变量的私有拷贝。 资料地址 EnjoyMoving

June 2, 2022

阿里云盘mac本地挂在

主要参考文档:https://blog.51cto.com/xuedingmaojun/4815572 采用方式: https://github.com/zxbu/webdav-aliyundriver#jar包运行 挂在地址代码 cd /Users/xxx/Workspaces/WebRoot/logs/webdav;nohup java -jar /Users/xxx/Workspaces/Env/WebDAV/PATH/bin/webdav-aliyundriver-2.4.2.jar --aliyundrive.refresh-token="aaa" --server.port=aaa --aliyundrive.work-dir=/usr/local/etc/webdav/aliyundriver --aliyundrive.auth.user-name=aaa --aliyundrive.auth.password=aaa > /Users/aaa/Workspaces/WebRoot/logs/webdav/webdav.log 2>&1 &; # nohup切换前台停止 fg

March 19, 2022

黑苹果未完善问题点

前置耳机无声音 https://github.com/acidanthera/AppleALC/blob/master/README_CN.md 型号为alc222 alcid=11

March 19, 2022

Hugo项目部署

安装 我喜欢安装直接下载下来,放在bin目录下,所以在 git 的release下载对应的版本 检查安装hugo version查看是否已经安装成功 一般执行的时候,会出现告警,只要进入系统偏好设置->安全性与隐私->通用中仍然允许后,再执行一次就可以了 使用 现在自己的目录(按照自己的习惯,我习惯~/Workspaces/WebRoot)下,执行hugo new site xxx 找到自己喜欢的皮肤,个人喜欢 even 皮肤,该皮肤从hexo-theme-even移植而来,个人感觉还不错。到新建的项目下,进入 themes 目录,执行 git clone https://github.com/olOwOlo/hugo-theme-even.git even 把exampleSite下的config.toml复制到xxx项目下,并根据自己的方式进行修改 在 xxx->content 目录下,克隆你要维护的blog的markdown文档,文件夹名字命名为 post ,因为该theme使用的是post,而不是posts 在xxx 目录夹运行hugo -D,建议先删除下public目录下的内容 命令如下 cd ~/Workspaces/WebRoot hugo new site xxx cd themes git clone https://github.com/olOwOlo/hugo-theme-even.git even cd ../ mv config.toml default.config.toml cp themes/even/exampleSite/config.toml ./ # 修改自己的信息 vi config.toml cd content # clone 你blog的markdown地址 git clone xxx post cd .. rm -rf public/* hugo -D web搭建 刚才我们安装的路径是 ~/Workspaces/WebRoot/xxx 而hugo生成的具体内容为~/Workspaces/WebRoot/xxx/public/ 下,所以我们需要对nginx配置地址为相应的地址...

March 13, 2022

Github同步Gitee

问题 由于国内访问Github受限,经常是无法访问,所以就通过Gitee来代理,如何同步成为一个问题,网上主要有两种方案: 通过项目关联,同时push到Github和Gitee 通过Github的workflow进行同步 尝试 关联同时push 参考地址:https://cloud.tencent.com/developer/article/1649682 workflow 参考地址:https://juejin.cn/post/6894928345830522887 Gitee服务 参考地址:https://gitee.com/help/articles/4336#article-header2

March 2, 2022