09 2018 档案

摘要:dubbo雪崩 记一次由于引用第三方服务导致的GC overhead limit exceeded异常 最近笔者遇到一个问题 监控平台忽然告警 GC overhead limit exceeded 这个异常 第一反应估计是堆溢出了。于是各种各种jmap jstack下载堆栈文件和堆日志文件。 以下是线程堆栈dump下来的日志文件 阅读全文
posted @ 2018-09-21 23:26 陶朱公Boy 阅读(2773) 评论(0) 推荐(0) 编辑
摘要:在许多传统语言中,程序是作为启动过程的一部分被加载的。然后是初始化,紧接着程序开始运行。这些语言的初始化过程必须小心控制,以确保定义为static的东西,其初始化顺序不会造成麻烦。例如C++期望一个static在另一个static在被初始化之前就能有效的使用它,那么就会出现问题。 java不会出现这种问题,java采用了一种不同的加载方式。每个类的编译代码只有在初次使用时才加载。这通常是指加载发生在创建类的第一个对象之时,但是当访问static域或static方法时,也会发生加载。 初次使用之处也是static初始化发生之处。所有static对象和static代码段都会在加载时依程序中的顺序【定义类的书写顺序】而一次初始化。当然,定义为static的东西只会被初始化一次。 注意点: 构造器也是static方法,尽管static关键字并没有显式的写出来。因此更准确的讲,类是在其任何static成员被访问时加载的 阅读全文
posted @ 2018-09-16 21:48 陶朱公Boy 阅读(333) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示