- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 01 | Msyql系统架构
有时候我们会发现MySQL占用内存涨的特别快,这是因为MySQL在执行过程中临时使用的内存是管理在长连接对象中的,这些内存占用在连接断开的时候才会重置。但是在MySQL8之后已经将查询缓存的功能整体移除了,因为这是一种弊大于利的功能,只要对这张表的任何数据有更新操作,那么这张表所涉及的所有查询缓存都会失效。Server层包含链接器、查询缓存、分析器、优化器和执行器,而引擎层负责的是数据的存储和读取,支持InnoDB、Myisam、Memory等多种存储引擎,默认InnoDB。如果输入的密码不对,会收到。
2023-03-19 21:07:25
1902
原创 Spring之event
背景为什么大佬的代码总是那么容易扩展,无论未来产品的需求怎么变化,大佬的代码稍作修改即可满足;为什么我们的代码那么多的if else,每次改动都是刮骨疗伤似的变动。其实我们的代码需要做到的是低耦合、高内聚,每个方法只做一件事,每个类职责独立,今天给大家分享的Spring event就是一种低耦合神器。假设有这么一个需求,当收到用户下单成功的请求之后,需要触发短信服务给用户推送一条下单成功的短信。这看起来很容易实现,你也许会这么设计:@Servicepublic class OrderService
2021-12-12 22:10:52
1218
原创 基于Springboot+vue的博客系统分享
作为互联网行业的一员,经常学习一些前沿技术、阅读经典框架源码是必不可少的。相信很多小伙伴都有这样一个想法,那就是自己做一个属于自己的网站,用上自己掌握的技术、从0到1的敲一个系统出来。我是后端Java工程师,4年经验,工作之余每天写写,做了一个个人博客网站,目前还是半成品,不过可以写博客、看博客,基本功能还是有的,分享给大家,如果大家有想法、也可以一起维护下。博客网站 看到这个是不是有知乎那味了。。。哈哈、平时看知乎多了,设计博客布局时,感觉用知乎这种样式也挺舒服的,就这样设计...
2021-03-07 22:24:19
2218
2
原创 POI生成Excel工具类
POI工具类封装类实现使用封装类实现public class GenerateExcelService<O> { private static final int CELL_WIDTH_DEFAULT = 20; private XSSFWorkbook workbook; /** * 初始化操作 */ public Gene...
2020-01-15 17:39:09
291
原创 最简单的springboot+vue项目骨架搭建
本文介绍了SpringBoot项目最基本功能的搭建,以及Vue项目最基本环境搭建,通过一个login接口实现前后端分离通信
2019-10-08 11:03:22
3877
1
原创 二分查找
二分查找二分查找是一种极致快速的查找方式,时间复杂度仅为:O(log(n))二分查找对数据有很高的要求,包含以下三点:必须为数组结构二分查找其实也可以依赖链表结构,不过如果使用链表接口、那么时间复杂度就会退化到O(n),把整个数据遍历一遍进行查找的效率是一样的、甚至更低,链表不适用于二分查找。数据必须有序二分查找依赖于数据的有序、因为二分法中的数据对比、取决的数据的顺序。如果数据无序...
2019-07-11 14:26:04
278
原创 归并排序与快速排序(java)
归并排序public class MergeSort { public static void main(String[] args) { int[] data = new int[]{6, 5, 4, 3, 2, 1}; mergeSort(data, 0, data.length - 1); System.out.println();...
2019-06-26 13:31:54
223
原创 springboot -- 过滤器、拦截器、切面
过滤器过滤器能够对目标资源的请求和相应进行截取。springboot对过滤器的实现,需要实现 javax.servlet.Filter 接口。可以通过@Component将Filter交给Spring容器处理@Component的形式是对所有资源都进行拦截,不存在URL的正则匹配也可以不实用此注解直接编写Configuration类来实现。Configuration的形式可以配置...
2019-06-20 15:25:52
2823
原创 插入排序(java)过程分析
实现如下 for (int i = 1; i < data.length; i++) { int temp = data[i]; int j = i - 1; for (; j >= 0; j--) { if (data[j] > temp) { ...
2019-06-19 15:41:56
176
原创 hibernate validator
背景我们在编写接口的时候、一定会有校验入参是否合法的需求,比如校验入参是否为空、是否为数字、是否是合法日期格式等等。此类需求如果使用代码去实现也不复杂、不过每个接口都去做重复工作就不是很合理,基于此,hibernate validator提供了一系列的注解,为我们完成这些工作使用方式1、 校验字符串不能为空在对象的属性中,添加@NotEmpty注解public class User ...
2019-05-31 11:47:00
720
原创 冒泡排序(java)过程分析
实现如下(从小到大排序) for (int i = 0; i < data.length; i++) { boolean flag = false; for (int j = i + 1; j < data.length; j++) { if (data[i] > data[j]) {...
2019-05-06 23:47:41
363
原创 阿里巴巴 java开发手册V1.4 整理(备忘)
编码规约抽象类名要以Abstract或Base开头,异常类名要以Exception结尾,测试类名要以被测试类名开头、并且以Test结尾定义数组时、类型与[]要紧挨boolean类型变量、均不能以is为前缀包名统一小写,采用单数、单词定义(包名不能复数、不能多词组合),类名可以复数(MessageUtils)接口中方法和属性不要加任何修饰符号(比如public/default)serv...
2019-04-25 17:22:35
211
原创 RabbitMQ(五):TTL、DLX、延迟队列
TTLTTL:time to live,即过期时间,在RabbitMQ中分为队列的TTL和消息的TTL。设置消息的TTL设置消息的TTL有两种方式,一是针对单条消息、在basic.publish中设置,这样每条消息的TTL可以设置为不同的;二是通过队列属性设置消息的TTL,这样队列中所有的消息都具有相同的TTL。如果两种方式同时使用,则消息会按照两者最短的超时时间为准。消息一旦超过超时时...
2019-03-12 19:20:45
704
原创 RabbitMQ(四):mandatory、immediate、备份交换器
之前所描述的是一些基础的概念和使用方法,比如创建交换器、队列和绑定关系等,但是其中还有许多细节并未描述,一些高级用法并未展现。本节主要针对一些细节进行展开...
2019-02-28 09:08:12
365
原创 RabbitMQ(三):java API
文章目录创建链接定义交换器定义队列队列交换器绑定交换器与交换器绑定发送消息消费消息关闭链接创建链接声明连接工厂,设置host、port、username、password、VirtualHost等信息,VirtualHost默认为&amp;quot;/&amp;quot;,可以不设置ConnectionFactory factory = new ConnectionFactory();// 自己的服务器配置factor...
2019-02-26 09:12:48
3422
原创 RabbitMQ(二):基本概念梳理
文章目录基本概念生产者和消费者队列交换器路由键绑定Rabbit MQ运转流程AMQP协议基本概念RabbitMQ是一个生产者消费者模型,可以将Rabbit MQ比作邮局:生产者投递Message到邮局、Message经过物流系统到达消费者手中。Message到达消费者手中之前,在邮局中暂存,有先后顺序之分。Rabbit MQ中有这么几个重要概念:生产者、交换机、绑定、routing Ke...
2019-02-05 01:09:16
3131
原创 RabbitMQ(一):环境安装(Docker容器化)及第一个程序
Rabbit MQ之一:环境安装、hello world程序消息中间件docker安装RabbitMQ容器部署JavaAPI消息中间件1、消息(message)是指在应用间传送的数据。消息可以非常简单,比如一个文本字符串;也可以很复杂,比如对象。2、消息中间件(Message Queue Middleware,简称MQ),是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通讯...
2019-01-27 17:52:12
3420
原创 java实现排序算法
基本排序算法冒泡排序插入排序选择排序归并排序快速排序桶排序计数排序基数排序冒泡排序思路我们要对4,5,6,3,2,1从小到大进行排序。冒泡排序只会操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,如果第一个数小于第二个数、则此次不移动位置,如果第一个数大于第二个数、则这两个数位置互换,保证大数往后移。一次冒泡会至少让一个元素移动到他应该在的位置,重复n次,就完成了n...
2018-10-31 15:04:16
3014
原创 跟我一起读《Hadoop权威指南》 第四篇 -- 关于Yarn
暂且空着,6月13日之后再做整理。忙忙忙~ 来首诗歌解解乏 青青子衿,悠悠我心。纵我不往,子宁不嗣音? 青青子佩,悠悠我思。纵我不往,子宁不来? 挑兮达兮,在城阙兮。一日不见,如三月兮。翻译翻译 你的衣领啊,我的心。我不去,你就不会打个电话来问问好? 你的腰带啊,我的思念。我不去,你就不来? 我走来走去啊,在这高高的城楼上。一天见不到你,就好像三个月...
2018-05-06 18:08:41
307
原创 跟我一起读《Hadoop权威指南》 第三篇 -- HDFS (Hadoop分布式文件系统)
HDFS概念HDFS(Hadoop Distributed FileSystem)是Hadoop旗舰级别文件系统,用来存储超大文件(从几百MB到几百TB级别数据)、流式数据访问、高延时的以及一次写入多次读取的文件系统。数据块HDFS有数据块(block)的概念,一个块默认大小是128MB,HDFS中的文件会被分为多个块,每个块都是一个独立的存储单元,需要注意的是:当一个文件的...
2018-04-30 14:59:53
3774
原创 跟我一起读《Hadoop权威指南》 第二篇 -- 入门程序,编写MapReduce处理气象数据
气象数据集关于MapReduce MapReduce是一种可用于数据处理的编程模型,它本质上是并行运行的,因此可以将大规模的数据分析任务分发给任何一个拥有足够多机器的数据中心。MapReduce的优势在于处理大规模数据集,这里我们先看一个数据集。我们今天的目的是:在大批量的气象数据中,获取每年每月的最高气温。数据格式 我们使用的数据来自于权威指南提供的美国国家气候数据中心,该数据按行为...
2018-04-27 21:09:36
3971
原创 跟我一起读《Hadoop权威指南》 第一篇 -- Hadoop2.8.3安装
我的配置环境我的是mac环境,centos/ubuntu等环境通用安装首先需要安装jdk1.8、maven3.5.3、protoc(必须是2.5,下载地址:protoc2.5)。这里的maven和protoc是为以后的重新编译Hadoop-src源码做准备,本文暂且使用不到下载完成后,解压到本地目录vi ~/.bash_profile,忽略这里的HADOOP_HOME,下边才会配置...
2018-04-26 23:20:40
4097
hadoop气象数据
2018-04-27
AppFuse入门文档(AppFuse与SpringMVC+mybatis整合)
2016-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人