一、内存与线程

1、内存结构

内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。

2、线程运行

JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被回收。

在虚拟机启动运行时,会创建多个线程,数据区中有的模块是线程共享的,有的是线程私有的:

线程共享:元数据区、堆Heap;

线程私有:虚拟机栈、本地方法栈、程序计数器;

单个CPU在特定时刻只能执行一个线程,所以多线程通过几块空间的使用,然后不断的争抢CPU的执行时间段。

二、元数据空间

基本描述

方法元空间(方法区)在JVM启动的时候被创建,是被各个线程共享的内存空间,用于存放类和方法的元数据以及常量池,比如Class和Method。

在实际的开发中,经常因为加载的类太多,进而导致内存溢出问题,这样可以对元空间的大小进行扩展。

与堆的关系

元空间存放加载的类信息,当类被实例化时,堆中存储实例化的对象信息,并且通过对象类型数据的指针找到类。

三、堆空间

基本描述

JVM启动时创建堆区,是内存管理的核心区,通常情况下也是最大的内存空间,是被所有线程共享的,几乎所有的对象实例都要在堆中分配内存,所以这里也是垃圾回收的重点空间。

堆栈关系

栈是JVM运行时的单位,堆是存储单位,当栈中方法结束,相关对象失去所有引用后,不会马上被移除堆空间,要等到垃圾收集器运行的时候。

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以戳这里免费领取

最新整理电子书

B)

[外链图片转存中…(img-mUC1JYWn-1624248991300)]

最新整理电子书

java大数据开发工程师,面试题附答案相关推荐

  1. 大数据开发工程师面试题(附答案)

    之前采访毕业生的时候,有小伙伴提出意见,想看小编分享一些面试的干货,于是小编不负众望,今天给大家带来了一篇大神级面经,希望可以帮助即将毕业或正在找工作的小伙伴儿们,祝你们早日找到心仪的工作! 在这里我 ...

  2. 大数据开发工程师面试题以及答案整理(二)

    Redis性能优化,单机增加CPU核数是否会提高性能 1.根据业务需要选择合适的数据类型,并为不同的应用场景设置相应的紧凑存储参数. 2.当业务场景不需要数据持久化时,关闭所有的持久化方式可以获得最佳 ...

  3. 大数据开发工程师笔试题

    1,下面哪个程序负责 HDFS 数据存储? a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 2,下列哪个程序通 ...

  4. 大数据开发工程师面试题答案

    填空 1. nohup , setsid , &, 2.server.xml 4. 5. 问答题一:

  5. 某某证券大数据开发工程师招聘笔试题

    某某证券大数据开发工程师招聘笔试题 一.基础知识(单选题,每题1分,共10分) 1.实现两个远程主机之间的文件复制是用 ( D ) . A . mv B . cp C . cut D. scp 2.一 ...

  6. Java开发工程师与大数据开发工程师有何区别?

    乐字节教育是集线上教育与线下培训于一体的全栈式教育机构,致力于研发高端IT技术,培养高端IT人才,让更多的人接受更好的教育是乐字节的教学理念. 最近发现有些同学并不太了解大数据开发工程师这个职位,所以 ...

  7. 大数据开发工程师的面试题

    大数据开发工程师的面试题通常包括:1. 对大数据技术的理解:2. 如何使用Hadoop构建大数据系统:3. 如何使用MapReduce来处理大数据:4. 如何使用Spark分析大数据:5. 如何使用N ...

  8. 阿里p6的大数据开发工程师都要学什么?

    又涨啦!据第三方数据统计,2020年9月全国招收程序员352733人,9月全国程序员平均工资14469元,相比8月的14401元涨了68元.但不少人却说薪资根本没有这么高,其实虽然都是程序员薪资差别还 ...

  9. 如何成为一名大数据开发工程师,工作经验总结

    如何成为一名大数据开发工程师,工作经验总结 原画心旗 2019-11-06 13:35:22 首先,我个人进入大数据行业也纯属偶然,当年实习的时候做的是纯纯的Java开发,后来正式毕业了以后找了份Ja ...

最新文章

  1. LeetCode OJ -Happy Number
  2. MyBatisPlus条件构造器带条件查询selectList使用
  3. 一文详解图对比学习(GNN+CL)的一般流程和最新研究趋势
  4. 带你一文看懂 Blockchain + NoSQL数据库
  5. JEECG 社区开源项目下载(总览)
  6. 千兆网线8根线定义图_网线水晶头如何制作及怎么测试?
  7. Python GUI设计 PythonWx
  8. asp.net 移除Server, X-Powered-By, 和X-AspNet-Version头
  9. android http封装类,HTTP封装类 工具类 For Android
  10. 创业负债累累 | 失败了的我还如何翻盘?是天台见! 我的故事还只是从这件事开始...
  11. H264、H265编码概念及I帧P帧B帧
  12. TS - 勉强入个门儿
  13. java cipher用法_Java使用Cipher类实现加密的过程详解
  14. STM32’s I2C 硬件BUG引发的血案(qzm)
  15. IP地址分类及子网划分
  16. cadence allegro 17.2中的正负片
  17. Linux 历史简介
  18. 解码Base64并展示图片
  19. matlab expand 扩展 用不了,matlab中expand函数 Matlab 里的expand怎么用
  20. 有计算机考试励志的文案,写给所有考生的励志文案:心有所期,全力以赴,定有所成...

热门文章

  1. 双刃剃须刀行业调研报告 - 市场现状分析与发展前景预测
  2. “跟童老师学编程”专栏目录
  3. “咕”了 73 天,何同学终于回归:最喜欢 3D 打印机,但不要买
  4. Java 已老矣,生态却依旧!
  5. 基于“中国架构”,为政企数字化转型而生,中国电子云自带“三大光环”
  6. Hadoop社区正式支持腾讯云COS,全球大数据开发者将无缝使用中国云存储
  7. GitHub 上 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库
  8. 作为 SaaS 初创公司产品负责人,我学到了 5 条经验教训!
  9. 全球最大编程问答社区 Stack Overflow 宣布裁员 15%!
  10. Alexey 大神接棒,YOLOv4 重磅来袭!快来一睹论文真容吧!| 原力计划