Java内存溢出OOM使用Mat分析

Shallow Heap (浅层堆)表示:对象实际占用的堆大小(不包含其它引用对象的大小),数组浅堆占用内存计算:,通过VM参数控制JVM的堆内存大小只有20m,程序不停的创建对象,而对象又是在推上分配内存,一致不停的向List中添加对象,没有垃圾回收,导致堆内存溢出(OutOfMemoryError).,Retained Heap(保留堆)表示:对象实际占用+所包含引用对象的大小

SpringBoot项目瘦身加快部署

springboot项目开发后期,依赖的jar包一般是比较稳定的,所以我们可以把依赖的jar包分离出来,每次只打包业务代码,通常业务代码是很小的,一般就几百K.运行的之后只需要指定依赖jar包的路径就可以正常运行了.,3.启动项目,把lib目录上传到服务器,然后通过 来指定lib的路径,1.导出依赖的jar包到当前目录的lib文件夹,2.配置pom.xml,只包含业务代码,依赖的通用包全部排除

Linux sudo设置无密码

单用户设置sudo无密码设置,批量设置sudo无密码

Centos7 升级Git

查看服务器已经安装的Git版本,源码安装方式,安装依赖包,为Enterprise Linux发行版的选定软件的较新版本提供RPM软件包

init 和 clinit 区别

接口的实现类在初始化时也一样不会执行接口的<clinit>()方法,中的初始化阶段 jvm 会调用 clinit 方法,或者可以从另外一个角度来表达:初始化阶段是执行类构造器<clinit>()方法的过程,①<clinit>()方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static{} 块)中的语句合并产生的

JVM如何加载字节码

初始化阶段是执行类构造器 <clinit>()方法的过程,当初始化一个类的时候,将 class 文件字节码内容加载到内存中,java 装载类使用 : 是指一个 ClassLoader 装载一个类时

Centos7 安装Oracle JDK1.8和OpenJDK 1.8

Oracle JDK由Oracle公司开发,根据Sun JDK的开发和实现提供性能,Oracle JDK1.8的安装,提供由Oracle JDK之上的一些供应商开发的高性能

Pandas入门教程(六)

Pandas入门教程(六)

CPU并发乱序执行

编译器通常会优化掉前面一个对p的写入(逻辑上冗余),所以现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力,编译器乱序优化,编译器乱序优化

入门小站