不积跬步,无以至千里

个人博客地址:https://lewky.cn

StringUtils.split()和string.split()的区别

场景 出于业务考虑,将多个字符串拼接起来时,使用的分隔符是;,;。如果要将这样一个拼接来的字符串分割成原本的多个字符串时,就需要使用到jdk自带的split()方法。不过因为公司的编程规范,改为使用了Apache工具类的StringUtils.split()。 之后就发现,当被拼接的字符串里含有;...

2019-04-09 23:53:45

阅读数 30

评论数 3

数据库的标识符可以有多长

前言 今天在查看项目代码时发现有这样一个逻辑:在查询数据库时通过代码去拼接一个SQL,这个SQL的某个字段的别名是由多个变量名拼接而成的,于是在拼接该别名时特地限制了其长度为30,如果超过30就只截取前30个字符来作为列别名。 一时间很好奇为什么要限制列别名的长度,查阅过资料才明白,原来数据库...

2019-03-14 23:28:14

阅读数 60

评论数 0

PostgreSQL - 模糊查询

前言 like、not like在SQL中用于模糊查询,%表示任意个字符,_表示单个任意字符,如果需要在模糊查询中查询这两个通配符,需要用ESCAPE进行转义,如下: select * from table where name like '张/_小%' escape '/'; 这里表明...

2019-02-28 23:44:29

阅读数 396

评论数 0

快速删除node_modules文件夹

前言 当安装了较多模块后,node_modules目录下的文件会很多,直接删除整个目录会很慢,下面介绍些快速删除node_modules目录的方法。 方法一:使用rimraf模块的命令 在全局安装rimraf模块,然后通过其命令来快速删除node_modules目录: npm install ri...

2019-02-27 00:47:36

阅读数 968

评论数 0

Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows

前言 由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js。 nvm是Linux下常用的一个node.js多版本管理工具,但是nvm不能在Windows下使用...

2019-02-27 00:46:53

阅读数 932

评论数 0

执行gulp build报错

