书虫罢了
码龄5年
求更新 关注
提问 私信
  • 博客:51,468
    社区:882
    52,350
    总访问量
  • 36
    原创
  • 45
    粉丝
  • 25
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2020-07-02

个人简介:中南大学智能科学技术系19级

博客简介:

lazyboy2的博客

查看详细资料
个人成就
  • 获得53次点赞
  • 内容获得12次评论
  • 获得215次收藏
  • 代码片获得956次分享
创作历程
  • 10篇
    2022年
  • 21篇
    2021年
  • 6篇
    2020年
成就勋章
TA的专栏
  • 设计模式(Go&Java)
    2篇
  • 图解HTTP 阅读笔记
  • Netty-从基础到搭建IM通讯Server
  • Go 学习笔记
    1篇
  • Go的分布式缓存开发日记

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 0

  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

设计模式:原型模式

原型模式(Prototype),在制造业中通常是指大批量生产开始之前研发出的概念模型,并基于各种参数指标对其进行检验,如果达到了质量要求,即可参照这个原型进行批量生产。原型模式达到以原型实例创建副本实例的目的即可,并不需要知道其原始类,也就是说,原型模式可以用对象创建对象,而不是用类创建对象,以此达到效率的提升
原创
发布博客 2022.09.18 ·
657 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单例模式(Go&Java)

而“static”关键字确保太阳的静态性,将太阳放入内存里的静态区,在类加载的时候就初始化了,它与类同在,也就是说它是与类同时期且早于内存堆中的对象实例化的,该实例在内存中永生,内存垃圾收集器(Garbage Collector,GC)也不会对其进行回收;相比“懒汉模式”,其实在大多数情况下我们通常会更多地使用“饿汉模式”,原因在于这个单例迟早是要被实例化占用内存的,延迟懒加载的意义并不大,加锁解锁反而是一种资源浪费,同步更是会降低CPU的利用率,使用不当的话反而会带来不必要的风险。
原创
发布博客 2022.09.17 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go学习笔记

go学习笔记是本人学习总结的Go学习指南,帮助我个人和大家成为一名优秀的Gopher,本笔记不会局限于Go的基础语法和使用,可能会涉及到计算机的方方面面。
原创
发布博客 2022.09.17 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

消息队列杂谈

原文见:https://mikechen.cc/7319.html消息队列(Message Queue),指保存消息的一个容器,本质是一个队列。消息说指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更加复杂,可能包含嵌入对象。如下图:消息队列的主要特点是异步处理,主要目的是减少请求响应时间,实现非核心流程异步化,提高系统响应性能。举一个用户注册的例子,用户成功注册后,系统需要发送短信注册成功通知,以及赠送注册成功的积分1)同步同步耗时:10ms+100ms+100ms=210ms
原创
发布博客 2022.06.04 ·
266 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL 索引机制

谈到 InnoDB 引擎的时候聊过在 InnoDB 引擎是面向行存储的,数据都是存储在磁盘的数据页中,数据页里面按照固定的行格式存储着每一行数据。InnoDB存储引擎是 B+ 树索引组织的,所以数据即索引,索引即数据。B+ 树的叶子节点存储的都是数据段的数据。InnoDB 引擎对数据的存储必须依赖于主键,主键对应的索引叫做聚集索引。如果不幸的是你建表没有建主键,InnoDB 会从表字段中寻找第一个非空的唯一索引作为聚集索引,如果还是不幸找不到,InnoDB 会生成一个不可见的名为 ROW_ID 的列,该列是
原创
发布博客 2022.06.04 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Binlog 必知

Binlog 的主要作用有两个:Binlog 包括两类文件:Binlog 日志功能默认是开启的,线上情况下 Binlog 日志的增长速度是很快的,在 MySQL 的配置文件 中提供一些参数来对 Binlog 进行设置。需要注意的是:max_binlog_size :Binlog 最大和默认值是 1G,该设置并不能严格控制 Binlog 的大小,尤其是 Binlog 比较靠近最大值而又遇到一个比较大事务时,为了保证事务的完整性不可能做切换日志的动作,只能将该事务的所有 SQL 都记录进当前日志直到事务结束
原创
发布博客 2022.06.04 ·
1580 阅读 ·
0 点赞 ·
1 评论 ·
5 收藏

MySQL架构浅析

我们可以先看看下图MySQL的整体架构图MySQL的逻辑架构大致可以分为三层应用层是MySQL体系架构的最上层,它可其他client-server架构一样,主要包含如下内容:1. 连接处理当一个客户端向服务端发送连接请求后,MySQL server会从线程池中分配一个线程来和客户端进行连接,以后该客户端的请求都会被分配到该线程上。MySQL Server为了提高性能,提供了线程池,减少了创建线程和释放线程所花费的时间。2. 用户鉴权 当客户端向MySQL服务端发起连接请求后,MySQL server会对发起
原创
发布博客 2022.06.04 ·
441 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ES 查询用法

