2016 - 2024

感恩一路有你

常见性疾病 一般的Java项目需要JVM调优吗?注意哪些?

浏览量:2630 时间:2021-03-12 06:14:08 作者:admin

一般的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字节码,其编码实现是一个死循环。每个循环都是获取字节码并执行字节码的过程,因此与其他程序没有本质区别。主流的JavaVM大多是用C语言实现的,然后用汇编语言辅助实现,用Java实现JavaVM的情况有一些,但不多。

下面是使用C语言在智能设备中实现虚拟机的一个片段。

此代码是短加法字节码的实现。

这段代码只是获取字节码并执行它。你认为JavaVM就是这样吗。

为了优化虚拟机的效率,很多人选择用汇编的方式重写执行频率高的代码。

小结是C语言实现的许多,将与汇编结合起来作为辅助工具。有其他语言,但不是主流。

普通公司员工的编程水平与阿里巴巴有多大差距?

作为一名从事编程工作十多年的老程序员,虽然从未在阿里巴巴工作过,但他在跳槽时拒绝了百度和腾讯的邀请,选择了一家更适合自己的互联网公司。他的编程水平的主要决定因素是他有一个良好的环境来培养他的基本技能。日前,他回答了一个问题,即哪个公司的编码水平高还是低,对于大公司还是小公司来说都有外部因素,但主要还是自己的。他们没有决心提高自己的编码水平。不管外部环境有多好,都没有多大意义。

由于阿里巴巴等大公司的全方位安排,提交代码通常需要得到领导的批准,这样可以在一定程度上大大提高代码的质量。审计机制将更加严格,测试控制也将更加严格。普通的小公司在人员配备上可能会少一点,控制也会在一定程度上差一点,严格规范的制度可以促进程序员更深层次的提高,但实质上是他们是否想做得更好,是否想提高得更快。

事实上,说到阿里巴巴这样的大公司,主要是人们的心态问题。他们认为大公司必须比小公司更标准化。那些经历过大公司的人仍然认为他们只是其中的一个螺丝钉。他们还想去小公司,让他们玩得更彻底。小公司的人渴望大公司的待遇和标准化。就像未婚的人一样,他们总是想进入被围困的城市,他们羡慕未婚者的自由。其实,来回是一回事。

有一次,为了进入一家大公司,我放弃了一家中型公司的技术经理职位。现在,这不值得想象。当我进入一家成熟的大公司时,我的贡献只是沧海一粟。很难上去,真正的机会还在初创公司或中小企业。当然,这些东西需要亲身经历,当你年轻充满活力的时候,你会觉得很难欣赏。你只是觉得自己做出了正确的选择和实践,把真理和知识区别开来。

我希望我能帮助你。

学java有必要把jvm弄的特别透彻吗?

如果你只考虑一些特定的场景,没有什么是“必要的”。在这样的场景中,你总能找到一些做不到但仍然生活得很好的例子。

如果我们考虑到Java开发人员的能力提高,那么一些关于JVM的知识应该得到高度重视。例如,GC策略、JVM调优。并不是说你必须学习,而是如果你有精力和兴趣学习一门新的语言,或者花大量的精力参加网络讨论,JVM的知识是面试的必备知识。如果你不这样做,你很可能会被通过。你说你想不想学?对于正常工作,在内存异常的情况下,你知道JVM有一定的基础,对你来说更好的发现问题吗?要注重实战,理论有时同样重要,实战可以在学习的过程中进行。例如,如果常见的JDK检测工具的基本功能都很清楚,如果有问题,你知道如何分析这些工具吗。

常见性疾病 常见花种类 jvm是指什么

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