问题与分析 在执行gulp build报错如下: D:\coding\Resume\Resumes>gulp build gulp build[5628]: src\node_contextify.cc:628: Assertion `args[1]->...

2019-02-27 00:45:32

阅读数 828

评论数 0

Eclipse - 安装了jd-eclipse插件后依然无法反编译类文件

问题 Eclipse在安装了jd-eclipse插件后依然无法反编译类文件,这个问题是因为没有修改默认的类文件查看器。 解决方法 修改默认的类文件查看器为jd-eclipse Window -> Preference -> General -&...

2019-01-30 01:09:28

阅读数 777

评论数 0

Maven - settings.xml简易配置Demo

前言 这里贴一下settings.xml的一个简易配置demo,就是简单配置了:本地的仓库地址、阿里云镜像、指定使用jdk1.8进行编译。 这里使用的Maven是3.5.0版本的。 配置文件demo <?xml version="1.0" ...

2019-01-18 23:23:28

阅读数 578

评论数 0

Access restriction: The type 'JPEGCodec' is not API

问题 今天导入项目时Eclipse报错如下: Access restriction: The type 'JPEGCodec' is not API (restriction on required library 'C:\Program Files\Java\jdk1.8.0_191\jre\l...

2019-01-18 23:16:14

阅读数 550

评论数 0

Windows下MySQL8.0.13解压版安装教程

下载 MySQL8.0.13-64位下载地址 在下载页面的底部,有三种安装包,第一种是MySQL的安装程序,下载完点击安装即可。 第二种是普通的压缩版,体积较小。 第三种是自带debug和测试的压缩版,体积较大。这种压缩包在网上暂时没有找到对应的安装文档说明,所以建议下载第二种压缩包,也就是普通版...

2019-01-17 23:52:58

阅读数 950

评论数 1

IDE工具、文本编辑器的列块编辑模式

前言 有时候需要对若干列进行一样的操作,比如在前一百行数据的最前边加上一样的字符,这时候可以通过列块编辑模式来快捷地实现这个效果。在列块编辑模式下,被选定的区域内的所有字符会被替换成你之后输入的字符。 Eclipse Alt + Shift + A启用列块编辑模式 按住鼠标左键选定区域 Alt ...

2019-01-17 22:29:12

阅读数 713

评论数 4

Git - .gitignore怎么忽略已经被版本控制的文件

问题 如果某个文件已经存在于远程仓库了,也就是说某个文件已经被版本控制了,如果将该文件添加到.gitignore中,是无法生效的。因为.gitignore是用来控制尚未被纳入版本控制的文件,如果文件已经存在于远程库中,自然也就无法生效了。 于是就此衍生了一个问题:.gitignore怎么忽略已经被...

2019-01-07 23:29:28

阅读数 848

评论数 0

Git - .gitignore文件的用法

.gitignore文件的作用 .gitignore文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被git跟踪到的,换句话说,被忽略的文件是不会被放入到远程仓库里的。 也就是说,如果文件已经存在于远程仓库中,是无法通过.gitignore文件来...

2019-01-06 23:35:44

阅读数 776

评论数 0

Log4j2 - 动态生成Appender

功能需求 项目里将User分成了各个区域(domain),这些domain有个标志domainId,现在要求在打印日志的时候,不仅将所有User的日志都打印到日志文件logs/CNTCore.log中,还需要另外再打印到对应domain的日志文件logs/{domainId}/CNTCore.l...

2019-01-03 22:45:53

阅读数 705

评论数 0

Log4j2 - Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFile

问题与分析 在使用Log4j2时,虽然可以正确读取配置文件并生成log文件,但偶然发现控制台打印了异常信息如下: 2018-12-31 17:28:14,282 Log4j2-TF-19-ConfiguratonFileWatcher-6 ERROR Unable to invoke factor...

2019-01-02 22:07:17

阅读数 1262

评论数 0

Log4j2 - java.lang.NoSuchMethodError: com.lmax.disruptor.dsl.Disruptor

问题 项目使用了log4j2,由于使用了全局异步打印日志的方式,还需要引入disruptor的依赖,最后使用的log4j2和disruptor的版本依赖如下: <dependency> <groupId&gt...

2019-01-02 22:00:50

阅读数 576

评论数 0

升级log4j到log4j2报错:cannot access org.apache.http.annotation.NotThreadSafe

问题与分析 今天把项目的log4j的依赖改成了log4j2的依赖后,发现使用Maven打包时报错如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (defaul...

2018-12-28 01:18:41

阅读数 677

评论数 0

log日志中不打印异常栈的具体信息

问题与分析 最近在查项目的log时发现报了大量的NPE(NullPointerException),诡异的是只log了Exception的类名,却没有具体的堆栈信息,以致于无法对该NPE异常进行准确定位。 这是因为jvm自身存在着优化机制,但一个同样的异常重复出现并被打印到log后,jvm可以...

2018-12-27 01:29:13

阅读数 731

评论数 1

log4j和log4j2怎么动态加载配置文件

应用场景与问题 当项目在运行时,我们如果需要修改log4j 1.X或者log4j2的配置文件,一般来说我们是不能直接将项目停止运行再来修改文件重新部署的。于是就有这样一个问题:如何在不停止当前项目的运行的情况下,让系统能够自动地监控配置文件的修改状况,从而实现动态加载配置文件的功能?而log4j...

2018-12-26 01:37:00

阅读数 1135

评论数 0

log4j2中LevelRangeFilter的注意点

LevelRangeFilter的注意点 在log4j2中,LevelRangeFilter的minLevel,maxLevel的配置是和log4j 1.x相反的;minLevel需要配置的是高级别,maxLevel配置的是低级别,如下: <LevelRangeFilter ...

2018-12-22 23:10:49

阅读数 406

评论数 0

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