• 等级
  • 24534 访问
  • 53 原创
  • 3 转发
  • 74377 排名
  • 10 评论
  • 9 获赞

《高性能Mysql》重点总结(五)——慢查询日志、show profile、mysql锁以及主从复制

本篇将介绍慢查询日志、show profile、mysql锁以及主从复制。 一、慢查询日志 1. 是什么 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_qu...

2018-10-16 21:11:34

《高性能Mysql》重点总结(四)——查询优化

本篇将介绍各种查询语句优化,包括join、in\exist、order by、group by、limit、distinct等。 一、Join语句 1. 7种Join查询 select * from A a inner join B b on a.key = b.key; select * from A a left join B b on a.key = b.key; sel...

2018-09-26 16:02:06

大二Java实习面经(201805)

一直以来都打算写这篇文章,只是自从入职以后却又懒下来。拖到最近,实习还有一两个星期就结束,打算写下,顺便总结这三四个月的实习经历。 1. 面试 今年五月底,在实习僧和拉勾上投简历,不敢投大厂,自知自己能力不足,都是选比较心仪的小厂,投了10几个吧,虽然自己基础方面没有准备(juc、jvm、nosql、os、算法这些),不过当时还是过度自信了,自以为自己在学校做过两个项目,各种Java开...

2018-09-08 20:21:36

《高性能Mysql》重点总结(三)——创建高性能的索引

谈到索引,这个词对于多数使用过数据库的人来说都不陌生,若是要你谈谈索引是什么?有什么结构?在mysql有什么分类?覆盖索引是什么?或许有不少人也能答得出来。但笔者接着问,怎么进行索引优化分析?explain主要看哪些字段?索引失效的场景有哪些?如何合理的使用索引?猜测不少人就答不上来了吧,以上问题将分两篇文章详细阐述。 一、mysql架构 要认清mysql的索引,首先需要认识mys...

2018-08-27 20:54:14

《高性能Mysql》重点总结(二)——数据类型的选择

1. 选择优化的数据类型 选择正确的数据类型至关重要,以下是《高性能MYSQL》推荐的几个原则。 更小的通常更好:尽量使用满足需求的最小数据类型。 简单就好:简单的数据类型通常需要更少的CPU周期。例如整型比字符串代价更低,使用时间类型存储日期而不是字符串,使用整型存储IP(MYSQL提供INET_ATON()和INET_NTOA()函数在这两种表示方法之间转换)。 尽量避免NULL:如果...

2018-07-30 17:53:05

《高性能Mysql》重点总结(一)——数据库基础

1. 并发控制 1.1 读写锁 共享锁(读锁S):读锁是共享的,或者说是互不阻塞。多个客户可以同时读取同一数据,而互不干扰。 排他锁(写锁X):写锁是排他的,一个写锁会阻塞(排斥)其他的写锁和读锁,以确保同一时间内只有一个用户才能执行写入。 1.2 锁粒度 加锁需要消耗资源,锁的各种操作,比如获得锁、检查锁是否已经解除、释放锁等,因此需要锁策略。锁策略,是在锁的开销和数据的安全性...

2018-07-29 10:41:20

SpringBoot2学习笔记(七)REST之Swagger

REST,即(Resource) Representational Status Transfer,资源表现层状态转移。REST是一种WEB API的标准、规范,取代了笨重的SOAP。本文要介绍SpringBoot中的RestTemplate和集成Swagger。 一、RestTemplate RestTemplate是Spring封装了HttpClient,并提供了更为强大的对RES...

2018-06-30 11:23:28

SpringBoot2学习笔记(六)单元测试

单元测试对提高代码质量,重构代码都有极大的作用!个人平时也比较注重单元测试的编写,以上是阅读《SpringBoot 2精髓》一书的个人总结。 一、单元测试 首先是介绍下JUnit的相关概念。 概念 说明 Assert 测试条件,当条件不成立时抛出异常。如:Assert.assertSame(message, Expected, Actual)判断Expec...

2018-06-24 13:31:59

SpringBoot2学习笔记(五)项目配置与部署

关于SpringBoot2配置,包括服务器配置、日志配置、配置信息读取以及自动装配。部署方面分jar包部署、war包部署以及多环境部署。 配置文件建议使用Spring官方推荐的yaml文件 一、服务器配置 Spring Boot的Web服务器是tomcat,如果需要换端口有以下三种方式: 配置文件中写入: server.port = port_number 启动时传入命令行参数...

2018-06-23 18:00:55

SpringBoot2学习笔记(四)JPA与Mybatis

访问数据库的方式一般来说有两种,一种以Java Entity为中心,将实体和实体关系对应到数据库的表和表关系,例如Hibernate框架(Spring Data JPA由此实现);另一种以原生SQL为中心,更加灵活便捷,例如Mybatis。 本篇要讲数据源配置,接着重点介绍下Spring Data JPA技术,最后讲下Spring Boot集成Mybatis。 一、配置Sprin...

