JVM上篇
(10人评价)
尚硅谷_JVM从入门到精通(更新至中篇)

JVM从入门到精通

价格 ¥ 159.60 ¥798.00 2折
活动
教学计划
会员免费学 购买课程

指令:

动态类型语言和静态类型语言。区别对类型的检查是在编译期还是运行期期。

 

[展开全文]

JVM规范是oracl官方发布的一个标准 ,规范本身在不断的进行迭代。

规范是虚的,他有一个落地的实现,落地的实现就是不同版本低虚拟机。虚拟机有好多不同的。

JVM是虚拟机,总的来说是一种标准规范,虚拟机有很多实现版本。主要作用就是运行java的类文件的。
而HotSpot是虚拟机的一种实现,它是sun公司开发的,是sun jdk和open jdk中自带的虚拟机,同时也是目前使用范围最广的虚拟机。
HotSpot,顾名思义,它是基于热点代码探测的,有JIT即时编译功能,能提供更高质量的本地代码。
二者区别是一个是标准,一个是实现方式。

 

JVM具有两个主要功能:允许Java程序在任何设备或操作系统上运行(称为“一次编写,随处运行”原则),以及管理和优化程序内存

 

相关链接:https://zhuanlan.zhihu.com/p/118411522

 

 

[展开全文]

Java和C++的主要区别:内存的动态分配:垃圾收集技术

[展开全文]

 java语言规范要求完全相同的字符串字面量,应该包含同样的Unicode字符序列(包含同一份码点序列的常量),并且必须是指向同一份String类实例。 

[展开全文]

栈帧的内部结构:

1、局部变量表

2、操作数栈

3、动态链接

4、方法返回地址

5、一些附加信息

[展开全文]

方法的开始对应着入栈

方法的结束对应着出栈

 

栈:先进后出,后进先出

 

当前方法----> 当前栈帧 

[展开全文]

内存布局:

1.对象头。

1).运行时元数据

2).类型指针

2.实例数据

 

一个方法对应一个栈帧。

 

[展开全文]
  1. 15分总结开始,应该是MajorGC吧。因为MinorGC只是Eden到Survivor.
[展开全文]

  字节码指令 方法区执行字节码的讲解。

1.方法的描述  方法区中的cun'fang 

sipush 500 将500放入操作数栈中

本地变量表中存放操作数栈中的值

istore_1  存放操作数栈中的数据

iload_1 读取本地变量表

stack 操作数栈 数组

locals 本地变量表

idiv 进行除法操作

getstatic 调用常量池中数据

invokevirtual  执行最后的结果

 

程序计数器:记录当前线程执行的位置,防止多线的过程中当前进度的丢失。

 

 

[展开全文]

字节码文件-->类加载器【把字节码文件加载入内存,形成一个大的class实例】-->解释运行

[展开全文]

jvm的位置:运行于操作系统之上的一个软件虚拟。并不会与硬件直接接触

[展开全文]

jvm只识别字节码文件,java源码生成字节码文件,jvm运行字节码文件进入内存

[展开全文]

jvm的架构模型:基于栈的架构

jvm的生命周期:

[展开全文]
业界大牛亲自授课
前沿技术实时更新
足不出户学编程
关注尚硅谷微信 一键下载全部视频教程

关注尚硅谷微信

一键下载全部视频教程