240 发简信
IP属地:北京
  • java与容器的小火花

    这里的容器是一个代称包含cgroup,docker等。 java在容器环境的问题 一个在物理机上跑的很好的java程序,如果用的jdk8u131之前的版本,加上容器限制后,可...

  • aot从入门到实战

    aot介绍 aot是Ahead-Of-Time的缩写,以前大家都知道java的一个定位就是半编译,半解释型语言。他把java文件编译成class文件,最后jvm解释执行cla...

  • 😝安排上

    jstat的小伙伴---找出system.gc的调用的小工具

    场景分析 现场环境中,造成gc频繁的可能性之一就是通过system.gc主动调用了gc。这种情况出现在开发人员业务代码,或者是jdk自身的代码中(例如nio)。我们可以通过j...

  • 120
    jstack遇到Unable to open socket file……

    大家使用jstack的时候偶尔会遇到这样的异常Unable to open socket file……下面我们依据openjdk11的code进行分析。 从错误入手 Unab...

  • java是如何做资源回收补救的

    学习java的过程,我们经常谈论一个对象的回收,尤其是资源类型,如果没有显示的关闭,对象就被回收了,说明出现了资源泄漏。java本身为了防止这种情况,做了一些担保的方式,确保...

  • 跟着sleep看jvm线程变化

    jvm线程是维护了线程的状态。new,running,waiting,timed waiting,blocked,terminated。我们通过jstack等工具查看的时候,...

  • aot上手

    aot介绍 aot是Ahead-Of-Time的缩写,以前大家都知道java的一个定位就是半编译,半解释型语言。他把java文件编译成class文件,最后jvm解释执行cla...

  • java直接内存

    直接内存 很多一说起直接内存,就会想到堆外内存。但是从概念上说,两者确实不是一回事。堆外内存,就是堆以外的内存,我们常见的有元数据区,栈空间,还有直接内存,以及jvm作为c+...

  • 动态开启jmx服务

    java可以利用编写mbeans来暴露很多程序指标,jdk自己也有很多指标,例如内存使用以及划分。很多小伙伴都表示这些值不少jstat就可以获取查看的吗,ssh登录上去就可以...

  • 利用jvmti查看java异常

    日常监控中,异常信息,可以说是一个常见的指标,但是有些时候,因为使用不当(线程池submit提交,但是没有取异常,也没有改造线程池),或者是逻辑原因,出现了吞异常的情况,这个...

  • try-with-resource从入门到使用

    try-with-resource是从java7开始提供的新特性。方便了我们资源的代码编写。下面展示一下代码模板的对比没有try-with-resource try-with...

  • 记录java锁等待的时间

    java中synchronized锁是语言层面实现的锁,也是我们比较常用的一种。经过jdk层面的优化,这个关键字在重入锁的层面已经和ReentrantLock接近,而且有更丰...

  • 一样的,只要是java进程,做法都一样,-javaagent或者选择attach

    jstat的小伙伴---找出system.gc的调用的小工具

    场景分析 现场环境中,造成gc频繁的可能性之一就是通过system.gc主动调用了gc。这种情况出现在开发人员业务代码,或者是jdk自身的代码中(例如nio)。我们可以通过j...

  • java直接内存

    直接内存 很多一说起直接内存,就会想到堆外内存。但是从概念上说,两者确实不是一回事。堆外内存,就是堆以外的内存,我们常见的有元数据区,栈空间,还有直接内存,以及jvm作为c+...

  • gc调优我们到底在调整什么

    java开发一般都会涉及到jvm调优,其中gc调优是个重点项。那gc调优调整的究竟是什么呢?准确来说是业务。下面围绕这个话题展开 起因 为什么说是业务呢,得从c,c++开始说...