非静态内部类导致内存泄漏主要原因:::App可能会因为大量的内存泄漏导致内存耗尽,引发Crash,如果内存耗尽,App会由于内存空间不足,出现频繁的GC,每一次GC都是一个耗时阻塞操作,会造成设备卡顿。 非静态内部类中创建了一个静态实例,导致该实例的生命周期和应用ClassLoader级别,又因为该 ...
分类:
其他好文 时间:
2019-11-16 10:35:11
阅读次数:
131
强引用(StrongReference):JVM宁可抛出OOM,也不会让GC回收具有强引用的对象 生命周期:JVM停止的时候才会终止 软引用(SoftReference):只有在内存空间不足时,才会被回收的对象 生命周期:内存不足时终止 弱引用(WeakReference):在GC时,一旦发现了只具 ...
分类:
其他好文 时间:
2019-11-16 10:26:14
阅读次数:
69
前言 多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。 为了避免重复的创建线程,线程池的出现 ...
分类:
编程语言 时间:
2019-11-15 18:49:04
阅读次数:
94
linux添加用户1、添加用户 首先用adduser命令添加一个普通用户,命令如下:#adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing password for user tommy.New UNIX password: //在这里 ...
分类:
系统相关 时间:
2019-11-15 10:42:20
阅读次数:
110
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能。通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、CPU等信息,系统的线程、gc、运行状态等等。 Actuator 通常通过使用 HTTP 和 JMX ...
分类:
编程语言 时间:
2019-11-13 17:55:22
阅读次数:
84
sudo是用另外一个用户身份执行命令su username切换到另外一个用户及环境下执行命令 ps -ef |grep java //得到java进程123456//jstat命令要用java所属用户exmobi来执行su exmobijstat -gc 123456 5000 //每隔5s查看一次 ...
分类:
系统相关 时间:
2019-11-13 10:34:05
阅读次数:
73
出处: JDK 监控和故障处理工具总结 JDK 监控和故障处理工具总结 JDK 命令行工具 jps:查看所有 Java 进程 jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数 jmap:生成堆转储快照 jhat: 分析 heapdump 文件 jstack :生 ...
分类:
其他好文 时间:
2019-11-12 19:59:40
阅读次数:
91
GoCN每日新闻(2019-11-09) GoCN每日新闻(2019-11-09) 1. Go语言发行10周年庆祝 https://blog.golang.org/10years2. 容器中某Go服务GC停顿经常超过100ms排查 https://mp.weixin.qq.com/s/Lk1EbiT ...
分类:
其他好文 时间:
2019-11-12 09:31:29
阅读次数:
83
一次线上频繁FullGC问题的排查和解决记录,整理了一下通用的排查解决过程,同时介绍了一些可能会用到的工具。 ...
分类:
Web程序 时间:
2019-11-12 00:27:10
阅读次数:
303
JVM之内存结构图文详解 Java GC垃圾回收机制 Java虚拟机类加载器及双亲委派机制 ...
分类:
其他好文 时间:
2019-11-11 12:46:53
阅读次数:
89