如何理解Java内存模型?| 内存泄漏&内存溢出

大家都知道Java能跨平台,是因为JVM,它屏蔽了底层操作系统和物理计算机的差异。Java中还有一个非常重要的概念,JMM(Java Memory Model),Java内存模型,JMM 也是 JVM 规范里定义的一部分,JMM 定义了 JVM 在计算机内存中的工作方式。Java 内存模型方法区:线程共享的一个区域,用于存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。在JVM

- 阅读全文 -

聊聊高并发IO模型及原理

一、IO读写基本原理IO读写分为read和write,read调用,并不是直接从物理磁盘读取,同样,write调用也不是直接把数据写进物理磁盘。这中间还有一层,缓冲区。而缓冲区又分为:内核缓冲区和用户进程缓冲区。IO原理图一次完整的Socket请求和相应如下:客户端调用:系统通过网卡读取客户端的请求,将数据读取到内核缓冲区;程序请求数据:程序通过read命令,将数据从内核缓冲区送入程序的用户缓冲区

- 阅读全文 -

解决macOS 安装软件出现Read-only file system问题

最近把macOS升级到catalina后,安装mongoDB时,没有办法在目录下创建/data/db,提示Read-only file system(仅只读文件系统)。解决办法: 在终端执行下面两条命令:sudo mount -uw / killall Finder这样就可以了mkdir -p /data/db sudo chown 777 /data/db这个只是临时开放系统文件权限的

- 阅读全文 -

macOS Catalina 10.15 更新后vmware fusion黑屏无法正常显示的解决方案

前段时间系统升级到了Catalina,vmware突然不能用了,网上搜索了不少资料,整一下解决办法方法1,如果你是低版本,下载最新版本安装之后,系统会自动提示申请屏幕录制权限,点击允许,问题解决方法2,进入恢复模式下打开终端:关闭系统SIP保护:csrutil disable重启,进入正常系统后:进入系统后打开终端输入以下命令(中途可能要求你输入密码,输入本机登陆密码即可)1,tccutil re

- 阅读全文 -