文章 75
评论 13
浏览 20981
从0开始搭建博客

从0开始搭建博客

1. 概述 本篇博客,我教大家从0开始搭建一个 bolo博客,bolo 博客 和 solo 博客的区别是皮肤更加多,并且可以帐号密码登录。 本篇博客主要的内容如下: linux 安装 docker,设置docker镜像加速 docker 安装 nginx docker 的一些常用的命令 docker 安装 mysql 数据库 docker 安装 solo 博客 nginx 配置 https 证书

Spring Aop 获取入参和出参

Spring Aop 获取入参和出参

本次,我利用 Spring Aop 的注解方式获取切入点的入参和出参,因为比较简单,所以就直接上代码了

Spring AOP 切面执行顺序

Spring AOP 切面执行顺序

结论 切面执行顺序有两种方式 实现 Ordered 接口 使用 @Order注解 排序为顺序,数字越小,越先被执行 如果同时使用了注解和实现接口,则以接口的 order 为主

zuul 网关超时优化 - 1.解决问题

zuul 网关超时优化 - 1.解决问题

zuul 问题发现 zuul 相关参数解析 zuul 相关源码 zuul 参数调优 后续...

Hibernate Type源码解析

Hibernate Type源码解析

type 的类图 AssociationType: 关联类型的 type,主要用于外键等相关 IdentifierType: 主键相关的类型 type BasicType: 基础类型,例如 long,int,string 等基础类型 type 注册 基础类型的注册器 /* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.type; import java.io.Serializable; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; i....

idea 修改 git 提交用户名

idea 修改 git 提交用户名

idea 修改 git 提交用户名

Linux 常用命令

Linux 常用命令

linux 常用命令

链表常见算法

链表常见算法

链表的常用算法 单链表反转 链表中环的检测 两个有序的链表合并 删除链表倒数第 n 个结点 求链表的中间结点

各种软件启动方式

各种软件启动方式

各种软件启动方式

Jenkins集成部署SpringBoot

Jenkins集成部署SpringBoot

随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致。基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化。因此,传统的人工部署已经心有余而力不足。 持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环。合理的使用 CI,CD 能够极大的提高了生产效率,也提高了产品的交互质量。 本文主要介绍的内容有如下几点 docker 安装 Jenkins Jenkins 安装后的初始化和相关配置 SpringBoot 的 docker 打包镜像 Jenkins 从 GitHub 拉取源码 Jenkins 将 SpringBoot 项目部署成 docker

Gateway 聚合swagger文档

Gateway 聚合swagger文档

在微服务架构下,通常每个微服务 都会使用 Swagger 来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,因此,我们需要把其它系统的 Swagger 文档聚合到 Gateway ,方便我们统一查看接口文档。

zuul 源码解析

zuul 源码解析

路由定位器,在 Spring Cloud Zuul 中,RouteLocator 的主要作用是加载 zuul 路由配置信息(如 yml 配置文件或数据库)到 zuul 中,再由过滤器将这些信息一步步去匹配,主要的 RouteLocator 有如下几种

swagger注解文档

swagger注解文档

swagger 注解文档 1. @Api() 作用于类,放置于 controller 的一个类上,标志这个类是 swagger 资源

【转】Java 异常处理的 20 个最佳实践,你知道几个?

【转】Java 异常处理的 20 个最佳实践,你知道几个?

异常处理是 Java 开发中的一个重要部分,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java 提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也允许创建新的自定义异常,并通过使用 throw 和 throws关键字抛出它们。在Java编程中,Java 的异常处理不单单是知道语法这么简单,它必须遵循标准的 JDK 库,和处理错误和异常的开源代码。 这里我们将讨论一些关于异常处理的 Java 最佳实践。在我们讨论异常处理的最佳实践之前,先让我们了解下几个重要的概念,那就是什么是异常以及异常的分类。

ZUUL超时配置

ZUUL超时配置

connect-timeout-millis 连接服务的时间 connect-timeout-millis=1 socket-timeout-millis 服务器连接及响应时间 socket-timeout-millis=1+2+3

shading-jdbc数据库读写分离

shading-jdbc数据库读写分离

ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。

Nginx的安装

Nginx的安装

一、前言 在上一篇博客中,讲述了在服务器上安装多个tomcat,现在这篇博客要讲是安装nginx 二、配置Nginx的安装环境 安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++,安装完gcc后,才可以进行下一步的安装

Crontab定时任务更新SOLO以及备份数据库

Crontab定时任务更新SOLO以及备份数据库

该博客主要介绍了一下几点 安装Crontab Crontab相关操作 定时更新SOLO 定时备份数据库

[转]多线程之Callable

[转]多线程之Callable

在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。   这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。   如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。   而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。   今天我们就来讨论一下Callable、Future和FutureTask三个类的使用方法。以下是本文的目录大纲:   一.Callable与Runnable   二.Future   三.FutureTask   四.使用示例

[转]synchronized与Lock的区别与使用

[转]synchronized与Lock的区别与使用

昨天在学习别人分享的面试经验时,看到Lock的使用。想起自己在上次面试也遇到了synchronized与Lock的区别与使用。于是,我整理了两者的区别和使用情况,同时,对synchronized的使用过程一些常见问题的总结,最后是参照源码和说明文档,对Lock的使用写了几个简单的Demo。请大家批评指正。

[转]Java实现生产者和消费者的5种方式

[转]Java实现生产者和消费者的5种方式

生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。

记录精彩的程序人生