jvm
文章平均质量分 69
Cry丶
/*有些梦虽然遥不可及, 但却并不是不可以实现*/<br>
写博客的原因(告戒自己):
1.记录自己的成长, 是非对错10年后回望;
2.我踩过的坑,同仁们就不要再迈了;
3.开源精神 理想主义 利他主义。
展开
-
【Java虚拟机】常量池项中字面量和符号引用
符号引用 符号引用以一组符号来描述所引用的目标,也就是用来表示类、方法、字段的。 例如, 在Java中, 一个Java类将会编译成一个class文件。在编译时, Java类并不知道所引用的类的实际地址, 因此只能使用符号引用来代替。 比如org.simple.People类引用了org.simple.Language类, 在编译时People类并不知道Language类的实际内存地址, 因此只能使用符号org.simple.Language来表示Language类的地址。 类的全限定名 Object类,在.原创 2022-01-10 14:19:11 · 590 阅读 · 0 评论 -
学妹问我双亲委派机制到底是个什么东西?
1.什么是双亲委派机制? JVM类加载器是有亲子层级结构的,如下图 这里类加载其实就有一个双亲委派机制,加载某个类时会先委托父加载器寻找目标类,找不到再委托上层父加载器加载,如果所有父加载器在自己的加载类路径下都找不到目标类,则在自己的类加载路径中查找并载入目标类。 比如我们的Math类,最先会找应用程序类加载器加载,应用程序类加载器会先委托扩展类加载器加载,扩展类加载器再委托引导类加载器,顶层引导类加载器在自己的类加载路径里找了半天没找到Math类,则向下退回加载Math类的请求,扩展类加载器收到回复就原创 2021-10-07 18:08:53 · 103 阅读 · 0 评论 -
Java类加载机制和Tomcat模型
当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。 public class Math { public static final int initData = 666; public static User user = new User(); public int compute() { //一个方法对应一块栈帧内存区域 int a = 1; int b = 2; int c = (原创 2021-10-05 15:20:43 · 342 阅读 · 0 评论 -
如何知道Java虚拟机JVM是64位JVM还是32位?
第一种确定Java虚拟机JVM是64位JVM还是32位的方法: 你可以检查某些系统属性如 sun.arch.data.model 或 os.arch 来获取该信息。 Sun有一个Java系统属性来确定JVM的位数:32或64: sun.arch.data.model=32 // 32 bit JVM sun.arch.data.model=64 // 64 bit JVM 您可以使用 System.getProperty("sun.arch.data.model") 以确定它是否来自程序的32/64。原创 2020-12-04 20:28:18 · 2234 阅读 · 0 评论