是时候学习下java虚拟机了

一、什么是虚拟机?什么是JAVA虚拟机?

虚拟机,简单说就是一台虚拟的计算机。 虚拟机主要分为系统层面的和应用程序层面的。系统层面的虚拟机,比如我们常用的 VMwareVisual-Box等,利用它们可以完成对物理计算机的仿真,提供一个完整的操作系统平台。应用程序层面的虚拟机,比如 java虚拟机JVM),它为计算机应用程序提供运行平台,执行程序中的字节码指令。

二、简单的说下java虚拟机的原理

jvm内部有一个叫做类加载器的东西,它是用来在运行时根据需要加载类,这些类被加载到Java虚拟机内存中之后,虚拟机会读取并执行它里面存在的字节码指令。虚拟机中执行字节码指令的部分叫做执行引擎。Java虚拟机会进行自动内存管理。具体说来就是自动释放没有用的对象,而不需要程序员编写代码来释放分配的内存。这部分工作由垃圾收集系统负责。具体工作原理,后续我会跟大家一起学习分享。

三、Java虚拟机有那些分类?

Java发展至今,先后出现了不少java虚拟机。最初,是sun公司的Classic虚拟机,之后出现了BEAJRockitIBMJ9。目前在市场占绝对地位的还是 Hotspot虚拟机。

四、为什么到了要学java虚拟机的时候了?

本人工作3年多了,就目前我所了解到的coder包括我自己而言,大多数的我们只是知道java核心类库第三方类库API的用法,专注于业务的实现,把我们的应用程序交给虚拟机自动执行和优化就好了。 然而这样会带来一个问题:我们根本不知道我们的程序是如何被java虚拟机执行的? 可能有人会有疑问,问什么要深入java虚拟机呢?我想说的是,外练筋骨皮,但更重要的是内练一口气。学习java虚拟机就是练气,学会或者看懂公式的推导,而不是一味的使用公式。为以后学习更深层次的java技术打好基础。

PS:目前打算从java虚拟机入手,后续更新学习Netty的源码解析、Spring的源码解析等。

转载于:https://juejin.im/post/5c7f72d36fb9a049bb7d1810

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值