JVM
1024-iot-SaltIce
熟悉Go与Java语言,目前主要使用golang,喜欢对微服务系统开发与设计,以及云原生的学习,和中间件的开发。
展开
-
JVM-方法内联
JVM-方法内联jvm学习记录方法内联(inlining,对性能的提升很大):方法内联可以减少方法调用,从而减少方法栈的创建。简单点说:就是把被调用方函数代码"复制"到调用方函数中,减少因函数调用开销的技术。相信大家都知道循环的速度比递归快很多,就是这个原因,另外方法内联后,还使得一些JIT更深入的优化变成可能。jvm可以通过两个启动参数来控制字节码大小为多少的方法可以被内联:-XX:MaxInlineSize: 能被内联的方法的最大字节码大小,默认值为35Byte,这种方法不需要频繁的调用。比原创 2020-07-26 09:45:15 · 1633 阅读 · 0 评论 -
JVM-逃逸分析
JVM-逃逸分析这个可以从一个问题入手:Java中的对象都是在堆中分配吗?说明为什么!这个很明显,稍微会点JVM知识的人都会知道,但是JVM是怎么来判断是否应该在堆上分配还是其它地方分配?主要有这两种逃逸情况,我们来聊一聊。方法逃逸线程逃逸1.什么是逃逸分析技术逃逸分析: 就是分析Java对象的动态作用域,如果在一个方法内创建了一个对象,而且外部对象能够引用到这个对象的话,这就是方法逃逸 (作用域逃出了这个方法) ,如果能够被其它线程使用到的话,这就是线程逃逸(作用域逃出了这个线程)原创 2020-07-25 22:13:43 · 893 阅读 · 0 评论 -
G1真的这么强大嘛?
G1真的这么强大嘛?介绍深入怎么回收垃圾回收的过程首先了解一下几个名词G1 的垃圾回收过程介绍我们知道,CMS收集器会有两个极端的缺点。在Minor GC时,由于Surviver救助空间放不下了,多余的对象会提升(promotion)到老年代,但是老年代由于垃圾收集的缘故,产生了大量的内存碎片,无法分配足够的内存给这些对象,因此会产生concurrent mode failure的错误,这个时候,会降级到Serail Old收集器进行垃圾收集,这就会产生promotion failed。这就将一次简原创 2020-07-16 17:31:54 · 1630 阅读 · 0 评论 -
回首掏-JVM垃圾收集器
回首掏-JVM垃圾收集器本文将对下面几种GC回收器进行讲解,前面几个会简单的讲一下,后面两个会重点说的。SerialSerial OldParNewParallel ScavengeParallel OldCMSG1…首先,我们来了解一下这几种收集器的原理、优缺点和相应的解决方法1、SerialSerial收集器是发展最久的垃圾回收器,Serial单词本身的意思是“串行”。是一个单线程的收集器作用于新生代采用复制算法在进行垃圾回收的时候会产生STW主要适用于单原创 2020-06-15 17:20:32 · 950 阅读 · 0 评论