十大排序算法总结

最近在准备面试, 看到一篇公众号总结的排序算法十分详细 面试常问的十个排序算法都在这里了(含JAVA代码实现) , 因此在这里记录下.

本文将采取文字描述 + 正确的java代码实现来讲解以下的十大排序算法:

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 希尔排序
  5. 归并排序
  6. 快速排序
  7. 堆排序
  8. 计算排序
  9. 桶排序
  10. 基数排序

1. 冒泡排序

介绍

冒泡排序是一种简单的排序算法. 它重复的走访要排序的数列, 一次比较两个元素, 如果他们的顺序错误就把它们交换过来.

设计模式之单例模式

概念

单例模式是指一个类只有一个实例对象, 且该类能自行创建这个实例的一种模式.

该模式的特点为:

  1. 单例类只有一个实例对象
  2. 该单例对象必须由单例类自行创建
  3. 单例类对外提供一个访问该单例的全局访问点

单例模式的优缺点:

Spring Boot整合Redis

Redis简介

Redis 是完全开元免费的,遵守BSD协议,是一个高性能的 key-value 数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。
  • Redis 支持数据的备份,即 master-slave 模式的数据备份。

Redis 的命令教学建议参考菜鸟教程的教程: https://www.runoob.com/redis/redis-tutorial.html

在java中调用python脚本

1. 前言

最近的项目中遇到了一个问题,我的后台管理系统是使用 Java 语言来开发的,然后有一个模块需要调用使用 Python 写的一个脚本,为此查了许多资料,在这里记录一下。

manjaro安装完后需要做的事

前言

之前在朋友的推荐下放弃了以前使用的 Ubuntu,使用了 manjaro 作为我日常使用的 Linux,用了一段时间之后发现这个 Linux 发行版是真的香,以致于我换了电脑之后也想要迅速将 manjaro 安装回来。

Spring Boot中CommandLineRunner的使用

前言

在项目中经常会遇到需要在项目启动之前做一些初始化数据的操作,例如初始化线程池、初始化一些脚本等等。但是往往这些操作又需要在 Spring Beans 加载完成之后,因为需要依赖于一些 Spring BeansCommandLineRunner 可以很好的解决这个问题,继承了 ComandLineRunner 接口并且加上了 @Component 注解的类可以在 Spring Beans 都初始化之后,而又在 SpringApplication.run() 之前执行。下面来详细介绍 CommandLineRunner 的使用。

Shiro的多Realm配置

前言

之前写了一篇 Spring Boot整合Shiro,如果不了解 Shiro 的建议先去阅读之前的文章,因为这篇是在它的基础上进行的拓展,需要您具备一定的 Shiro 知识。

之前所介绍的 Shiro 仅仅是针对单个 Realm 的使用,但是考虑一下以下场景:

gulp优化hexo方法

本文转载自:gulp优化hexo方法

gulp 通过对站点使用的静态资源进行压缩,来优化网站的访问速度。

首先安装 gulp 以及所需要的模块:

1
npm install gulp -g
1
npm install gulp-htmlclean gulp-htmlmin gulp-minify-css gulp-uglify gulp-imagemin --save

然后在博客的根目录下创建 gulpfile.js 文件写入代码: