最新 最热

深入理解JVM的垃圾回收机制

上一篇博客介绍了Java运行时内存的各个区域。对于程序计数器、虚拟机栈、本地方法栈这三个部分而言,其生命周期与相关线程有关,随线程而生,随线程而灭。并且这三个区域的内存分配与回收具有确定性,因为当方法结束或者线程...

2022-08-11
1

一篇文章带你深入理解 Java 中的Class.getClassLoader[通俗易懂]

我们都知道java程序写好以后是以.java(文本文件)的文件存在磁盘上,然后,我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件(字节码文件),并存在磁盘上。 但是程序要运行,首先一定要把.class文件加载到JVM内存中才...

2022-08-11
1

RunTime的回调钩子

项目运行结束得时候可能需要对一些现有得信息进行保存。比如说我们在java进程退出得时候要保存一些数据,下次启动得时候要用到这些数据得情况。Java在1.3得时候就支持了这种特性。这种特性得实现就在类RunTime中。以下...

jvm
2022-08-11
1

使用Prometheus监控你的SpringBoot项目

其实我们市面上的springboot项目基本都是基于此actutor做监控的。或者是直接用或者是代理一层做的,所以说prometheus的监控也是通过此包进行的,所以说上边我们不仅要导入actuator这个包还要导入prometheus的包,因为prome...

jvm
2022-08-11
1

Curator学习笔记(二)- 防重复提交

上一篇文章中我们大概了解了Curator做读写锁的原理和过程。根据了解,我们可以使用curator的读写锁来做一个分布式防重复提交的策略。为什么采用curator来做这个事情的原因是curator提供的读写锁能够跨线程和jvm进行加...

2022-08-11
1

JVM内存模型浅析

作者去年6月第一次遇到OOM现象,当时非常焦急。看见别人就想抱大腿,最后运维说他不懂java,最后怀着紧绷的心态查阅日志,最后在tomcat的启动脚本中发现有人将java虚拟机的堆内存设为1024M,而引发OOM的原因是获取公司员工信息...

2022-08-11
1

java 静态变量 存储_java中,类的静态变量如果是对象,该对象将存储在内存的哪个区域?…

Java字节码与Native机器码不同,字节码是运行在JVM这一平台上的,字节码在被解释的过程中,具体的执行方式因JVM的不同实现而不同,但是对于JVM来说,它的各种不同实现都必须要遵循Java虚拟机规范。JVM的运行时数据区包含以下部...

2022-08-11
1

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相...

2022-08-11
1

JVM优化[通俗易懂]

在本地开发环境中我们很少有需求对JVM进行优化,但是到了生产环境我们的程序可能出现如下问题:

2022-08-11
1

JVM架构和GC垃圾回收机制(JVM面试不用愁)[通俗易懂]

JVM全称是Java Virtual Machine(Java虚拟机),Java虚拟机是一种程序虚拟机(相对操作系统虚拟机),Java的运行环境实现跨平台。

2022-08-11
1