jvm
文章平均质量分 51
会写代码的劫
厚积薄发,一个小小的码农
展开
-
easyexcel替换poi导出大数据量数据时解决内存溢出问题时的一个性能测试
最近在项目中遇到导出大量数据到excel时发生内存溢出问题,然后看网上有人说用阿里开源的easyexcel性能非常好,我就在本地做了一个关于easyexcel和poi导出100w条一样数据时占用内存情况的测试,内存情况及GC情况用JDK自带的visualVM进行监控。首先是poi的导出内存情况及代码示例:public class PoiDemo { public static void main(String[] args) { Workbook w = new XSSFWo原创 2021-07-09 18:48:57 · 4454 阅读 · 7 评论 -
JVM动态分派过程分析
动态分派,简单举例来说就是运行时期根据实际的实现类型去调用对应的实现方法,多态的实现即是如此。代码实例:package com.company;/** 方法动态分派演示* */public class DynamicDispatch { static abstract class Human{ protected abstract void sayHello(); } static class Man extends Human { ...原创 2021-03-01 19:42:07 · 196 阅读 · 0 评论 -
开启逃逸分析后JIT编译器对代码会做哪些优化
开启逃逸分析后JIT编译器对代码会做哪些优化转载 2021-02-17 15:24:56 · 114 阅读 · 0 评论 -
JVM学习笔记(主要是类加载过程)
java代码执行流程图由于跨平台的设计,jvm指令根据栈来设计的。优点跨平台,指令集小,编译器容易实现,缺点是性能跟寄存器比有所下降。int i = 3;int j = 2;int var10000 = i + j;例如上面三行代码 我们编译后执行javap -v 命令后解析的指令有以下几步: stack=2, locals=4, args_size=1 0: iconst_3 1: istore_1 2: iconst_2原创 2020-06-27 13:54:19 · 164 阅读 · 0 评论