小技术君


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Sitemap

  • Book

  • Markdown

  • Search

如何创建高性能索引

Posted on 2021-10-29 | In mysql |
为什么需要索引?

避免去扫全表,存储引擎先走索引找到对应值,然后根据索引记录找到对应的数据行.

优点的话,因为索引使用B+树结构 使得查询数据不再是随机IO,且避免去扫描全表

索引的策略(使用)

单列

不要在where 后面针对索引列计算,因为无法自动解析计算,所以需要避免索引列的一些计算

image-20211013193141024

Read more »

操作系统里的内存管理

Posted on 2021-09-28 | In OS |

图怪兽_f2433484b95076e61f00e5b8b98a68f0_68721

存储器结构

cpu -> 寄存器 -> 高速缓存 -> 主存 -> 磁盘

一种存储器抽象:地址空间

定义: 存储位置列表,存放可执行程序,程序的数据以及堆栈

地址空间是进程可以用来寻址内存的地址集。每个进程都有它自己的地址空间,独立于其他进程的地址空间,但是

某些进程会希望可以共享地址空间

Read more »

操作系统里的进程和线程

Posted on 2021-09-28 | In OS |

图怪兽_81f15acdf27c9e27dd3e2e54d3360863_79599

什么是进程?

一个进程就是一个正在执行的程序的实例,进程也包括程序计数器、寄存器和变量的当前值。从概念上来说,每个

进程都有各自的虚拟 CPU,但是实际情况是 CPU 会在各个进程之间进行来回切换。

进程模型?

一个进程就是一个正在执行的程序的实例,进程也包括程序计数器、寄存器和变量的当前值。从概念上来说,每个

进程都有各自的虚拟 CPU,但是实际情况是 CPU 会在各个进程之间进行来回切换。

Read more »

JMH 性能测试框架

Posted on 2021-08-05 | In java |

图怪兽_18f1392978746a0fee33246215485ddb_12978

概述

JMH 是一个由 OpenJDK/Oracle 里面那群开发了 Java 编译器的大牛们所开发的 Micro Benchmark Framework 。何谓 Micro Benchmark 呢?简单地说就是在 method 层面上的 benchmark,精度可以精确到微秒级。可以看出 JMH 主要使用在当你已经找出了热点函数,而需要对热点函数进行进一步的优化时,就可以使用 JMH 对优化的效果进行定量的分析。

比较典型的使用场景还有:

  • 想定量地知道某个函数需要执行多长时间,以及执行时间和输入 n 的相关性
  • 一个函数有两种不同实现(例如实现 A 使用了 FixedThreadPool,实现 B 使用了 ForkJoinPool),不知道哪种实现性能更好
    Read more »

Maven 多仓库和镜像配置

Posted on 2021-08-05 | In java |

图怪兽_84fb2b366cf8dbe08e84691405f041b0_55848

因为之前maven配置的一直都是公司的私服仓库,今天 拉 JMH包发现拉不到,于是考虑配置多个仓库,可以满足工作以及日常开发需求,顺便梳理 mirrors 和 repository 的区别

maven 设置多个仓库

有两种不同的方式可以指定多个存储库的使用。第一种方法是在 POM 中指定要使用的存储库。这在构建概要文件内部和外部都支持

Read more »

Optional 的使用会导致性能下降吗?

Posted on 2021-07-26 | In 微服务 |

图怪兽_bb2845fd7f5a4c03fb9adb66715a5e02_14370

几天前,我在论坛上发了一篇关于Optional 的文章。其中一条评论是一个非常好的问题:

Optional 的使用会导致性能下降吗?

答案是: 是的,它会的。但是你应该担心吗?

Read more »

如何做好监控微服务调⽤?

Posted on 2021-06-16 | In 微服务 |
监控对象
  • ⽤户端监控。通常是指业务直接对⽤户提供的功能的监控

  • 接口监控。通常是指业务提供的功能所依赖的接口的监控

Read more »

Spring Tutorial: IoC Container

Posted on 2021-06-10 | In Spring |

什么是IOC?

通俗理解就是 POJO 原本是自己需要然后new出来,现在是IOC 容器则是 你告诉我你需要什么,我们直接给你,让别人为你服务!

现实生活: 1.你出门之前需要穿衣服,之前则是需要自己找对应的衣服,现在则反转成你的妻子把这些衣服找好给你穿上。

Read more »

如何快速玩转swagger

Posted on 2020-11-28 | In java |

Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。

Read more »

网络基本概念

Posted on 2020-11-12 | In network |

本篇文章简单梳理网络通信的基础概念

在学习Java网络编程之前,我们先来了解什么是计算机网络。

计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。

那什么是互联网呢?互联网是网络的网络(internet),即把很多计算机网络连接起来,形成一个全球统一的互联网。

对某个特定的计算机网络来说,它可能使用网络协议ABC,而另一个计算机网络可能使用网络协议XYZ。如果计算机网络各自的通讯协议不统一,就没法把不同的网络连接起来形成互联网。因此,为了把计算机网络接入互联网,就必须使用TCP/IP协议。

TCP/IP协议泛指互联网协议,其中最重要的两个协议是TCP协议和IP协议。只有使用TCP/IP协议的计算机才能够联入互联网,使用其他网络协议(例如NetBIOS、AppleTalk协议等)是无法联入互联网的。

Read more »
123…15
小技术君

小技术君

桃李不言 下自成蹊

142 posts
21 categories
47 tags
RSS
GitHub Email
友情链接
  • Chris Blog
  • VPN
© 2015 — 2022 Chris
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4