Tomcat 上的项目参数传递问题

2019-04-10
阅读 2 分钟
3.5k
1. 修改 Tomcat 中的 catalina.sh 文件 部署在 Tomcat 上面的 Spring Boot 项目,在某些情况下,我们可能会修改配置文件中的参数,这样应该怎么做呢? 传统的方式是直接在本地修改,然后打包部署,但是这种方式太麻烦了,要是我只是修改了很小的一个参数,都要重新打包,得不偿失。 于是稍微研究了一下,找到了两种方式...

动态控制 Spring Boot 中的 @Scheduled 定时任务

2019-04-09
阅读 2 分钟
28.1k
Spring Boot 中的 @Scheduled 注解为定时任务提供了一种很简单的实现,只需要在注解中加上一些属性,例如 fixedRate、fixedDelay、cron(最常用)等等,并且在启动类上面加上 @EnableScheduling 注解,就可以启动一个定时任务了。

Elasticsearch 学习笔记——2.es 的简单命令操作

2019-04-07
阅读 3 分钟
5.3k
首先,我们需要一些数据来支持我们的操作,这里我采用的是使用 filebeat 来采集数据到 es ,filebeat 也是 elastic 系列的产品,专门用来收集日志文件,使用十分的简单,在官网(下载地址)下载安装包解压,然后修改一下配置文件 filebeat.yml,具体的修改如下:

浅谈 Spring Boot 中的 @Conditional 注解

2019-04-06
阅读 3 分钟
11k
Spring boot 中的 @Conditional 注解是一个不太常用到的注解,但确实非常的有用,我们知道 Spring Boot 是根据配置文件中的内容,决定是否创建 bean,以及如何创建 bean 到 Spring 容器中,而 Spring boot 自动化配置的核心控制,就是 @Conditional 注解。

Elasticsearch 学习笔记——1.在 Linux 上安装 elasticsearch

2019-04-05
阅读 2 分钟
1.1k
一个偶然的机会,leader 让我看看关于 es 的内容,之前我还未接触过,打开官网一看,发现关于 ealstic 的组件还真是不少,当然 ealsticsearch 应该是其中最流行、最有用和最受欢迎的了,截止到今天(2019.04.05),elasticsearch 在 Github 上面已经有 39k+ star 了。所以,最近在学习它,并且也想写一点学习笔记,分享...

数据结构与算法——图

2019-04-05
阅读 2 分钟
1.1k
1. 什么是图? 前面说完了树这种数据结构,接下来在看看一种更加复杂的非线性数据结构——图。 先看看下面图这种数据结构的图片演示吧: 像上图这样的数据结构就叫做图了,图中的每个节点叫做 顶点 ,各个顶点之间的连接关系叫做 边 ,每个顶点有多少条边,叫做这个顶点的 度 。其实图这种数据结构比较适合用来存储我们常...

懂得感恩的人,运气都不会太差

2019-04-04
阅读 1 分钟
1.6k
一直以来,我自认为还算是一个喜欢去帮助别人的人,并且也不求得什么回报,纯粹是自己的意愿而已。以前总是喜欢捣鼓电脑,恰巧班上的同学又都是女生居多,要是他们的电脑遇到了什么问题,找到了我,我还是非常愿意帮忙的。并且事情也不算复杂,大多是给电脑装个系统,装个软件啥的,在稍微专业的同学看来,这还需要人帮...

数据结构与算法——堆的应用

2019-04-04
阅读 4 分钟
1.1k
1. 概述 前面说完了堆这种数据结构,并且讲到了它很经典的一个应用:堆排序,其实堆这种数据结构还有其他很多的应用,今天就一起来看看,主要有下列内容: 优先级队列 求 Top K 问题 求中位数 2. 优先级队列 优先级队列是一种特殊的队列,前面学习队列的时候,说到队列满足 先进先出,后进后出 的特点,优先级队列则不是...

数据结构与算法——堆

2019-04-01
阅读 4 分钟
2.4k
堆是一种完全二叉树,还记得完全二叉树的定义吗?叶节点都在最底下两层,最后一层的节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大,这种树叫做完全二叉树。

数据结构与算法——二叉树(下)

