自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

digvwell的专栏

Water, water, everywhere, nor any drop to drink.

  • 博客(18)
  • 收藏
  • 关注

原创 gitlab pipelines job执行时日志较大报错

问题描述gitlab pipelines job执行时日志较大报错Job's log exceeded limit of 4194304 bytes.解决方案出现该问题主要是因为gitlab runner默认日志大小为4096,修改相关配置即可1.修改gitlab runner配置concurrent = 1check_interval = 0[[runners]] name = "ci"

2017-08-08 10:27:33 4867

原创 为Spring Boot可执行文件制作Shell脚本

Spring Boot项目打包成可执行JAR后,为了方便管理,我们可以制作一个脚本,管理启动、停止等步骤。使用说明假设脚本最终命名为app.sh,则可以执行以下操作:# 显示应用状态app status# 前台启动应用app run# 后台启动应用app start# 关闭应用app stop 后台启动应用后,应输入一个回车,回到终端后再退出终端,如果直接退出则应用可能退出后台运行完整

2017-08-04 17:12:16 2561 1

原创 SonarQube上传分析报告失败

问题描述使用Maven与SonarQube进行代码分析,完成分析后无法正常上传分析报告[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project qishi: Error 500 on http://sonar/api/

2017-08-02 09:32:52 3935 4

原创 docker提示IPv4 forwarding is disabled

问题描述服务器网络由DHCP更改成STATIC后,docker服务提示WARNING: IPv4 forwarding is disabled. Networking will not work.解决方案1.在/etc/sysctl.conf中增加如下配置net.ipv4.ip_forward=12.重启网络service network restart

2017-07-25 08:49:15 504

原创 Spring Boot项目打包可执行文件

Spring Boot项目可以内嵌Web容器发布成可独立运行的可执行jar或war文件。打包可执行jar文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2017-07-24 08:24:37 942

原创 sonarqube版本升级注意事项

对sonarqube进行版本升级,如果现在使用的版本与目标版本之间存在长期更新版本(LTS)时,应先升级到长期更新版本。升级路径举例 当前版本4.2,目标版本6.1 : 4.2 -> 6.1, migration path is 4.2 -> 4.5.7 LTS -> 5.6 LTS -> 6.1 当前版本5.1,目标版本5.6 : 5.1 -> 5.6, migration path is

2017-04-10 14:19:43 2044

原创 找回sonarqube管理员密码

执行如下SQL,将管理员(admin)密码重置为admin update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin'

2017-04-10 11:40:31 9742 1

原创 GitLab使用omniauth集成crowd登录

““ gitlab_rails[‘omniauth_enabled’] = true gitlab_rails[‘omniauth_allow_single_sign_on’] = true gitlab_rails[‘omniauth_block_auto_created_users’] = falsegitlab_rails[‘omniauth_providers’] = [ {

2017-04-05 19:23:19 3319

翻译 JSON Web Tokens(JWT)介绍

什么是JSON Web TokenJSON Web Token (JWT)是一个定义了一种精简、自包含用于各方之间使用JSON对象进行数据安全传输的开发标准(RFC 7519)。作为一种数字签名,他可以被验证和信任。JWTs可以使用HMAC算法或者RSA秘钥喘作为密钥进行签名。让我们进一步的解释一下相关概念。 - 精简(Compact):因为JWTs数据量较小,所以它可以通过一个URL、POST参

2017-03-20 23:15:24 927

翻译 理解REST

REST (Representational State Transfer)的概念2000年时首次在 Roy Fielding的博士论文中被提出。REST是一种分布式系统的架构设计风格。它不是一个标准,而是一组约束,比如它是无状态的,它分为客户端与服务器端,同时,它拥有一个统一的接口。REST与HTTP没有严格的相关性,但它的设计思想与之比较相似。REST的原则使用URI标识资源(Resource

2017-03-20 23:12:24 382

原创 高效Java08:覆盖equals时遵守通用约定

覆盖equals的要求自反性(reflexivity):一个对象必须等于其自身对称性(symmetry):任何两个对象,无论使用哪一个对象的equals()方法判断其与另一个对象是否相等的结果应当是一致的传递性(transitivity):如果一个对象等于第二个对象,且第二个对象等于第三个对象,则第一个对象一定等于第三个对象。一致性(consistency):如果两个对象相等,若没有一个对象

2017-03-20 23:05:28 237

原创 高效Java07:避免使用终结方法(finalizer)

为什么要避免使用终结方法终结方法(finalizer)通常是不可预测的,也是很危险的,一般是不必要的。不能保证会被及时的执行不保证他们会被执行使用终结方法会有严重的性能损失不能保证会被及时的执行一个对象变为不可达状态后,在JVM下一次执行垃圾回收时才会调用终结方法,中间这段时间间隔是不固定的,所以只要终结方法中做的处理注重时间,则它一定不会达到我们期望的理想状态。所以,不应该依赖终结方法来做

2017-03-20 23:04:46 665

原创 高效Java06:消除过期的对象引用

类自己管理内存一般而言,只要是类自己管理内存,我们就应该警惕内存泄漏问题。比如下面的例子:public class Stack { private Object[] elements; private int size; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack(){

2017-03-20 23:03:51 645

原创 高效Java05:避免创建不必要的对象

就像我们大部分人所知道的,最好能重用对象,而不是每次都重复创建一个功能相同的新对象,下面举几个例子说明这个点。重用不可变对象如果对象是不可变的,那么它就始终可以被重用。对于同时提供了静态工厂方法和构造方法的不可变类,通常使用静态工厂方法而不是构造方法,以避免创建不必要的对象,尽管同时提供两种方法的场景不太多。例如静态工厂方法Boolean.valueOf(String)几乎总是优于构造方法Boole

2017-03-20 23:03:02 755

原创 高效Java04:通过私有构造方法强化不可实例化的能力

在代码编写过程中我们可能会编写一些只包含静态成员的类,这些类一般都是工具类,这些类实例化没有任何意义,我们可以将其做成不可实例化的类。public class UtilityClass { private UtilityClass() { throw new AssertionError(); }}我们将构造方法设为私有,该类不会在外部被实例化,但在类的内部仍能够对

2017-03-20 23:02:04 355

原创 高效Java03:使用私有构造器或枚举类型强化单例属性

单例(singleton)指仅仅只能被实例化一次的类,主要服务于一些需要保证对象只存在一个实例的场景。实现方式一:暴露公有静态成员变量public class Singleton { public static final Singleton INSTANCE = new Singleton(); private Singleton() { }}INSTANCE为对外暴露的成

2017-03-20 23:01:10 299

原创 高效Java02:构造方法参数较多时考虑使用构建器

假设某一业务场景(Scene)中有一个类,它有3个属性是必须的,另外还有20个属性是可选的。重叠构造器通常我们最先想到的是像下面这样创建一个类:public class BusinessBean { private String requiredFiled1; private String requiredFiled2; private String requiredFile

2017-03-20 23:00:10 411

原创 高效Java01:考虑使用静态工厂方法代替构造方法

Java中的每一个类被创建,大部分场景中客户端都需要获取它自身的一个实例然后进行使用,我们最常用的是为它提供一个公有的构造方法,除此之外还可以使用静态工厂方法返回它的一个实例。相较于构造方法,静态工厂方法拥有以下好处:它们拥有不同的自定义名称调用它时无需重复创建新对象它们可以返回类型的任何子类型的对象创建参数化类型实例的时候,它们使代码更加简洁(JDK1.7以后就不算优势了)静态工厂方法优

2017-03-20 22:58:46 265

空空如也

空空如也

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

TA关注的人

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