现在位置: 首页 > 自动控制 > 文章
共同点 (1.)都和数组相似,都可以使用标准数组的表示方法来访问每个元素(array和vector都对下标运算符[ ]进行了重载) (2.)三者的存储都是连续的,可以进行随机访问 不同点 (0.)数组是不安全的,array和vector是比较安全的(有效的避免越界等问题) (1.)array对象和数组存储在相同的内存区域(栈)中,vector对象存储在自由存储区(堆) (2.)array可以将一个对象赋值给另一个array对象,但是数组不行 (3.)vector属...
阅读全文
灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复 杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的 影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚 至会影响到其他程序的正常运...
阅读全文
2019-05-13 21:56 工业·编程 ⁄ 共 2297字 暂无评论
Cookie与Session是网络上进行会话保持或身份跟踪的两种机制,理解这两种方式的区别对我们提高网站运行的效率与安全十分重要。 网站利用这两种技术,来知道我们的登录保持状态。比如说,当jack第一次登录网站时,发送信息给服务器,服务器会在内存中开辟出来一块区域用来存放标识jack的Session,并将此Seesion以JSESSIONID=jack的方式传回给浏览器,浏览器需要将此数据保存在本地,使用键值对(key:JSESSIONID,value:jack)的...
阅读全文
2019-05-12 21:46 工业·编程 ⁄ 共 1131字 暂无评论
之所以撰写这篇文章是由于前段时间花费了非常大的精力在已经成熟的代码上再去处理memory leak问题。写此的目的是希望我们应该养成良好的编码习惯,尽可能的避免这种问题,由于当你对着一大片的代码再去处理此类的问题,此时无疑添加了解决的成本和难度。准确的说属于补救措施了。 一. 什么是内存泄漏(memory leak) 指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用...
阅读全文
2019-05-11 21:45 工业·编程 ⁄ 共 95字 暂无评论
wget 断点续传和限速: 1. -c为断点续传 2. –limit-rate 为限速 wget -c --limit-rate=9m -P /data0/ 10.93.107.38:8004/pcap38.tar
阅读全文
Valgrind 是一款 Linux下(支持 x86、x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和delete),找出内存泄漏问题。 Valgrind 中包含的 Memcheck 工具可以检查以下的程序错误: 使用未初始化的内存 (Use of uninitialised memory) 使用已经释放了的内存 (Reading/writing memory after it has been free’d) 使用超过malloc分配的内存空间(Reading/writi...
阅读全文
2019-05-09 21:12 工业·编程 ⁄ 共 598字 暂无评论
内存泄露问题是c语言很容易出现的问题,小程序可以很容易的发现,但是大程序就比较难发现了。 内存泄露是由于动态分配的内存没有被释放,可以使用valgrind等工具检查出来。 常见导致内存泄露的函数有malloc、calloc,以及间接使用malloc的函数strdup、strndup等。还包括mmap函数。 要避免内存泄漏需要以下函数成对出现: malloc/free calloc/free strdup/free strndup/free mmap/munmap <以后遇到坑,继续添加> 我遇到的...
阅读全文
2019-05-08 21:00 工业·编程 ⁄ 共 873字 暂无评论
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序 运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。 有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。 常见的内存错误及其对策如下: 内存分配未成功,却使用了它。 编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是, 在使用内存之前检查指针是否为 NULL。如...
阅读全文
2019-05-07 22:19 工业·编程 ⁄ 共 2165字 暂无评论
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 我们来看几个关键点: 消息 消息中间件定义了一个协议(模型),基于该协议可以传递消息 分布式 消息中间件的引入是为了解决分布式系统的问题,对于简单的单应用系统用不着 举例来说,一个常见的最简单的UGC应用,至少包括后端、APP、审核后台、...
阅读全文
2019-05-06 22:04 工业·编程 ⁄ 共 3010字 暂无评论
为什么使用消息队列 先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。 解耦 看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃...... 在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要...
阅读全文