
Java性能调优
文章平均质量分 94
陈建111
我叫陈建,一个对Java后端技术比较感兴趣的码农
展开
-
数据库参数设置优化
我们一般可以将MySQL的结构分为四层,最上层为客户端连接器,主要包括了数据库连接、授权认证、安全管理等,该层引用了线程池,为接入的连接请求提高线程处理效率。第二层是Server层,主要实现SQL的一些基础功能,包括SQL解析、优化、执行以及等。第三层包括了各种存储引擎,主要负责数据的存取,这一层涉及到的。最下面一层是数据存储层,主要负责将数据存储在文件系统中,并完成与存储引擎的交互。原创 2025-01-14 13:50:41 · 712 阅读 · 0 评论 -
学习-电商系统表设计优化案例分析
这一讲,我们结合电商系统实战练习了如何进行表设计,可以总结为以下几个要点:● 在字段比较复杂、易变动、不方便统一的情况下,建议使用键值对来代替关系数据库表存储;● 在高并发情况下的查询操作,可以使用缓存代替数据库操作,提高并发性能;● 数据量叠加比较快的表,需要考虑水平分表或分库,避免单表操作的性能瓶颈;● 除此之外,我们应该通过一些优化,尽量避免比较复杂的JOIN查询操作,例如冗余一些字段,减少JOIN查询;创建一些中间表,减少JOIN查询。原创 2024-12-23 11:32:34 · 638 阅读 · 0 评论 -
Java性能调优 - JVM性能监测及调优
堆是JVM内存中最大的一块内存空间,该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。堆被划分为新生代和老年代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Survivor和To Survivor组成。在Java6版本中,永久代在非堆内存区;到了Java7版本,永久代的静态变量和运行时常量池被合并到了堆中;而到了Java8,永久代被元空间取代了。原创 2024-12-17 13:57:07 · 1262 阅读 · 0 评论 -
Java性能调优 - 多线程性能调优
在读大于写的场景下,读写锁RRW的性能最佳。在写大于读的场景下,乐观锁的性能是最好的,剩下的读写锁RRW的性能则相差不多;在读和写差不多的场景下,读写锁RRW以及乐观锁的性能要优于和。严格一致性(强一致性):所有的读写操作都按照全局时钟下的顺序执行,且任何时刻线程读取到的缓存数据都是一样的,Hashtable就是严格一致性;顺序一致性。原创 2024-12-13 18:01:17 · 786 阅读 · 0 评论 -
Java性能调优 - 编码优化
因为常量池的实现是类似于一个HashTable的实现方式,HashTable存储的数据越大,遍历的时间复杂度就会增加。我们在平时处理大数据的集合时,应该尽量考虑将应用部署在多核CPU环境下,并且使用Stream的并行迭代方式进行处理。方法使用了正则表达式,而正则表达式的性能是非常不稳定的,使用不恰当会引起回溯问题,很可能导致CPU居高不下。,可以使重复性非常高的字符串(例如地址信息存储),重复使用常量池中相同值的对象,进而节约内存。会让堆中的字符串先存在字符串常量池,再让引用指向同一个常量池的地址。原创 2024-12-13 17:59:40 · 613 阅读 · 0 评论