2018-06-19 22:09:01

SpringBoot2学习笔记(三)JSON技术

Spring Boot内置了jackson来完成JSON的序列化与反序列化操作,Jackson支持三种层次的序列化与反序列化方式。分别是树遍历方式、DataBind方式以及底层的JsonParser方式。 一、ObjectMapper 当使用 @ResponseBody 注解时,我们可以自定义一个ObjectMapper来代替默认的,进行序列化。 示例代码: @Config...

2018-06-18 22:58:43

SpringBoot2学习笔记(二)MVC框架

这次将谈谈SpringBoot中MVC框架的一些特性,包括uri到方法的映射、方法参数、验证框架、WebMvcConfigure、集成Thymeleaf视图、通过错误处理以及业务层事务处理等内容。 一、uri到方法的映射 首先来看一个示例: @RestController public class HelloController { @GetMapping( ...

2018-06-18 16:02:53

SpringBoot2学习笔记(一)SpringBoot基础入门

看完了Spring Boot 2精髓这本书,打算写一系列Spring Boot的文章做下总结。这本书在网上的评价偏低,其中作者常推销自己的轮子是一方面原因,但我认为它是一本快速入门学习Spring Boot 2的好书,对我的帮助蛮大的。 一、创建SpringBoot项目 进入Spring官网:https://start.spring.io/ 使用Initalizr创建也可在idea中直...

2018-06-17 13:16:49

代码洁癖者的福音

无规矩不成方圆,无规范不能协作。阿里近万名Java技术精英的经验总结,铸就了高含金量的《阿里巴巴Java开发手册》,并向业界开放,希望使团队在Java开发上更高效、容错、有协作性,提高代码质量并降低维护成本。 今天想分享的是《阿里巴巴Java开发手册》「传送门」这本书。去年10月阿里巴巴发布规约扫描插件,那天我就开始下载使用了。一直以来都是都项目写的差不多就扫一下,根据提示做些修改,想着...

2018-05-23 19:55:12

「迷宫问题」队列+BFS与栈+DFS分别求解

1 迷宫问题 一个迷宫如图所示,他有一个入口和一个出口,其中白色单元表示通路,黑色单元表示不通路。试寻找一条从入口到出口的路径,每一部只能从一个白色单元走到相邻的白色单元,直至出口。 迷宫问题 2 简介BFS和DFS BFS全称Breadth First Search,即广度优先搜索。搜索目标时逐层展开遍历,一旦找到目标则终止,过程类似树的层次遍历。 DFS全称Depth F...

2018-05-19 16:00:57

微信授权登陆流程(vue+SpringMVC)

这几天微信公众号网页项目前后端对接到最后阶段,差微信授权登录就基本完成,结果卡了几天,总算解决。 对于微信公众平台文档,一定要认真细读,这里就挑重点说下【文档传送门】。 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信息(需scope为 snsapi_...

2018-05-17 10:54:37

Java安全——Spring Boot集成Apache Shiro环境

apache shiro是灵活可用的安全框架,本篇文章的Shiro基本配置代码已传至github,欢迎点击获取,您可以直接在此基础上进行项目的二次开发。 1. 环境准备 首先,先创建springboot项目(这里我的版本号采用的是spring boot2.0),选择引入web、mysql、mybatis的依赖 创建完成后再手动引入shiro、druid连接池、工具包、jsp等的依...

2018-05-01 13:00:02

Java安全——一步步搭建Spring Security环境

首先,先创建springboot项目(这里我的版本号采用的是spring boot2.0),选择引入web和security的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security&l...

2018-04-23 21:05:42

跨域问题——知其然知其所以然

最近做项目前后端分离才第一次遇到跨域问题,作为渣渣,当然是虚心学习网络上一些前辈的经验,以下是自己的总结。哪个地方有错,还望告知,定虚心请教。 文章内容: 跨域原因 解决思路 解决方法 一、跨域原因 现在的web项目基本是前后端分离,前端调用后端接口,如果前后端代码不属于同一个域(同一域名同一端口号),就会产生跨域问题。 常见的跨域问题的报错提示是: Failed to l...

2018-04-18 23:34:10

源码分析之动手实现手写一个自己的SpringMVC框架(三)

题记: 为了解SpringMVC加载过程的细节,最近阅读了其部分源码,并自己手写实现了一个简单的SpringMVC框架,现记录作为总结。 分为三篇博客: • 源码分析之Spring MVC上下文的加载细节(一) • 源码分析之Spring MVC上下文的加载细节(二) • 源码分析之动手实现手写一个自己的SpringMVC框架(三)【本篇】 阅读完这三篇博客,将了解到: • ...

2018-03-12 19:42:33

HDongHong

https://github.com/hdongh ong ...展开 收起
关注
  • 中国
奖章
  • 专栏达人
  • 持之以恒