开发过程中我们不可避免的需要console.log调试,然而在上线时如果不删除这些console.log可能会造成内存泄漏,因为console.log出来的变量是不会被GC的,webpack给我们提供了一个非常棒的插件,看代码: ...
分类:
Web程序 时间:
2019-10-09 17:41:22
阅读次数:
149
垃圾回收机制,简称gc。对堆与方法区的对象进行回收,因为java不像c需要编程人员手动clear,虚拟机通过垃圾回收算法,对堆与方法区的对象进行自动回收处理。 1、引用计数法(jvm没有采用,因为当两个对象相互引用的时候,它们的引用数量永远为1,这样就不会被自动回收,会造成内存泄漏。) 意思就是,对 ...
分类:
其他好文 时间:
2019-10-08 15:53:35
阅读次数:
86
一、概念 1. 内存泄漏:对象使用完之后,没有按照预期被GC回收,一直留在内存中 2. 内存溢出:大量对象一直留在内存中,导致内存不够用(OOM),影响正常的程序运行 二、内存泄漏的场景 1. 内存中数据量太大,比如一次性从数据库中取出来太多数据 2. 静态集合类中对对象的引用,在使用完后未清空(只 ...
分类:
其他好文 时间:
2019-10-06 17:13:00
阅读次数:
86
将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类,然后使用基类指针指向该子类对象,释放基类指针时可以释放掉子类的空间,防止内存泄漏。 C++默认的***析构函数不是虚函数是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存***。而对于不会被继承的类来说,其析构函数如果是 ...
分类:
编程语言 时间:
2019-10-05 20:35:11
阅读次数:
128
ubuntu16.04系统下,用apt装的opencv,别用。由内存泄漏,坑人! 安装的opencv 调用OpenCV的C接口,最基本的函数 利用valgrind检查内存泄漏情况 测试代码如下: 图片: 编译: bash gcc main.c O0 g `pkg config libs opencv ...
分类:
系统相关 时间:
2019-10-03 13:02:36
阅读次数:
152
netty 可以学习的不仅是网络库,还包含了线程模型、如何写java异步交互、定制的缓存模型、对于直接内存的池化管理、内部类的巧妙用法、优秀的设计模式、以及对于一些罕见网络通信的bug的处理、跨平台的思考。 注: 堆外内存:堆内存容易受GC影响导致网络传输下因GC的影响导致内存地址变化,内存泄漏,减 ...
分类:
Web程序 时间:
2019-10-02 13:06:45
阅读次数:
140
js垃圾回收 js能够自动回收申请却未使用的内存,由于每次清除需要的性能较大,不是时时在刷新,而是每隔一段时间才进行一次。 回收的两种方式 标记清除(常用) 在内存中先标记变量,然后清除那些那些进入环境或者引用的变量的标记,当进入环境退出环境,将被重新标记并被清除,释放出内存。 引用计数 计算变量被 ...
分类:
Web程序 时间:
2019-09-30 23:21:54
阅读次数:
135
简介 C++没有内存自动回收机制,对堆内存的管理就是简单的new和delete,每次new出来的内存都需要手动delete释放。但由于忘记、流程复杂或者异常退出等,都有可能导致没有执行delete释放内存,造成内存泄漏。 在实际工程中,我们往往希望将精力放在应用层上而不是费劲心思处理语言的细枝末节( ...
分类:
其他好文 时间:
2019-09-29 12:30:23
阅读次数:
67
问题说明:公司内网环境中部署的jenkins代码发版平台突然不能访问了,查看tomcat的catalina.out日志发现报错如下: ? 1 2 3 4 5 6 [root@redmine logs]# tail -f /srv/apache-tomcat-7.0.67/logs/catalina. ...
分类:
其他好文 时间:
2019-09-29 10:02:53
阅读次数:
95
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。包括Memcheck 等工具。 1.valgrind安装 从valgrind官网上下载源码,解压后依次执行 ./configure make sudo make install 输入valgrind -h查看是否安装成功 2 ...
分类:
其他好文 时间:
2019-09-24 17:36:25
阅读次数:
92