Java虚拟机
文章平均质量分 78
xiaobinsz
Cafe Babe
展开
-
Java虚拟机面试题汇锦
简述JVM内存模型 线程私有的运行时数据区:程序计数器、Java虚拟机栈、本地方法栈。 线程共享的运行时数据区:方法去、堆。 简述程序计数器(PC) 程序计数器表示当前线程所执行的字节码的行号指示器。 程序计数器不会 产生 StackOverflowError 和 OutOfMemoryError。 简述Java虚拟机栈 Java虚拟机栈是用来描述Java方法执行的内存模型。线程在被创建时会被分配一个栈空间,当线程结束后栈空间就会被回收。 栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧原创 2021-05-22 18:15:42 · 113 阅读 · 0 评论 -
Java虚拟机对方法的调用
静态绑定与动态绑定 静态绑定: 指在解析阶段就能够直接识别到目标方法的情况。 (重载可以看成静态绑定,因为对于重载方法的区分在编译阶段就已经完成,所以也可以认为Java虚拟机中不存在重载这一概念) 动态绑定: 指需要在运行过程中根据调用者的动态类型来识别目标方法的情况。 (重写也可被称为动态绑定) 方法绑定 在 class 文件中,编译器会用符号引用指代目标方法。在执行调用之类前,其符号引用会被解析成实际引用。 对于静态绑定的方法调用来说,实际引用为直接指向目标方法的指针。 对于动态绑定的方法调用而言原创 2021-05-18 16:44:33 · 136 阅读 · 0 评论 -
Java基本类型在Java虚拟机中的表现
Java 的基本类型 Java除了对象外,还有八个基本类型来支持数值计算;使用基本类型能够在执行效率以及内存使用两方面提升软件性能。 如图示,前面的值域被后面的值域所包含,因此由前面的基本类型转换为后面的强制类型不需要强制转换。尽管其默认值看起来不同,但在内存中都是0。 boolean 和 char 是唯二的无符号类型。在遵守规范的情况下,前者取值在 0 或 1 之间,猴子则在 [0,65535]。 基本类型在Java虚拟机中的实现 例:Java 虚拟机的 boolean 类型 Java 语言规原创 2021-05-18 12:40:22 · 109 阅读 · 0 评论