hello 我是宝哥 , 接上一篇文章,我们聊到了jvm 加载类的流程:有面试官会让你解释一下 java 的内存模型,有些人解释对了,结果面试官说不对,应该是堆啊、栈啊、方法区什么的(遇到这种面试官,就是你装X的时刻了..)看完本篇文章你将了解:1.JVM内存结构2.JVM栈帧剖析3.方法区在JDK1.7和1.8中的区别4.堆分代结构建议收藏! JVM内存 ......
262
0
0
2023-05-25
一、JVM的基本介绍JVM 是 java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现···好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一台小电脑运行在windows或者linux这些操作系统环境下即可。它直接和操作系统进行交互,与硬件不直接交互,可操作系统可以帮我们 ......
324
0
0
2023-05-21
目录一、JVM 内存结构1、类加载子系统2、方法区(method)3、堆(heap)4、栈(stack)5、本地方法栈6、pc寄存器(了解即可)7、执行引擎8、垃圾收集器二、堆–> 新生代/新生代/永久代1、新生代2、老年代三、垃圾回收算法1、引用算法2、复制算法(MinorGC)3、 标记清除算法(MajorGC)4、 java 手动回收GC四、JV ......
271
0
0
2023-05-21
目录类加载器概述加载器的种类验证不同加载器核心方法JVM类加载机制的三种方式全盘负责父类委托、双亲委派缓存机制打破双亲委派重写loadclass方法自定义类加载器准备字节码文件创建自定义类加载器执行测试注意事项类加载器概述类加载器负责读取Java字节代码,并转换成java.lang.Class类的一个实例的代码模块。类加载器除了用于加载类外,还可用于确定类在 ......
330
0
0
2023-03-19
目录前言JVMTIJVMTI 简介:native层开启jvmti前置准备复写Agent开启jvmtiCapabilities设置jvmtiEventCallbacks开启监听java层开启agent验证分配数据总结前言内存治理一直是每个开发者最关心的问题,我们在日常开发中会遇到各种各样的内存问题,比如OOM,内存泄露,内存抖动等等,这些问题都有以下共性:难发 ......
373
0
0
2023-03-17
目录问题关于http header最大长度的那些事问题原型问题解释扩展Tomcat修改maxParameterCount配置问题解决方案参考自定义tomcat配置问题线上程序出现了OOM,程序日志中的输出为Exception in thread "http-nio-8080-exec-1027" java.lang.OutOfMemoryError: Jav ......
584
0
0
2023-03-12
上篇文章介绍了JVM运行时数据区的一些概念,这篇文章将通过工具和字节码加深对常用的堆和虚拟机栈部分的理解。虚拟机栈再理解下面通过3个简单的例子再深入了解一下虚拟机栈区域。「1. 虚拟机栈的出入栈过程」public class JVMStack { public static void main(String[] args) { ......
301
0
0
2023-02-10
目录一、new 对象的几种说法二、Java 对象在内存中的存在形式1. 栈帧(Frame)2. 对象在内存中的存在形式 ①3. 对象中的方法存储在那儿?4. Java 对象在内存中的存在形式 ②三、类中属性详细说明四、细小知识点1. 如何创建对象2. 如何访问属性五、Exercise六、总结一、new 对象的几种说法初学 Java 面向对象的时候,实例化对象 ......
280
0
0
2023-02-05