jvm
第二颗大白菜
每天写点什么,不是为了得到一些什么,也不是向谁证明一些什么,更不是为了存在感,而是让自己知道每天都做了些什么。
展开
-
Java平台,标准版故障排除指南(准备工作)
Java平台,标准版故障排除指南:https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/1.设置Jvm进行故障排除(启用)(1)将 -XX:+ HeapDumpOnOutOfMemoryError添加到jvm进程启动配置中,那么配置了该配置项,Java堆会将OutOfMemoryError相关内存溢出错误进行快照文件保存,我们可以配置导出文件 /dump文件夹中;示例如下(2) Java Fligh..原创 2020-12-07 19:52:18 · 723 阅读 · 0 评论 -
记一次线上环境节点OOM异常,直接导致节点宕机问题(及排查问题流程)
一、一个阳光明媚的早晨,运维兄弟发了条消息给我,说昨晚线上“xx服务”挂了。二、冷静分析:服务是集群环境的,单节点宕机,并不影响应用可用;三、进入分析阶段:1.拉取线上节点宕机 GC快照;2.通过jdk自带工具浏览GC内存占用情况(通过下述图片分析,由jdbc占用大量内存,导致内存溢出,右下图看出,直接占用上GB内存)3.走查代码,了解项目中存在使用原生jdbc业务场景,通过和其他初级开发人员沟通,找到存在一个 每月1号执行的定时任务:每个月1号建立一张分表,该分表的建立方案是,通过原创 2020-12-06 11:47:06 · 1210 阅读 · 0 评论 -
今天说点什么好呢?来说一下集合(ArrayList)为什么会不安全吧。(继上回说的cas)
ArrayList,基本不陌生的,我们看看API很常用的一个动态数组,话不多说,直接上代码(笔者是jdk8)注意观察其add方法,一进入就是两个!!,增加数量。哈哈哈注意:arrayList将元素添加至list尾部。一步一步分析哈ensureCapacityInternal()是什么方法呢?两个私有方法,跳来跳去,真的迷。他到底做了个什么工作呢?先看此方法也就是说,ArrayList如果为空,那么必须最小容量是10,可以看到上述方.原创 2020-07-31 18:10:43 · 981 阅读 · 0 评论 -
关于线程的使用问题,使用(ThreadPoolExecutor)
int NUMBER_OF_CORES = Runtime.getRuntime().availableProcessors();int KEEP_ALIVE_TIME = 1;TimeUnit KEEP_ALIVE_TIME_UNIT = TimeUnit.SECONDS;BlockingQueue<Runnable> taskQueue = new LinkedBlockingQueue<Runnable>();ExecutorService executorServi.原创 2020-05-25 14:33:10 · 974 阅读 · 0 评论 -
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unl
Jenkins验证应用失败。控制台错误输出信息如下:查询网络的解决办法:1.可能内存不足2.执行命令ulimit -c unlimited但是似乎都不是该原因。可能是因为项目启动太多。内存不足。所以笔者尝试清内存,杀进程。效果似乎很明显:降下来了所以大家可以试试 查找相关端口进程:netstat -anp|grep 9300直接kill -9 pid...原创 2020-04-28 16:04:55 · 10131 阅读 · 6 评论 -
今天来聊聊JVM中的GC机制
什么是jvm?答:虚拟机什么是GC答内存回收机制那么接下来我们用Java来简单说明一下Java中的虚拟机的内存回收机制到底是怎么样的。众所周知,Java是具有自动内存回收的,不等同于C,还需要程序猿考虑什么时候去回收该资源,虽然说更灵活。但是无异于加大了程序开发的负担。那么我们知道了Java是“自动化”的,为啥还要了解他呢?开发经验足的朋友都有过内存溢出之类...原创 2019-10-22 11:41:47 · 2307 阅读 · 0 评论