自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 性能调优 13. 垃圾收集器G1&ZGC详解

是JDK 11中推出的一款追求极致低延迟的垃圾收集器,它曾经设计目标包括:‌‌‌  1. 停顿时间不超过10ms(JDK16已经达到不超过1ms‌‌‌  2.停顿时间不会随着堆的大小,或者活跃对象的大小而增加。‌‌‌  3. 支持8MB~4TB级别的堆,JDK15后已经可以支持16TB。‌‌‌  如果使用ZGC来做Java项目,像对STW敏感的证券系统,游戏的系统都可以去用Java来做(以前都是C或者C++的市场),所以ZGC的出现就是为了抢占其他语言的市场。

2024-04-26 13:54:36 381

原创 性能调优 12. 垃圾收集器ParNew&CMS与底层三色标记算法详解

‌‌‌  8. -XX:+CMSParallellnitialMarkEnabled:表示在初始标记的时候多线程执行,缩短STW,默认开启。‌‌‌  9. -XX:+CMSParallelRemarkEnabled:在重新标记的时候多线程执行,缩短STW,默认开启。‌‌‌。

2024-04-11 09:59:09 600

原创 性能调优 11. JVM对象创建与内存分配机制深度剖析

‌‌‌  对象创建的主要流程图如下。

2024-03-22 15:55:35 629 1

原创 性能调优 10. JVM内存模型深度剖析与优化

‌‌‌  JDK: 包含JAVA运行语言,JRE运行环境,JVM虚拟机。

2024-02-29 15:35:40 824

原创 性能调优 9. 从JDK源码级别彻底剖析JVM类加载机制

‌‌‌  自定义类加载器只需要继承 java.lang.ClassLoader 类,该类有两个核心方法。一个是,实现了双亲委派机制,还有一个方法是findClass用来加载类,默认实现是空方法,自定义类加载器主要重写findClass方法就行。try {//defineClass将一个字节数组转为Class对象,这个字节数组是class文件读取后最终的字节数组。// 指定加载资源目录。

2024-01-29 10:51:48 685 1

原创 性能调优 8. MySQL全局优化与MySQL8.0新增特性详解

要么都成功要么回滚。‌‌‌  MySQL8.0开始支持原子DDL操作,其中与。

2024-01-23 10:11:07 1663 1

原创 性能调优 7. Innodb底层原理与MySQL日志机制深入剖析

‌‌‌  大体来说,MySQL可以两部分。

2024-01-15 16:19:38 720 1

原创 性能调优 6. MySQL锁机制与优化实践

‌‌‌  1.MyISAM在执行查询语句SELECT前,会自动给涉及的所有表加读锁,在执行update、insert、delete操作会自动给涉及的表加写锁。没有事务相当于一条SQL语句就是一个事务。‌‌‌  2. InnoDB在执行查询语句SELECT时(非串行隔离级别),不会加锁。但是update、insert、delete操作会加行锁,加的是写锁。读锁会阻塞写,但是不会阻塞读。写锁则会把读和写都阻塞。

2023-12-23 20:12:41 929 1

原创 性能调优 5. MySQL事务原理与优化以及MVCC底层原理剖析

‌‌‌  数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,就会导致脏写、脏读、不可重复读、幻读这些问题。‌‌‌  这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制(级别)、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多事务并发问题。‌‌‌  事务是一组操作,要么全部成功,要么全部失败,目的是为了保证数据最终的一致性。‌‌‌  事务具有以下4个属性,通常简称为事务的ACID属性。‌‌‌  原子性(Atomi

2023-12-08 15:31:11 21

原创 性能调优4. Mysql索引优化实战二

‌‌‌  看下面例子。‌‌‌‌‌‌  对于上面这两种 name>‘a’ 和 name>‘zzz’ 的执行结果,name>'a’下不走索引,name>'zzz’下又走索引。跟MySQL的cost成本计算有关。‌‌‌  MySQL最终是否选择走索引或者一张表涉及多个索引,MySQL最终如何选择索引,可以用MySQL自带的trace工具来一查究竟,开启trace工具会影响MySQL性能,所以只能临时分析SQL语句使用,用完之后应该立即关闭。‌‌‌  MySQL支持两种方式的。

2023-11-23 15:54:15 28

原创 性能调优3. Mysql索引优化实战一

‌‌‌  使用到表还是开头的数据表。‌‌‌  下面索引都是根据B+Tree数据结构构建。

2023-11-11 16:22:56 34 1

原创 性能调优2. Mysql的Explain详解(学习笔记)

‌‌‌  MySQL默认提供性能分析工具,可以获取SQL语句的执行计划,分析使用了什么索引,扫描了多少行,以此来判断结构性能瓶颈,是否可以优化等。‌‌‌用法‌‌‌  在 SELECT 语句之前增加 EXPLAIN 关键字,MySQL 会在查询上设置一个标记,执行查询时会返回执行计划的信息,而不是执行该条 SQL。‌‌‌  如‌‌‌ EXPLAIN 你的 sql 语句‌‌‌注意‌‌‌  1. 如果 SQL 语句中的 FROM 中包含子查询,仍会执行该子查询,将结果放入临时表中。

2023-11-04 19:12:35 36 1

原创 性能调优1. 深入理解Mysql索引底层数据结构与算法(新手练习)

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-10-25 14:30:51 39

JVM指令表,用来查看JVM指令操作

JVM指令表,用来查看JVM指令操作

2024-02-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除