05 2022 档案

摘要:在开始进行实验之前,我已经新建了一个空目录/data,并将该目录挂载了一块新硬盘,将硬盘分区格式化为ext4的格式,所以当我操作/data目录下的文件及文件夹的时候,实际上就是针对新挂载的硬盘进行数据读写操作。首先通过下面的命令准备一下实验用的文件,新建一个文件/data/delfile1.txt并 阅读全文
posted @ 2022-05-31 06:26 字母哥博客 阅读(1210) 评论(0) 推荐(0) 编辑
摘要:最近要给小伙伴们写几篇文章,关于《linux下误删除文件之后该如何恢复》。对于没有进程占用的文件想要进行数据恢复,不同的文件系统格式需要使用不同的工具,比如:ext4、xfs等。我找遍了我所有的虚拟机服务器,都没找到ext4文件格式的。因为ext4毕竟还是非常常用的文件系统格式,我写东西就希望能够系 阅读全文
posted @ 2022-05-27 07:04 字母哥博客 阅读(6798) 评论(0) 推荐(3) 编辑
摘要:一、linux误删除数据的场景 在实际的工作中,朋友们可能会将linux服务器上的文件不小心误删除掉了。而且越是资历老的工程师越容易犯这样的错误,敲代码的速度也是够快,啪啪rm -rf一个回车,然后就是打脸时刻 。新人操作文件时往往战战兢兢、反复确认,反而不容易出错。如果你也是一个有多年工作经验的工 阅读全文
posted @ 2022-05-25 08:21 字母哥博客 阅读(4967) 评论(0) 推荐(1) 编辑
摘要:一、什么是信号量 “信号量”在编程术语中使用单词semaphore,那什么是“信号量”?信号量就好比你家厨房入口架子上摆了三把锅。 如果你的孩子热奶拿走一把,你的老婆热汤拿走一把,你的妈妈做菜拿走一把,你想煮面条就没有锅了。当你看到这种情况,你就不会进入厨房了,你处于等待状态。也就说厨房按照“锅的数 阅读全文
posted @ 2022-05-17 08:06 字母哥博客 阅读(564) 评论(1) 推荐(1) 编辑
摘要:一、读写锁 在我的《java并发编程》上一篇文章中为大家介绍了《ReentrantLock读写锁》,ReentrantReadWriteLock可以保证最多同时有一个线程在写数据,或者可以同时有多个线程读数据,但读写不能同时进行。 比如你正在做的是日志,有一个线程正在做写操作,但是在写日志的时候你可 阅读全文
posted @ 2022-05-16 08:22 字母哥博客 阅读(438) 评论(0) 推荐(2) 编辑
摘要:一、ReentrantLock可重入锁 可重入锁ReentrantLock 是一个互斥锁,即同一时间只有一个线程能够获取锁定资源,执行锁定范围内的代码。这一点与synchronized 关键字十分相似。其基本用法代码如下: Lock lock = new ReentrantLock(); //实例化 阅读全文
posted @ 2022-05-15 08:16 字母哥博客 阅读(372) 评论(0) 推荐(0) 编辑
摘要:一、协调生产/消费的需求 本文内容主要想向大家介绍一下Lock结合Condition的使用方法,为了更好的理解Lock锁与Condition锁信号,我们来手写一个ArrayBlockingQueue。 JDK实际上已经有这个类,基于Lock锁与Condition锁信号实现的,当然JDK实现代码很复杂 阅读全文
posted @ 2022-05-14 09:29 字母哥博客 阅读(238) 评论(0) 推荐(0) 编辑
摘要:一、相似之处:Lock锁 vs Synchronized 代码块 Lock锁是一种类似于synchronized 同步代码块的线程同步机制。从Java 5开始java.util.concurrent.locks引入了若干个Lock锁的实现类,所以通常情况下我们不需要实现自己的锁,重要的是需要知道如何 阅读全文
posted @ 2022-05-13 08:20 字母哥博客 阅读(598) 评论(0) 推荐(2) 编辑
摘要:一、通过程序看现象 在开始为大家讲解Java 多线程缓存模型之前,我们先看下面的这一段代码。这段代码的逻辑很简单:主线程启动了两个子线程,一个线程1、一个线程2。线程1先执行,sleep睡眠2秒钟之后线程2执行。两个线程使用到了一个共享变量shareFlag,初始值为false。如果shareFla 阅读全文
posted @ 2022-05-12 07:50 字母哥博客 阅读(345) 评论(0) 推荐(1) 编辑
摘要:本文介绍并发编程中的若干概念,实际上在笔者之前的文章中,已经介绍过很多概念。比如:并发与并行、同步与异步、锁与信号量等等。参考《并发编程专栏》,本文计息介绍一些相对深入一些的概念 一、临界区 为了方便大家理解,我们先看下面的这样一张图,我们可以把房子看作一个进程,每个房子里面的住户及其活动看作一个线 阅读全文
posted @ 2022-05-11 08:19 字母哥博客 阅读(558) 评论(0) 推荐(4) 编辑
摘要:一、镜像分层与容器层 在进行docker pull 下载镜像的时候,通过下图可以看到镜像是分层下载并解压的。如nginx:1.20.2的镜像,其镜像是分为6层。 当我们运行一个新的容器的时候,实际上是在镜像分层的基础上新添加了一层:container layer(容器层)。之后所有容器运行时对文件系 阅读全文
posted @ 2022-05-09 08:45 字母哥博客 阅读(843) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示