20篇精品文章+视频,手把手带你攻克OOM难题!|HeapDump性能社区专题精选
Outofmemory (OOM)是一种操作系统或者程序已经无法再申请到内存的状态。经常是因为所有可用的内存,包括磁盘交换空间都已经被分配了。OOM的官方解释是:,根据专属讲师公与的总结,常见的OOM有以下10种(其中OOMKiller是操作系统层面的概念)。开篇推荐的是公与大佬的视频课程《那些年我们遇到的OOM》第一期,在本期课程中,公与重新梳理
Wesley13 Wesley13
3年前
java的接口为什么不能实例化
java的接口为什么不能实例化呢?首先,我们需要明白实例化的含义。实例化实际意义是在jvm的堆中开辟出一块内存空间,比如StudentsnewStudent();此处声明Student对象s,并且实例化一个Student对象,实则是在堆中开辟出一块空间来存放Student对象,s则是指向这块空间,也就是内存中的一块地址。这块地址中所存放的值就是我们
Wesley13 Wesley13
3年前
VSCode 现内存泄漏 BUG,官方处理方式引社区不满
点击“开发者技术前线”,选择“星标🔝”让一部分开发者看到未来近日,有开发者提交了一个VSCode内存泄露的issues,该问题导致在某些情况下使用VSCode会使内存使用率攀升。令人意外的是,VSCode官方却表示不打算解决此问题,由此在社区引发了争议。今年十月,有一名开发者发现了VSCod
Stella981 Stella981
3年前
ConcurrentHashMap介绍
在进行结构性修改,如put/remove/replace时都需要进行加锁,但是读取并未加锁,并发情况下,由于内存不同步问题,会导致一个线程的写操作并不会立即对另一个线程可见。这里ConcurrentHashMap通过volatile变量的内存可见性特性来保证一个线程的写操作立即被其他线程可见,每个方法在一开始都会读取count这个变量,该变量就是一个vola
Stella981 Stella981
3年前
JVM运行时数据区
Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,及创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图(图片引自网络):!(https://static.oschina.net/uplo
Stella981 Stella981
3年前
RabbitMQ存储和队列结构
本文讲解RabbitMQ的存储,主要有以下内容:1.存储原理2.队列结构3.惰性队列存储原理首先确认一个点,持久化和非持久化的消息都会落地磁盘,区别在于持久化的消息一定会写入磁盘(并且如果可以在内存中也会有一份),而非持久化的消息只有在内存吃紧的时候落地磁盘。两种类型消息的落盘都是在Rabb
Stella981 Stella981
3年前
Php5.5新特性 Generators详解
在PHP5.5.0版本中,新增了生成器\(Generators)_特性,用于简化实现迭代器接口_(Iterator)\创建简单的迭代器的复杂性。通过生成器,我们可以轻松的使用foreach迭代一系列的数据,而不需要事先在内存中构建要被迭代的对象,大大减少了内存开销。当生成器函数被调用的时候,它会返回一个可迭代的对象,当对该对象进行迭代
Stella981 Stella981
3年前
JavaScript 使用闭包保护变量 防止污染
使用JavaScript编写插件或团队协作时,可使用闭包来解决此类以下两个问题:1、定义过多全局变量,可能会造成全局变量命名冲突;2、在插件内定义变量,需要保护该变量不被轻易修改;优点:可以把局部变量驻留在内存中,可以避免使用全局变量;在调用过后不会被垃圾机制回收;缺点:避免滥用闭包,占用更多内存的缺点,用完要及时让垃圾回收器回收(fn
Stella981 Stella981
3年前
JVM总结3
    垃圾收集GarbageCollection通常被称为“GC”,它诞生于1960年MIT的Lisp语言,经过半个多世纪,目前已经十分成熟了。    jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于java堆和
天翼云分布式缓存服务(Redis)的几个核心概念
天翼云官方网站的Redis产品服务的定义如下:天翼云分布式缓存服务(DistributedCacheService,CTDCS)是天翼云打造的分布式keyValue数据库服务,兼容Redis协议,主要用于持久化数据的存储或缓存数据的存储。Redis本质上是一个KeyValue类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库