1、栈(stack)和堆(heap) stack为自动分配的内存空间,它由系统自动释放;而heap则是动态分配的内存,大小也不一定会自动释放 2、数据类型 JS分两种数据类型: 基本数据类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6),这些类型 ...
分类:
Web程序 时间:
2020-05-29 19:27:12
阅读次数:
75
1.什么是死锁? 死锁是由于两个或以上的线程互相持有对方需要的资源,且都不释放占有的资源,导致这些线程处于等待状态,程序无法执行。 2.产生死锁的四个必要条件 1.互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。 2.请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已 ...
分类:
编程语言 时间:
2020-05-28 21:39:30
阅读次数:
87
一、互斥体 内核级临界资源(跨进程),互斥体可以看成能够放进内核(0环)中的一种令牌。 HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD //安全描述符 BOOL bInitialOwner, // initial ...
定时删除:创建一个定时器,在键过期时立即删除。 为什么不用定时删除策略:虽然内存及时释放,但太消耗 CPU 资源。 定期删除,设置了 expire 的键存储在一个独立的字典中,默认每 100ms 随机选择 20 个 key,删除其中已过期的 key。如果过期 key 比例超过 1/4,那就重复这一步 ...
分类:
其他好文 时间:
2020-05-27 20:27:13
阅读次数:
88
在实际生产环境中,可能存在数据磁盘空间不足的情况,一般情况下,我们会通过增加新的磁盘来解决,当新磁盘增加完毕后,需要将原数据文件迁移一部分到新磁盘空间,以释放原数据磁盘的空间,本文主要阐述此种情况下数据文件的移动。
分类:
移动开发 时间:
2020-05-27 15:38:04
阅读次数:
169
java的垃圾回收是自动化的,偶时候会出现内存溢出的情况,内存溢出也是jvm分配的内存中对象过多,超出了最大可分配内存的大小。 提到java的垃圾回收机制就不得不提一个方法:? System.gc()用于调用垃圾收集器,在调用时,垃圾收集器将运行以回收未使用的内存空间。它将尝试释放被丢弃对象占用的内 ...
分类:
编程语言 时间:
2020-05-27 00:58:56
阅读次数:
80
内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 我们平时开发过程中不可避免的会遇到内存泄漏问题,你是如何排查的呢?估计你是使用下面这几个工 ...
分类:
系统相关 时间:
2020-05-26 20:48:29
阅读次数:
122
use 是什么 use 是 Rust 编程语言的关键字。using 是 编程语言 C# 的关键字。 关键字是预定义的保留标识符,对编译器有特殊意义。 using 关键字有三个主要用途: using 语句定义一个范围,在此范围的末尾将释放对象。 using 指令为命名空间创建别名,或导入在其他命名空间 ...
分类:
其他好文 时间:
2020-05-26 20:21:33
阅读次数:
87
1.理论部分 事务会把表示工作逻辑单元的SQL语句集成起来。 (1)commit 当数据库提交COMMIT语句的时候,这个事务就结束了,并且如下结果会发生: 事务所做的所有工作都会永久化 其他用户可以看到这个事务所做的数据变更 该事务拥有的所有锁被释放 commit语句的语法如下: COMMIT [ ...
分类:
数据库 时间:
2020-05-26 12:01:49
阅读次数:
123
1.指针和内存 c程序在编译后,会以三种形式使用内存 1静态/全局内存 静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量在程序开始运行时分配,直到程序终止时才会消失 2.自动内存 这些变量在函数内部声明,并且在函数调用时才被创建。他们的作用域局限于函数内部,而且生命周期限制在函数的执行时 ...
分类:
其他好文 时间:
2020-05-25 19:54:00
阅读次数:
123