2019-03-31
阅读 4 分钟
1.1k
前面的文章说到了二叉树,其实今天讲的二叉搜索(查找)树就是二叉树最常用的一种形式,它支持高效的查找、插入、删除操作,它的定义是这样的:对于树中的任意一个节点,其左子节点值必须小于该节点,其右子节点必须大于该节点。例如下图中的几种树都是二叉查找树:

Spring Boot 项目打成 war 包部署到 Tomcat

2019-03-28
阅读 2 分钟
3.9k
要知道,Spring Boot 的项目,默认是打为 jar 包的,这时候问题就来了,如果我想打成 war 包部署到 Tomcat,该怎么做呢?又是在网上找了半天的答案,质量不太好,绕来绕去没说个明白。其实还算是非常简单的,只需要大概几个步骤就行了。

数据结构与算法——广度和深度优先搜索

2019-03-27
阅读 4 分钟
2k
前面说到了图这种非线性的数据结构,并且我使用了代码,简单演示了图是如何实现的。今天就来看看基于图的两种搜索算法,分别是广度优先搜索和深度优先搜索算法,这两个算法都十分的常见,在平常的面试当中也可能遇到。

数据结构与算法——二叉树(上)

2019-03-27
阅读 2 分钟
1.3k
有没有发现,其实树这种结构跟我们现实生活中的“树”非常的相似,像上图中的这棵“树”,节点 A 称作 B 和 C 的父节点,节点 B 和 C 在同一级,叫做兄弟节点。没有父节点的 A 节点叫做根节点,没有子节点的节点叫做叶子节点或叶节点,例如图中的 D E F G。

如何在 IDEA 中配置 tomcat,运行 web 项目?

2019-03-27
阅读 2 分钟
15.3k
如何在 IDEA 中配置 tomcat,运行 web 项目?对这个问题找了很久的答案,各种参差不全,其实非常的简单了,网上很多人的文章搞得很复杂,完全没必要。下面是我的采坑记录,写下来帮助大家。首先,需要确保:

数据结构与算法——散列表

2019-03-26
阅读 3 分钟
2.9k
散列表(Hash Table)又叫做哈希表,是一种很常用的数据结构。散列表其实是基于数组实现的,可以说,没有数组就没有散列表。先来举一个简单的例子,来认识一下什么是散列表。

数据结构与算法——跳表

2019-03-25
阅读 2 分钟
2.2k
前面说到了二分查找,并且它是基于顺序表结构的,即数组,如果直接用于链表,时间复杂度会比较的高,是 O(logn),一般我们不会这样做。那么有没有基于链表的二分查找呢?答案就是今天说到的跳跃链表。

数据结构与算法——二分查找练习

2019-03-24
阅读 3 分钟
1k
前面说到了二分查找问题,看起来非常的简单,的确,前面的两种实现都不难,代码也很容易写,因为那只是最基础的二分查找问题了。今天来看看几种稍微复杂的二分查找问题:

优质的圈子,有多么重要?

2019-03-22
阅读 2 分钟
1.2k
好多人其实都知道,我大学学的是国际商务,这是一个跟计算机八竿子都打不着的专业。后来我自己学习了计算机方面的一些知识,在最开始的时候,可能大一大二的样子吧,还想着去本学校计算机专业班级蹭课,顺便多认识一些懂计算机的老师和同学。所以那时我在很多的 QQ 群里面找到了一些计算机专业的人,问他们要了课表,但...

数据结构与算法——二分查找

2019-03-22
阅读 2 分钟
1.6k
二分查找是一种使用十分普遍的查找算法,其基本的思路也非常的简单,在一个有序的数据集合中,我们想要查找某个数据,直接取最中间的那个数据,将它和要找的数据进行比较,如果较大,则在更大的那个数值区间继续取中间值查找,反之亦然。

职场中,能说会写是巨大的优势

2019-03-21
阅读 2 分钟
1.1k
从早上的团队小会议开始,说说昨天做的一些事情,然后解决团队成员的实际问题,并且布置新的任务下去;遇到了问题,打电话向上级反映,说出自己的想法,商量寻求解决方案;或是直接和客户沟通,倾听意见,对需求进行更改或是提出新的需求。

数据结构与算法——线性排序

