什么是Java虚拟机,

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

附面试思维导图:

这种解释应该算是正确的,但是只描述了虚拟机的外部行为和功能,并没有针对内部原理做出说明。一般情况下我们不需要知道虚拟机的运行原理,只要专注写java代码就可以了,这也正是虚拟机之所以存在的原因--屏蔽底层操作系统平台的不同并且减少基于原生语言开发的复杂性,使java这门语言能够跨各种平台(只要虚拟机厂商在特定平台上实现了虚拟机),并且简单易用。这些都是虚拟机的外部特性,但是从这些信息来解释虚拟机,未免太笼统了,无法让我们知道内部原理。

而借此机会呢团长找到了一份从入门到基础的一份手册,现分享给大家!

说明:文章限于篇幅,只做部分展示,完整的文档小编已经整理好了。

第一部分

本部分将重点讲述Java技术体系所囊括的内容,以及Java的历史、 现状和未来的发展趋势。

第二部分

讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。

第三部分

分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。

第四部分

Java程序从源码编译成字节码,再从字节码编译成本地机器码的这两个过程,从整体来看其实等同于一个传统编译器所执行的编译前端、后端过程。

第五部分

Java语言和虚拟机提供了原生的、完善的多线程支持,使得它天生就适合开发多线程并发的应用程序。不过我们不能期望系统来完成所有与并发相关的处理,了解并发的内幕也是成为一位高级程序员不可缺少的课程。

结语

世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。

连续仨月霸占牛客榜首,京东T8呕心巨作:700页JVM虚拟机实战手册相关推荐

  1. 连续仨月霸占牛客榜首京东T8呕心巨作:700页JVM虚拟机实战手册

    什么是Java虚拟机 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与 ...

  2. 连续仨月霸占牛客榜首!京东T8呕心巨作:700页JVM虚拟机实战手册

    什么是Java虚拟机 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与 ...

  3. Java算法:牛客网京东笔试真题算法Java版1-24题

    题号 题目 知识点 难度 通过率 JD1 年终奖 动态规划 简单 32.58%JD2 抛小球 数学模拟 简单 31.40%JD3 小东分苹果 动态规划模拟 中等 22.95%JD4 上台阶 递归动态规 ...

  4. 花三个月吃透京东T8推荐的178页京东基础架构建设之路,入职定T5

    前言 蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力.培训.出国.大公司的经历,还有很多很好的朋友.但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员 ...

  5. 京东内网遭开源的“顶级”SpringCloud实战手册,GitHub列为首推

    相信大家都对springcloud不会陌生,但是我还是给大家介绍一下: Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如 ...

  6. 牛客面经 |这可能不只是一篇面经

    牛客面经 |这可能不只是一篇面经 作者:_XiaoTeng_ 来源:牛客网 写了个显眼的标题,就真得说几句有用的话. 5月份一个很偶然的机会,加了叶神的微信,还收到了祝福.一激动就承诺说写篇最详细的面 ...

  7. 牛客网最热门的 Java 面试题库(附答案),终于整理好了

    前言 网上有太多的 Java 面试题库了,但是大部分潦潦草草,没有知识储备得很难看下去,看完后也不会留下印象.有没有这样的题库 ? 图文并茂,易于理解,代码讲解,题目高频? 我的答案是有! 耗时 3 ...

  8. 牛客网 --java问答题

    http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是&quo ...

  9. 数据、运营相关试题(二)【牛客网:京东2019春招产品运营类试卷】

    试题来源:牛客网 试题答案仅供参考.其中前半部分偏向产品运营类试题,后半部分偏向综合测试类试题. 数据.运营相关内容,一起好好学习,天天向上吧! 数据.运营相关案例问答题(一)[牛客网:数据分析试题广 ...

最新文章

  1. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...
  2. .sql文件如何执行_深入理解SQL原理:SQL查询语句是如何执行的?
  3. ORACLE导入Excel数据
  4. python编程从入门到精通 叶维忠 pdf-叶维忠《Python编程从入门到精通》PDF
  5. 计算机网络-RIP协议
  6. LeetCode 1374. 生成每种字符都是奇数个的字符串
  7. 北风设计模式课程---创建模式、结构模式、行为模式的区别
  8. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌0.25%
  9. cdh中hue集成hbase_HBase版本 | Cloudera Enterprise 6.2.0发布
  10. 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
  11. 四、软考·系统架构师——软件工程基础
  12. 高效编写脚本的技巧分享
  13. 计算机网络自顶向下 概念填空整理(完整)
  14. JAVA转义字符详解
  15. 计算机硬盘加密的原理,对硬盘加密的加密技术是什么?
  16. 二代征信报告解读及信贷风控中的应用
  17. 百度移动营销页常见问题汇总,99%的人不知道
  18. 物联网板开发入门指南
  19. WMI 入门学习实例
  20. 关于Symantec(赛门铁克)认证服务

热门文章

  1. phpwind database.php,phpwind中的数据库操作类
  2. 计算机学院运动会解说词,学校运动会解说词30篇
  3. android迅雷下载搭建开发环境
  4. Java 简单图片 马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 (简单UI)
  5. 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01.doc
  6. IOS基于新浪微博开放平台微博APP
  7. kali 改root_linux切换到root用户,kali怎么切换root身份运行
  8. c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体
  9. Android开发使用Glide获取图片背景色淡绿色解决办法
  10. 互联网注定被抛弃,未来30年属于硬科技!深层逻辑是这样的