上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 47 下一页
摘要: 1 前言 这节,我们来系统地聊聊死锁的问题。 死锁的概念; 模拟死锁问题的产生; 利用工具排查死锁问题; 避免死锁问题的发生; 2 死锁的概念 在多线程编程中,我们为了防止多线程竞争共享资源而导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的线程就 阅读全文
posted @ 2023-06-16 15:43 酷酷- 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 1 前言 对于共享资源,如果没有上锁,在多线程的环境里,那么就可能会发生翻车现场。这节我们来看看操作系统中避免多线程资源竞争的互斥、同步的方法。 2 竞争与协作 在单核 CPU 系统里,为了实现多个程序同时运行的假象,操作系统通常以时间片调度的方式,让每个进程执行每次执行一个时间片,时间片用完了,就 阅读全文
posted @ 2023-06-16 15:09 酷酷- 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看进程间的通信方式哈。 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 Linux 内核提供了不少进程间通信的机制,我们来一起瞧瞧有哪些? 2 管道 管道分两种类型:匿名管道、命名管道 如果你学过 Li 阅读全文
posted @ 2023-06-16 07:42 酷酷- 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看进程、线程的一些基础知识哈。 2 进程 我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为「进程」(Process)。 现在我们 阅读全文
posted @ 2023-06-16 06:57 酷酷- 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们整体来深入梳理下Linux 虚拟内存哈。 我们日常开发中创建的类,调用的函数,在函数中定义的局部变量以及 new 出来的数据容器(Map,List,Set .....等)都需要存储在物理内存中的某个角落。 而我们在程序中编写业务逻辑代码的时候,往往需要引用这些创建出来的数据结构,并 阅读全文
posted @ 2023-06-15 15:06 酷酷- 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1 前言 今天给大家讲讲如何查看电脑的WI-FI密码哈。 2 Windows系统 2.1 netsh命令获取WIFI密码 netsh 是 Windows 下的网络配置命令,直接输入该命令并回车,即可进入一个交互式的命令行。运行 netsh wlan show profile 即可获取当前系统中保存的 阅读全文
posted @ 2023-06-15 13:37 酷酷- 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看内存的另一个问题哈,就是如何避免预读失效和缓存污染,其实这两个问题都是考量如何改进 LRU 算法。 因为传统的 LRU 算法存在这两个问题: 「预读失效」导致缓存命中率下降 「缓存污染」导致缓存命中率下降 MySQL 和 Linux 操作系统是通过改进 LRU 算法来避免「预 阅读全文
posted @ 2023-06-15 06:30 酷酷- 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看内存的另一个问题哈,「在 4GB 物理内存的机器上,申请 8G 内存会怎么样?」 这个问题在没有前置条件下,就说出答案就是耍流氓。这个问题要考虑三个前置条件: 操作系统是 32 位的,还是 64 位的? 申请完 8G 内存后会不会被使用? 操作系统有没有使用 Swap 机制? 阅读全文
posted @ 2023-06-14 09:38 酷酷- 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看一个极端情况,就是当内存满了,接下来会发生什么呢?大家可以猜一下,类似我们的jvm oom然后是不是会进行垃圾回收呢,其实都是一样的道理,我们来看看。 2 内存分配的过程是怎样的? 应用程序通过 malloc 函数申请内存的时候,实际上申请的是虚拟内存,此时并不会分配物理内存 阅读全文
posted @ 2023-06-14 08:17 酷酷- 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来实际看看一次内存分配的过程,就以 malloc 动态内存分配为切入点,我在文中也做了小实验: malloc 是如何分配内存的? malloc 分配的是物理内存吗? malloc(1) 会分配多大的内存? free 释放内存,会归还给操作系统吗? free() 函数只传入一个内存地 阅读全文
posted @ 2023-06-14 07:49 酷酷- 阅读(141) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 47 下一页