什么是JVM?

JVM简介

JVM全称(Java Virtual Machine,JVM虚拟机)对Java程序来说,JVM就是操作系统,就是一台计算机。 Java程序运行在JVM之上,内存、CPU、线程的管理、垃圾回收对于程序员来说,对于操作系统来说,JVM只是一个进程(应用程序)



Java语言

作为世界上最流行的编程语言,Java可以编写C/S、B/S式的软件。语法由Java Language Specification规定。 Java ®编程语言是通用的,并发的,面向对象的语言。它的语法类似于C和C ++,但是省略了许多使C和C ++复杂,混乱和不安全的功能。最初开发Java平台是为了解决为网络消费设备构建软件的问题。它旨在支持多种主机体系结构并允许安全交付软件组件。为了满足这些要求,编译后的代码必须能够在跨网络的传输中幸存下来,可以在任何客户端上运行,并确保客户端可以安全运行。包含Java平台的Web浏览器不再局限于一组预定功能。可以确保包含动态内容的网页的访问者可以确信其内容不会损坏其计算机。程序员可以编写一次程序,并且该程序可以在提供Java运行时环境的任何计算机上运行。



平台

作为一个开发平台,以JVM为基础,除Java外还有Groovy,Scala,Kotlin,JRuby,Clojure,Jython等语言。虚拟机内部机制由Java virtual Machine Specification规定



文化

作为一种文化,Java几乎成为可“开源”的代名词



生态

作为生态,Java拥有世界最多的技术拥护者和开源社区的支持。从桌面应用软件、嵌入式开发到企业级应用、后台服务、中间件都可以看到Java的身影



JVM

       Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。
       1.编译后产生的字节码class文件其中的指令是抽象的
       2.官方针对主流的操作系统,各自提供了不同的JVM版本,运行的时候翻译成CPU的机器指令
       因为Java运行后会被编译成class文件,主流的操作系统如Windows 、Mac 、Linux等都提供的相应的JVM。
        Java虚拟机的第一个原型实现是在Sun Microsystems Inc完成的,类似于当代个人数字助理(PDA)的手持设备托管的软件中模拟了Java虚拟机指令集。Oracle当前的实现在移动设备、桌面、和服务器设备上模拟Java虚拟机,但是Java虚拟机不假定如何特点的实现技术、主机硬件或主机操作系统。她本身并不是解释的,但也可以通过将其指令集扁你为硅CPU的指令集来实现。它也可以在微码或直接在硅中实现。



Java虚拟机堆栈

每个Java虚拟机线程都有一个私有Java虚拟机堆栈,与该线程同步创建。Java虚拟机堆栈类似于常规语言例如C语言的堆和栈:她保存局部变量和部分结果,并在方法调用和 放回中起作用。以为除了推送,和弹出帧外,初步直接操作Java虚拟机堆和栈,所以可以为堆分配帧。Java虚拟机堆栈的内存不必是连续的。

以下异常条件与Java虚拟机堆栈相关:

      如果线程中的计算需要比允许的Java虚拟机更大的堆栈,则Java虚拟机将抛出StackOverflowError。

      如果可以动态扩展Java虚拟机堆栈,并且尝试进行扩展,但是可以提供足够的内存来实现扩展,或者如果没有足够的内存来为新线程创建初始Java虚拟机堆栈,则Java虚拟机机器抛出一个OutOfMemoryError。

JVM如何启动的

      1.执行JVM启动器bin/java。exe
      2.启动器价值jre/bin/server/jvm.dll(jvm.dll检查OS、获取JVM参数,根据vm参数向OS申请分配内存、创建线程等)
      3.BootstrapClassloader加载jre/lib/rt.jar等核心类库
      4.启动main线程,价值main’方法Java类
      5.Java main方法开始执行





未完待续!!!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值