las1991

  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

一次频繁Full GC问题排查

发表于 2019-07-21 | 更新于 2019-09-25 | 阅读次数:
本文字数: 2k | 阅读时长 ≈ 4 分钟

频繁Full GC问题排查定位先上结论:长时间运行MetricsClientHttpRequestInterceptor.servoMonitorCache.timerCache积累过多且不回收,导致频繁fullGc 起因:运维的同事说,你这个服务运行时间长了,内存不回收啊,内存一直往上加,我们半月 ...

阅读全文 »

服务器cpu100%怎么定位?

发表于 2019-07-21 | 更新于 2019-09-25 | 阅读次数:
本文字数: 1k | 阅读时长 ≈ 2 分钟

如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载? 找到最耗CPU的进程 执行top -c ,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序 如上图,最耗CPU的进程PID为29025 找到最耗CPU的线程 top -Hp 290 ...

阅读全文 »

java 单例模式中双重检查锁定 volatile 的作用

发表于 2019-07-16 | 更新于 2019-09-25 | 阅读次数:
本文字数: 1.7k | 阅读时长 ≈ 3 分钟

volatile 是保证了可见性还是有序性?有序性:是因为 instance = new Singleton(); 不是原子操作。编译器存在指令重排,从而存在线程1 创建实例后(初始化未完成),线程2 判断对象不为空,但实际对象扔为空,造成错误。 可见性:是因为线程1 创建实例后还只存在自己线程 ...

阅读全文 »

HashMap

发表于 2019-07-09 | 更新于 2019-09-25 | 阅读次数:
本文字数: 5.2k | 阅读时长 ≈ 9 分钟

HashMap数据结构JDK1.8以前HashMap的实现是 数组+链表JDK1.8开始HashMap的实现是 数组+链表/红黑树,如下图: HashMap类中有两个常量:/** * The bin count threshold for using a tree rather than list ...

阅读全文 »

Effects of Type Erasure and Bridge Methods

发表于 2019-07-04 | 更新于 2019-09-25 | 阅读次数:
本文字数: 9k | 阅读时长 ≈ 16 分钟

原文链接 Effects of Type ErasureSometimes type erasure causes a situation that you may not have anticipated. The following example shows how this can occu ...

阅读全文 »

jvm-方法调用

发表于 2019-07-04 | 更新于 2019-09-25 | 阅读次数:
本文字数: 4.3k | 阅读时长 ≈ 8 分钟

重载与重写重载在java程序里,如果同一个类中出现多个名字相同,并且参数类型相同的方法,那么它无法通过编译。也就是说,在正常情况下,如果我们想要在同一个类中定义名字相同的方法,那么它们的参数类型必须不同。这些方法之间的关系,我们称之为重载。 重载的方法在编译过程中即可完成识别。具体到每一个方法调用, ...

阅读全文 »

jvm-类加载机制

发表于 2019-07-01 | 更新于 2019-09-25 | 阅读次数:
本文字数: 1.2k | 阅读时长 ≈ 2 分钟

类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(using)、和卸载(Unloading)七个阶 ...

阅读全文 »

Happens-Before规则

发表于 2019-06-17 | 更新于 2019-09-25 | 阅读次数:
本文字数: 698 | 阅读时长 ≈ 1 分钟

Happens-Before的7个规则 程序次序规则:在一个线程内,按照程序代码顺序,书写在前面的操作先行发生于书写在后面的操作。准确地说,应该是控制流顺序而不是程序代码顺序,因为要考虑分支、循环等结构。 管程锁定规则:一个unlock操作先行发生于后面对同一个锁的lock操作。这里必须强调的是同一 ...

阅读全文 »

Java线程的生命周期

发表于 2019-06-14 | 更新于 2019-09-25 | 阅读次数:
本文字数: 6.7k | 阅读时长 ≈ 12 分钟

通用的线程生命周期 通用的线程生命周期基本上可以用下图这个“五态模型”来描述。这五态分别是:初始状态、可运行状态、运行状态、休眠状态、终止状态 1.初始状态 线程已经被创建,但是还不允许分配 CPU 执行。这个状态属于编程语言特有的,不过这里所谓的被创建,仅仅是在编程语言层面被创建,而在 ...

阅读全文 »

关于长连接的负载均衡解决方案

发表于 2019-05-07 | 更新于 2019-09-25 | 阅读次数:
本文字数: 5.4k | 阅读时长 ≈ 10 分钟

最近公司培训,讲到了有关于长连接的负载均衡解决方案,确有体会,故此记录一下。在之前做负载均衡一般针对的是短连接,短连接的场景在实际应用中非常普遍。浏览器中大部分的请求都是短连接,例如用户登录,注册。商城的订单,付款等功能都属于短连接。短连接的特点就是无状态,连接时间短,长则三四秒,短则几毫秒。短连接 ...

阅读全文 »
1234
las

las

39 日志
45 标签
GitHub E-Mail
Links
  • haoel
  • Zhangyh
京ICP备19046553号 © 2021 las | 81k | 2:27
|