ICode9

精准搜索请尝试: 精确搜索
  • MySQL读写锁2021-07-03 17:33:30

    MySQL读写锁 读锁(共享锁) 当MySQL的一个进程(sessionA)为某一表开启读锁后,其他的进程包含自身都没有权利去修改这张表的内容。但是所有的进程还是可以读出表里面的内容的 sessionA可以继续对该数据表加写锁,其他session也可以对该数据表继续加读锁但不能加写锁,直到sessionA释放共享锁

  • linux 释放buffer2021-07-02 17:03:08

      1、查看当前内存剩余 free -h 2、首先写缓存到文件系统 sync 3、释放页面缓存 echo 1 > /proc/sys/vm/drop_caches 3、释放目录缓存和索引节点缓存 echo 2 > /proc/sys/vm/drop_caches 3、释放页面缓存,目录缓存和索引节点缓存 echo 3 > /proc/sys/vm/drop_cache

  • 运输层协议:TCP连接建立与释放2021-07-01 21:33:31

    TCP的特点 面向连接:TCP是面向连接的运输层协议,通过TCP发送数据需要先建立连接,通信结束后需要释放连接 可靠传输:TCP实现了可靠传输,使得数据能够无丢失、无差错、不重复地到达接收端 面向字节流:TCP会将应用层的数据划分成大小不等的数据块,数据块以字节为单位 TCP连接 使用TCP传输

  • js的垃圾收集机制之理解2021-06-29 01:31:55

     <h3>我们先了解一下什么是内存泄漏?</h3>  > 我们创建基本类型、对象、函数……所有这些都需要内存。程序的运行需要内存,只要程序提出要求,操作系统或者运行是就必须供给内存。所谓的内存泄漏简单来说是不再用到的内存,没有及时释放。  举几个例子:比如使用EventBus,肯定是要执

  • 多线程总结2021-06-22 15:59:24

    并行与并发 并行:两个不同的事件在同一时间运行。 并发:两个同类事件在同一时段发生。 创建线程的方式--线程的状态--线程的启动方式? 线程安全:原子性(互斥访问,同一时刻只能一个线程访问)、可见性(一个想成在主内存中修改,可以及时被其它线程看到)、有序性 多线程锁的升级 无锁-偏向锁-

  • 面试必问:redis分布式锁2021-06-21 21:58:29

    众所周知,redis是一个开源的高性能的基于内存运行的键值对数据库,现在众多商品信息网站和app在应用着redis,那么redis的安全性能也就值得注意,本文基于redis如何实现分布式锁和锁的一些问题进行讨论,都是个人总结的,借鉴自敖丙大佬,若有偏差,还请多多批评! 既然是分布式锁,萌新肯定会疑

  • linux基础37——区域锁2021-06-21 21:34:10

    1. 概念 区域锁(Scoped locking)不是一种锁的类型,而是一种锁的使用模式(pattern)。这个名词是Douglas C. Schmidt于1998年在其论文Scoped Locking提出,并在ACE框架里面使用。但作为一种设计思想,这种锁模式应该在更早之前就被业界广泛使用了。 区域锁实际上是RAII模式在锁上面的具

  • linux 文件已删除但空间不释放2021-06-21 10:01:37

    1、错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登录服务器查看,根分区确实没有空间了: [root@localhost ~]# df -h 这里首先说明一下服务器的一些删除策略,由于Linux没有回收站功能,所以线上服务器上所有要删除的文件都会先移动到系统/tmp目录下,然后定期清除/tmp目录下的

  • [iOS开发]引用计数与MRC2021-06-20 21:57:53

    文章目录 1. 内存分配区域1.1 内区1.1.1 栈1.1.2 堆1.1.3 全局区1.1.3.1 static静态变量1.1.3.2 extern全局变量1.1.3.3 const常量 1.1.4 常量区1.1.5 代码区 1.2 外区--自由存储区 2.引用计数与MRC部分2.1 基础的表格2.2 内存管理的思考方式(四个基本法则)2.2.1 自己生成的

  • linux内存释放办法2021-06-20 16:36:55

    在服务器运行过程中,使用free -m查看服务器内存时,经常会发现free值很小,有些同学就会很紧张,总想采取一些措施,使得free值看起来高一点,心里就比较爽一点。其实,个人觉得这完全是图一时之快,没什么实质性用途。 一、大众释放内存方法 1. 首先使用free -m查看剩余内存 linux-8v2i:~ # 

  • your program can cause an assertion failure解决方法2021-06-19 10:01:27

    问题:敲代码的时候遇到这个错误提示: 但是程序在此之前是正常运行的。 解决办法: 个人原因是因为野指针错误,具体是把一个已经释放的指针进行了操作。 freeList(order_head); freeList(menu_head); printfMenuInfo(order_head); 其实第三行当时是用来测试输出的,后来释放链表的时候

  • redis分布式锁2021-06-17 21:01:26

    1、加锁 SET lock $uuid EX 20 NX (保证过期时间与 setNX原子,uuid保证只释放自己的锁) 2、释放锁 if redis.get("lock") == $uuid: redis.del("lock") 释放别人锁的场景: 客户端 1 加锁成功,开始操作共享资源 客户端 1 操作共享资源的时间,「超过」了锁的过期时间,锁被「自动释

  • 浅析redis与zookeeper构建分布式锁的异同2021-06-17 17:00:30

    我们知道redis和zookeeper都可以构建分布式锁,但是他们之间有哪些异同,而这些异同又如何指导我们在日常生产场景中使用合适的方式呢? 如何实现分布式锁 进程请求分布式锁时一般包含三个阶段:1. 进程请求获取锁;2. 获取到锁的进程持有锁并执行业务逻辑;3. 获取到锁的进程释放锁;下

  • MIT6.S081学习总结-lab3:page tables2021-06-15 23:58:12

    lab3 主要是页表相关,难度突然提高了好多,遇到了无数个坑,太难了。 打印页表 第一个进程启动时打印页表内容 实现: kernel/vm.c里添加,递归实现即可 每个进程一张内核页表 目前xv6的实现里,每个进程只有一张独立的用户地址空间页表,共享一张内核页表,这样的话每次内核不能直接使用用

  • Redis 实现分布式锁2021-06-15 18:02:11

    Redis 做分布式锁 分布式锁也算是 Redis 比较常见的使用场景。 问题场景: 例如一个简单的用户操作,一个线城去修改用户的状态,首先从数据库中读出用户的状态,然后在内存中进行修改,修改完成后,再存回去。在单线程中,这个操作没有问题,但是在多线程中,由于读取、修改、存 这是三个操作,不是

  • 存储类别、链接和内存管理(三)--面试官有问你堆与栈吗?2021-06-13 17:58:29

    1、堆 在内存的全局存储空间中,用于程序动态分配和释放的内存块称为自由存储空间,通常也称之为堆。 在C程序中,我们用malloc和free函数来从堆中动态地分配和释放内存。 这里需要提醒基础不好的同学, 第九行,*p打印出p的值对应的存储单元的数据; 如果是p,则打印p的值(是个地址,指针

  • free(内存释放)2021-06-10 20:36:26

    一、找到dmaolloc的内存内存释放的机制总结,也很容易反推出其内存分配的机制,挺好的转一下(转自:http://blog.chinaunix.net/uid-796091-id-2035309.html) 1. 不考虑TRIM_FASTBINS的影响,对于小于64个字节(FASTBIN_THRESHOLD)的内存块,free直接将释放的内存块放入fastbin,供下次malloc使用

  • Mathematics释放变量的方法2021-06-03 20:55:54

    mathematics释放变量的方法:   菜单栏-》计算-》退出内核-》点击Local;等待一会就会把变量都释放干净;再次计算就不会出错。如下图所示:  

  • 线程中yield()、sleep()、wait()、notify()对锁有何影响?2021-06-03 13:54:49

    1.yield() yield()方法仅仅只是让出cpu的执行权,并不会将锁让出,不会释放。 2.sleep() sleep()方法也不会将锁让出,不会释放,当我们的线程休眠后,必须等待线程休眠过后,其他线程才可以拿到锁 3.wait() wait()方法被调用后会释放自己的锁,当被唤醒的时候会继续去竞争锁 4.notify()/notify

  • 解决文件删除后空间不释放的问题2021-05-31 14:01:20

    1、错误现象 某分区没有剩余空间,找到较大文件删除后,空间没有被释放: [root@localhost ~]# df -h [root@localhost ~]# du -sh /tmp/*|sort -nr|head -3 通过命令输出发现在/xxx目录下有个xxxGB大小的文件xxx_log,这个文件应该是xxx产生的访问日志文件,从日志大小来看,应该是很久没有清

  • 充分释放数据价值:安全、可信6到飞起2021-05-27 23:56:21

    随着数字化进程加速,企业和企业之间、企业和政府之间数字化合作的诉求越来越强烈。 企业基于政府数据可以为社会和客户提供更高效,更精准的服务,政府基于企业数据可以实现透明监管,精准施策。企业之间的数据共享可以为其市场拓展,联合营销提供有力帮助。 数据正逐步成为数字经济新的重

  • 解惑C#不用释放内存(4)C#为何不用释放内存2021-05-26 11:34:32

      因为CLR的托管堆,能避免前面提到的bug(内存泄漏和使用已释放的内存)   还能为开发人员提供一个简化的编程模型:分配并初始化资源并直接使用。   大多数类型都无需要资源清理,垃圾回收器会自动释放内存。     C#之所以不用释放内存,是因为由CLR中的垃圾回收器来释放内存。  

  • 解惑C#不用释放内存(2)C++如何分配内存2021-05-26 10:04:11

      C++程序员要手动管理内存。   如果创建的内存,不使用了。没有释放内存,造成内存泄漏。   要试图使用,已经释放的内存,程序就会报错。   以上两个bug一般无法预测他们的后果或者时间。   =========================================================   什么是内存泄漏?  

  • 解惑C#不用释放内存(2)分配内存2021-05-26 09:34:52

      ①调用IL指令newobj,为代表资源的类型分配内存。   ②初始化内存,设置资源初始化状态并使资源可用。(类型的实例构造器负责设置初始状态)   ③访问类型的成员来使用资源。   ④摧毁资源的状态已进行清理。   ⑤释放内存。垃圾回收器独自负责这一步。

  • vector释放2021-05-25 22:54:25

    #include <iostream> #include <vector> using namespace std; //STL vector的几种清空容器(删除)办法 void test() { vector<int> vecnum; vecnum.push_back(1); vecnum.push_back(2); vecnum.push_back(3); vecnum.push_back(4); vecnum.

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有