默认情况下一个docker容器是没有任何资源限制的,因此它可以耗尽内核分配给docker容器的所有资源 在这种情况下,docker给我们提供了可以控制容器可以使用多少内存,cpu,cpu属于可压缩资源,而内存属于非可压缩资源,这也就意味着,如果内存耗尽将会OOME(Out Of Memory Exc ...
分类:
其他好文 时间:
2019-12-02 23:10:43
阅读次数:
94
一. 内存泄漏与内存溢出 内存溢出out of memory:指的是程序在申请时,没有足够的内存空间供其使用,出现oom,比如申请了一个integer,但给它存了long才能存下的数,就是内存溢出,内存溢出通俗讲就是内存不够用。 内存泄露memory leak:是指程序在申请内存后,无法释放已申请的 ...
分类:
移动开发 时间:
2019-12-01 18:39:19
阅读次数:
101
一、 new Thread() VS ThreadPoolExcutor 1. new Thread()的弊端 1) 每次new Thread() 性能差 2)线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom 3)缺乏更多功能,如定时执行,定期执行,线程中断 ...
分类:
移动开发 时间:
2019-12-01 16:29:04
阅读次数:
112
Pipeline和ChannelHandler是Netty处理流程的重要组成部分,ChannelHandler对应一个个业务处理器,Pipeline则是负责将各个ChannelHandler串起来的“容器”,二者结合起来一起完成Netty的处理流程。 Pipeline 每个channel内部都会持有 ...
分类:
Web程序 时间:
2019-11-30 20:51:00
阅读次数:
107
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style> .box1{ /*height: 200px; 嵌套盒子的父亲不方便给高度 */ width: 600px; background-color: pink; ov ...
分类:
Web程序 时间:
2019-11-30 19:15:14
阅读次数:
80
.clearFix:after { content: ''; display: block; clear: both; } .clearFix { zoom: 1; } ...
分类:
其他好文 时间:
2019-11-30 17:44:10
阅读次数:
78
生产环境突然频繁挂掉,查看日志报错OOM 光看日志没法确定原因,于是想把内存dump下来分析 首先来看看tomcat的启动脚本startup.sh,在tomcat的bin目录下(这里的版本是tomcat8.5) 启动过程中会去执行catalina.sh,以下是catalina.sh的部分内容 如果s ...
分类:
其他好文 时间:
2019-11-28 19:23:40
阅读次数:
164
1基本概念: 程序:代码,完成某一件任务,代码序列(静态的概念) 进程:程序在某些数据上的一次运行(动态的概念) 线程:一个进程可能包含一个或多个线程(占有资源的独立单元) 2 JVM与线程 JVM什么时候启动? 类被调用 JVM线程 》其他的线程(main) 线程在JVM中 3 JVM内存区域 方 ...
分类:
编程语言 时间:
2019-11-28 01:21:36
阅读次数:
106
布隆过滤器的概念
布隆过滤器(Bloom Filter)于 1970 年由布隆提出的,是专门 用于检索一个元素是否存在于一个集合中的算法。
你可能会想,判断一个元素是否在集合中,这不就是集合自带的功能吗?
元素数量少的时候的确没问题,但如果有海量元素时就麻烦了,例如千万,甚至上亿个元素,而且每个元素的大小不一,有可能很大,这时集合的空间效率和查询效率都会堪忧。
而布隆过滤器就可以巧妙的解决这个问题,它包括了一个很长的二进制向量和一系列的hash函数,它不会实际存储元素内容,只是在二进制向量中标识这个元素是否存在,而 hash 函数就是用来定位元素的。
分类:
其他好文 时间:
2019-11-27 09:17:20
阅读次数:
95
题目
JVM的内存区域是怎么划分的?
OOM可能发生在哪些区域上?
堆内存结构是怎么样的?
常用的性能监控与问题定位工具有哪些?
分类:
编程语言 时间:
2019-11-27 09:14:29
阅读次数:
95