Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会对它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派机制,即把请求交给父类处理,它是一种任务委派模式。 工作原理 如果一个类加载器收到类加载请求,他并不会先 ...
分类:
其他好文 时间:
2020-09-17 17:24:42
阅读次数:
21
摘自jvms8 idea可使用jclasslib Bytecode viewer插件查看class文件结构 ...
分类:
其他好文 时间:
2020-09-17 16:06:17
阅读次数:
20
虚拟机类加载和双亲委派机制 概述 Java虚拟机把描述类的数据从Class文件加载到内从中,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程叫做虚拟机的类加载机制。 类加载生命周期 一个类型从被加载到虚拟机的内存中开始、到卸载出内存,整个生命周期经历加载(Lo ...
分类:
其他好文 时间:
2020-09-14 19:22:46
阅读次数:
68
mvn clean install package -Dmaven.test.skip=true -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例 ...
分类:
编程语言 时间:
2020-09-14 19:00:41
阅读次数:
40
常量池的项目类型 类 型 标 志 描 述 CONSTANT_Utf8_info 1 UTF-8编码的字符串 CONSTANT_Integer_info 3 整型字面量 CONSTANT_Float_info 4 浮点型字面量 CONSTANT_Long_info 5 长整形字面量 CONSTANT_ ...
分类:
其他好文 时间:
2020-09-10 22:32:26
阅读次数:
42
JVM组成 从图上看到,大致分为以下组件: 类加载子系统 运行时数据区 执行引擎 本地方法库 本地库接口 本地库接口也就是用于调用本地方法的接口,这次就不多说,主要是上面的4个组件。 类加载子系统 类加载子系统的作用 类加载子系统负责从文件系统或网络中加载class文件,class文件在文件开头又特 ...
分类:
其他好文 时间:
2020-08-31 13:22:50
阅读次数:
46
为了便于管理,JVM在执行java程序的时候,会把它所管理的内存划分为多个不同区域。 1,class文件 class文件是java程序编译后生成的中间代码,这些中间代码将会被JVM解释执行。 2,类装载器子系统 类装载器子系统负责把class文件装载到内存中,供虚拟机执行。JVM有两种类装载器,分别 ...
分类:
其他好文 时间:
2020-08-24 16:37:21
阅读次数:
52
JVM 1、JVM 的位置 运行在操作系统之上的 java程序是排在 jre(jvm) 上的 所谓的JVM 调优就是在堆里面调,方法区就是 一个特殊的堆 2、JVM 的体系结构 3、类的加载器 作用 加载 class 文件 类加载器分为好几个,有等级 1、虚拟机自带的加载器 2、启动类(根)加载器 ...
分类:
其他好文 时间:
2020-08-20 18:22:08
阅读次数:
61
1.字节码是16进制的,通过.java文件使用javac命令生成。 2.打开IDEA,选中项目打开,进入target目录,选中一个.class文件,虽然里面好像和.java文件差不多。 3.鼠标右键,open in terminal,输入javap -c xx.class,如果在IDEA中打印不好看 ...
分类:
其他好文 时间:
2020-08-19 19:13:42
阅读次数:
57
昨天和一个同事吃了一个饭,他要离职去深圳了,当时一起来到这个公司,还是我介绍他来这里的,辗转一年多了,我们才聚了一次,各自都在忙碌各自的生活。他是一个高材生,算法比我溜多了,昨天吃饭,深受打击,如果以后有机会去大公司面试,一定必考的就是算法题,还记得去年自己面试的时候,大公司的算法题是真的不会啊。想想就让自己觉得特别丧。我好菜啊。其实回头自己静下来想一想,自己其实也是有自己的优势的,那就是自己对运
分类:
编程语言 时间:
2020-08-18 13:39:48
阅读次数:
68