自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 Docker的安装使用与程序的部署

dockerUbuntu docker安装uname -r #查看当前Ubuntu系统内核版本(docker要内核版本高于3.10)curl -fsSL get.docker.com -o get-docker.shcurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyundocker配置阿里云镜像加速mkdi...

2019-10-23 10:18:33 1031

原创 Java数据库的介绍和使用

Data Definition Language 数据定义语言DMLData Manipulation Language 数据操作语言DQLData Query Language 数据查询语言DCLData Control Language 数据控制语言

2019-09-19 11:30:14 27822 2

原创 数据结构与算法(七) - 哈希表

第八章 哈希表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。代码实现根据以前的单向链表编写一个哈希链表public class HashTableList<K, V> { Node<K, V> head; public void put(K key, V value)

2020-11-12 14:04:11 282

原创 数据结构与算法(六) - 查找算法

七、 查找算法7.1 查找算法介绍在 java 中,我们常用的查找有四种:顺序(线性)查找二分查找/折半查找插值查找斐波那契查找7.2 线性查找算法public class SearchAlgorithm { public static void main(String[] args) { int[] arr = {1, 8, 10, 89, 1000, 1234}; int index = linearSearch(arr, 10);

2020-11-12 14:03:24 221

原创 数据结构与算法(五) - 排序算法

六、排序算法排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。6.1 排序的分类内部排序指将需要处理的所有数据都加载到==内部存储器(内存)==中进行排序。外部排序法数据量过大,无法全部加载到内存中,需要借助==外部存储(文件等)==进行排序。常见的排序算法分类6.2 算法的时间复杂度6.2.1 度量一个程序(算法)执行时间的两种方法事后统计的方法这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程

2020-11-12 14:02:54 797

原创 数据结构与算法(四) - 递归

五、递归5.1 递归的概念简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。5.2 递归能解决什么样的问题各种数学问题如: 8 皇后问题 , 汉诺塔, 阶乘问题, 迷宫问题, 球和篮子的问题(google 编程大赛)各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.将用栈解决的问题→递归代码比较简洁5.3 递归需要遵守的重要规则执行一个方法时,就创建一个新的受保护的独立空间

2020-11-12 14:01:31 262

原创 数据结构与算法(三) - 栈

四、栈4.1 栈的介绍栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除出栈(pop)和入栈(push)的概念4.2 栈的应用场景

2020-11-12 14:00:25 210

原创 数据结构与算法(二) - 链表

三、链表3.1 链表(Linked List)介绍链表是有序的列表,但是它在内存中是存储如下单链表(带头结点) 逻辑结构示意图如下3.2 单链表的应用实例使用带 head 头的单向链表实现人物的增删改查定义节点public class Node { public int id; public String name; public Node next; // 指向下一个节点 public Node(int id, String name) {

2020-11-12 13:57:24 134

原创 数据结构与算法(一) - 概述、稀疏数组和队列

一、数据结构和算法概述1.1 数据结构和算法的关系数据 data 结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构。学好数据结构可以编写出更加漂亮,更加有效率的代码。要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决。程序 = 数据结构 + 算法数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位。1.2 线性结构和非线性结构数据结构包括:线性结构和非线性结构。1.2.1 线性结构线性结构作为最常用的数据结构,

2020-11-12 13:56:47 166

原创 Maven私有仓库搭建以及使用

Maven私有仓库搭建以及使用一、使用Docker-compose安装Nexusversion: '3'services: nexus: image: sonatype/nexus3 container_name: nexus restart: always ports: - "8081:8081" volumes: - ./nexus-data:/nexus-data3使用docker-compose up -d启动查看密码文件

2020-09-28 21:45:49 957

原创 GitLab Ci+docker持续化部署SpringBoot项目

准备环境需要 docker 和 docker-compose环境安装docker和docker-compose 参考Docker的安装使用与程序的部署安装GitLab CE 和 GitLab Runner创建gitlab文件夹,进入后创建docker-compose.yml文件version: '3'services: gitlab: image: 'gitlab/gitlab-ce' restart: always container_name: gitlab

2020-08-23 19:57:47 1215 1

原创 PicGo + Gitee(码云)实现markdown图床

PicGo + Gitee(码云)实现markdown图床1. 安装从PicGo官网下载PicGo客户端若github下载慢,可以使用我提供的蓝奏云地址安装之后打开主界面安装gitee插件这里注意一下,必须要先安装node.js才能安装插件,没装的自己装一下,然后重启就行。2. 建立gitee(码云)图床库打开码云(未注册码云的自己注册一下),点击右上角的+号,新建仓库建库信息配置PicGo在图床设置-> gitee中配置插件repo: 用户名/仓库名称branc

2020-08-12 17:38:53 490

原创 Spring Boot 使用 JSR303 实现参数验证

Spring Boot 使用 JSR303 实现参数验证简介JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation。在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在通常的情况下,应用程序是分层的,不同的层由不同的开发人员来完成。很多时候同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题,比如说语义的一致性等。为了避免这样的情况发生,最好是将

2020-08-09 16:35:45 535

原创 Mysql统计每天 每周 每年订单量

统计一周订单量SELECT DATE(create_date) as date,COUNT(1) as count FROM orders WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(create_date) GROUP BY date;sql 语句解析date(create_date): 将日期格式化为 2000-01-01这种格式curdate() :获取当前日期 2020-06-30 等同于 date(now())date

2020-07-03 18:09:44 5672 1

原创 ELK日志收集分析系统及与Springboot的整合

ELK日志收集分析系统ELK Stack 是Elasticsearch、Logstash、Kiban三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。基本组成软件Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。Logstash是一个用来搜集、分析、过滤

2020-07-03 16:24:10 847

原创 ElasticSearch的入门使用

ElasticSearch概述Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。ElasticSearch的使用场景维基百科,类似百度百科,全文检索,高亮,搜索推荐/2 (权重,百度!

2020-07-02 14:46:00 991

转载 SpringBoot应用中使用AOP记录接口访问日志

AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP的相关术语通知(Advice)通知描述了切面要完成的工作以及何时执行。比如我们的日志切面需要记录每个接口调用时长,就需要在接口调用前后分别记录当前时间,再取差值。前置通知(Before):在目标方法调用前

2020-06-21 22:26:02 1381

原创 Sharding Sphere 入门

ShardingSphereApache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。Apache ShardingSphere 定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非

2020-06-08 00:27:20 1928 2

原创 网络安全之密码学 信息安全/加密算法

文章目录1 常见加密方式1.1 对称加密1.2 Base64 算法1.2.1 算法简介1.2.2 Base64 算法原理1.2.3 base64 构成原则1.3 DES加密和解密1.4 AES加密解密2 加密模式2.1 ECB2.2 CBC3 填充模式3.1 NoPadding3.2 PKCS5Padding3.3 说明3.4 案例4 消息摘要4.1 特点4.2 常见算法4.3 获取字符串消息摘要4.4 获取文件消息摘要4.5 总结5 非对称加密5.1 生成公钥和私钥5.2 私钥加密公钥解密5.3 保存公钥

2020-06-04 16:23:04 4980

原创 Common Lang3 各工具类的使用

字符串工具@Testpublic void stringUtilsTest() { //缩短到某长度,用...结尾.其实就是(substring(str, 0, max-3) + "...") //public static String abbreviate(String str,int maxWidth) StringUtils.abbreviate("abcdefg", 6);// "abc..." //字符串结尾的后缀是否与你要结尾的后缀匹配,若不匹配则添加后缀

2020-06-03 17:43:01 669

原创 MybatisPlus中插入数据后获取该对象主键值

实体对象 主键IdType要设置为AUTO 表示数据库ID自增@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class Employee implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) pri

2020-06-03 10:10:15 6634 1

原创 手写迷你版Tomcat,了解Tomcat执行流程

1.封装请求对象package tomcat.http;import lombok.Getter;import lombok.ToString;import java.io.IOException;import java.io.InputStream;/** * 通过输入流,对HTTP协议进行解析,拿到HTTP请求头的方法以及URL。 * * @author Manaphy...

2020-04-26 23:18:19 334

原创 Spring boot集成支付宝沙箱支付

集成步骤1.准备工作进入支付宝沙箱环境 按提示生成RSA2(SHA256)密钥获取alipay-trade-sdkjar包从支付宝开放平台下载当面付Demo从\TradePayDemo\WebRoot\WEB-INF\lib路径中获取jar包alipay-trade-sdk-20161215.jar打包jar包进Maven仓库在jar包所在的目录使用以下命令打包mvn ...

2020-04-26 12:51:55 1404 2

原创 Spring boot 全局日期格式化

测试类@Datapublic class FormatTime { private LocalDateTime startTime; private Date endTime;}控制器@RestControllerpublic class TestController { @GetMapping("/test") public Object tes...

2020-04-17 10:37:14 286

转载 将Springboot项目瘦身,简化部署

瘦身前的 Jar 包目录结构如下:整个 Jar 包 16.7M 但是 BOOT-INF/lib 就占用了将近 16.6 M解决办法正常编译 Jar 包, 解压出lib文件夹修改 pom.xml 配置,编译出不带 lib 文件夹的 Jar 包<build> <plugins> <plugin> &...

2020-04-17 10:06:14 939

原创 使用Vagrant的方式部署开发环境

1. 下载安装1. 安装 VirtualBox 虚拟机下载地址 https://www.virtualbox.org/wiki/Downloads2. 安装 Vagrant下载地址 https://www.vagrantup.com/downloads.html官方镜像仓库 https://app.vagrantup.com/boxes/search...

2020-04-17 10:05:15 227

原创 Spring Boot中集成 Shiro

Shiro 是一个强大、简单易用的 Java 安全框架,主要用来更便捷的认证,授权,加密,会话管等等,可为任何应用提供安全保障。本课程主要来介绍 Shiro 的认证和授权功能。1. Shiro 三大核心组件Shiro 有三大核心的组件: Subject 、 SecurityManager 和 Realm 。先来看一下它们之间的关系。...

2020-04-13 10:21:27 246

原创 Java通过反射的方式输出相关类的内容

导入相关依赖<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version></dependency>使用方式测试类pub...

2020-04-07 14:19:20 225

原创 Springboot 使用Springsecurity登录,重写加密方式使用加盐MD5加密

1.创建Md5加密类继承PasswordEncoderpublic class Md5PasswordEncoder implements PasswordEncoder { private final static String[] HEX_DIGITS = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c...

2020-03-19 14:24:42 2683

原创 vue cli3项目中使用svg图标

1. 安装 webpack 插件 svg-sprite-loadernpm install svg-sprite-loader --save-dev2. 在 vus.config.js 中添加以下内容const path = require('path')module.exports = { chainWebpack: config => { const svgRule...

2020-03-18 14:28:34 1088 1

原创 Mycat学习入门

第一章 入门概述Mycat概述1、数据库中间件Mycat 是数据库中间件。数据库中间件:连接java应用程序和数据库2、为什么要用Mycat?Java与数据库紧耦合。高访问量高并发对数据库的压力。读写请求数据不一致3、数据库中间件对比① Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线S...

2020-01-21 11:18:56 815 1

原创 docker容器搭建mysql主从服务器

1.在服务器上建立以下目录mysql/├── master│ ├── config│ │ └── my.cnf│ └── data└── slave ├── config │ └── my.cnf └── data2.编辑主从数据库配置my.cnf2.1 主数据库[mysqld]pid-file = /var/run/...

2020-01-20 14:08:20 819 1

原创 nginx的介绍及使用

第一章 Nginx简介1.1 Nginx 概述Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等1.2 Nginx 作为 web 服务器Nginx 可以作为静态页面的 web 服务器,同...

2020-01-01 12:42:05 276

原创 JDK8新时间类的使用

新时间类的使用package data;import org.junit.Test;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.format.FormatStyle;import java.time.temporal.Temporal;import java.time....

2019-12-12 09:23:33 168

原创 Windows系统MySQL 8.0安装教程

MySQL 8.0.11安装教程1.下载zip包2.解压到安装目录,如 D:\JavaEnvironment\mysql-8.0.153.配置环境变量:在path中配置D:\JavaEnvironment\mysql-8.0.15\bin4.配置mysql目录下的my.ini文件[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4...

2019-11-29 23:23:39 172

原创 SSM架构

文章目录Spring一、Spring简介1.1 Spring介绍1.2 Spring解决的问题1.3 Spring的组成二、IOC:控制反转三. 对象创建的细节3.1 bean标签和属性讲解四、DI依赖注入4.2 构造函数注入4.3 p名称空间注入4.4 spel注入4.5 复杂类型注入4.6 在spring的配置文件中加载五、使用注解5.1 类头部可用的注解5.2 类头部可用的注解5.3 注...

2019-11-29 23:12:11 2308

转载 Spring Boot接口防刷

1.引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <gr...

2019-11-29 16:42:18 413

原创 Spring boot整合redis

SpringBoot引入redis1. 引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>&lt...

2019-11-29 13:41:27 162

原创 spring整合redis

Spring引入redis1. 引入依赖<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.23.RELEASE</ve...

2019-11-27 19:23:45 198

原创 Java爬虫-快速入门 HttpClient+JSoup详解

1. HttpClient与Jsoup简介1.1 HttpClientHttpClient可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient的作用实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)支持自动转向支持 HTTPS 协议支持代理服务器等1.2 JSoupj...

2019-11-26 20:10:55 652

Java开发手册(嵩山版).md

阿里巴巴Java开发手册(嵩山版)版 这是我整理的Markdown版本,相比原来的pdf版有更好的阅读体验

2020-08-15

空空如也

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

TA关注的人

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