2024年最新深入理解Java虚拟机-走近Java(1),java面试题大全带答案

读者福利

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

更多笔记分享

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 本章小结

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

概述


Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这 个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合,如图1-1所示。时至今日,Java技术体系已 经吸引了900多万软件开发者,这是全球最大的软件开发团队。使用Java的设备多达几十亿 台,其中包括11亿多台个人计算机、30亿部移动电话及其他手持设备、数量众多的智能卡, 以及大量机顶盒、导航系统和其他设备。

在这里插入图片描述

Java能获得如此广泛的认可,除了它拥有一门结构严谨、面向对象的编程语言之外,还 有许多不可忽视的优点:它摆脱了硬件平台的束缚,实现了"一次编写 ,到处运行"的理想;它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问 题;它实现了热点代码检测和运行时编译及优化,这使得Java应用能随着运行时间的增加而 获得更高的性能;它有一套完善的应用程序接口,还有无数来自商业机构和开源社区的第三 方类库来帮助它实现各种各样的功能……Java所带来的这些好处使程序的开发效率得到了很 大的提升。作为一名Java程序员,在编写程序时除了尽情发挥Java的各种优势外,还应该去了解和思考一下Java技术体系中这些技术特性是如何实现的。认识这些技术运作的本质,是 自己思考"程序这样写好不好"的基础和前提。当我们在使用一种技术时,如果不再依赖书本和他人就能得到这些问题的答案,那才算上升到了"不惑"的境界。

本书将与读者一起分析Java技术中最重要的那些特性的实现原理。在本章中,我们将重点介绍Java技术体系内容以及Java的历史、现在和未来的发展趋势。

Java技术体系


从广义上讲,Clojure、JRuby、Groovy等运行于Java虚拟机上的语言及其相关的程序都 属于Java技术体系中的一员。如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组成部分:

  • Java程序设计语言

  • 各种硬件平台上的Java虚拟机

  • Class文件格式

  • Java API类库

  • 来自商业机构和开源社区的第三方Java类库

图1-2展示了Java技术体系所包含的内容,以及JDK和JRE所涵盖的范围。

在这里插入图片描述

以上是根据各个组成部分的功能来进行划分的,如果按照技术所服务的领域来划分,或者说按照Java技术关注的重点业务领域来划分,Java技术体系可以分为4个平台,分别为:

  • Java Card : 支持一些Java小程序( Applets ) 运行在小内存设备(如智能卡)上的平台。

  • Java ME ( Micro Edition ) : 支持Java程序运行在移动终端(手机、 PDA ) 上的平台,对 Java API有所精简,并加入了针对移动终端的支持,这个版本以前称为J2ME。

  • Java SE ( Standard E d i t i o n ) : 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本以前称为J2SE。

  • Java EE ( Enterprise Edition): 支持使用多层架构的企业应用(如ERP、CRM应用)的 Java平台,除了提供Java SE API外 ,还对其做了大量的扩充- 并提供了相关的部署支持,这 个版本以前称为J2EE。

Java发展史


从第一个Java版本诞生到现在已经有18年的时间里。沧海桑田一瞬间,转眼18年过去了,在图1-3所展示的时间线中,我们看到JDK已经发展到了1.7版。在这18年里还诞生了无数和Java相关的产品、技术和标准。现在让我们走入时间隧道,从孕育Java语言的时代开始,再来回顾一下Java的发展轨迹和历史变迁。

在这里插入图片描述

具体可以参考我的这篇博客Java发展历程

Java虚拟机发展史


上一节我们从整个Java技术的角度观察了Java技术的发展,许多Java程序员都会潜意识地把它与Sun公司的HotSpot虚拟机等同看待,也许还有一些程序员会注意到BEA JRockit和 IBM J9 ,但对JVM的认识不仅仅只有这些。

从1996年初Sun公司发布的JDK 1.0中所包含的Sun Classic VM到今天,曾经涌现、浬灭过许多或经典或优秀或有特色的虚拟机实现,在这一节中,我们先暂且把代码与技术放下,一 起来回顾一下Java虚拟机家族的发展轨迹和历史变迁。

  1. Sun Classic / Exact VM

  2. Sun HotSpot VM

  3. Sun Mobile-Embedded VM / Meta-Circular VM

  4. BEA JRockit / IBM J9 VM

  5. Azul VM / BEA Liquid VM

  6. Apache Harmony / Google Android Dalvik VM

  7. Microsoft JVM 及其他

展望Java技术的未来

最后

我还通过一些渠道整理了一些大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

//bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值