自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

转载 工作中一些原则体会

尽可能让一切变得简单,用最简单的方式完成工作能用最少的概念,最精简易懂的概念模型来抽象系统,多一个概念就多一份别人了解系统以及维护系统的复杂度,别人也会质疑多一个概念的意义所在,自己如果没想清楚就容易被diss。特别是在类的设计中,会发现其实很多时候用一个类就可以表达要干的单一职责了,每个类职责清晰,类于类之间关系易于理解及维护。设计系统时某些功能只在需要它时构建对于这点深有体会...

2019-09-19 23:04:00 169

转载 IDEA 配置Springboot项目热部署

实现的方式概述注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟)File-Settings-Compiler-Build Project automaticallyspring-boot-devtools在pom中直接引入依赖<dependency>...

2019-09-18 23:20:00 105

转载 一文读懂类加载机制

类记载过程多个java文件经过编译打包生成可运行的jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到jvm。主类在运行过程中如果使用到其他类,会逐步加载这些类。注意,jar包里的类不是一次性全部加载的,是使用时才加载的。从类加载到使用整个过程由如下几步:加载、验证、准备、解析、初始化、使用、卸载加载:在硬盘上查找并通过IO读...

2019-09-16 10:43:00 192

转载 面试必问的MySQL锁与事务隔离级别

之前多篇文章从mysql的底层结构分析、sql语句的分析器以及sql从优化底层分析, 还有工作中常用的sql优化小知识点。面试各大互联网公司必问的mysql锁和事务隔离级别,这篇文章给你打神助攻,一飞冲天。锁定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(如 CPU、RAM、I/O等)的争用以外,数据也是一种需要用户共享的资源。如何保证数...

2019-09-11 22:41:00 128

转载 工作中遇到的99%SQL优化,这里都能给你解决方案(三)

-- 示例表CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(20) NOT NULL DEFAULT '0' COMMENT '年龄', `position` va...

2019-09-10 08:50:00 124

转载 工作中遇到的99%SQL优化,这里都能给你解决方案(二)

-- 示例表CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(20) NOT NULL DEFAULT '0' COMMENT '年龄', `position` va...

2019-09-10 08:46:00 156

转载 MySQL如何选择合适的索引

先来看一个栗子EXPLAIN select * from employees where name > 'a';如果用name索引查找数据需要遍历name字段联合索引树,然后根据遍历出来的主键值去主键索引树里再去查出最终数据,成本比全表扫描还高。可以用覆盖索引优化,这样只需要遍历name字段的联合索引树就可以拿到所有的结果。EXPLAIN select name,ag...

2019-09-06 12:06:00 336

转载 工作中遇到的99%SQL优化,这里都能给你解决方案

前几篇文章介绍了mysql的底层数据结构和mysql优化的神器explain。后台有些朋友说小强只介绍概念,平时使用还是一脸懵,强烈要求小强来一篇实战sql优化,经过周末两天的整理和总结,sql优化实战新鲜出炉, 大家平时学习和工作中,遇到的90% 的sql优化都会介绍到,介意篇幅过长,分成3篇文章哈。CREATE TABLE `employees` ( `id` int(11...

2019-09-03 21:40:00 238

转载 周期性线程池与主要源码解析

之前学习ThreadPool的使用以及源码剖析,并且从面试的角度去介绍知识点的解答。今天小强带来周期性线程池的使用和重点源码剖析。ScheduledThreadPoolExecutorScheduledThreadPoolExecutor:用来处理延时任务或定时任务定时线程池类的类结构图ScheduledThreadPoolExecutor接收ScheduleFutureT...

2019-08-30 07:55:00 90

转载 Mysql关键字Explain 性能优化神器

Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈。在select语句之前增加explaion关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行SQL。Explaion分析示例-- actor建表语句:CREATE TABLE `actor` ( `id` int(11) NOT NULL...

2019-08-24 12:13:00 82

转载 Mysql Explain详解

Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈。在select语句之前增加explaion关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行SQL。Explaion分析示例-- actor建表语句:CREATE TABLE `actor` ( `id` int(11) NOT NULL...

2019-08-24 11:56:00 122

转载 Executor线程池只看这一篇就够了

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。线程实现方式Thread、Runnable、Callable//实现Runnable接口的类将被Thread执行,表示一个基本任务public interface Runnable { //run方法就是它所有内容,就是实际执行的任务 publ...

2019-08-21 07:59:00 111

转载 手撕ThreadPoolExecutor线程池源码

这篇文章对ThreadPoolExecutor创建的线程池如何操作线程的生命周期通过源码的方式进行详细解析。通过对execute方法、addWorker方法、Worker类、runWorker方法、getTask方法、processWorkerExit从源码角度详细阐述,文末有彩蛋。exexcte方法public void execute(Runnable command) {...

2019-08-21 07:56:00 99

转载 深入理解Mysql索引底层数据结构与算法

索引是帮助MySQL高效获取数据的排好序的数据结构索引数据结构对比二叉树左边子节点的数据小于父节点数据,右边子节点的数据大于父节点数据。如果col2是索引,查找索引为89的行元素,那么只需要查找两次,就可以获取到行元素所在的磁盘指针地址。如果col1是索引,查找索引为6的行元素,那么需要查找六次,就可以获取到行元素所在的磁盘指针地址,即得到了该索引为6的行元素。因此二叉树...

2019-08-20 23:09:00 82

空空如也

空空如也

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

TA关注的人

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