3 雨临Lewis

尚未进行身份认证

Coding in life.

等级
TA的排名 5k+

PostgreSQL - 如何杀死被锁死的进程

前言在一次系统迭代后用户投诉说无法成功登陆系统,经过测试重现和日志定位,最后发现是由于用户在ui上进行了某些操作后,触发了堆栈溢出异常,导致数据库里的用户登陆信息表的数据被锁住,无法释放。这个表里存放的是用户的session信息。虽然后来解决了问题,但是数据库里这个用户登录信息表里被lock住的数据始终无法释放,这导致用户永远无法登陆成功,需要手动跑SQL把锁去掉才行。杀掉指定进程Post...

2019-11-15 00:50:19

SQL - where条件里的!=会过滤值为null的数据

!=会过滤值为null的数据在测试数据时忽然发现,使用如下的SQL是无法查询到对应column为null的数据的:select * from test where name != 'Lewis';本意是想把表里name的值不为Lewis的所有数据都搜索出来,结果发现这样写无法把name的值为null的数据也包括进来。上面的!=换成<>也是一样的结果,这可能是因为在数据库里nu...

2019-11-14 00:10:23

SpringBoot JPA懒加载异常 - com.fasterxml.jackson.databind.JsonMappingException: could not initialize pr

问题与分析某日忽然发现在用postman测试数据时报错如下:com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.cbxsoftware.cbx.attachment.entity.RefAttachment#c109ec36e60c4a89a10eabc72416d984] -...

2019-10-24 08:49:26

由Java正则表达式的灾难性回溯引发的高CPU异常:java.util.regex.Pattern$Loop.match

问题与分析某天领导report了一个问题:线上的CPU自从上一个版本迭代后就一直处于居高不下的状况,领导看着这段时间的曲线图判断是有两条线程在不停的死循环。接到任务后去查看了AWS的CloudWatch,发现线上CPU确实一直居高不下,使用率基本是之前的两倍;另外发现线程使用率以比之前频繁很多。后来公司的大佬拿到dump后经过分析发现,是由正则表达式造成的CPU持续高使用率的问题。堆栈信息如...

2019-10-11 00:37:40

Jetty - Unable to compile class for JSP

问题与分析在启动公司项目时发现报错如下: [jetty] 2019-10-07 10:28:28.760:WARN:org.apache.jasper.compiler.Compiler:Error compiling file: D:\lewis.liu\CBX_KME\Program\jetty-temp\main\jsp\org\apache\jsp\invalidatePrevS...

2019-10-08 00:17:28

org.springframework.expression.spel.SpelEvaluationException: EL1030E

问题与分析在本地开发项目时发现报错如下:org.springframework.expression.spel.SpelEvaluationException: EL1030E: The operator 'ADD' is not supported between objects of type 'java.lang.String' and 'null' at org.springfram...

2019-10-08 00:12:00

ELK系列(7) - 测试环境下Logstash异常退出:block in multi_receive_encoded

问题与分析在本地测试无误后将ELK部署到了测试环境,结果第二天发现Logstash挂掉了,一开始以为是自动部署之类导致的问题。之后几天时间里Logstash总是会down掉,查看了下日志文件,发现报错如下:[2019-06-28T07:56:13,148][FATAL][logstash.runner ] An unexpected error occurred!{ : ...

2019-08-14 00:11:22

Linux - /bin/sh^M: bad interpreter: No such file or directory

问题在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下:/bin/sh^M: bad interpreter: No such file or directory经过查阅资料才知道,这是由于文件格式的问题:使用vi/vim进入该shell文件,按下:进入末行模式,输入set ff查询文件格式,结果如下:fileformat=dos这个问...

2019-08-14 00:06:40

Log4j2 - 日志框架中isDebugEnabled()的作用

为什么要使用isDebugEnabled()之前在系统的代码中发现有时候会在打印日志的时候先进行一次判断,如下:if (LOGGER.isDebugEnabled()) { LOGGER.debug("Search parameters: " + searchParams);}我们使用的是Log4j2框架,框架自身提供了类似的许多api,比如isErrorEnabled(),is...

2019-08-13 23:55:49

LeetCode - 412. Fizz Buzz

题目Write a program that outputs the string representation of numbers from 1 to n.But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. ...

2019-06-08 15:02:40

LeetCode - 771. Jewels and Stones

题目You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the ...

2019-06-08 15:01:59

LeetCode - 344. Reverse String

题目Write a function that reverses a string. The input string is given as an array of characters char[].Do not allocate extra space for another array, you must do this by modifying the input array in-...

2019-06-08 15:01:17

LeetCode - 709. To Lower Case

题目Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.Example 1:Input: "Hello"Output: "hello"Example 2:Input: "here"Output: "here"Examp...

2019-06-08 15:00:08

LeetCode - 136. Single Number

题目Given a non-empty array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without u...

2019-06-08 14:59:21

Hexo瞎折腾系列(9) - 网页标题崩溃特效

前言本系列的所有修改均基于本系列第一篇中的新增文件(譬如custom.js),请先自行阅读Hexo瞎折腾系列(1) - 准备工作与简单美化;并按照文章所说自行修改代码或文件。为网页添加标题崩溃特效该特效为:当用户离开站点相关的页面时,网页的标题会变成“已崩溃”,网站图标也会改变;当用户重新回到站点页面时才会恢复正常。实现方式如下:请在themes/next/source/js/src/c...

2019-05-26 13:47:19

ELK系列(5) - Logstash怎么分割字符串并添加新的字段到Elasticsearch

问题有时候我们想要在Logstash里对收集到的日志等信息进行分割,并且将分割后的字符作为新的字符来index到Elasticsearch里。假定需求如下:Logstash收集到的日志字段message的值是由多个字段拼接而成的,分隔符是;,;,如下:{ "message": "key_1=value_1;,;key_2=value2"}现在想要将message的值拆分成2个新...

2019-05-13 00:16:43

ELK系列(4) - Elasticsearch cannot write xcontent for unknown value of type class java.math.BigDecimal

java.lang.IllegalArgumentException: cannot write xcontent for unknown value of type class java.math.BigDecimal at org.elasticsearch.common.xcontent.XContentBuilder.unknownValue(XContentBuilder.java:7...

2019-05-12 17:33:44

ELK系列(3) - Elasticsearch修改jvm参数

方法Elasticsearch默认会配置1G的JVM堆的初始值和最大值,该jvm参数被配置在/config/jvm.options里:-Xms1g-Xmx1g如果只是个人开发小项目,可以把参数改小些,比如:-Xms512m-Xmx512m这个jvm.options用来配置各种jvm参数,比如GC、GClogging、heapdumps等。...

2019-05-12 17:20:03

ELK系列(2) - Kibana怎么修改日期格式Date format

问题Kibana在创建Index Patterns的时候,可以选择某个date类型的field作为排序字段。之后在Discover里打开对应的index,会发现这个date类型的field的格式显示如下:April 10th 2019, 17:40:32.359这是Kibana默认的日期格式,有两种修改的方式。方式一:全局修改登录http://localhost:5601/,会进入Ki...

2019-05-12 16:56:28

ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

前言最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录。首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开发者日后的维护。每当客户端生产一条消息并发送到消息队列后,就会插入一条对应的记录到数据库里。当这条消息被消费之后,又会更新数据库里对应的记录的几个column的值,比如status、updated_o...

2019-05-12 16:46:58

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。