Java面试题,10个性能优化的细节,跳槽就靠他吊打面试官

可能很多Java程序员都会觉得解决性能问题是一件特别苦恼、特别让人抓狂的事情,因为系统的各个层面的问题都会导致性能问题。

JVM优化是个老生常谈的话题,也是程序员面试容易遇到的高频问题,貌似每个程序员或者面试官都知道那么一点儿,没有什么新意。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

很多原来的优化方法都已失去了存在的意义,但还是被大家不断地讨论,片面、零散、落伍的知识在JVM领域大行其道,要命的是其中还有很多是错误的。

但如果想再找一本能跟得上时代步伐的JVM调优的书的话,貌似当下只有这本书。

这就是我推荐此书的理由:全面、实用、紧跟时代,本书很多章节都是我非常喜欢的,比如关于JMC的,相信很多有多年JVM调优经验的人也未必听说过JMC,但不得不说,每个遇见JMC的人都如获至宝。

性能测试方法

在性能测试过程中,最重要的一部分就是性能瓶颈定位与调优

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

Java性能调优工具箱

性能分析过程中的一切都要能可视化,从而了解应用内部及应用所在的环境发生了什么,可视化的关键全在于工具,所以性能调优也完全在于工具。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

JT编译器

即时(Just-In-Time, JIT) 编译器是Java 虚拟机的核心,对JVM性能影响最大的莫过于编译器,而选择编译器是运行Java程序时首先要做的选择之一,无论你是 Java开发人员还是最终用户,幸运的是,在绝大多数情况下,只需要对编译器做-些基本的调优。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

垃圾收集入门

这一章我们会一起探究JVM垃圾收集的基础知识。很多时候我们没有机会重写代码,又面临需要提高Java应用性能的压力,这种情况下对垃圾收集器的调优就变得至关重要。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

垃圾收集算法

介绍了垃圾收集器的通用行为,包括普遍适用于所有垃圾回收算法的JVM调优标志如何选择堆的大小,如何选择代的大小,如何开启和设置GC日志,等等。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

堆内存最佳实践

起那么两章详细探讨了如何调优垃圾收集器,以使其尽可能不影响程序。调优垃圾收集器非常重要,但是应用更好的编程实践往往可以获得更好的性能。本章就探讨一些在Java中使用堆内存的最佳实践方法。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

原生内存最佳实践

在Java应用中,堆消耗的内存是最多的。但是除堆之外,JVM还会分配并使用大量的原生内存,从编程的角度探讨了高效管理堆的不同方式。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

线程与同步的性能

从刚问世起,Java的部分魅力就来自其多线程。即便在多核和多CPU系统司空见惯之前,.能够轻松编写多线程程序也是Java的一个标志性特征。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

Java.EE性能调优

本章关注的是Java EE (特别是Java EE 6和7),涵盖了JSP、servlet和EJB 3.0会话Bean-- -因为EJB 3.0实体Bean (Java持久化API实体,即JPA)并不限定于Java EE技术(第11章将深入讨论),所以本章没有涵盖。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

数据库性能M最佳实践

本章主要探讨由Java驱动的数据库应用的性能。方向数据库的应用程序经常会受制于一些与Java不直接相关的性能问题,譬如使用的数据库有I0瓶颈,或者由于关键索引缺失,导致SQL查询需要做全表扫描。要解决这些问题,不必调优JVM,也不需要修改应用代码。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

Java.SE.API.技巧

在某些JavaSEAPI的实现中,存在一些会影响性能的怪异行为,本章将对其进行探讨。JDK中有很多这样的实现细节,我经常会发现由其导致的性能问题(即便在我自己的代码中,也会存在)。

Java开发必会的10个性能优化的细节,跳槽就靠他吊打面试官

 

posted @ 2021-06-24 10:40  不秃头的程序员丶  阅读(279)  评论(0)    收藏  举报