JVM
文章平均质量分 67
Six Gods
我。。。。。
展开
-
关于 Java 同名类加载顺序问题排查方案
排查背景最近在生产上部署 UDF 时,遇到一个两个环境完全相同,但是一个客户端报错另一个正常的情况,经过多次调试问题终于得以解决,现将解决思路记录一下,希望能对后来者有所帮助。(生产环境不便于截图。。。暂不展示了,各位脑补一下哈哈哈)场景描述由于两个环境的 CLASSPATH 完全相同,jar 包版本一致,但是有一个客户端报错,另一个客户端不报错,根据显示的报错信息(NullPointerException),初步猜测可能是由于加载的类不正确,导致代码报错,(由于是生产环境,没有远程调试环境,各位见谅原创 2021-09-17 18:55:18 · 2182 阅读 · 0 评论 -
JVM 学习四:类加载之双亲委派机制与沙箱安全机制
1 双亲委派机制Java 虚拟机对 Class 文件的加载采用的是按需加载的方式,也就是说:当需要使用该类时才会将它的 Class 文件加载到内存生成 Class 对象,而且加载某个类的 Class 文件时,Java 虚拟机采用的是双亲委派模式,即把请求将由父类处理,它是一种任务委派模式。1.1 工作原理如果一个类加载器收到了类加载的请求,它并不会马上自己去加载,而是把这个请求委托给父...原创 2020-02-01 16:34:45 · 609 阅读 · 0 评论 -
JVM 学习三:类加载器
类加载器1 类加载器的分类JVM 支持两种类型的类加载器:引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defined ClassLoader)从概念上来讲,自定义类加载器一般指的是程序中由开发人员自定义的一类加载器,但是 Java 虚拟机规范却没有这么定义,而是将所有派生于抽象类 ClassLoader 的类加载器都划分为自定义类加载器无论类加载器...原创 2020-01-30 21:19:02 · 185 阅读 · 1 评论 -
JVM 学习二:类加载器子系统
类加载器子系统的作用类加载器子系统负责从文件系统或者网络中加载 Class 文件,Class 文件在文件开关有特定的文件标识ClassLoader 只负责 Class 文件的加载,至于它是否可以运行,则由 Execution Engine(执行引擎)决定加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量...原创 2020-01-27 18:48:25 · 267 阅读 · 0 评论 -
JVM 学习一:JVM 的构架模型及生命周期
Java 编译器输入的指令流基本上是一种基于栈的指令集原创 2020-01-23 21:19:57 · 213 阅读 · 0 评论