首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java性能调优37章
程序员小水珠
创建于2022-07-24
订阅专栏
大家好,我是你们的程序员小水珠。接下来的这段时间里,我想通过这个专栏,跟你一起讨论性能调优这个话题。
等 13 人订阅
共37篇文章
创建于2022-07-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
37 如何使用缓存提高系统性能?
大家好,我是小水珠。 缓存是我们提高系统性能的一项必不可少的技术,无论是前端、还是后端,都应用到了缓存技术。前端使用缓存,可以降低多次请求服务的压力;后端使用缓存,可以降低数据库操作的压力,提升读取数
36 分布式事务调优
大家好,我是小水珠。 今天的分享也是从案例开始。我们团队曾经遇到过一个非常严重的线上事故,在一次DBA完成单台数据库线上补丁后,系统偶尔会出现异常报警,我们的开发工程师很快就定位到了数据库异常问题。
35 设计优秀的分布式锁
大家好,我是小水珠。 在之前业务的一次活动中,我发现在数据库操作日志中,出现最多的一个异常就是Interrupted Exception了,几乎所有的异常都是来自一个校验订单幂等性的SQL。 因为校验
34 数据库参数设置优化
大家好,我是小水珠。 MySQL是一个灵活性比较强的数据库系统,提供了很多可配置参数,便于我们根据应用和服务器硬件来做定制化数据库服务。如果现在让你回想,你可能觉得在开发的过程中很少去调整MySQL的
33 什么时候需要分表分库?
大家好,我是小水珠。 在当今互联网时代,海量数据基本上是每一个成熟产品的共性,特别是在移动互联网产品中,几乎每天都在产生数据,例如,商城的订单表、支付系统的交易明细以及游戏中的战报等等。 对于一个日活
32 如何避免死锁
大家好,我是小水珠。 今天我们来聊聊死锁,开始之前,先分享个小故事,相信你可能遇到过,或能从中获得一点启发。 之前我参与过一个项目,在项目初期,我们是没有将读写表分离的,而是基于一个主库完成读写操作。
31 索引的失效与优化
大家好,我是小水珠。 记得之前有一次迭代一个业务模块的开发,涉及到了一个新的查询业务,需要根据商品类型、订单状态筛选出需要的订单,并以订单时间进行排序。由于sku的索引已经存在了,我在完成业务开发之后
30 高并发场景下的数据库性能调优
大家好,我是小水珠。 数据库事务是数据库系统执行过程中的一个逻辑处理单元,保证一个数据库操作要么成功,要么失败。谈到他,就不得不提ACID属性了。数据库事务具有以下四个基本属性:原子性(Atomici
29 如何写出高性能SQL语句
大家好,我是小水珠。 从今天开始,我将带你一起学习MySQL的性能调优。MySQL数据库是互联网公司使用最为频繁的数据库之一,不仅仅因为它开源免费,MySQL卓越的性能、稳定的服务以及活跃的社区都成就
28 装饰器模式
大家好,我是小水珠。 开始今天的学习之前,我想先请你思考一个问题。假设现在有这样一个需求,让你设计一个装修功能,用户可以动态选择不同的装修功能来装饰自己的房子。例如,水电装修、天花板以及粉刷墙等属于基
27 生产消费者模式
大家好,我是水珠。 生产者消费者模式,在之前的一些案例中,我们是有使用过的,相信你有一定的了解。这个模式是一个十分经典的多线程并发协作模式,生产者与消费者是通过一个中间容器来解决强耦合关系,并以此来实
26 如何使用设计模式优化并发编程?
大家好,我是小水珠。 在我们使用多线程编程时,很多时候需要根据业务场景设计一套业务功能。其实,在多线程编程中,本身就存在很多成熟的功能设计模式,学好它们,用好它们,那就是如虎添翼了。今天我就带你了解几
25 原型模式和享元模式
大家好,我是小水珠。 原型模式和享元模式,前者是在创建多个实例时,对创建过程的性能进行调优;后者是用减少创建实例的方式,来调优系统性能。这么看,你会不会觉得两个模式有点相互矛盾呢? 其实不然,它们的使
24 如何创建单一对象优化系统性能?
大家好,我是小水珠。 从这一讲开始,我们将一起探讨设计模式的性能调优。在设计模式一书中,有23种设计模式的描述,其中,单例设计模式是最常用的设计模式之一。无论是在开源框架,还是在我们的日常开发中,单例
23 如何优化JVM内存分配?
大家好,我是小水珠。 JVM调优是一个系统而又复杂的过程,但我们知道,在大多数情况下,我们基本不用去调整JVM内存分配,因为一些初始化的参数已经可以保证应用服务正常稳定的工作了。 但是所有的调优都是有
22 如何优化垃圾回收机制
大家好,我是小水珠。 我们知道,在Java开发中,开发人员是无需多度关注对象的回收与释放的,JVM垃圾回收机制可以减轻不少工作量。但完全交由JVM回收对象,也会增加回收性能的不确定性。在一些特殊的业务
21 深入jVM即时编译器JIT,优化Java编译
大家好,我是小水珠。 说到编译,我猜你一定会想到.java文件被编译成.class文件的过程,这个编译我们一般称为前端编译。Java的编译和运行过程非常复杂,除了前端编译,还有运行时编译。由于机器无法
20 预知JVM调优先了解JVM内存模型
大家好,我是小水珠。 从今天开始,我将和你一起探讨Java虚拟机(JVM)的性能调优。JVM算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下JVM的内存模型,JVM的性能调优做过吗? 一 为
19 如何用协程来优化多线程业务?
大家好,我是小水珠。 近一两年,国内很多互联网公司开始使用或转型Go语言,一种一个很重要的原因就是Go语言优越的性能表现,而这个优势与Go语言实现的轻量级线程(协程)不无关系。那么Go协程的实现与Ja
18 如何设置线程池大小
大家好,我是小水珠。 还记得我在16讲中说过“线程池的线程数量过多会导致线程竞争激烈”吗?今天再补一句,如果线程数量设置过少的话,该会导致系统无法充分利用计算机资源。那么如何设置才不会影响系统性能呢?
下一页