• 等级
  • 46218 访问
  • 55 原创
  • 3 转发
  • 64545 排名
  • 21 评论
  • 21 获赞

【SpringBoot2】启动流程源码简析

1.SpringBoot启动类的@SpringBootApplication注解@SpringBootApplication注解是一个组合注解,主要有以下三个:@SpringBootConfiguration:表示一个类提供了SpringBoot的配置。@ComponentScan:定义Spring扫描的包,它默认会扫描标注为SpringBean的类,并实例化这些组件到...

2019-03-30 17:26:07

大三寒假Java实习面经(201812)虎牙/荔枝

1.荔枝FM(offer)笔试30分钟在线笔试题。HashMap和TreeMap的区别。编写一个单例模式例子。描述TCP连接的建立和断开。1000万个字符串去重。一面技术面(50分钟)(根据笔试题来拓展)单例模式的枚举实现tcpip连接的建立与断开,具体状态和报文数据tcp和udp区别为什么说tcp连接可靠滑动窗口,以及作用synchronized、volatil...

2019-01-11 21:35:27

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

本篇将介绍慢查询日志、showprofile、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、orderby、groupby、limit、distinct等。一、Join语句1.7种Join查询select*fromAainnerjoinBbona.key=b.key;select*fromAaleftjoinBbona.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)RepresentationalStatusTransfer,资源表现层状态转移。REST是一种WEBAPI的标准、规范,取代了笨重的SOAP。本文要介绍SpringBoot中的RestTemplate和集成Swagger。一、RestTemplateRestTemplate是Spring封装了HttpClient,并提供了更为强大的对RES...

2018-06-30 11:23:28

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

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

2018-06-24 13:31:59

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

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

2018-06-23 18:00:55

SpringBoot2学习笔记(四)JPA与Mybatis

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

2018-06-19 22:09:01

SpringBoot2学习笔记(三)JSON技术

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

2018-06-18 22:58:43

SpringBoot2学习笔记(二)MVC框架

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

2018-06-18 16:02:53

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

看完了SpringBoot2精髓这本书,打算写一系列SpringBoot的文章做下总结。这本书在网上的评价偏低,其中作者常推销自己的轮子是一方面原因,但我认为它是一本快速入门学习SpringBoot2的好书,对我的帮助蛮大的。一、创建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和DFSBFS全称BreadthFirstSearch,即广度优先搜索。搜索目标时逐层展开遍历,一旦找到目标则终止,过程类似树的层次遍历。DFS全称DepthF...

2018-05-19 16:00:57

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

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

2018-05-17 10:54:37

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

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

2018-05-01 13:00:02

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

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

2018-04-23 21:05:42

HDongHong

https://github.com/hdonghong
关注
  • 中国
奖章
  • 专栏达人
  • 持之以恒