自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YETA的博客

YETA666

  • 博客(68)
  • 问答 (2)
  • 收藏
  • 关注

原创 Go-语言陷阱

本文内容基于《Go语言核心编程》,李文塔著。1. 语言陷阱1.1 多值赋值和短变量声明1.1.1 多值赋值1.1.2 短变量的声明和赋值1.2 range复用临时变量1.3 defer陷阱1.4 切片困惑1.5习惯用法1.5.1 干净与强迫症1.5.2 comma, ok表达式1.5.3 简写模式1.5.4 包中的函数或方法设计1.5.5 多值返回函数1. 语言陷阱1.1 多值赋值和短变量声明1.1.1 多值赋值可以一次性声明多个变量,并.

2020-08-08 22:54:08 834

原创 Go-接口

本文内容基于《Go语言核心编程》,李文塔著。1 接口1.1 基本概念1.1.1 接口声明1.1.2接口初始化1.1.3 接口方法调用1.1.4 接口的动态类型和静态类型1.2 接口运算1.2.1 类型断言1.2.2 类型查询1.2.3 接口优点和使用形式1 接口1.1 基本概念1.1.1 接口声明Go语言的接口分为接口字面量类型和接口命名类型,接口的声明使用interface关键字,接口命名类型使用type关键字声明:// 接口字面量类型in.

2020-08-08 16:00:15 413

原创 Go-类型系统

本文内容基于《Go语言核心编程》,李文塔著。1 类型系统1.1 类型简介1.1.1 命名类型和未命名类型1.1.2 底层类型1.1.3 类型相同1.1.4 类型强制转换1.2 类型方法1.2.1 自定义类型1.2.2 方法1.3 方法调用1.3.1 一般调用1.3.2 方法值1.3.3 方法表达式1.3.4 方法集1.3.5 值调用和表达式调用的方法集1.4 组合1.5 函数类型1.5.1 函数类型1.5.2 函数签名1.5.3

2020-08-02 20:48:41 508

原创 Go-函数

