这里的容器是一个代称包含cgroup,docker等。 java在容器环境的问题 一个在物理机上跑的很好的java程序,如果用的jdk8u131之前的版本,加上容器限制后,可...
这里的容器是一个代称包含cgroup,docker等。 java在容器环境的问题 一个在物理机上跑的很好的java程序,如果用的jdk8u131之前的版本,加上容器限制后,可...
aot介绍 aot是Ahead-Of-Time的缩写,以前大家都知道java的一个定位就是半编译,半解释型语言。他把java文件编译成class文件,最后jvm解释执行cla...
😝安排上
jstat的小伙伴---找出system.gc的调用的小工具场景分析 现场环境中,造成gc频繁的可能性之一就是通过system.gc主动调用了gc。这种情况出现在开发人员业务代码,或者是jdk自身的代码中(例如nio)。我们可以通过j...
大家使用jstack的时候偶尔会遇到这样的异常Unable to open socket file……下面我们依据openjdk11的code进行分析。 从错误入手 Unab...
学习java的过程,我们经常谈论一个对象的回收,尤其是资源类型,如果没有显示的关闭,对象就被回收了,说明出现了资源泄漏。java本身为了防止这种情况,做了一些担保的方式,确保...
jvm线程是维护了线程的状态。new,running,waiting,timed waiting,blocked,terminated。我们通过jstack等工具查看的时候,...
aot介绍 aot是Ahead-Of-Time的缩写,以前大家都知道java的一个定位就是半编译,半解释型语言。他把java文件编译成class文件,最后jvm解释执行cla...
直接内存 很多一说起直接内存,就会想到堆外内存。但是从概念上说,两者确实不是一回事。堆外内存,就是堆以外的内存,我们常见的有元数据区,栈空间,还有直接内存,以及jvm作为c+...
java可以利用编写mbeans来暴露很多程序指标,jdk自己也有很多指标,例如内存使用以及划分。很多小伙伴都表示这些值不少jstat就可以获取查看的吗,ssh登录上去就可以...
日常监控中,异常信息,可以说是一个常见的指标,但是有些时候,因为使用不当(线程池submit提交,但是没有取异常,也没有改造线程池),或者是逻辑原因,出现了吞异常的情况,这个...
try-with-resource是从java7开始提供的新特性。方便了我们资源的代码编写。下面展示一下代码模板的对比没有try-with-resource try-with...
java中synchronized锁是语言层面实现的锁,也是我们比较常用的一种。经过jdk层面的优化,这个关键字在重入锁的层面已经和ReentrantLock接近,而且有更丰...
一样的,只要是java进程,做法都一样,-javaagent或者选择attach
jstat的小伙伴---找出system.gc的调用的小工具场景分析 现场环境中,造成gc频繁的可能性之一就是通过system.gc主动调用了gc。这种情况出现在开发人员业务代码,或者是jdk自身的代码中(例如nio)。我们可以通过j...
直接内存 很多一说起直接内存,就会想到堆外内存。但是从概念上说,两者确实不是一回事。堆外内存,就是堆以外的内存,我们常见的有元数据区,栈空间,还有直接内存,以及jvm作为c+...
java开发一般都会涉及到jvm调优,其中gc调优是个重点项。那gc调优调整的究竟是什么呢?准确来说是业务。下面围绕这个话题展开 起因 为什么说是业务呢,得从c,c++开始说...