JVM简介

JVM简介

新学一个东西,从技术的角度看,首先我们还是要先按照老三样去了解它,3W原则

  1. what:JVM是什么?
  2. why:为什么要学JVM?
  3. where:学了它能用到哪些地方?

然后我们从这三个方面分别来介绍一下我们大名鼎鼎的JVM

JVM是什么?

JVM(Java Virtual Machine,Java虚拟机)
官方我解释我在这也就是不copy过来了,想要看自己去官网看
简单来说就是把我们写的代码转换成计算机看的懂的字节码文件,我们的java.exe只是一个可执行程序的外壳,因为JVM是用C语言写的,它会装载我们的动态连接库jvm.dll(dll是在window上,在linux中是so文件),这个动态连接库才是java虚拟机的实际操作处理所在

Java语言的特征大家都知道:Java具有面向对象、分布式、安全性、可移植性和跨平台能力等等特点,一说能说一大堆;

其中很多特点就是由我们JVM来实现,比如我们的跨平台性,我们的一个项目打包好后,只要环境搭建好(也就是我们的Jdk,其中就包括的JVM),就能直接在各个平台直接运行,这其中的代码转换就是我们JVM帮我们进行了处理了
在这里插入图片描述

为什么要学JVM?

应该很多人都和我一样,在最初学习Java的时候,其实并没有去认真深入的去学习了解JVM,我们都是直接配置好环境就开始学习语法,并没有去了解环境以及我们的java是如何运行的,当然其实这些在我们初期我们不知道也是可以的,但是如果你想在Java这个领域走的更远,那么JVM就一定是你无法逃避的问题,我们如果对其了解的足够了,可以给我们带来以下好处

  1. 能更好的理解Java语言
  2. 可以清楚知道Java程序是如何执行的,这样针对一些底层的问题不至于束手无策
  3. 拓宽你的思维,你能清楚的知道Java作为代表性的高级语言是如何具备各种特性的
  4. 你可以有能力对一些大型项目的底层Java性能进行优化

需要学习它的理由很多,仁者见仁智者见智,但大家的目标都是一样的,那就是变强!

学了它能用到哪些地方?

  1. 最主要的一点就是项目性能调优,就是你能够利用一些工具,jmap, jvisualvm, jstat,
    jconsole等工具可以辅助你观察Java应用在运行时堆的布局情况,由此你可以通过调整JVM相关参数提高Java应用的性能
  2. 有去改写它的源码的可能,当你在某一个领域发现它某些方面设计不尽人意,那么如果你想要去改写它的源码,那必须得对它了解之后才能进行

至于还有你们说能在面试的时候和面试官吹等等当然也算,总之这是Java进阶路上必不可少的一道关卡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿秃头的阳某

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值