2024年前端最新JVM进阶(一):初识 JAVA 栈_java 栈是在jvm里吗(1),2024年最新前端面向对象

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

public class Test {
private static int stackLength = 0;
private static void main(String[] args) {
try {
Test test = new Test();
test.stackOverFlow();
} catch (Throwable e) {
System.out.println(“stackLength:” + stackLength);
throw e;
}
}
public void stackOverFlow() {
// 疯狂递归调用
stackLength++;
stackOverFlow();
}
}


在参数`-Xss128k`的情况下的报错。(`eclipse`中设置参数:右键代码选择`Run As-->Run Configurations`,在Arguments栏下的`VM arguments`中填入参数,再Apply,再run)  
 ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwMTA4MTQxMTIwMDM4?x-oss-process=image/format,png)  
 每次在方法执行完毕的时候,虚拟机会自动释放掉为该栈所分配的空间,在栈中,对应着一个栈帧的出栈。虚拟机会自动分配与回收内存,因此效率比较高。


### 三、总结


最后做一下栈的总结:



> 
> * 存放基本类型变量,局部变量,对象的引用;
> * 系统自动分配与回收内存,效率较高,快速,存取速度比堆要快;
> * 是一块连续的内存的区域,有大小限制,如果超过了就会栈溢出,并抛出栈溢出的异常`StackOverflowError`;
> * `Java`会自动释放掉为该变量所分配的内存空间;
> 
> 
> 


栈又分为**java栈**和**本地方法栈**。顾名思义,本地方法栈自然就是为本地方法提供服务的,java栈是为`java`服务的。


注意⚠️:`JVM栈`是每个线程私有的!


### 四、延伸阅读 编译型语言与解释型语言


计算机只能识别二进制指令,不能直接识别由`JavaScript`等高级编程语言所编写的代码(源代码),所以需要将高级语言转为二进制指令。


由于不同语言转换为二进制指令的时机不同,可分为**编译型语言**和**解释性语言**。


#### 4.1 编译型语言


编译型语言要求使用**编译器**一次性将所有源代码编译为一个**可执行程序**,一次编译可重复执行。代表语言有`C`、`C++`、`Golang`、`汇编`等。


● 编译型语言一般不能跨平台



> 
> 1. 编译出来的可执行程序不能跨平台:因为不同操作系统对可执行文件有着不同的要求,彼此之间不能兼容。
> 2. 源代码不能跨平台:不同操作系统下的函数、变量、api等可能会有不同。
> 
> 
> 


#### 4.2 解释型语言


解释型语言是使用**解释器**一边执行一边转换,用到些源代码就转换哪些,不会生成可执行程序。代表语言有`JavaScript`、`Python`、`PHP`、`Shell`等。


● 解释型语言一般可以跨平台


跨平台是指源代码可以跨平台,解释器是不能跨平台的。源代码在不同操作系统中运行的结果相同。


### 五、拓展阅读




## 最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值