1.内部类 内部类的分类 什么是内部类 概念:在一个类的内部再定义一个完整的类。将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。 特点: 编译之后可生成独立的字节码文件。 内部类可直接访问外部类的私有成员,而不破坏封装。 可为外部类提 ...
分类:
编程语言 时间:
2021-02-19 13:16:03
阅读次数:
0
执行引擎的输入是字节码的二进制流,输出是执行结果。 8.1 运行时栈帧结构 栈帧,方法执行时存储必要信息的数据结构。存在于虚拟机栈,每一个栈帧包含了局部变量表、操作数栈、动态连接、方法返回地址和附加信息。 8.1.1 局部变量表 存放方法参数和方法内部定义的局部变量。具体大小在class文件,方法表 ...
分类:
其他好文 时间:
2021-02-18 12:56:40
阅读次数:
0
Switch选择结构学习 接上一篇博客的switch public static void main(String[] args) { String name = "芜湖"; //JDK7新特性,表达式结果可以是字符串 //字符的本质还是数字? //反编译 java--class(字节码文件) 反编 ...
分类:
编程语言 时间:
2021-02-17 14:18:49
阅读次数:
0
字符函数 函数返回值型 函数(参数) 描述 string base64(binary bin) 将二进制 bin 转换成 64 位的字符串 string concat(string|binary A, string|binary B...) 对二进制字节码或字符 串按次序进行拼接 array<str ...
分类:
其他好文 时间:
2021-02-10 13:05:47
阅读次数:
0
一:常用的java代理模式 一般经常做java开发的知道java的代理模式一共有三种,第一种也就是静态代理,这种用法比较简单,比较好理解,另外两种分别是JDK代理和cglib代理,他们分别是对接口代理和对class类本身进行代理,jdk代理要求类必须实现有一个或者多个接口,对接口进行字节码增强在内存 ...
分类:
编程语言 时间:
2021-02-03 10:38:00
阅读次数:
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
本文主要介绍字节码的生成案例及分析方法,案例包含加法案例、i++案例、循环案例、嵌套方法案例、try-catch-finally案例。 ...
分类:
编程语言 时间:
2021-01-19 12:03:30
阅读次数:
0
字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,这个计数器值则应为空(Undefined)。 方法区(Method Area)别名叫作“非 ...
分类:
其他好文 时间:
2021-01-18 11:34:30
阅读次数:
0