设计模式——策略模式 发表于 2019-05-21 | 分类于 Java设计模式 | | 热度: ℃ 字数统计: 1.1k | 阅读时长 ≈ 4 应用背景继承一定好用吗? 当我们做到一个项目类似于设计鸭子,鸭子呢有游泳和嘎嘎叫的能力,另外他们都有display显示外貌的方法。现在比如有两个鸭子,绿头鸭和红头鸭。绿头鸭的头是绿色的,可以游泳,叫声是ll声,红头鸭的头是红色的,可以游泳,叫声是rr声。 如果我们要设计这两个鸭子类其实可以直接 ... 阅读全文 »
优先队列和堆 发表于 2019-05-19 | 分类于 数据结构 | | 热度: ℃ 字数统计: 1.9k | 阅读时长 ≈ 8 什么是优先队列 普通队列是先进先出的数据结构,而对于优先队列则是以优先级为准则的,优先级越大的先出队。就比如医院挂急诊的优先级大于普通排队就诊的,比如在游戏中自动打怪设置,当地图中出现级别高的野怪先打级别高的等等。 如果我们实现优先队列使用普通的线性结构,那么当我们入队的时候时间复杂度就是O( ... 阅读全文 »
集合与映射 发表于 2019-05-13 | 分类于 数据结构 | | 热度: ℃ 字数统计: 4.1k | 阅读时长 ≈ 20 什么是集合(Set) 简单来说,集合就是一个不能存放重复元素的数据结构,通常可以运用于客户统计(网站访问人数),词汇量统计等等。 阅读全文 »
SpringBoot整合RabbitMQ以及四种交换模式 发表于 2019-05-09 | 分类于 SpringBoot | | 热度: ℃ 字数统计: 2.4k | 阅读时长 ≈ 9 什么是消息队列 在google的时候发现知乎一个很好的回答,很生动形象。 作者:ScienJus 原文链接 个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息 ... 阅读全文 »
二分搜索树的遍历 发表于 2019-05-06 | 分类于 数据结构 | | 热度: ℃ 字数统计: 1.3k | 阅读时长 ≈ 5 二分搜索树的遍历 其实这里就是二叉树的遍历,只是因为二分搜索树因为是依靠它的特定规则而排列的,所以再经过不同方法遍历之后,它的顺序会有很多特点。 我们是依靠根节点顺序来命名的,记住!是根结点。 前序遍历就是先遍历根结点,然后遍历左结点,最后遍历右结点。 中序遍历就是先遍历左结点,然后遍 ... 阅读全文 »
二分搜索树的增删改查 发表于 2019-05-06 | 分类于 数据结构 | | 热度: ℃ 字数统计: 1.7k | 阅读时长 ≈ 7 什么是二分搜索树 首先我们要先知道二叉树是什么,二叉树其实就是从一个根节点左右两端延伸出左右结点,延伸出的结点再次延伸出结点,然后一直延伸下去,所以树这种数据结构天生满足递归特性。 而二分搜索树就是对二叉树做了一个限制,首先二分搜索树中的元素必须是可比较的(对于Java来说就是必须继承Comp ... 阅读全文 »
Git中.gitignore文件修改后不起作用 发表于 2019-05-05 | 分类于 Git | | 热度: ℃ 字数统计: 246 | 阅读时长 ≈ 1 问题背景 当我使用git上传项目的时候,有些本应该忽略的文件没有被忽略,这时候我修改.gitignore文件再次上传的时候,本该忽略的文件还是在那里 问题原因 这是因为git缓存的原因,如果某些文件已经被纳入版本管理中,就算是在.gitignore文件中声明了忽略文件的路径也是不起作用的,这时候 ... 阅读全文 »
从源文件到可执行文件 发表于 2019-05-05 | 分类于 计算机组成原理 | | 热度: ℃ 字数统计: 1.8k | 阅读时长 ≈ 6 关于本文 这篇文章是我阅读《程序是怎样跑起来的》这本书第八章后写的读后感,也说不上读后感,就是把原文一些东西整理一下,方便日后阅读记忆。学校图书馆真是一个好地方,原本以为没有什么好的图书,后面去借阅几次发现了很多好书,这本书也是我在图书馆中借阅的。 计算机只能运行本地代码 什么是源文件和源代码, ... 阅读全文 »
Mybatis插入字段并返回主键的小问题 发表于 2019-05-04 | 分类于 Mybatis | | 热度: ℃ 字数统计: 536 | 阅读时长 ≈ 2 使用背景 这几天在写秒杀项目,其中有一个需求是生成订单并返回订单号(主键)然后再生成秒杀订单将刚刚返回的订单号作为某个字段插入秒杀订单中,也就是秒杀订单表中的order_id。这其中就使用到了插入信息并返回主键。 我使用的是Mybatis逆向工程生成的Mapper文件,其中自动生成的inser ... 阅读全文 »
SpringBoot整合Redis 发表于 2019-05-03 | 分类于 SpringBoot | | 热度: ℃ 字数统计: 1.3k | 阅读时长 ≈ 5 项目介绍 最近在写一个秒杀的项目,是跟着慕课网的一个教程学习的。其中用到了redis进行session共享等等功能,现如今做到的步骤是使用redis将用户信息存入redis中,并且同时将用户的唯一token值存入cookie中(cookie的有效期和redis键值的有效期一样),当我们用户跳转到某 ... 阅读全文 »