自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

山之良者

五岭逶迤腾细浪

  • 博客(59)
  • 资源 (10)
  • 收藏
  • 关注

原创 CentOS 8 上用 Docker 部署 Spring Boot

1. 环境CentOS 8.2Maven 3.6.3Spring Boot 2.3.4.RELEASEOpenJDK 1.82. Dockerfile 文件配置在项目根目录下(与 pom.xml 同级)创建 Dockerfile 文件,编写以下内容:FROM java:8VOLUME /tmpARG JAR_FILEADD target/${JAR_FILE} app.jarENTRYPOINT ["java","-jar","/app.jar"]ENV TZ=Asia/Shan

2020-12-16 11:36:27 342

原创 注解方式基于Redisson实现分布式锁

一、定义注解类package com.example.demo.lock.annotation;import com.example.demo.lock.model.LockType;import java.lang.annotation.*;import java.util.concurrent.TimeUnit;@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic @inte

2020-12-14 10:48:28 874

原创 实战设计模式之策略模式

一、定义策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。二、特点策略模式的主要优点如下。多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算法族的公共代码转移到

2020-12-07 16:02:09 572

原创 实战设计模式之状态模式

一、定义状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。二、特点状态模式是一种对象行为型模式,其主要优点如下。结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。将状态转换显示化,减少对象间的相互依赖。将不同的状态引入独立的对象中会使得状态转换变得更加明确,且减少对象间的相互依赖。状态类职责明确,有利于程序的扩展。通过定义新的子类很容易地增加新的状

2020-12-07 15:38:36 247 1

原创 Maven利用profile根据环境引用相应jar包

概述在开发中遇到这样的情况:某些jar包只需要在开发环境使用,其它环境不使用,比如Swagger包。这时候就需要我们根据不同环境打包不同的jar包。方法查阅了Maven的文档,发现使用Maven打包的时候可以利用profile配置区分环境。解决在pom.xml加入profile配置<profiles>    <profile>&nbs...

2020-01-05 21:12:43 917 1

原创 Code

QYYBAC9D3J-eyJsaWNlbnNlSWQiOiJRWVlCQUM5RDNKIiwibGljZW5zZWVOYW1lIjoi6LaF57qnIOeoi+W6j+WRmCIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiO...

2020-01-05 20:59:30 690

原创 深入理解MySQL索引原理和实现

