类加载子系统类加载器子系统作用类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由ExecutionEngine决定。类加载过程:加载->验证->准备->解析->初始化加载:通过一个类的全限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转
分类:
其他好文 时间:
2020-07-26 11:21:14
阅读次数:
95
3.6节 滴答延时实验使用SysTick实现时间戳 有时候,我们需要控制程序运行的频率,比如每隔一秒打印一行,这时候需要用到延时函数。本节介绍使用SysTick实现延时。 a.实验准备:USB转串口模块,ST-Llink下载器,CHEAPX机器人控制板 b.实验目的:STM32 SysTick实现时 ...
分类:
其他好文 时间:
2020-07-26 01:50:35
阅读次数:
88
1:jvm遇到new :首先判断是否别类加载器加载,然后class 加载到 jvm内存数据区 类加载 检查加载:检查这个指令参数是否可以在常量池中有对应类的符号引用,并检查是否被加载/解析/初始化 分配内存 -》指针碰撞 (适合内存规整)/ 空闲列表(适合内存不规整) 并发情况下 cas加失败重试/ ...
分类:
其他好文 时间:
2020-07-23 15:53:57
阅读次数:
68
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等前言之前去面试的时候面试官问了我关于关于JVM性能调优的问题,由于自己之前公司的项目里自己没有接触到JVM性能调优的相关问题(感觉这些都是公司架构师考虑的问题),所有面试官问的时候自己一脸懵逼,所有最后的结果当然是凉凉。。,于是,为了查漏补缺,就去学习了一下JVM的相关知识,希望能帮助到大家。正文在学习任何一项新的知识之前,我
分类:
其他好文 时间:
2020-07-23 15:46:59
阅读次数:
67
1、概念 类加载阶段,通过一个类的全限定名来获取描述该类的二进制流文件,实现这个动作的代码就是类加载器。 2、类与类加载器 对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性。每个类加载器都有独立的类名称空间。通俗的说如果要比较两个类是否相同,必须在同一类加 ...
分类:
其他好文 时间:
2020-07-21 09:52:22
阅读次数:
60
类加载子系统 概述 完整图如下: 如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载 Class 文件,Class 文件在文件开头有特定的文件标识(CAFE BABE)。 ClassLoader 只负责 ...
分类:
其他好文 时间:
2020-07-19 23:39:47
阅读次数:
51
1.1定义 JVM在加载类时默认采用的是双亲委派机制。通俗的讲,就是某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。 1.2流程 如图所示,当jvm要加载.class的时 ...
分类:
其他好文 时间:
2020-07-17 22:01:41
阅读次数:
84
继承ClassLoader并且重写findClass方法就可以自定义一个类加载器,具体什么是类加载器以及类加载器的加载过程与顺序下次再说,下面给出一个小demo 首先定义一个类,比如MyTest,并且将其编译成class文件,然后放到一个指定的文件夹下面,其中文件夹的最后几层就是它的包名,这里我将这 ...
分类:
编程语言 时间:
2020-07-17 14:00:59
阅读次数:
112
当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 一、类加载过程1.加载 加载指的是将类的class文件读入到内存,并为之创建一个java.lan ...
分类:
编程语言 时间:
2020-07-17 11:39:42
阅读次数:
65
基本知识:JDK动态代理是java.lang.reflect.*包提供的方式,它必须借助一个接口才能生成代理对象. 步骤: 1、首先建一个接口类,并提供一个实现类: public interface ISubject { public int add(int a, int b); } public ...
分类:
编程语言 时间:
2020-07-14 01:03:22
阅读次数:
100