MySQL|explain 执行计划

为了知道 SQL 的效率执行的怎么样,经常使用 explain 查看 SQL 的具体执行过程,以加快 SQL 的执行效率。

explain 语句官方说明文档:https://dev.mysql.com/doc/refman/8.0/en/explain-output.html

数据库版本 MySQL 8.0

Spring|IOC、AOP总结

Spring 两个核心就是 IOC(Invest of Control)容器和面向切面编程 AOP。

IOC 是 spring 的 bean 容器,IOC 帮我们项目管理的 bean 的创建和依赖管理,在使用的时候我们只需要使用 xml 或注解指明依赖的对象,剩下的 IOC 会帮我管理。IOC 实现的核心是依赖注入,在初始化 bean 时往往一个对象依赖另一个对象,spring 帮我自动创建依赖对象并把它注入到对象中。IOC 中的对象可以是单例或多例的,但多数是单例的,例如@Service 和@Controller 注解就是单例的对象。通过在 IOC 提前创建好对象,提高了程序的运行速度。

Spring 的另一个核心是 AOP 切面编程,在程序的开发过程中,难免会有大量重复的代码,例如事务的开启和关闭,打印日志等,我们可以把重复的代码提取出来,利用 AOP 技术复用这些代码,这些操作通常在方法执行前可以执行或执行后可以执行。AOP 实现是基于就动态代理的设计思想来实现的,基于 JDK Proxy 或 cglib,选择的依据是对象(代理的方法)是否是实现接口的,对象实现了接口就用 JDK 动态代理,否则就是用 cglib 通过继承的方式实现代理。

深入理解 HTTP 协议

这篇文章是对学习 HTTP 协议的一个总结,之前花了一个多小时把《图解 HTTP》看了一遍,最近抽空有看了看,书上的知识有些陈旧,而且只适合入门,于是又在网上浏览了 HTTP 协议标准文档,看完之后觉得之前记忆的又被打散了,还是总结一下吧。最近时间比较紧,这篇文章会在站在协议高层总结一下不会涉及那么多细节,对于学习先掌握整体比较好,细节真正用到的时候再研究也不晚。

Hadoop 学习总结

Hadoop 学习总结。

Linux|磁盘挂载卸载

磁盘挂载

以下是简单在一个目录挂载一个磁盘。

 1# 找打挂在磁盘
 2ls -l /dev/sd*
 3
 4# 对新挂在的磁盘sdb进行格式化(磁盘使用前必须经过格式化)
 5mkfs.xfs /dev/sdb
 6
 7# 查看可挂载的磁盘
 8blkid
 9
10/dev/sda1: UUID="308c9c6c-857f-4f06-add9-f9447eb4ff50" TYPE="xfs"
11/dev/sda2: UUID="92c11117-e904-4242-8f4b-54e00fda30ad" TYPE="swap"
12/dev/sda3: UUID="72c4a65c-6f6c-4983-8383-2a94419561bb" TYPE="xfs"
13/dev/sdb: UUID="cdc8e7be-f7b1-423f-bacd-aa2b5a4b5013" TYPE="xfs"
14
15# 在fstab中添加新磁盘,此处挂载到/data目录下
16vim /etc/fstab
17
18# fstab添加的内容,UUID是blkid输出中挂载磁盘的,/data是挂载目录
19UUID=cdc8e7be-f7b1-423f-bacd-aa2b5a4b5013    /data      xfs  default   0  0
20
21# 挂载fstab中所有的磁盘
22mount -a
23
24# 查看挂载
25df -h

Linux 网络时钟同步教程

Linux 网络时钟同步教程。

Linux|服务器SSH相互认证方案

为了使服务器之间的通信更加便捷,例如通过脚本开控制另一台服务器做一些事情或免密码登陆等,都需要使相互通信等服务器之间进行认证,已达到便捷操作等目的。

实现方式,在一台 Linux 服务器中生成一对 SSH 公私钥,保证所有 Linux 节点都持有相同的一对密钥,这样就保证了认证方式相同。

数据库系统介绍

之前使用数据库已经有段时间了,最先接触的是 MySQL,当时写了个管理系统,使我养成了对编程的兴趣,在当时更侧重于实践,也就是把 MySQL 用好,现在想了下当时也可能没有用好,因为 MySQL 有很多优化的理论和哲学当时没有接触到。最近准备深入学习了一下,这篇文章是这个系列的第一篇,先简单聊下数据库。

Nginx 负载均衡学习实践

Nginx 是一个高性能的静态资源、反向代理服务器,现在越来越多的互联网公司使用 Nginx 托管网站,还有一个出名的静态资源服务——Apache,在 Nginx 没有出现之前 Apache 用的人很多,之后后者功能及性能更加优秀就被越来越多的人选择了。

Java|线程池学习总结

image

一、常用接口及实现类

1. Executor、ExecutorService

Executor 里定义了一个 execute 方法,这个方法接受一个实现 Runnable 的对象。

1public interface Executor {
2    void execute(Runnable command);
3}

ExecutorService 是继承 Excutor 的一个接口,它定义了 Executor 框架常用的方法,如提交任务、线程池关闭、判断线程池的状态等方法。