JVM 执行子系统中有自己的类文件存储结构和字节码及其字节码指令,,,指令系统,,如何识别运行 虚拟机类加载机制 JVM调用方法有五条指令,分别是invokestatic,invokespecial,invokevirtual,invokeinterface,invokedynamic。invoke ...
分类:
编程语言 时间:
2021-02-22 12:06:45
阅读次数:
0
static和final的用法 static:修饰属性,方法,代码块 (1)静态属性: 也叫类变量, 类名.属性名来访问(共有的类变量与对象无关,只和类有关) 注意:类中的实例变量是在创建时被初始化的,被static修饰的属性,也就是类变量,是在类被加载时创建并进行初始化,类加载的过程时进行一次。也 ...
分类:
其他好文 时间:
2021-02-17 14:47:35
阅读次数:
0
反射概述 反射 在程序运行过程中分析类的一种能力。 反射能做什么: 分析类 加载并初始化一个类,查看类的所有属性和方法 查看并使用对象 查看一个对象的所有属性和方法使用对象的任意属性和方法 反射的应用场景 构建通用工具 搭建具有高度灵活性和扩展性的系统框架 类加载器(ClassLoader) 负责将 ...
分类:
其他好文 时间:
2021-02-15 11:39:48
阅读次数:
0
static关键字用法 static方法不能调用非static方法 static方法是类加载的时候产生的,所以不能调用随着对象产生而产生的非static方法。 代码块和静态代码块 代码块都是装在类里的 static { }//静态代码块运行最早,只在加载所属类的时候运行一次 { }//匿名代码块,和 ...
分类:
其他好文 时间:
2021-02-02 11:26:56
阅读次数:
0
学习目标 JDBC: 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。 各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(J ...
分类:
数据库 时间:
2021-01-27 12:54:16
阅读次数:
0
1.类加载的过程 在java语言里,类型的加载,链接和初始化过程都是在程序运行期间完成的。类被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(loading),验证(verification),准备(preparation),解析(resolution),初始化(initial ...
分类:
其他好文 时间:
2021-01-26 12:03:05
阅读次数:
0
前言 一直想好好的了解一下JVM,这次就来一起了解一下JVM是如何实现类的加载过程的。 原理 类加载的生命周期 1. 加载 5种类加载情况: 在遇到 new、putstatic、getstatic、invokestatic 字节码指令时,如果类尚未初始化,则需要先触发初始化。 对类进行反射调用时,如 ...
分类:
编程语言 时间:
2021-01-25 11:16:37
阅读次数:
0
jvm组成 jvm的组成包括 类加载器,字节码执行引擎,内存模型。(并不是只有内存模型) 这图必背 要理解每个区域放的数据是什么 栈:局部变量,栈帧的概念 程序计数器:字节码的行号指示器 本地方法栈:native修饰的方法所需要的内存区域 方法区:类信息、常量、静态变量数据 堆:所有的对象 直接内存 ...
分类:
其他好文 时间:
2021-01-22 12:12:24
阅读次数:
0
1、什么是类加载器 类加载器负责加载class文件,class文件在文件的开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构。 Class Loader只负责class文件的加载,至于他是否可以运行,则由Execution Engine决定。 并 ...
分类:
其他好文 时间:
2021-01-19 12:17:55
阅读次数:
0
1、类加载过程 类加载时机 「加载」 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在内存上创建一个java.lang.Class对象用来封装类在方法区内的数据结构作为这个类的各种数据的访问入口。 「验证」 主要是为了确保class文件中的字节流包含的信息是否 ...
分类:
其他好文 时间:
2021-01-13 11:21:50
阅读次数:
0