2019-03-21
阅读 2 分钟
1.7k
前面已经说完了几种非线性排序,它们分别是时间复杂度为 O(n2) 、适合小规模数据的冒泡排序、选择排序、插入排序,和应用较广泛的时间复杂度为 O(nlogn) 的希尔排序、归并排序、快速排序。其实这几种排序都有一个特性,那就是它们都是基于数据的比较和移动,而今天介绍的这几种线性排序,他们的时间复杂度都是 O(n) ,因...

数据结构与算法——希尔、归并、快速排序

2019-03-20
阅读 5 分钟
912
前面说完了三种较为简单的排序算法,分别是冒泡排序,选择排序和插入排序,它们的平均情况时间复杂度都是 O(n2),比较的高,适合小规模的数据排序,其中插入排序的效率稍高,所以更推荐使用插入排序。今天再来看看另外三种时间复杂度都是 O(nlogn) 的排序算法,分别是希尔排序、归并排序和快速排序。其中后两者的应用非...

数据结构与算法——选择排序和插入排序

2019-03-19
阅读 3 分钟
3.8k
前面说到了冒泡排序,这是一种时间复杂度为 O(n2) 、是原地排序和稳定的的排序算法,具体思路是:根据相邻两个元素之间比较大小,然后交换位置,得出最后排序的结果。具体可参考我写的这一篇文章:数据结构与算法——冒泡排序,今天来看看另外两种基础的排序算法:选择排序和插入排序。

数据结构与算法——冒泡排序

2019-03-18
阅读 3 分钟
3k
排序是很常见的算法之一,现在很多编程语言都集成了一些排序算法,比如Java 的Arrays.sort()方法,这种方式让我们可以不在乎内部实现细节而直接调用,在实际的软件开发当中也会经常使用到。但是站在开发者的角度而言,知其然必须知其所以然。多练练排序算法,不仅能够让我们知道一些排序方法的底层实现细节,更能够锻炼...

数据结构与算法——队列

2019-03-17
阅读 3 分钟
981
前面说完了栈,接下来再看看另一种很基础的数据结构,队列。顾名思义,队列跟我们现实生活中的排队很相似:例如我们在食堂排队打饭,先来的先打到,后来的只能一次排在后面,不允许插队。很明显,队列的操作也是受限的,插入元素(入队)只能在队尾,删除元素(出队)只能在队头。结合下面的图就很容易理解了:

人在职场的小感悟

2019-03-16
阅读 2 分钟
1k
大多数人,每天在工作之中做的事情,性质都是差不多的,譬如完成项目进度,完成 leader 交代的任务等等。在上班时间差不多,学习能力、执行能力差异不大的情况下,这期间每个人之间好像看不出有什么差距。而真正的差距,是在下班后的短短几个小时内体现的。

数据结构与算法——栈

2019-03-16
阅读 4 分钟
1k
今天来看看栈这种线性数据结构,非常的基础,我举个例子你就能明白了。比如你桌子上堆放的一摞文件,最先放的在最下面,拿的时候也是最后拿,最后放的在最上面,拿的时候也先拿到。这种满足了 先进后出,后进先出 特点的数据结构,就叫做栈。相信结合上图你能够看到,栈这种数据结构,插入和删除的操作都被局限在了栈的...

我的编程故事

2019-03-15
阅读 2 分钟
997
记得很久以前,我在知乎上面看到过一个人的回答,讲的是他自己自学编程,最终取得较为不错的成就的故事,虽说现在这样的事情好像已经不那么为人所津津乐道了,但是在几年前的时候,我还是觉得自己心里受到了莫名的冲击,同时也得到了鼓舞。觉得别人都能够做到的,我为什么不能做到呢?

数据结构与算法——单链表练习

2019-03-15
阅读 4 分钟
2.1k
前面的文章说到了一种很基础的数据结构——链表:数据结构与算法——链表,今天就来看看关于单链表的几种常见的操作,技术笔试的时候很大概率能够遇到其中的一些。多练习一下,对我们理解链表有很大的帮助,也能够提升我们的编码能力。废话不多说,这几个练习题是:

数据结构与算法——链表

2019-03-14
阅读 5 分钟
1.5k
前面说到了数组,利用连续的内存空间来存储相同类型的数据,其最大的特点是支持下标随机访问,但是删除和插入的效率很低。今天来看另一种很基础的数据结构——链表。链表不需要使用连续的内存空间,它使用指针将不连续的内存块连接起来,形成一种链式结构。