2021年9月24日

5 堆

摘要: 前面我们讲的虚拟机栈,本地方法栈,程序计数器,他们有共同特点,他们都是线程私有的。从现在开始讲的堆和方法区可以看成是线程共享的区。 5.1 定义 Heap 堆 通过new关键字创建的对象都会使用堆的内存 特点 他是线程共享的,堆中的对象都需要考虑线程安全的问题 有垃圾回收机制,堆中不再被引用的对象就 阅读全文

posted @ 2021-09-24 21:50 Love&Share 阅读(70) 评论(0) 推荐(0) 编辑

4 本地方法栈

摘要: java虚拟机在调用本地方法时需要给本地方法提供的内存空间。也就是不是由java代码编写的代码,因为我们java代码是不能直接和我们操作系统底层打交道,所以就需要用c/c++编写的本地方法和操作系统底层打交道。那么我们java代码可以通过本地方法来调用底层的一些功能。 比如我们的Object里面。 阅读全文

posted @ 2021-09-24 21:47 Love&Share 阅读(24) 评论(0) 推荐(0) 编辑

3 栈

摘要: 那我们java中每个线程运行的时候需不需要为每个线程划分独立的空间呢? 答案肯定是的。我们的虚拟机栈呢就是线程运行时需要的空间,一个线程需要一个栈。 那栈内组成元素又是什么呢? 栈帧 栈帧又代表什么呢? 那大家想,我的线程他最终是要去执行代码的。那这些代码呢都是由一个个的方法来组成的。所以线程运行的 阅读全文

posted @ 2021-09-24 21:43 Love&Share 阅读(45) 评论(0) 推荐(0) 编辑

2 程序计数器

摘要: 2 程序计数器 2.1 定义 定义:program counter register 程序计数器(寄存器) 那我们通过一个例子来给大家解释程序计数器 首先明确这样一个概念,我们的二进制指令是不能直接给cpu执行的,还需要一个翻译官-解释器,把我们的二进制字节码解释为机器码,然后交给cpu去执行。 那 阅读全文

posted @ 2021-09-24 21:37 Love&Share 阅读(318) 评论(0) 推荐(0) 编辑

1 初识JVM

摘要: 1.1 什么是jvm 定义: java virtual Machine 程序的运行环境(java二进制字节码的运行环境)。用他来屏蔽java代码和底层操作系统的差异。 好处: 一次编写,到处运行。 自动内存管理,垃圾回收功能(大大减轻程序员负担) 数组下标越界检查(如果我们数组越界了,很有可能覆盖其 阅读全文

posted @ 2021-09-24 21:35 Love&Share 阅读(24) 评论(0) 推荐(0) 编辑

导航