我们在实际开发工作中离不开数据库,当用到数据库时又不得不提索引,而索引在数据库中是不可或缺的。但索引具体是怎么实现的呢?又是如何起作用的呢?这篇文章主要探讨这些相关问题。1. 什么是索引索引(在 MySQL 中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。要理解 MySQL 中索引是如何工作的,最简单的方法就是去看看一本书的“索引”部分:如果想在一本书...

2019-12-26 01:37:52 242

原创 回形取数

问题描述逆时针打印出矩阵数字,回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输出格式输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入1 2 3 4 5 6 7 8 9 样例输入1 4 7 8 9 6 3 2 5 样例输入1 2 3 ...

2019-11-12 01:51:09 1185 1

原创 计算斐波那契数列的几种方法

一、递归private static long f1(int n) { if (n < 1) { return 0; } else if (n < 2) { return 1; } else { return f1(n - 1) + f1(n - 2); }}二、缓存private static ...

2019-10-27 00:28:56 1294

原创 ForkJoin详解及应用

ForkJoin是由JDK1.7后提供多线并发处理框架。主要用于并行计算中,和 MapReduce 原理类似,都是把大的计算任务拆分成多个小任务并行计算。分解分解分解汇总汇总汇总复杂计算计算计算计算结果集应用场景计算1~10的和,每组计算3个,代码如下:public class ForkJoinExample extends RecursiveTask<Integer> {...

2019-10-19 23:03:13 913

原创 BlockingQueue详解及应用

java.util.concurrent.BlockingQueue 接口有以下阻塞队列的实现:FIFO 队列 :LinkedBlockingQueue、ArrayBlockingQueue(固定长度)优先级队列 :PriorityBlockingQueue提供了阻塞的 take() 和 put() 方法:如果队列为空 take() 将阻塞,直到队列中有内容;如果队列为满 put() 将...

2019-10-19 18:21:08 493

原创 String,StringBuilder,StringBuffer的区别

StringString 类不可变,内部维护的char[] 数组(JDK 9 以后是 byte数组)长度不可变,为final修饰,String类也是final修饰,不存在扩容。字符串拼接,截取,都会生成一个新的对象。频繁操作字符串效率低下,因为每次都会生成新的对象。StringBuilderStringBuilder 类内部维护可变长度char[](JDK 9 以后是 byte数组) , 初...

2019-10-19 16:58:11 127

原创 容器

CollectionextendsimplementsextendsextendsextendsimplementsimplementsextendsimplementsextendsimplementsimplementsimplementsextendsextendsextendsimplementsCollectionIterableTreeSetNavigableSetSortedSet...

2019-10-19 16:54:36 211

原创 数据类型

基本类型类型长度范围默认值byte8-128~1270short16-32768~327670int32-231~231-10long64-263~263-10Lfloat32~0.0fdouble64~0.0dboolean~true (1)\false (0)falsechar16...

2019-10-19 16:50:37 238

原创 Java并发编程之CountDownLatch,CyclicBarrier,Semaphore的理解及应用场景

java.util.concurrent(J.U.C)大大提高了并发性能,AQS (AbstractQueuedSynchronizer) 被认为是 J.U.C 的核心。CountDownLatch用来控制一个或者多个线程等待多个线程。维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些因为调用 await() 方法而在等待的线程就...

2019-10-19 00:03:29 541 1

原创 Docker 安装 Nginx

一、安装拉取官方的镜像docker pull nginx查看已下载的镜像docker images启动 Nginx 容器docker run --name nginx-test -p 8080:80 -d nginx二、部署1.创建目录 nginx, 用于存放后面的相关东西mkdir -p /data/nginx/www /data/nginx/logs /data/ng...

2019-05-29 17:46:09 1509

原创 高可用微服务系统架构

ModaModa 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的常用组件,方便开发者轻松使用该系统架构来开发分布式应用服务。主要功能接口网关:基于 Spring Cloud Gateway 的网关作为流量的入口,在微服务系统中有着非常重要的作用,网关常见的功能有路由转发、权限校验、限流控制等作用。配置管理:基于 Nacos 实现统一维护配置、API网关动态配置。...

2019-05-20 15:56:29 835

原创 解决MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents

一、问题描述:MySQL默认安装是没有设置时区的,采用 Connector/J 8.0 驱动要求指定时区,否则会报错。可以执行以下SQL语句查询show variables like '%time_zone%';未设置时默认为SYSTEM二、解决办法:在 my.ini 文件中加入时区设置项,重启MySQL服务即可解决[mysqld]default-t...

2019-04-28 23:00:30 912

原创 让IntelliJ IDEA提示自定义Spring Boot Starter的属性

引言在某些情况下会自定义 Spring Boot Starter,希望使用的时候有提示。引入相关包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artif...

2019-04-28 16:57:40 2303

原创 Maven利用profile根据环境引用相应jar包

引言在开发中遇到这样的情况:某些jar包只需要在开发环境使用,其它环境不使用,比如Swagger包。这时候就需要我们根据不同环境打包不同的jar包。方法查阅了Maven的文档,发现使用Maven打包的时候可以利用profile配置区分环境。解决在pom.xml加入profile配置<profiles> <profile> <id...

2019-04-27 18:15:32 4589

原创 GitLab使用现有Nginx配置HTTPS访问

前言GitLab默认内置了Nginx,但有些情况下服务器本身已经安装过Nginx,想直接利用现有的Nginx配置HTTPS访问1、申请证书在阿里云申请免费的证书,并下载到服务器2、配置域名解析创建一条 git.example.com 地址解析3、设置外部访问地址在 /etc/gitlab/gitlab.rb 设置external_url 'https://git.example...

2019-03-28 12:31:51 6368

原创 POI导入Excel文件简单使用方法

一、Maven引入依赖&lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi&lt;/artifactId&gt; &lt;version&gt;4.0.1&lt;/version&gt;&lt;/dependency&gt;&am

2018-12-05 09:54:52 315 2

原创 全链路跟踪之Pinpoint

一、前言1.1、缘由随着项目扩大和升级,系统架构也从最开始的单机模式进化到分布式架构,各个系统维护起来也比较费劲了,当遇到问题时无法快速定位问题点,这时迫切需要通过某些方法定位和跟踪系统,以及监控系统性能。实现方法有很多,可以自定义开发相关框架,也可以使用第三方开源的框架。如果是完全自己开发,短期内还无法完成,所以考虑使用第三方框架。1.2、调研调研了市面上几个同类框架,有:...

2018-11-05 21:05:51 7238

原创 CentOS搭建Sonar和Jenkins进行代码质量检测

一、SonarQube简介SonarQub e 是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。二、安装SonarQube(1)在官网下载安装包:https://www.sonarqube.org/downloads/(2)解压下载的zip包执行命令:unzip sonarqube-7.4.zip如果提示无效的命令,则需要先安...

2018-10-31 10:51:29 1002

原创 持续集成 之 Jenkins插件 Multijob plugin

由于项目采用分布式服务架构,后端拆分为对外提供接口的接口层和对内提供服务的服务层,而服务层项目A又引用项目B和C服务,这时发布时就要求先发布A,再发布B和C,最后再发布接口项目。经过一番查找,找到了Jenkins插件 Multijob plugin,可以完美解决该问题。(1)首先创建MultilJob Project (2)添加 MultiJob Phase(3)添加任...

2018-10-26 12:22:01 8926 5

原创 Jenkins复制项目

在实际生产过程中,通常是由一台服务器编译并发布到各个不同环境的服务器上。这时候会创建各个环境的发布项目,项目多的时候重新创建比较麻烦,这时可以利用插件复制项目:Copy project link  ...

2018-10-23 10:15:02 6006

原创 Nginx禁止访问某个文件夹

location ^~ /logs { deny all;}禁止访问logs文件

2018-09-27 14:11:29 2113

原创 IntelliJ IDEA配置Maven自动发布到Nexus

命令行输入参数:clean deploy -Dmaven.test.skip=true -e如果要指定pom.xml,则添加 -f pom_for_api.xml 参数clean deploy -Dmaven.test.skip=true -e -f pom_for_api.xml在C:\Users\logyo\.m2目录下创建settings.xml文件,设置帐号&lt;?...

2018-09-23 15:04:15 4858

原创 Dubbo抛出自定义异常

在Dubbo服务接口上定义throws自定义异常 LoginResponse login(LoginDTO param) throws ServiceException; 

2018-09-22 11:20:42 962

原创 Sping Boot 2.0 自定义错误页

import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.boot.web.server.ErrorPage;import org.springframework.boot.web.servlet.server.Configurabl...

2018-09-12 14:52:07 774

原创 Jenkins自动丢弃构建历史数据

把以前构建过的过时历史数据自动清除掉,保留最近更新的天数和个数。如下图:这样配置后,就只保留最近3天内的5个构建历史,避免一直保留沾满磁盘。...

2018-08-29 09:53:48 8812 1

原创 spring.profiles.active

使用spring.profiles.active来分区配置,比如dev、test、prod等环境 (1)在application.properties中加入spring.profiles.active=dev(2)通过命令行参数java -jar app.jar --spring.profiles.active=dev...

2018-08-17 15:26:11 7940

原创 MySql按条件统计数量

有如下设备信息表: 要求按status统计数量,查询结果返回一条数据,如下图所示: 可是使用如下SQL语句: SELECT COUNT(*) AS total, SUM(IF(status = 1, 1, 0)) AS status1, SUM(IF(status = 2, 1, 0)) AS status2, SUM(IF(status = 3, 1, ...

2018-07-29 15:03:28 50144 7

原创 Linux清空文件内容

在使用CentOS系统服务器时,有时候某些文件被进程占用,直接删除文件无法释放磁盘空间,所以可通过清空文件内容的方式处理。cat /dev/null &gt; 文件名比如要清空data文件夹下的a.log文件,使用命令:cat /dev/null &gt; /data/a.log再查看a.log文件,大小为0了。...

2018-07-20 15:24:16 17779 1

原创 IDEA常用插件

1、Free MyBatis plugin免费的MyBatis插件,可以方便的快速跳转到对应的XML,并可以生成XML。2、Rainbow Brackets彩虹括号,自动给代码块内括号加色。3、ZooKeeper查看ZooKeeper数据4、Statistic代码统计插件...

2018-07-19 19:10:32 300

原创 MySql模糊搜索结果按匹配度排序

 SELECT *FROM mov_video_infoWHERE title LIKE '%魔兽%'ORDER BY REPLACE(title,'魔兽','')LIMIT 10  通过替换关键字为空字符串来改变排序规则。

2018-07-19 19:00:36 8235

原创 基于CentOS+Jenkins+Maven+SVN+Tomcat+Java的自动化持续集成

1. 准备工作CentOS 7Jenkins 2.7Maven 3.3.9SVNTomcat 7Java 1.72. 安装Jenkins2.1 安装sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reposudo rpm --import https://jenki

2016-06-01 14:23:38 3777

原创 Quartz+Spring应用与集群

〇、前言使用SPRING的定时任务框架,如果是在分布式的环境下,由于有多台节点,会产生相同的任务,会被多个节点执行,这时需引入分布式的QUARTZ。一、Quartz集群部署实践Quartz与Spring结合使用,Spring通过提供org.springframework.scheduling.quartz下的封装类对Quartz支持。Quartz集群部署:Quartz集群中的每个节点是一个独立的Qu

2016-06-01 09:50:50 613

转载 mysql行列转换方法总结

在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本:create table tx(  id int primary k

2015-07-02 18:05:53 481

原创 Java同步方法synchronized

在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。package test;import java.text.SimpleDateFormat;import java.util.Date;public class TestSynchronized { public static void main(String[] args

2015-04-28 17:03:43 600

C# In Depth(第二版英文)

C# In Depth(第二版英文)

2013-10-31

26个人体英文字母(A-Z)

26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母26个人体英文字母

2010-04-01

程序员的SQLServer金典

本书特色:主要介绍 SQL 的语法规则及在实际开发中的应用,并且对 SQL 在 MySQL、 MS SQL Server、Oracle 和 DB2 中的差异进行了分析;详细讲解数据库对增、删、改、查等 SQL的支持并给出了相应的SQL 应用案例;透彻分析函数、子查询、表连接、不同DBMS中 的 SQL 语法差异、SQL 调优、NULL 值处理、事务、开窗函数等高级技术;通过对实际案例 开发过程的详细分析,使读者掌握 SQL的综合应用技巧。

2010-04-01

Struts+Spring+Hibernate框架概述

ssh框架概述(Struts+Spring+Hibernate)

2010-04-01

jQuery API

jQuery 是一个新型的JavaScript库. jQuery是一个简洁快速的JavaScript库,它能让你在你的网页上简单的操作文档、处理事件、运行动画效果或者添加Ajax交互。jQuery的设计会改变你写JavaScript代码的方式。 jQuery适合于设计师、开发者以及那些还好者,同样适合用于商业开发,可以说jQuery适合任何JavaScript应用的地方,可用于不用的应用程序。 jQuery是一个轻量级的脚本,其代码非常小巧,JavaScript包只有15K左右。 jQuery支持CSS1-CSS3,以及基本的xPath jQuery是跨浏览器的,它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+

2010-02-15

JavaScript语言参考手册

JavaScript语言参考手册.chm

2010-02-15

铁路局管辖范围示意图

铁路局管辖范围示意图 铁路局 管辖范围 示意图

2010-02-15

2009年12月01日中国铁路营业线路-修正版-大图

2009年12月01日中国铁路营业线路-修正版-大图

2010-02-15

C#自定义控件(WinForms)

C#中自定义控件--拼音匹配 C# 自定义 控件 (WinForms)

2008-03-03

空空如也

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

TA关注的人

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