当前位置: 首页 > news >正文

苏州那家公司做网站好爱站工具seo综合查询

苏州那家公司做网站好,爱站工具seo综合查询,阜阳微商城网站建设,野花免费资源观看目录 运行时数据区前言面试题JVM 内存区域 / 运行时数据区?说一下 JDK1.6、1.7、1.8 内存区域的变化?为什么使用元空间替代永久代作为方法区的实现?Java 堆的内存分区了解吗?运行时常量池?字符串常量池了解吗&#xff…

目录

  • 运行时数据区
    • 前言
    • 面试题
      • JVM 内存区域 / 运行时数据区?
      • 说一下 JDK1.6、1.7、1.8 内存区域的变化?
      • 为什么使用元空间替代永久代作为方法区的实现?
      • Java 堆的内存分区了解吗?
      • 运行时常量池?
      • 字符串常量池了解吗?
      • 为什么将字符串常量池移动到堆中?


运行时数据区

前言

已经找到工作了,分享秋招时的笔记。祝大家都能顺利找到自己心仪的工作。


面试题

JVM 内存区域 / 运行时数据区?

image-20230315161815980

JVM 运行时数据区包括程序计数器、虚拟机栈、本地方法栈、堆、方法区
程序计数器、虚拟机栈、本地方法栈是线程私有的,堆和方法区是线程共享的

程序计数器:

  • 程序计数器是当前线程所执行的字节码的行号指示器
  • 是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError/OOM 情况的区域

虚拟机栈:

  • 描述 Java 方法执行的线程内存模型
  • 每个方法被执行时会创建一个栈帧,用于存储局部变量表、操作数栈等信息
  • 虚拟机栈是线程私有的,生命周期与线程相同
  • 异常情况:如果栈深度超过虚拟机允许的深度,会抛出 StackOverflowError 异常;如果栈容量扩展失败,会抛出 OutOfMemoryError 异常

本地方法栈:

  • 与虚拟机栈类似,但为虚拟机使用的本地 Native 方法服务

堆:

  • 堆是线程共享的,存放对象实例,几乎所有对象实例都在堆上分配
  • 通过参数 -Xmx 和 -Xms 设置堆的大小
  • 在 Java 堆中可以划分出多个线程私有的分配缓冲区(Thread Local Allocation Buffer,TLAB)以提升对象分配效率
  • 细分为新生代(Eden 区、Survivor 区 S0 和 S1)和老年代
  • 如果 Java 堆没有足够内存进行实例分配且无法再扩展,会抛出 OutOfMemoryError 异常

方法区:

  • 用于存储已加载的类型信息、常量、静态变量等数据
  • 和 Java 堆一样,是线程共享的
  • 在 JDK8 之前,方法区的实现为永久代,JDK8 之后为元空间

说一下 JDK1.6、1.7、1.8 内存区域的变化?

在 JDK 1.6、1.7 和 1.8 版本中,内存区域的变化主要体现在方法区的实现方式上

  • JDK1.6: 方法区的实现是永久代
  • JDK1.7: 讲字符串常量池和静态变量从永久代中移到堆
  • JDK1.8 去除永久代的概念,使用元空间;在直接内存划分区域作为元空间,运行时常量池、类常量池都移动到元空间

为什么使用元空间替代永久代作为方法区的实现?

  • 永久代是固定大小的,无法动态调整;元空间使用本地内存作为存储区域,可以根据系统的物理内存动态调整大小

Java 堆的内存分区了解吗?

  • 按照垃圾收集,将 Java 堆划分为新生代和老年代
  • 新生代存放存活时间短的对象,每次回收后存活的少量对象,逐步升到老年代
  • 新生代分为三个区域:Eden、S1、S2,比例是 8:1:1

运行时常量池?

  • 运行时常量池是方法区的一部分
  • 常量池表:用于存放编译器生成的字面量和符号引用,在类加载后存放到方法区的运行时常量池中
  • 具有动态性,不要求常量一定只有编译期才能产生
  • 常量池在无法申请到内存时会抛出 OutOfMemoryError 错误

字符串常量池了解吗?

  • 字符串常量区是 JVM 为了提高性能和较少内存消耗针对字符串类专门开辟的一块区域
  • 为了避免字符串的重复创建
// 在堆中创建字符串对象”ab“
// 将字符串对象”ab“的引用保存在字符串常量池中
String aa = "ab";
// 直接返回字符串常量池中字符串对象”ab“的引用
String bb = "ab";
System.out.println(aa==bb);// true

为什么将字符串常量池移动到堆中?

  • 因为方法区的 GC 回收效率太低,只有在整堆收集 (Full GC) 时才会执行 GC
  • Java 程序中通常有大量的字符串等待回收,将字符串常量池放在堆里,能够更加高效的回收字符串内存

秋招后端开发面试题系列目录
一、Java
1.1 Java基础上
1.2 Java基础下
1.3 Java集合
1.4 JavaIO
1.5 Java多线程上
1.6Java多线程下
二、JVM
2.1 JVM底层原理
2.2 垃圾回收器
2.3 垃圾回收算法
2.4 类加载机制
2.5 运行时数据区
三、MySQL
3.1 MySQL基础
3.2 事务
3.3 索引
3.4 锁机制
3.5 MVCC
四、Redis
4.1 Redis基础
4.2 缓存原理
五、中间件
5.1 RabbitMQ
六、Spring开源框架
6.1 Spring
6.2 Spring MVC
6.3 Spring Boot
6.4 MyBatis
七、操作系统
八、计算机网络
九、设计模式
十、微服务架构
十一、Spring Cloud分布式
11.1 分布式基础
11.2 Spring Cloud
11.3 GateWay
11.4 Nacos
11.5 OpenFeign
11.6 Ribbon
十二、算法
十三、项目

http://www.hengruixuexiao.com/news/11699.html

相关文章:

  • 爱游戏app下载官方网站seo图片优化的方法
  • 商会信息平台网站建设方案换友情链接的网站
  • 经销商管理系统软件搜索引擎优化是什么意思
  • 自己做的网站只能打开一个链接免费b站推广网站有哪些
  • 类似凡科建站的网站合肥seo管理
  • 水果网站源码怎样联系百度客服
  • 四川省工程造价信息网官网百度seo不正当竞争秒收
  • 网站建设服务商24小时接单上海seo有哪些公司
  • 日本网站建设十大骗子教育培训机构
  • 企业网站建设 cms南京百度seo排名优化
  • 软件开发专业专科学校seo优化官网
  • 邢台做移动网站公司电话app推广方式有哪些
  • 山东烟台城乡建设学校官方网站国产长尾关键词拘挖掘
  • 类型: 营销型网站建设百度搜索指数的数据来源
  • 深圳服装网站建设seo怎么才能做好
  • 独立网站推广排名搜索推广竞价托管哪家好
  • 做网站公司松江seo指搜索引擎
  • 门户网站建站目标百度云网页版登录入口
  • 哪些网站可以做调查问卷seo 网站推广
  • 网站源代码安装新东方教育培训机构
  • 网站的广度怎么去推广自己的公司
  • 响应式网站建设好么腾讯广告代理商加盟
  • 郑州o2o网站建设汉狮品牌seo培训咨询
  • 企业宽带 做网站搜索网站排名
  • 武汉电商网站开发免费涨1000粉丝网站
  • 石狮做网站宁波网站优化公司价格
  • 制作网站支付方式免费网站推广
  • 网站建设设计大作业平台推广计划
  • 做外贸都做哪些网站好免费下载营销培训课程视频
  • 门户网站建设 知乎深圳网络推广外包