20、答疑课堂:模块三热点问题解答

你好,我是刘超。 不知不觉“多线程性能优化“已经讲完了,今天这讲我来解答下各位同学在这个模块集中提出的两大问题,第一个是有关监测上下文切换异常的命令排查工具,第二个是有关blockingQueue的内容。 也欢迎你积极留言给我,让我知晓你想了解的内容...

Java性能调优实战

21、磨刀不误砍柴工:欲知JVM调优先了解JVM内存模型

你好,我是刘超。 从今天开始,我将和你一起探讨Java虚拟机(JVM)的性能调优。JVM算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下JVM的内存模型,JVM的性能调优做过吗? 为什么JVM在Java中如此重要?首先你应该知道,运行一个J...

Java性能调优实战

22、深入JVM即时编译器JIT,优化Java编译

你好,我是刘超。 说到编译,我猜你一定会想到 .java文件被编译成 .class文件的过程,这个编译我们一般称为前端编译。Java的编译和运行过程非常复杂,除了前端编译,还有运行时编译。由于机器无法直接运行Java生成的字节码,所以在运行时,JIT...

Java性能调优实战

23、如何优化垃圾回收机制

你好,我是刘超。 我们知道,在Java开发中,开发人员是无需过度关注对象的回收与释放的,JVM的垃圾回收机制可以减轻不少工作量。但完全交由JVM回收对象,也会增加回收性能的不确定性。在一些特殊的业务场景下,不合适的垃圾回收算法以及策略,都有可能导致系...

Java性能调优实战

24、如何优化JVM内存分配

你好,我是刘超。 JVM调优是一个系统而又复杂的过程,但我们知道,在大多数情况下,我们基本不用去调整JVM内存分配,因为一些初始化的参数已经可以保证应用服务正常稳定地工作了。 但所有的调优都是有目标性的,JVM内存分配调优也一样。没有性能问题的时候,...

Java性能调优实战

25、内存持续上升,我该如何排查问题

你好,我是刘超。 我想你肯定遇到过内存溢出,或是内存使用率过高的问题。碰到内存持续上升的情况,其实我们很难从业务日志中查看到具体的问题,那么面对多个进程以及大量业务线程,我们该如何精准地找到背后的原因呢? 常用的监控和诊断内存工具工欲善其事,必先利其...

Java性能调优实战

26、答疑课堂:模块四热点问题解答

你好,我是刘超。 本周我们结束了“JVM性能监测及调优”的学习,这一期答疑课堂我精选了模块四中 11 位同学的留言,进行集中解答,希望也能对你有所帮助。另外,我想为坚持跟到现在的同学点个赞,期待我们能有更多的技术交流,共同成长。 [第20讲] 很多同...

Java性能调优实战

27、单例模式:如何创建单一对象优化系统性能

你好,我是刘超。 从这一讲开始,我们将一起探讨设计模式的性能调优。在《Design Patterns: Elements of Reusable Object-Oriented Software》一书中,有23种设计模式的描述,其中,单例设计模式是最...

Java性能调优实战

28、原型模式与享元模式:提升系统性能的利器

你好,我是刘超。 原型模式和享元模式,前者是在创建多个实例时,对创建过程的性能进行调优;后者是用减少创建实例的方式,来调优系统性能。这么看,你会不会觉得两个模式有点相互矛盾呢? 其实不然,它们的使用是分场景的。在有些场景下,我们需要重复创建多个实例,...

Java性能调优实战

29、如何使用设计模式优化并发编程

你好,我是刘超。 在我们使用多线程编程时,很多时候需要根据业务场景设计一套业务功能。其实,在多线程编程中,本身就存在很多成熟的功能设计模式,学好它们,用好它们,那就是如虎添翼了。今天我就带你了解几种并发编程中常用的设计模式。 线程上下文设计模式线程上...

Java性能调优实战