ICode9

精准搜索请尝试: 精确搜索
  • 自旋锁与自适应自旋优化2021-09-12 17:31:54

    我们知道,无论是 synchronized 还是 lock 锁,它们都有一个同步监视器,也就是锁。 当一个线程 进入临界区,访问共享变量,就要获取这个锁; 其它线程也要访问这个共享变量,发现锁被占用了,这时有两种操作方式: 将自己挂起,等锁释放后再恢复,但这会给 jvm 的并发带来很大压力, 对共享变量

  • C语言中动态内存分配的本质是什么?2021-09-10 15:02:24

    摘要:C语言中比较重要的就是指针,它可以用来链表操作,谈到链表,很多时候为此分配内存采用动态分配而不是静态分配。 本文分享自华为云社区《【云驻共创】C语言中动态内存分配的本质》,作者: G-washington。 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。尽管C语

  • 进程互斥与同步--锁与信号量2021-09-10 11:02:30

    互斥量与二元信号量的异同 实现机制上 互斥量通过软件方式或者硬件中断、原子指令等方法实现;信号量的实现中也需要互斥量保证P、V操作的原子性。 互斥量只能由同一个进程获取和释放; 信号量的获取和释放可以由两个进程完成。 实际应用上 互斥量只能用以保证进程对临界区的独占

  • linux内存碎片2021-09-08 17:00:22

    linux提供了brk,sbrk系统调用来申请释放内存。 linux系统通过一个指针来管理内存,如图所示堆区向上生长,使用一个指针指向堆顶。每次申请内存,使用系统调用把brk指针向上移动,释放内存就把brk指针向下移动。但是如果不想释放data2直接释放data1,这是做不到的。不需要的数据data1,必

  • tensorflow 多模型模型切换释放显存2021-09-08 16:59:13

    #模型定义 class Model1(object): def __init__(self,cfg): self.sess = InteractiveSession(...) #主程序运行部分 M1 = Model1(cfg1) M1.pred() #现在想使用另一个模型 防止out of memory 可先释放第一个模型分配的显存再初始化第二个模型 yolo1.session.clo

  • P1622 释放囚犯(区间dp)2021-09-04 21:58:47

    P1622释放囚犯题意:思路: C o d e Code

  • 释放锁和不释放锁操作2021-09-03 20:02:08

    释放锁的操作: 1)当前线程的同步方法、同步代码块执行结束。 2)当前线程在同步代码块、同步方法种遇到break、return中止了该代码块、该方法继续执行。 3)当前线程在同步代码块、同步方法中出现了未处理的Error或Exception,导致异常结束。 4)当前线程在同步代码块、同步方法中执行了线

  • Filecoin通缩2021-09-03 15:33:43

    Filecoin从2020年8月25日开启第一轮太空竞赛,在同年10月15日主网正式上线。 由于主网是从测试网平稳过渡,所以网络的创世区块是从2020年8月25日开启的,发布了Filecoin的创世区块。 filecoin股份分配如下: 协议实验室官方为了防止投机割韭菜现象发生,有利于Filecoin网络长期发展,制定了

  • C语言 野指针 - C语言零基础入门教程2021-08-29 16:03:54

    目录 一.简介 二.野指针产生的原因 1.指针变量未初始化 2.指针释放后之后未置空 三.避免野指针产生 1.初始化时置 NULL 2.释放时置 NULL 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 野指针就是指针指向的位置是不可知的(随机的

  • centos中释放缓存的方法2021-08-20 16:01:10

    释放缓存区内存的方法 a)清理pagecache(页面缓存) # echo 1 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=1 b)清理dentries(目录缓存)和inodes # echo 2 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=2 c)清理pagecache、dentries和inodes #

  • 堆和栈的区别?2021-08-17 19:35:06

    一、什么是堆、栈? 1、栈区:存放函数的参数值、局部变量等,由编译器自动分配和释放,通常在函数执行完后就释放了,其操作方式类似于数据结构中的栈。栈内存分配运算内置于CPU的指令集,效率很高,但是分配的内存量有限,比如iOS中栈区的大小是2M。 2、堆区:就是通过new、malloc、realloc分配的

  • Redisson 分布式锁简单应用2021-08-06 18:02:38

        RLock rLock = redissonClient.getLock("lockName");// 可以看做是获取一个连接     try { // 尝试加锁 愿意等待的时长 waitTime ; 加锁成功后自动释放锁的时长 leaseTime,大于0时不论加锁业务是否处理完毕都会释放锁         boolean locked = rLock

  • C++核心编程 1 程序的内存模型2021-08-05 19:02:27

    1、内存分区模型 C++程序在执行时,将内存大方向划分为4个区域   代码区:存放函数体的二进制代码,由操作系统进行管理(写的所有代码都在代码区)   全局区:存放全局变量、静态变量以及常量   栈   区:由编译器自动分配释放,存放函数的参数值,局部变量等   堆   区:由程序员分配和

  • JAVA GC finalize()2021-07-26 19:59:47

    finalize() 垃圾回收 java中什么时候使用finalize()方法 在java中,垃圾回收不需要我们自己执行,而是由系统自动执行。 这一点给了我们发开发人员省了不少心,但是finalize()方法一直是个困惑。 虚拟机在执行垃圾回收之前都会执行对象的finalize(),那么finalize()到底有什么用呢?

  • 如何带壳逆向2021-07-26 19:00:53

    看一个简单示例 看下401301地址    同一个地址 壳还未释放时候    释放后得样子  这里可以加一个初始化api断点  bp GetStartupInfoA 这个重新加载再看   你下断点也不会被激活        但是在初始化断点后就可以看到 bp GetStartupInfoA 拦截下后 就是壳释放后

  • C#托管资源和非托管资源的释放 ---- Finalize和Dispose使用方法2021-07-23 13:34:24

        在了解Finalize和Dispose之前,我们需要了解两个概念,一个是托管资源,一个非委托资源。    a.其中托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等。    b.而非托管资源是CLR不能控制或者管理的部分,这些资源有

  • 【面试题】synchronized和Lock锁的区别2021-07-18 21:33:29

    synchronized是java内置关键字,是在JVM层面实现的;Lock是java的一个接口,是通过代码实现的,为具体的java类(java.util.concurrent.locks.Lock),属于API层面的锁; synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁; synchronized会自动释放锁(a 线程执行完同步代码会释

  • C/C++内存几大分区2021-07-17 10:59:49

    功能: 内存栈区,内存堆区,常数区,静态区,代码区 栈区(stack) 存放局部变量名。 由编译器自动分配释放 ,存放函数的参数值,局部变量的值。 栈的地址是向下增长。 堆区(heap) 存放new或者malloc出来的对象。 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。 堆的地址是

  • 【转】iOS_assign,retain,weak,strong的引用计数区别(附代码示例)2021-07-13 12:02:11

    先做个笔记: copy:此属性只对那些实行了NSCopying协议的对象类型有效。 关于这四者的关系,不需要再解释太多。简单的一句话:assign和retain是旧版本的语法,新版本的已对应更改为weak和strong。 即:assign相当于weak,retain相当于strong。 用strong声明的属性赋值给了weak声明的属性,当stro

  • Linux设备驱动开发入门--设备驱动程序框架2021-07-08 18:00:06

    一、Linux设备分类   Linux将设备主要分为三类:字符设备、块设备、网络设备。   1. 字符设备:必须以串行顺序依次访问的设备,不能让随机访问设备内存中某一组数据;   2. 块设备:可以按照任意顺序进行访问,以块为单位,例如硬盘、eMMc等;   3. 网络设备:面向数据包的接收和发送而设计

  • Java中的锁之Lock接口2021-07-08 14:02:49

    一.Lock接口简介 首先,我们一睹尊容: 在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。虽然它缺少了(通过syn

  • VS报错:0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突/无可用源2021-07-08 14:01:51

    情况:程序运行结束后报错“无可用源”、0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突等,编译生成没有问题。 背景:VS下的QT project,使用FFTW3库; 报错情况: 退出运行后报错:  或:0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突等 原因和解决方法: 检查代码,一般是n

  • Java HttpClient请求完毕释放资源内存的方法及示例代码2021-07-07 20:31:05

    使用HttpClient要注意下系统资源的释放,本文主要介绍使用HttpClient进行请求时,释放系统资源的方法及示例代码。 原文地址:Java HttpClient请求完毕释放资源内存的方法及示例代码

  • 装饰器之变量的不释放2021-07-03 23:01:45

    一般来说,函数执行完了,局部的整个名称控件都会被回收。但是如果名称空间中的某一个变量被其他地方引用到了,该变量所属的整个名称空间都不会被回收,而不是单指这个变量。另外外函数返回了内函数的地址引用给了一个全局变量,又因为全局变量在程序运行期间都不会被释放,所以全局变量(也就

  • SIP消息简单理解-包括释放过程!2021-07-03 18:58:00

    由于是远古笔记,所以大家将就一下,最下边有sip全部释放细节,可直接看大神的! sip消息格式**** sip消息=起始行 (起始行=请求行/状态行) *消息头部(一个或多个) [消息体] 1)请求消息的起始行为请求行 由 方法名、请求url、协议版本组成 (各部分用空格分隔) 示例:INVITE sip:guest@192.xxx

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

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

ICode9版权所有