java反射机制是在运行状态中, 对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能成为java语言的反射机制。
类的加载
1. 加载; 加载字节码文件
2. 链接又分为验证、准备、解析
验证: 检验字节码的合法性
准备: 给静态变量分配内存空间, 并且赋初始默认值
解析: 指的是将符号引用转换为直接引用
3. JVM的五大区域
1. 程序计数器 : 程序计数器是一块很小的内存空间,它是线程私有的,可以认作为当前线程的行号指示器就说线程执行的位置记录.
2 . 栈 (虚拟机栈) 线程的独占空间, 线程每次调用方法执行都会放入里面,平时说的栈一般指局部变量表部分,
3. 本地方法区 本地方法栈则为虚拟机使用到的native方法服务,可能底层调用的c或c++,
4 方法区:方法区用于存储已被虚拟机加载的类信息,常量、静态变量、 如static修饰的变量加载类的时候就被加载到方法区中。
5 堆 存放new出来的对象信息,全局变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)