前言 C中我们会进行malloc一块内存,然后free掉。但是经常会遇到我们忘记写free,导致内存溢出,C++也有类似的情况,为了解决掉我们忘记释放内存的习惯,C++引入了几种智能指针,为的就是让函数可以在正常终止或者异常终止的情况下,改指针的指向的内存都可以处于正确的状态。shared_ptr、 ...
分类:
编程语言 时间:
2020-11-19 12:30:14
阅读次数:
6
linux下core dump【总结】 在linux下,程序莫名突然崩溃了怎么办,有的程序有日志,有的程序没有则么办,或者自己忘记定义了怎么办,而且,有没有其他途径能配合程序日志更快的解决问题? 基本概念: 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中, ...
分类:
系统相关 时间:
2020-07-17 19:33:16
阅读次数:
79
PE重定位 使得硬编码在程序中的内存地址随当前加载地址的变化而变化就是PE重定位. 若不添加重定位,而加载时内存地址被占用,则会出现"内存地址引用错误",使得程序异常终止. PE重定位的操作原理: 查找硬编码地址需要用到重定位表(Relocation Table),它是记录硬编码地址偏移的列表.是P ...
分类:
其他好文 时间:
2020-07-06 20:22:47
阅读次数:
58
本代码与上一代码单链表的极其相似,只是在插入删除操作中有所修改 注意:NULL是不可以有next结点和prior结点的(包括空表的表头,所以初始化链表只需head=NULL;一条语句),否则会导致调试过程异常终止。 1 //链式存储 双向链表 2 #include <iostream> 3 usin ...
分类:
其他好文 时间:
2020-05-26 00:50:43
阅读次数:
71
使用差异性备份文件还原的时候报错: 报错时,通过生成的还原脚本可以看到: RESTORE DATABASE [m] FILE = N'm' FROM DISK = N'D:\m\m_backup_2016_04_07_280002_6355156.bak' WITH FILE = 1, MOVE N ...
分类:
数据库 时间:
2020-04-12 14:24:31
阅读次数:
206
其它语言(如C语言)要求程序员显式地分配内存、释放内存。 程序需要内存时分配内存,不需要时释放内存。 但是这种做法常常引起内存泄漏。所谓内存泄漏,就是由于某种原因使分配的内存始终没有得到释放。如果该任务不断地重复,程序最终会耗尽内存并异常终止,至少无法继续运行。 Java在创建对象时会自动分配内存, ...
分类:
编程语言 时间:
2020-02-21 20:03:59
阅读次数:
56
System类包含一些有用的类字段和方法,他不能被实例化 方法: public static void gc():运行垃圾回收器 public static void exit(int status):终止当前正在运行的Java虚拟机。参数用作状态码;非0的状态码表示异常终止 public stat ...
分类:
编程语言 时间:
2020-02-16 20:32:50
阅读次数:
84
一.类加载器深入解析与阶段分解 1.在Java代码中,类型(类)的加载、连接与初始化过程都是在程序运行期间完成的。 2.Java虚拟机结束生命周期的情况: 程序执行了System.exit()方法 程序正常执行结束 程序执行中遇到异常或错误而异常终止 操作系统出现错误导致Java虚拟机终止 3.累的 ...
分类:
其他好文 时间:
2020-02-10 14:10:55
阅读次数:
63
1.迭代器:通过iter()方法获得了list的迭代对象,然后就可以通过next()方法来访问list中的元素了,当容器中没有可访问元素时,会抛出StopIteration异常终止迭代器 data = [1,2,3,4,5] itr = iter(data) print(itr.__next__() ...
分类:
编程语言 时间:
2019-12-24 09:33:59
阅读次数:
59
如果一个broker正常退出,是会删除abort文件的。那么启动broker的时候发现abort文件还存在,那么说明上次是异常终止,会进入到commit-log的recoverAbnormally逻辑里面,因为所有其他的信息都是从commit-log获取到的,所以追根溯源只能从commit-log开 ...
分类:
其他好文 时间:
2019-12-08 22:49:36
阅读次数:
182