四面楚歌的Java工程师该何去何从?内含福利

三、堆空间

基本描述

JVM启动时创建堆区,是内存管理的核心区,通常情况下也是最大的内存空间,是被所有线程共享的,几乎所有的对象实例都要在堆中分配内存,所以这里也是垃圾回收的重点空间。

堆栈关系

栈是JVM运行时的单位,堆是存储单位,当栈中方法结束,相关对象失去所有引用后,不会马上被移除堆空间,要等到垃圾收集器运行的时候。

四、虚拟机栈

虚拟机栈(Java栈)在每个线程创建时都会生成一个虚拟机栈,栈的内部是一个个栈帧单元,对应Java方法的调用,其生命周期和线程周期保持一致。用来存储方法的局部遍历,部分执行结果,方法的调用和返回。

栈帧是方法执行的数据集,维持执行过程中的各种数据信息,执行的方法依次入栈,栈顶存放当前要执行的方法,执行结束后出栈,对于栈没有垃圾回收问题。

五、程序计数器

基本描述

JVM中程序计数寄存器用来存储下一条将要执行指令的地址,执行引擎获取到指令后进行执行,是线程私有的。它可以看作是当前线程所执行的字节码的行号指示器。

前后关系

线程在获取CPU的时间段内执行代码,但是线程随时可能没有执行完就被挂起,等到线程A再次获取CPU执行时,CPU 得知道执行到线程A的哪一个指令,程序计数器会存储该动作。

六、本地方法栈

本地方法栈与虚拟机栈所起到的作用是类似的,虚拟机栈为虚拟机执行Java方法,本地方法栈管理虚拟机使用到的 本地方法,在虚拟机规范中对本地方法栈中方法使用的语言、使用方式与数据结构并没有强制规定,因此具体的虚拟机可以自由实现它。HotSpot虚拟机直接就把本地方法栈和虚拟机栈合二为一。

如何获取免费架构学习资料?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以戳这里即可免费获取哦

以戳这里即可免费获取哦](https://gitee.com/vip204888/java-p7)**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的成语消消乐 Java 代码示例: ```java import java.util.*; public class ChengYuXiaoXiaoLe { public static void main(String[] args) { String[] chengyu = {"天上人间", "人山人海", "海阔天空", "空空如也", "也就是说", "说一不二", "二话不说", "说三道四", "四面楚歌", "歌功颂德", "德高望重", "重整旗鼓", "鼓起勇气", "气吞山河", "河东狮吼", "吼声震天", "天下无敌", "敌不过我", "我行我素", "素不相识", "识趣的人", "人云亦云", "云淡风轻", "轻松愉快", "快人快语", "语重心长", "长话短说", "说来说去", "去而复返", "返老还童", "童叟无欺"}; int score = 0; int count = 0; int round = 1; while (true) { System.out.println("第" + round + "回合,当前得分:" + score); System.out.println("当前成语列表:"); for (int i = 0; i < chengyu.length; i++) { System.out.print(chengyu[i] + " "); } System.out.println(); Scanner scanner = new Scanner(System.in); System.out.println("请输入一个成语:"); String input = scanner.nextLine(); boolean found = false; for (int i = 0; i < chengyu.length; i++) { if (input.equals(chengyu[i])) { found = true; chengyu[i] = ""; score += input.length(); count++; break; } } if (!found) { System.out.println("输入的成语不合法或已被消除,请重新输入!"); } if (count == chengyu.length) { System.out.println("恭喜你,已经消除了所有成语!"); System.out.println("最终得分:" + score); break; } round++; } } } ``` 此代码实现了一个简单的成语消消乐游戏,通过在控制台输入成语进行游戏。游戏的规则是,输入的成语必须与列表中的成语相连(即第一个成语的最后一个字必须与第二个成语的第一个字相同),并且列表中的成语只能使用一次。每次输入一个成语,如果输入的成语合法且在列表中存在,则该成语将从列表中消除,并且得分将增加该成语的长度。当所有成语都被消除时,游戏结束,输出最终得分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值