2016 - 2024

感恩一路有你

java创建一个栈 jvm堆和栈的区别?

浏览量:1319 时间:2021-04-03 13:23:09 作者:admin

jvm堆和栈的区别?

1. 堆栈:每当启动一个新线程时,Java虚拟机都会为它分配一个Java堆栈。JVM将只在Java堆栈上执行两个操作:堆栈按下或以堆栈帧为单位退出堆栈。每个线程都包含一个堆栈区域,其中只存储基本数据类型的对象和自定义对象(而不是对象)的引用,对象存储在堆栈区域中。

2. 堆:存储所有对象,每个对象都包含相应的类信息——类的目的是获取操作指令。JVM中的所有线程只共享一个堆。堆不存储基本类型和对象引用,只存储对象本身。

jvm:java代码是如何运行的?

一个java项目包含许多带有“.”的源代码文件。Java“后缀。除了直接在IDE中调试外,一般来说,代码类型是jar包或war包,最后打包的jar包或war包被发送到在线服务器进行部署。

部署的方法有很多,最基本的方法是通过Tomcat容器进行部署,也可以通过Java命令手动运行jar包中的代码。

在Java代码打包过程中,源代码通常被编译成一个字节码文件,并带有“。“类”后缀。JVM只能识别和解释字节码文件类。

对于已编译的类字节码,您需要使用诸如Java-jar之类的命令来运行已编写的代码;一旦使用Java命令,此时您将实际启动JVM进程。

JVM进程将负责运行这些类字节码文件,这相当于运行我们编写的代码。

要运行这些类字节码文件中的代码,JVM将使用类加载器将编译后的类字节码文件加载到JVM的内存中

执行加载到内存中的类。当JVM需要哪个类时,它将使用类加载器来加载相应的类。

一般的Java项目需要JVM调优吗?注意哪些?

Java以其开源、高效、跨平台和良好的生态性成为主流编程语言。即使是以前使用其他技术栈的公司,现在也在慢慢地向Java平台迁移。我相信很多Java学生在面试时都会被问到关于JVM调优的问题,但是他们似乎很少在日常工作中进行JVM调优。您想为一般Java项目进行JVM调优吗?

在我们讨论JVM调优之前,让我们先讨论一下JVM。什么是JVM?实际上,JVM是Java虚拟机的缩写。Java能够跨平台的原因实际上是基于JVM。

尽管JVM本身是一个计算机程序,但它也有自己的一套软件和硬件环境。

就像你买了一台新电脑。系统安装后,您可以正常使用计算机。但是很多用户需要自定义电脑,比如桌面背景。同样,JVM安装后,即使没有任何额外的设置,也可以正常工作,但在某些情况下,还需要对JVM进行调优,而调优的手段就是更改JVM参数。

JVM调优的目的是使用尽可能少的内存和CPU,使Java程序获得更高的吞吐量和更低的延迟。

2. JVM常用调优项

JVM最常用的调优是更改JVM的默认参数,例如:

最大堆大小:-Xmx

新生成大小:-XMN

不朽生成的最小值:-XX:permsize

不朽生成的最大值:-XX:maxpermsize

事实上,JVM的默认设置可以满足一般项目的需要。似乎只要您更改参数,JVM的调优就非常简单,但不是我,而是您认为的那么简单。

如果JVM调优不好,会影响整个项目的稳定性。在正常情况下,不建议调优JVM,除非Java项目内存太高,服务器内存太低。

java创建一个栈 java栈的使用 java栈的输入

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。