本文内容基于《Go语言核心编程》,李文塔著。1 函数1.1 基本概念1.1.1 函数定义函数的特点:函数可以没有输入参数,也可以没有返回值(默认返回0); 多个相邻的相同类型的参数可以使用简写模式;func add(a, b int) {}支持有名的返回值,参数名就相当于函数体内最外层的局部变量,命名返回值变量会被初始化为类型零值,最后的return可以不带参数名直接返回;func add(a, b int) (sum int) { sum = a + b .

2020-08-01 17:06:53 244

原创 Go-基础知识

本文内容基于《Go语言核心编程》,李文塔著。1 基础知识1.1 语言简介1.1.1 Go语言的诞生背景当前编程语言对兵法的支持不是很好,不能很好地发挥多核CPU的威力; 程序规模越来越大,编译速度越来越慢; 现有的编程语言设计越来越复杂,某些特性的实现不怎么优雅。1.1.2 Go语言的特性特性集合 特性项 Go C Java 基础语法 关键字和保留字 25个 ANSI 32个 大于48个 控制结构 支持顺序、循环、分支

2020-07-25 22:07:59 208

原创 Go-工程管理

本文内容基于《Go语言核心编程》,李文塔著。1 编程环境1.1 环境搭建下载地址:https://golang.google.cn/dl/,下面以Windows环境为例 默认安装路径是C:\Go\,我这里修改为F:\Go\查看版本:C:\Users\Administrator>go versiongo version go1.14.4 windows/amd641.2 工程结构环境变量 $GOROOT:安装目录,默认是C:\Go\,由于我安装时修改为F:\Go\,所

2020-07-11 21:24:23 204

原创 某些特定场景的多线程安全问题分析

场景1:一个方法中先查询表中最新的一条数据,然后根据这条数据的值新增另一条数据:public Test1PO testTransactional3() { Test1PO po = test1Mapper.getLast(); po.setValue(po.getValue() + "b"); test1Mapper.add(po); return po;...

2020-07-11 14:12:53 146

原创 数据库设计流程

1.实体2.属性3.码4.实体型5.实体集6.联系

2020-05-16 14:37:51 5923

原创 Spring Boot整合RabbitMQ问题分析

在《Spring Cloud及微服务(八):消息总线Spring Cloud Bus》一文中简单的介绍了Spring Boot整合RabbitMQ,现分别搭建消息生产者和消息消费者应用,分析其中的一些问题。1.依赖<dependency> <groupId>org.springframework.boot</groupId> &lt...

2019-12-13 15:35:41 407

原创 关于数据库设计的一些思考

1(被动):1(主动)关系 1:n关系 n(被动):n(主动)关系 示例 会员卡号:客户 客户级别:客户 功能:角色 分析 存在主被动关系,比如一般是为客户设置会员卡号,而不是把会员卡号分配给客...

2019-11-29 16:12:31 148

原创 MySQL极速插入数据

public class Main{ private static final String USER = "root"; private static final String PASSWORD = "root"; private static final String URL = "jdbc:mysql://localhost:3306/test"; pri...

2019-10-31 19:54:10 216

原创 Redis基础及深入研究

本篇文章内容基于《Spring 5企业级开发实战》。1.背景2. Redis单节点安装3. Redis持久化策略3.1 Redis RDB持久化3.2 Redis AOF持久化4. 主从复制模式4.1 一主一从拓扑结构4.2一主多从拓扑结构4.3树形拓扑结构4.4主从架构的缺点5.哨兵模式5.1哨兵模式简介5.1.1哨兵模式中的定时...

2019-10-08 21:48:24 306

原创 论浮点数的存储和计算为什么总会产生微小的误差

本文内容基于《码出高效:Java开发手册》。1.背景使用浮点数存储和计算的场景无处不在,若使用不当则容易造成计算值与理论值不一致:浮点数是以科学计数法来表示的,原因是科学计数法可以唯一地表示任何一个数,且所占用的存储空间会更少,计算机就是利用这一特性表示极大或极小的数值。2.浮点数表示浮点数表示就是如何用二进制数表示符号、指数和有效数字。以IEEE754标准中的单精度浮...

2019-10-03 18:42:38 1400

原创 Spring中的WebFlux和WebClient

本篇文章内容基于《Spring 5企业级开发实战》。1. WebFlux1.1传统的编程模型1.2响应式编程模式1.3 Reactor1.3.1Flux与Mono1.3.2 subscribe()方法1.3.3操作符1.3.4线程模型1.4 Spring WebFlux1.4.1基于注解的WebFlux开发方式1.4.2基于函数式的WebF...

2019-09-25 17:07:47 6587 7

原创 记《剑指Offer》

本文内容基于《剑指Offer名企面试官精讲典型编程题》。1数组中重复的数字1.1不修改数组找出重复的数字(二分查找)2二维数组中的查找3 替换空格3.1合并有序数组(从右到左的思想)4 从尾到头打印链表5 重建二叉树6 二叉树的下一个节点7 用两个栈实现队列7.1用两个队列实现栈8斐波那契数列8.1青蛙跳台阶8.2矩形覆盖9 ...

2019-09-17 20:55:44 444

原创 高性能MySQL之EXPLAIN(六)

本文内容来自《高性能MySQL》。在SELECT之前增加EXPLAIN之后,MySQL会在查询上设置一个标记。当执行查询时,这个标记会使其返回关于在执行计划中每一步的信息,而不是执行它。它会返回一行或多行信息,显示出执行计划中的每一部分和执行的次序。1.id这一列总是包含一个编号,标识SELECT所属的行。如果在语句中没有子查询或联合,那么只会有唯一的SELECT,于是每一行在这个列...

2019-08-19 15:00:49 132

原创 计算机网络知识回顾

本文内容来自《计算机网络》第6版。0.计算机网络体系结构1.物理层2.数据链路层3.网络层4.传输层4.1 UDP4.1.1 UDP的特点4.2 TCP4.2.1 TCP的特点4.2.2TCP三次握手4.2.3TCP四次挥手5.应用层5.1 DNS5.1.1 为什么机器在处理IP数据报时要使用IP地址而不是域名?5.1.2...

2019-07-18 18:22:25 694

原创 Spring中AOP的基本概念和实现原理

本篇文章内容基于《Spring 5企业级开发实战》。1.动态代理1.1 JDK动态代理1.2 CGLIB动态代理2. AOP概述2.1 AOP基本概念2.2 Spring AOP的相关概念3. Spring AOP实现3.1基于JDK动态代理实现3.2基于CGLIB动态代理实现4.基于Spring AOP的实战4.1增强类型4.2切入点类...

2019-07-17 18:50:32 345

原创 Spring中的IoC的基本概念及实现原理

本篇文章内容基于《Spring 5企业级开发实战》。1. IoC的概念1.1依赖倒置原则1.2依赖注入2. Spring IoC的实现方式2.1 XML方式2.2注解方式3. Spring IoC实现原理解析3.1 BeanFactory代码解析3.2 ApplicationContext代码解析3.3 BeanDefinition代码解析3.4 ...

2019-07-16 19:47:31 835

原创 Java程序员面试笔试宝典-数据结构与算法(四)

1. 链表1.1 如何实现单链表的增删操作?1.2 如何从链表中删除重复元素?1.3 如何找出单链表中的倒数第k个元素?1.4 如何实现链表的反转?1.5 如何从尾到头输出单链表?1.6 如何寻找单链表的中间节点?1.7 如何检测一个链表是否有环?1.8 如何在不知道头指针的情况下删除指定节点?1.9 如何判断两个链表是否相交?2. 栈与队列2.1...

2019-07-04 20:18:40 1183

原创 漫画算法-小灰的算法之旅-算法的实际应用(六)

1. Bitmap的巧用1.1 查询1.2 去重1.3 Bitmap的代码实现2. LRU算法的应用2.1 实例问题2.2 代码实现3. A星寻路算法4. 红包算法4.1 二倍均值法4.2 线段切割法1. Bitmap的巧用Bitmap算法,又叫做位图算法,这里所说的位图并不是像素图片的位图,而是内存中连续的二进制位所组成的数据结构,该算法主要...

2019-06-27 16:28:43 1498

原创 漫画算法-小灰的算法之旅-面试中的算法(五)

1. 如何判断链表有环?1.1双重遍历1.2哈希表1.3追及问题1.4如果链表有环,如何求出环的长度?1.5如果链表有环,如何求出入环节点?2.最小栈的实现?3.如何求出最大公约数?3.1暴力枚举法3.2辗转相除法3.3更相减损术3.4基于移位的更相减损术4.如何判断一个数是否为2的整数次幂?4.1枚举4.2...

2019-06-25 16:23:03 1662

原创 漫画算法-小灰的算法之旅-排序算法(四)

1. 分类1.1时间复杂度为O(n^2)的排序算法1.2时间复杂度为O(nlogn)的排序算法1.3时间复杂度为线性的排序算法1.4稳定性1.5本文中涉及的排序总结2.冒泡排序2.1思想2.2代码实现2.3代码优化12.4代码优化22.5代码优化33.快速排序3.1思想3.2基准元素的选择3.3单边循环...

2019-06-17 20:57:17 2899

原创 漫画算法-小灰的算法之旅-树(三)

1.树2.二叉树2.1 满二叉树2.2 完全二叉树3.二叉树的应用3.1查找3.2维持相对顺序(插入)4.二叉树的遍历5.二叉堆6.优先队列1.树树是n个节点的有限集。当n=0时,称为空树。在任意一个非空树中,有如下特点:有且仅有一个特定的称为根的节点; 当n>1时,其余节点可分为m个互不相交的有限集,每一个集合本身又...

2019-06-13 16:50:58 2750

原创 漫画算法-小灰的算法之旅-数据结构基础(二)

1.逻辑结构和物理结构2.数组 VS链表3.栈4. 队列5.散列表1.逻辑结构和物理结构逻辑结构: 线性结构: 顺序表、栈、队列 非线性结构: 树、图 物理结构: 顺序存储结构: 数组 链式存储结构: 链表 2.数组 VS链表相关操作的性能: 查找 更新 插入 ...

2019-06-10 20:16:14 2065

原创 漫画算法-小灰的算法之旅-算法概述(一)

1.1什么是算法1.2什么是数据结构1.3时间复杂度1.4空间复杂度1.1什么是算法本文中的算法指的是计算机科学领域的算法,它的本质是一系列程序指令,用于解决特定的运算和逻辑问题。1.2什么是数据结构数据结构是算法的基石,是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据。1.3时间复杂度程序中最常见的4种执行方式:代码的基本操...

2019-06-10 17:13:32 4921

原创 Java程序员面试笔试宝典-数据库原理(三)

1. SQL语言的功能有哪些?2.内连接与外连接有什么区别?3.什么是事务?4.什么是存储过程?它与函数有什么区别与联系?5.各种范式有什么作用?6.什么是触发器?7.如果数据库日志满了,会出现什么情况?8. union和union all有什么区别?9.什么是视图?1. SQL语言的功能有哪些?SQL是结构化查询语言,其功能包括:数...

2019-06-03 16:02:00 284

原创 Java程序员面试笔试宝典-Java Web(二)

1. Servlet与JSP1.1页面请求的工作流程是怎样的?1.2 HTTP中GET与POST方法有什么区别?1.3什么是Servlet?1.4 Servlet的生命周期?1.5 JSP有哪些优点?1.6如何使用JSP与Servlet实现MVC模型?1.7 Servlet中forward与redirect有什么区别?1.8 JSP的内置对象有哪些?...

2019-05-30 18:45:23 467

原创 Java程序员面试笔试宝典-Java基础知识(一)

1. 基本概念1.1 Java语言有哪些优点?1.2 Java与C++有什么异同?1.3 为什么需要public static void main(String[] args)这个方法?1.4 如何实现在main方法执行前输出“Hello World”?1.5 Java程序初始化的顺序是怎样的?1.6Java中的作用域有哪些?1.7 一个Java文件中是否可以定...

2019-05-21 15:01:42 5216 10

原创 数据结构与算法分析之排序-Java语言描述(六)

内部排序:整个排序工作能够在主存中完成; 外部排序:不能在主存中完成而必须在磁盘或磁带上完成的排序。排序方法 时间复杂度(最好) 时间复杂度(平均) 时间复杂度(最坏) 空间复杂度 稳定性 插入排序 O(n) O(n^2) O(n^2) O(1) 稳定 希尔排序 O(n) O(nlogn) O(n^2) ...

2019-05-13 19:36:51 257

原创 数据结构与算法分析之优先队列(堆)-Java语言描述(五)

参考以下场景:若在打印机有空时正好有多个单页的作业及一项100页的作业等待打印,则更合理的做法也许是最后处理长的作业,尽管它不是最后提交上来的。 在多用户环境中,操作系统调度程序必须决定在若干进程中运行哪个进程,一般来说,短的作业要尽可能快地结束,应该拥有优先权。这些特殊的应用需要一类特殊的队列,称之为优先队列。1.模型优先队列是允许至少两种操作的数据结构:insert以及del...

2019-05-13 15:57:51 250

原创 数据结构与算法分析之散列-Java语言描述(四)

散列表的实现叫做散列。散列是一种用于以常数平均时间执行插入、删除和查找的技术。1.一般想法理想的散列表数据结构只不过是一个包含一些项的具有固定大小的数组。通常查找是对项的某个部分进行的,这部分叫做关键字。每个关键字被映射到从0到TableSize - 1这个范围中的某个数,并且被放到适当的单元中,这个映射叫做散列函数,理想情况下它应该计算起来简单,并且应该保证任何两个不同的关键字映射...

2019-05-09 19:15:11 507

原创 数据结构与算法分析之树-Java语言描述(三)

1.预备知识1.1树的实现1.2树的遍历及应用2.二叉树2.1实现2.2例子:表达式树3.查找树ADT-二叉查找树4.标准库中的集合与映射4.1 Set接口4.2 Map接口4.3 TreeSet类和TreeMap类的实现1.预备知识树可以用几种方式定义。定义树的一种自然的方式是递归。一棵树是一些节点的集合。这个集合可以是空集...

2019-05-09 15:26:15 260

原创 数据结构与算法分析之表、栈和队列-Java语言描述(二)

1.抽象数据类型抽象数据类型(ADT)是带有一组操作的一些对象的集合,诸如表、集合、图以及它们各自的操作一起形成的这些对象都可以被看作是抽象数据类型。Java类也考虑到ADT的实现,不过适当地隐藏了实现的细节。这样,程序中需要对ADT实施操作的任何其他部分可以通过调用适当的方法来进行。2.表ADT2.1表的简单数组实现对表的所有这些操作都可以通过使用数组来实现,数组的实现...

2019-05-07 19:07:51 214

原创 数据结构与算法分析之泛型-Java语言描述(一)

1. 实现泛型构件 pre-Java 5面向对象的一个重要目标是对代码重用的支持,支持这个目标的一个重要的机制就是泛型机制:如果除去对象的基本类型外,实现方法是相同的,那么就可以用泛型实现来描述这种基本的功能。Java 5以前,Java不直接支持泛型实现,泛型编程的实现是通过使用继承的一些基本概念来完成的。1.1使用Object表示泛型Java中的基本思想就是可以通过使用像Obj...

2019-05-07 15:35:06 154

原创 高性能MySQL之复制(五)

本文内容基于《高性能MySQL》。1.概述1.1复制解决的问题1.1.1数据分布1.1.2负载均衡1.1.3备份1.1.4高可用性和故障切换1.1.5 MySQL升级测试1.2复制如何工作 2.配置复制2.1创建复制账号2.2配置主库和备库2.3启动复制2.4从另一个服务器开始复制2.4.1使用冷备份2....

2019-04-25 17:48:49 416

原创 高性能MySQL之查询性能优化(四)

高性能:库表结构优化、索引优化、查询优化。1.为什么查询速度会慢如果要优化查询,实际上要优化其子任务,要么消除其中一部分子任务,要么减少子任务的执行次数,要么让子任务运行得更快。通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。在完成这些任务的时候,查询需要在不同的地方花费时间,包括网络、CPU计算、...

2019-04-22 16:24:05 189

原创 牛客-数据库专项练习

本篇博客用于记录在牛客网做的数据库专项练习中的错题或重要的题。1.【注】关系模型的数据结构是二维表结构,即表格;层次模型的数据结构是层次结构,即树;网状模型的数据结构是网状结构,即图。2.3.4.5.6....

2019-04-18 14:36:31 323

原创 高性能MySQL之创建高性能的索引(三)

索引(MySQL中也叫做“键”)是存储引擎用于快速找到记录的一种数据结构。1.索引基础在MySQL中,存储引擎首先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行,例如:SELECT id, age FROM user WHERE age = 10;如果在age列上建立索引,那么MySQL将使用该索引找到age=10的行,即MySQL先在索引上按值进行查找,然后返回所...

2019-04-17 15:33:15 154

原创 高性能MySQL之Schema与数据类型优化(二)

1.选择优化的数据类型1.1 原则1.2整数类型1.3实数类型1.4字符串类型1.5日期和时间类型1.6位数据类型1.7选择标识符1.8特殊类型数据2. MySQLschema设计中的陷阱3.范式和反范式3.1范式的优点和缺点3.2反范式的优点和缺点3.3混用范式化和反范式化4.缓存表和汇总表5.加快A...

2019-04-15 16:18:48 168

空空如也

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

TA关注的人

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