通过ES查询表达式(Query DSL),可以实现复杂的查询功能,ES查询表达式主要由JSON格式编写,可以灵活的组合各种查询语句。还支持一次搜索多个索引按前缀匹配索引名查询结果格式2.query子句query子句主要用来编写类似SQL的Where语句,支持布尔查询(and/or)、IN、全文搜索、模糊匹配、范围查询(大于小于)。aggs子句,主要用来编写统计分析语句,类似SQL的group by语句sort子句,用来设置排序条件,类似SQL的order by语句ES查询的分页主要通过from和s
原创
发布博客 2022.06.04 ·
25760 阅读 ·
28 点赞 ·
4 评论 ·
143 收藏

ES聚合用法

ES中的聚合查询,类似SQL的SUM/AVG/COUNT/GROUP BY分组查询,主要用于统计分析场景。下面先介绍ES聚合查询的核心流程和核心概念。ES聚合查询类似SQL的GROUP by,一般统计分析主要分为两个步骤:对查询的数据首先进行一轮分组,可以设置分组条件,例如:新生入学,把所有的学生按专业分班,这个分班的过程就是对学生进行了分组。组内聚合,就是对组内的数据进行统计,例如:计算总数、求平均值等等,接上面的例子,学生都按专业分班了,那么就可以统计每个班的学生总数, 这个统计每个班学生总数的计算,就
原创
发布博客 2022.06.04 ·
10530 阅读 ·
17 点赞 ·
1 评论 ·
50 收藏

ES底层读写工作原理

面试题es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么,那你真的是…对 es 基本就是个黑盒,你还能干啥?你唯一能干的就是用 es 的 api 读写数据了。要是出点什么问题,你啥都不知道,那还能指望你什么呢?es 最强大的是做全文检索,就是比如你有三条数据:复制你根据 jav
原创
发布博客 2022.06.04 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringMVC基础2

一,响应数据和结果视图1.1返回值为Stringcontroller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。//指定逻辑视图名,经过视图解析器解析为 jsp 物理路径:/WEB-INF/pages/success.jsp@RequestMapping("/testReturnString")public String testReturnString() { System.out.println("AccountController 的 testReturnStri
原创
发布博客 2021.12.01 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java线程

一,创建和运行线程1.1 直接使用Thread创建// 创建线程对象,构造方法的参数是给线程指定名字 Thread t = new Thread("t1"){ @Override// run方法内实现了要执行的任务 public void run() { System.out.println("hello"); } };//
原创
发布博客 2021.11.30 ·
482 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程与线程

一,进程与线程进程1.程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在 指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的2.当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。3.进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)线程1.一个进程之内可以分为一到多个线程。
原创
发布博客 2021.11.29 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringMVC基础

1.三层架构与MVC我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构 包括:表现层、业务层、持久层。1.1 表现层也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求 web 层,web 需要接收 http 请求,完成 http 响应。表现层包括展示层和控制层:控制层负
原创
发布博客 2021.11.29 ·
222 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL锁机制和加锁原理

原文章请参考:https://blog.csdn.net/qq_38238296/article/details/88362999首先对MySQL锁进行划分:**1,按照锁的粒度划分:**行锁、表锁、页锁**2,按照锁的使用方式划分:**共享锁、排它锁(悲观锁的一种实现)**3,还有两种思想上的锁:**悲观锁、乐观锁4,InnoDB中有几种行级锁类型:Record Lock、Gap Lock、Next-key LockRecord Lock:在索引记录上加锁**Gap Lock:**间隙锁
转载
发布博客 2021.11.28 ·
1447 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

数据库事务控制

1.事务的基本介绍 1. 概念: * 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 2. 操作: 1. 开启事务: start transaction; 2. 回滚:rollback; 3. 提交:commit; 2.事务的四大特征原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。持久性:当事务提交或回滚后,数据库会持久化的保存数据。隔离性:多个事务之间。相互独立一致性:事务操作前后,数据总量
原创
发布博客 2021.11.26 ·
1052 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

数据库设计与范式

1.数据库范式1.1 知识准备1.1.1 函数依赖完全函数依赖设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);部分函数依赖设X,Y是关系R的两个属性集合,存在X→Y,若X
原创
发布博客 2021.11.25 ·
521 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring框架

1.Spring简介Spring优点1.非侵入式2.容器在应用加载时,创建一个 Map,用于存放三层对象。 我们把这个 map 称之为容器。3.Ioc:控制反转即将对象创建的权利交给了框架,包括依赖注入和依赖查找原来: 我们在获取对象时,都是采用 new 的方式。是主动的。现在: 我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。是被动的。作用:削减计算机程序的耦合(解除我们代码中的依赖关系)4.依赖注入5.AOP:面向方面的编程面向方面编程,将日志、安全、
原创
发布博客 2021.11.24 ·
365 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Spring Data JPA框架(更新中)

1.了解ORM(Object-Relational Mapping)简介ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。为什么使用ORM当实现一个应用程序时(不使用O/R Ma
原创
发布博客 2021.11.23 ·
1160 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

MySQL多表查询

1.准备工作查询语法select 列名列表 from 表名列表 where....数据准备# 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY A
原创
发布博客 2021.11.23 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多