阿里面试官(性能优化):描述一下jvm加载class文件的原理机制?

简介: 相信很多人对于性能优化都不陌生,为了获得更好的系统性能,或者是为了满足不断增加的业务需求。都需要用到我们的性能调优。所以性能优化在面试中出现的频率特别高楼主自认为自己对性能优化相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引的知识。


相信很多人对于性能优化都不陌生,为了获得更好的系统性能,或者是为了满足不断增加的业务需求。

都需要用到我们的性能调优。所以性能优化在面试中出现的频率特别高

楼主自认为自己对性能优化相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引的知识。

但是,我还是图样图森破,直到我被阿里的面试官虐过之后我才知道,自己在性能优化方面的知识,只是个小学生水平。

以下是我总结的一次阿里面试中关于性能优化的面试问题以及知识点。

tomcat性能调优

  1. 怎么给tomcat调优
  2. 如何加大comcat连接数
  3. 怎么加大tomcat的内存
  4. tomcat中如何禁止列目录下的文件
  5. Tomcat有几种部署方式
  6. tomcat的优化经验

答案解析

jvm性能优化专题:

  1. Java类加载过程
  2. java内存分配
  3. 描述一下jvm加载class文件的原理机制
  4. GC是什么?为什么要有GC?
  5. 简述java垃圾回收机制
  6. 如何判断一个对象是否存活?(或者GC对象的判定方法)
  7. 垃圾回收的优点和原理。并考虑2种回收机制。
  8. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?
  9. 有什么办法主动通知虚拟机进行垃圾回收?
  10. java中会存在内存泄漏吗,请简单描述。
  11. 深拷贝和浅拷贝
  12. syatem,gc()和runtime,gc()会做做什么事情?
  13. finalize方法什么时候被调用?析构函数(finalizatinon)的目的是什么?
  14. 如何对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?
  15. 什么是分布式垃圾回收(DGC)?它是如何工作的?
  16. 串行(serial)收集器和吞吐量(throughout)收集器的区别是什么?
  17. 在Java中,对象什么时候可以被垃圾回收?
  18. 简述Java内存分配与回收策率以及minor GC和majorGC。
  19. jvm的永久代中会发生垃圾回收吗?
  20. Java中垃圾收集的方法有哪些?
  21. 什么是类加载器,类加载器有哪些?

答案解析

mysql性能优化整理(知识点思维导图):

思维导图

性能优化一直是大厂面试的一个重点,希望同学们能够从本文学到知识,梳理出自己的学习路线,同时由于文章长度的限制,文中题目答案没有一一列出来,有需要答案和高清的学习思维路线导图的朋友可以点击此处获取。小编因为面试的原因,同事也整理了有关微服务,并发编程等等知识点,感兴趣的朋友也都可以点击此处获取。希望大家面试跳槽都能顺利通过


相关文章
|
12月前
|
Arthas 存储 算法
深入理解JVM,包含字节码文件,内存结构,垃圾回收,类的声明周期,类加载器
JVM全称是Java Virtual Machine-Java虚拟机JVM作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行类的生命周期概述:类的生命周期描述了一个类加载,使用,卸载的整个过类的生命周期阶段:类的声明周期主要分为五个阶段:加载->连接->初始化->使用->卸载,其中连接中分为三个小阶段验证->准备->解析类加载器的定义:JVM提供类加载器给Java程序去获取类和接口字节码数据类加载器的作用:类加载器接受字节码文件。
982 55
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
516 2
|
存储 算法 Java
jvm性能优化(一)-基于JDK1.8
jvm性能优化(一)-基于JDK1.8
|
10月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
292 0
|
Arthas 监控 Java
Arthas redefine(加载外部的.class文件,redefine到JVM里 )
Arthas redefine(加载外部的.class文件,redefine到JVM里 )
632 15
|
12月前
|
Arthas 存储 Java
JVM深入原理(三+四):JVM组成和JVM字节码文件
目录3. JVM组成3.1. 组成-运行时数据区3.2. 组成-类加载器3.3. 组成-执行引擎3.4. 组成-本地接口4. JVM字节码文件4.1. 字节码文件-组成4.1.1. 组成-基础信息4.1.1.1. 基础信息-魔数4.1.1.2. 基础信息-主副版本号4.1.2. 组成-常量池4.1.3. 组成-方法4.1.3.1. 方法-工作流程4.1.4. 组成-字段4.1.5. 组成-属性4.2. 字节码文件-查看工具4.2.1. javap4.2.2. jclasslib4.2.3. 阿里Arthas
207 0
|
12月前
|
存储 安全 Java
JVM深入原理(五):JVM组成和JVM字节码文件
类的生命周期概述:类的生命周期描述了一个类加载,使用,卸载的整个过类的生命周期阶段:类的声明周期主要分为五个阶段:加载->连接->初始化->使用->卸载,其中连接中分为三个小阶段验证->准备->解析。
208 0
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
存储 算法 Java
Java虚拟机(JVM)的内存管理与性能优化
本文深入探讨了Java虚拟机(JVM)的内存管理机制,包括堆、栈、方法区等关键区域的功能与作用。通过分析垃圾回收算法和调优策略,旨在帮助开发者理解如何有效提升Java应用的性能。文章采用通俗易懂的语言,结合具体实例,使读者能够轻松掌握复杂的内存管理概念,并应用于实际开发中。
|
SQL 缓存 Java
JVM知识体系学习三:class文件初始化过程、硬件层数据一致性(硬件层)、缓存行、指令乱序执行问题、如何保证不乱序(volatile等)
这篇文章详细介绍了JVM中类文件的初始化过程、硬件层面的数据一致性问题、缓存行和伪共享、指令乱序执行问题,以及如何通过`volatile`关键字和`synchronized`关键字来保证数据的有序性和可见性。
255 3