- 博客(10)
- 收藏
- 关注
原创 MySQL索引优化
1、最好能做到全值匹配,即查询条件中包含的字段和字段顺序与建立的复合索引完全一致——全值匹配我最爱;2、最左前缀匹配法则,一个复合索引要想生效,查询条件中必须要包含复合索引最左边的列,并且一旦中间断掉,比如复合索引(name,age,address),查询时使用name和address,因为age断掉了,那么address的查询将用不到索引——带头大哥不能少,中间兄弟莫断掉;3、不在索引列上做...
2019-08-11 19:34:34
554
原创 Linux常用命令
1、top查看整机的系统性能。例如,查看CPU和内存占用率,查看负载“load average”。uptime命令是top命令的精简版。2、vmstat查看CPU用户线程和内核进程的占用百分比,查看内存空闲量和缓存量。3、mpstat查看CPU额外的所有信息4、pidstat查看某一进程的CPU使用情况。命令格式:pidstat -参数 采样间隔 -p 进程编号5、free...
2019-07-09 21:57:15
160
原创 Java虚拟机总结
1、JVM如何判断哪些对象是需要回收的?判断对象是否存活的算法有引用计数算法和可达性分析算法两种,由于引用计数算法很难解决对象之间相互循环引用的问题,所以JVM采用的是可达性分析算法。可达性分析算法:从GC Roots出发向下搜索,所走过的路径称为引用链,当没有任何一条引用链经过该对象时,则证明该对象不可用,应该被回收。可以作为GC Roots的对象包括下面几种:(1)虚...
2019-07-09 21:09:02
105
原创 JAVA并发编程总结
1、Volatile是什么?Volatile是java虚拟机提供的轻量级的同步机制。Volatile具有三大特性:保证可见性、不保证原子性、禁止指令重排序。(1)保证可见性Java内存模型(JMM)中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值等)必须在线程的工作内存中进行,首先要将变量从主内存拷贝到自己的工作内存空间,然后对...
2019-07-07 20:20:01
110
原创 SpringCloud总结
1、什么是微服务?微服务的核心就是将传统的一站式应用,根据业务拆分成一个一个独立的服务,彻底地去耦合,每个微服务提供单个业务功能的服务,相当于一种小而独立的处理过程,类似于进程的概念,能够单独启动或销毁。2、SpringCloud和SpringBoot的关系SpringBoot专注于快速方便地开发单个个体微服务。(微观角度)SpringCloud是关注全局的微服务协调整理治理框架,它...
2019-07-03 23:14:52
111
转载 TCP连接的建立与释放过程
TCP连接的建立(三次握手)为什么TCP客户端最后还要发送一次确认呢?(两次握手不可以吗?)一句话,主要防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误。如果使用的是两次握手建立连接,假设有这样一种场景,客户端发送了第一个请求连接并且没有丢失,只是因为在网络结点中滞留的时间太长了,由于TCP的客户端迟迟没有收到确认报文,以为服务器没有收到,此时重新向服务器发送这条报文,此后客...
2019-07-01 22:57:02
726
原创 HTTP协议总结
1、请求报文 Request请求报文包括四个部分:请求行、请求头、请求空行、请求体(1)请求行 格式: 请求方法 请求URL 请求协议/版本 (中间用空格隔开) 例如: GET /index.html HTTP/1.1 其中请求方法包括:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、C...
2019-07-01 21:46:05
218
原创 Spring源码【3】:事务的实现原理
声明式事务环境搭建:1、导入相关依赖 数据源、数据库驱动、Spring-jdbc模块 <dependency> <groupId>c3p0</groupId> <artifactId>...
2019-06-30 10:59:20
163
原创 Spring源码【2】:AOP的实现原理
/**AOP:【动态代理】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式;1、导入aop模块;Spring AOP:(spring-aspects)2、定义一个业务逻辑类(MathCalculator);在业务逻辑运行的时候将日志进行打印(方法之前、方法运行结束、方法出现异常,xxx)3、定义一个日志切面类(LogAspects):切面类里面的方法需...
2019-06-30 10:38:30
92
原创 Spring源码【1】:IOC容器的创建过程
当我们创建一个IOC容器【ApplicationContext】的时候,比如创建一个AnnotationConfigApplicationContext:跟踪源码可以发现,这个方法会调用对应ApplicationContext的构造方法, 而构造方法中有最重要的一步操作refresh();**所以主要来分析refresh()方法:**Spring容器的refresh()【创建刷新...
2019-06-29 23:34:00
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人