美文网首页面试
面试题汇总(性能优化)

面试题汇总(性能优化)

作者: 王勇1024 | 来源:发表于2019-11-03 19:56 被阅读0次

木桶原理(短板理论)

一个木桶盛水多少,并不取决于桶壁上最高的那块木块,而是取决于桶壁最短的那块。

性能调优的层次

  1. 设计调优
  2. 代码调优
  3. JVM调优
    JVM堆大小、垃圾回收策略等。
  4. 数据调优
  • 在应用层对SQL语句进行优化;
  • 对数据库进行优化;
  • 对数据库软件进行优化。
  1. 操作系统调优

基本调优策略和手段

系统性能调优的最主要目的就是查找并解决性能瓶颈问题

  1. 有明确的性能目标,清楚地指出优化的对象和最终目的;
  2. 在目标平台上对软件进行测试,确认是否达到目标;
  3. 如果尚未达到性能目标,则需要找到性能瓶颈;
  4. 改进优化,消除瓶颈。

设计优化

善用设计模式

参考:面试题汇总(设计模式)

  1. 单例模式
  2. 代理模式
    将代理模式用于实现延迟加载,可以有效提升系统的启动速度,对改善用户体验有很大的帮助。
  3. 享元模式
    如果在一个系统中存在多个相同的对象,那么只需共享一份对象的拷贝,而不必为每一次使用都创建新的对象。
    享元模式的主要作用是复用大对象

享元模式和对象池的区别?
在一个对象池中,所有的对象都是等价的,任意两个对象在任何使用场景中都可以被对象池中的其他对象替代。
而在享元模式中,享元工厂所维护的所有对象都是不同的,任何两个对象间不能相互替代。

常用优化组件和方法

缓冲(buffer)

缓冲可以协调上层组件和下层组件的性能差。当上层组件性能优于下层组件时,可以有效减少上层组件对下层组件的等待时间

缓冲区不宜过小,过小的缓冲区无法起到真正的缓存作用。
缓冲区也不宜过大,过大的缓冲区会浪费系统内存,增加GC负担。

缓存(cache)

缓存的主要作用是暂存数据处理结果,并提供下次访问使用

使用动态代理无需修改一个逻辑方法的代码,便可以为它加上缓存功能,提高性能。

对象复用——“池”技术

核心思想:如果一个类被频繁请求使用,那么不必每次都生成一个实例,可以将这个类的一些实例保存在一个“池”中,待需要的时候直接从池中获取

应用场景:线程池和数据库连接池。

只有对重量级对象使用对象池技术才能提高系统性能,对轻量级的对象使用对象池,可能反而会降低系统性能。

并行替代串行

多线程技术

负载均衡

时间换空间

空间换时间

典型应用:缓存

Java程序优化

StringBuffer和StringBuilder的区别

StringBuffer支持并发操作,线性安全的,适合多线程中使用
StringBuilder不支持并发操作,线性不安全的,但其在单线程中的性能比StringBuffer高

字符串拼接效率:StringBuilder > StringBuffer > String

相关文章

  • Android优化

    Android性能优化汇总

  • 对于手游的优化

    给手游做优化,无非就CPU性能优化、内存性能优化、资源优化、GPU优化、IO优化、网络优化、耗电优化这些,为此汇总...

  • android面试总汇

    基础汇集常用三方库知识点开发模式性能优化Android NDK 面试题汇总Android使用C/C++来保存密钥

  • 面试题汇总(性能优化)

    木桶原理(短板理论) 一个木桶盛水多少,并不取决于桶壁上最高的那块木块,而是取决于桶壁最短的那块。 性能调优的层次...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • Android性能优化面试题汇总

    启动黑白屏 安装app后,启动时会有短暂的白屏,这大大影响整体的美观,姑且在这里也给算在性能优化这一块 出现白屏原...

  • 第七周-前端性能优化(一)

    如何进行网站性能优化? 收集的前端面试题和答案Yahoo, Google 加载性能优化 图片 不同格式的特点:pn...

  • 性能优化汇总

    Babel polyfill的按需加载 Babel7 主要是通过其提供的 @babel/preset-env 实现...

  • 2019 iOS面试题大全---全方面剖析面试(上)

    2018 iOS面试题---UI相关:事件传递,图像显示,性能优化,离屏渲染 2018 iOS面试题---Obje...

  • 2019 iOS面试题大全

    1、2018 iOS面试题---UI相关:事件传递,图像显示,性能优化,离屏渲染 2、2018 iOS面试题---...

网友评论

    本文标题:面试题汇总(性能优化)

    本文链接:https://www.haomeiwen.com/subject/blncbctx.html