内容简介:一个很重要的知识环节。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于系统的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。性能优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于运行的效率绝对是有提升的。
前言
一个很重要的知识环节。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于系统的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。
性能优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于运行的效率绝对是有提升的。
Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难。随着10多年 Java 平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了。现代JVM持续演进,内建了更为成熟的优化技术、运行时技术和垃圾收集器。与此同时,底层的硬件平台和操作系统也在演化。本文会结合实际中接触到的一些面试题,重点了解一下Java架构性能优化中的一些相关知识。
JVM性能优化相关问题
Java 类加载过程?
描述一下 JVM 加载 Class 文件的原理机制?
Java 内存分配。
Java 堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?
GC 是什么? 为什么要有 GC?
简述 Java 垃圾回收机制。
如何判断一个对象是否存活?(或者 GC 对象的判定方法)
垃圾回收的优点和原理。并考虑 2 种回收机制。
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
Java 中会存在内存泄漏吗,请简单描述。
深拷贝和浅拷贝。
System.gc() 和 Runtime.gc() 会做什么事情?
finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
什么是分布式垃圾回收(DGC)?它是如何工作的?
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
在 Java 中,对象什么时候可以被垃圾回收?
简述 Java 内存分配与回收策率以及 Minor GC 和 Major GC。
JVM 的永久代中会发生垃圾回收么?
Java 中垃圾收集的方法有哪些?
什么是类加载器,类加载器有哪些?
类加载器双亲委派模型机制?
java程序性能优化相关问题
如何创建优雅的对象
注意对象的通用方法
类的设计陷阱
泛型需要注意的问题
程序设计的通用规则
Tomcat性能优化相关问题及经验
你怎样给tomcat去调优?
tomcat中的文件主要写了些什么?
tomcat哪里设置访问线程数目?
怎样加大tomcat的内存?
Tomcat有几种部署方式?
谈谈你对tomcat优化经验
MySql性能调优相关问题
谈谈表结构对性能的影响
浅谈索引优化
JOIN的原理是什么
说说 Sql 优化的几点原则
谈谈 MySQL 中锁
讲解对事务的认识
如何理解BTree机制?
如何深入执行计划分析?
谈谈对慢查询分析与SQL优化
性能优化应该如何学习
在开发好页面后,如何让页面更快更好的运行,是区分一个程序猿技术水平和视野的一个重要指标。所以面试时,面试官总会问你一个问题,如何进行性能优化呢?
如果你这时是头脑一片空白,或是像之前的我一样,靠死记硬背或是之前的经历,答一下压缩代码,打包代码,事件代理,这说明你对性能优化还是缺乏一个整体,系统的掌握,对性能优化还只是处于听说过一个方法就加上去的阶段。这样也就无从去更好的优化性能。 在这分享一个性能优化的具体学习导图给大家!
结语
上述性能优化一些创建问题我总结出了一些解答和见解做成文档,还整理了性能优化学习的高清导图及一些免费的关于Kafka、Mysql、Nginx、Netty、Dubbo、 Redis 、Spring cloud、分布式、高并发、性能调优、微服务等架构技术资料和架构面试题资料在群里分享,有需要的朋友可以来领取!
资料领取方式:加QQ群930254941,进群领取资料!
点击链接加入群聊【java架构交流群】: https://jq.qq.com/?_wv=1027&k=5wOsvhZ
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 架构师眼中的高并发架构
- 高并发架构搭建
- 阿里P8架构师谈:高并发架构解决方案总结
- 详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析
- 『互联网架构』软件架构-分布式系列并发编程(29)
- 高并发架构的TCP知识介绍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统(原书第2版)
(美)Randal E.Bryant、David O'Hallaron / 龚奕利、雷迎春 / 机械工业出版社 / 2011-1-1 / 99.00元
本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书的最大优点是为程序......一起来看看 《深入理解计算机系统(原书第2版)》 这本书的介绍吧!