面试官:谈谈你对Java平台的理解?

简介: 面试官:谈谈你对Java平台的理解?

image.png

当你听到这个问题的时候,可能会有点不知所措。这个问题讲实话有点笼统,太开放了!

如果你当时稍微一紧张就会。。额,停顿。。感觉有点吃亏!那怎么回答这个问题呢?

其实对于这类比较笼统的问题,首先你要表现的胸有成竹,要让自己的回答让面试官感觉你的知识是有系统化的而不是零散的!而且要面试官觉得你是一个知其然并知其所以然的人!

比如这样回答:Java是一种面向对象的语言,它具有跨平台性,一次书写,到处运行(Write once,run anywhere)。因为Java是把源码通过JavaC编译,生成了字节码。字节码并不是可以直接运行的机器码,而是再通过JVM的解释器将字节码转换成最终的机器码。所以Java是因为有JVM屏蔽了操作系统和硬件的细节情况下实现了跨平台性!


并且有垃圾收集器。Java通过垃圾收集器来回收和分配内存,绝大部分情况下我们的编码都不需要操心内存的回收和分配,常见的垃圾回收器有SerialGC,ParallerGC,CMS,G1等。(当然你不熟悉这几种的话还是别说了,别给自己挖坑)


而且平时下还会接触到JRE和JDK。JRE(Java Runtime Environment),也就是Java运行环境,包含了JVM和Java类库等。而JDK(Java Development Kit) 可以视为JRE的超集,还提供了一些工具比如各种诊断工具:jstack,jmap,jstat等(注意这几种工具不熟就别说了!)


这当然不是标准答案了,只要你把你知道的有关于Java的,并且这方面你是做的深入了解的点说出来,让面试官觉得其实你是一个肯挖掘的人,了解东西有深度这样就行了!


一般这种问题都是开头的第一个问题,你的回答其实是有指向性的,你可以把知识点往你知道的多的地方引!一般而且面试官都会顺着你说的问题来问,除非你说的太有深度了,面试官也不懂了哈哈哈!


image.png

比如上面回答的:JVM的解释器将字节码转换成最终的机器码。就如其实你对垃圾处理器不太熟悉但是你对类加载这一块特别熟,你知道


BootstrapClassLoader,ApplicationClassLoader,ExtensionClassLoader。知道类加载过程:加载,验证,链接,初始化。还会自定义ClassLoader。就说!使劲的说!就往这方向带。


还有上面"JVM屏蔽了操作系统和硬件的细节",其实就是我们不管是要在windows上还是linux都需要安装jdk才能跑Java。其实也就是说我们不管在哪个操作系统,我们装了jdk,Java就都能跑,这就是跨平台啦!


还有上面提到的"通过JVM的解释器将字节码转换成最终的机器码"。其实不太准确,怎么说呢?绝大部分情况下Java都是通过解释执行的,但是常见的JVM都提供了JIT(Just-In-Time)编译器,也就是动态编译器,JIT可以在运行时将热点代码编译成机器码,那这部分代码就是编译执行了!(所以下次面试官问你,你还能把这个答上!)



相关文章
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
20天前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
16天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
15天前
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
32 3
|
17天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
26天前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
|
1月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
74 2
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
31 0
|
3月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。

热门文章

最新文章

下一篇
无影云桌面