- 博客(100)
- 收藏
- 关注
原创 记一次 CMS GC导致 FULL GC 时间开销很大的排查
记一次 CMS GC导致 FULL GC 时间开销很大的排查背景定位分析过程第一次尝试解决方案CMS GC收集器分析了解CMS收集原理优缺点分析总结分析根因解决方案背景服务接入注册中心后,就会有实例健康检查,通过ip+port的方式访问接口,检查实例是否健康,某日有个实例出现了告警。检查发现是当时接口超时异常了,触发告警。短暂的时间后,服务又正常恢复了,接口正常响应。观察日志没有异常问题。定位分析过程这个健康接口是个简单的返回,没有经过DB、缓存等。所以超时问题出现在服务本身。查看CAT、
2021-12-22 11:42:10
2021
原创 MySQL中的自增主键 ID自增到最大,使用完id会发生什么,怎么办?
文章目录背景测试过程创建表,自增ID场景一:测试自增ID已经达到最大值场景二:测试自增ID即将达到最大值总结解决方案扩展扩展1:修改字段的数据类型,建议使用modify 用法扩展2:Alter table的底层原理背景之前的学习和实践上了解到的是:SQL插入异常,主键冲突错误,因为自增ID达到上限后,再申请时它的值不会改变,继续插入数据会导致报主键冲突错误/* SQL Error (1062): Duplicate entry '2147483647' for key 'PRIMARY' */
2021-07-21 00:10:18
5488
1
原创 JVM 关于-XX:-TieredCompilation 的案例 导致CPU异常高
JVM 关于-XX:-TieredCompilation 的案例 导致CPU异常高背景项目出现的现象就是:我们有个服务POD每运行一段时间后会出现cpu异常。服务有个大接口(返回数据JSON 30-40M左右),定时几分钟请求进来。运行时间长了之后,会出现明显的毛刺。下图是POD服务的CPU监控下图是主机的CPU监控排查原因:一开始以为是JSON的工具的问题,因为项目用的是GSON工具,但是通过验证不会出现这个情况,40M的左右的请求不会导致这么验证的现象。最后排查定位使用了JVM参数 -X
2021-07-08 21:20:43
3680
1
原创 ElasticSearch 数据查询、写入、更新、删除的底层原理
ElasticSearch 数据查询、写入、更新、删除的底层原理ElasticSearch 数据查询、写入、更新、删除的底层原理读数据过程搜索数据过程写数据过程更新数据过程删除数据过程ElasticSearch 数据查询、写入、更新、删除的底层原理读数据过程可以通过 doc id 来查询,根据路由算法,默认会根据 doc id 进行 hash,判断出来当时把 doc id 分配到了对应的 shard 上面去,然后去那个 shard 去查询。* 客户端发送请求到任意一个 node,成为 coordin
2021-04-24 21:48:18
1600
原创 ElasticSearch-基本概念:索引、类型、文档
ElasticSearch-基本概念ElasticSearch-基本概念文档(Document)索引(Index)类型( Type )类比与抽象ElasticSearch-基本概念基本概念:索引、类型、文档文档(Document)ES面向文档的,文档是所有可搜搜数据的最小单位关系型数据库中的一条记录,如一台服务器记录文档会被序列化成JSON格式,保存在ES中每个文档有个DOC ID( Unique ID)索引(Index)索引是文档的容器,是一类文档的集合索引的Mapping定义文
2021-04-24 21:27:41
816
原创 Springboot2.x的session和cookie有效期
session和cookie的相关区别和联系就不介绍了,这里就记录一下笔记。背景最近在做单点登录CAS的问题,在后端塞一个cookie uid用于前端的登录拉起,并且设置了max-age, 但是测试的时候,一直有个问题,就是前端页面打开,不做任何操作,停留30分钟左右,然后点击按钮,按理说是应该会发送到后端,但是实际上却发生了302的跳转,前端也没有拉起登录页面,说明登录状态还在(根据uid判...
2019-05-10 01:26:54
13087
2
转载 mysql 连表操作后字符集不同导致索引失效
mysql 连表操作后字符集不同导致索引失效背景一个表的字符集为utf8mb4一个表的字符集为utf8连表查询后可以发现索引失效的情况,查询很慢。这时候可以通过show warnings;查询警告信息。发现了convert(testdb.t1.code using utf8mb4)之后,发现2个表的字符集不一样。t1为utf8,t2为utf8mb4。但是为什么表字符集不一样(实际是字段字...
2019-02-27 16:45:07
2442
原创 sql查询结果的行记录转换为列属性
sql查询结果的行记录转换为列属性数据库查询结果后,某一列的结果意义是代表了不同的属性,根据不同的属性,进行转化为列。实战1转化前mysql> select logid,game,account,platform from tbaccess_mgame limit 2;+-------+------+------------------+----------+| logid |...
2019-02-27 16:32:31
3607
转载 mysql 批量操作的问题
mysql 批量操作的问题项目中使用批量操作,但是发现插入还是很慢,追踪了源码和查看了资料,发现一个平时没有注意到的问题,mysql的批量操作默认是没有开启的,开启之后操作速度是远远提高了。batchupdate的操作需要url参数 rewriteBatchedStatements=true参考1:https://stackoverflow.com/questions/26307760/...
2019-02-27 16:18:48
851
转载 mysql 连接池超时问题
文章目录mysql 连接池超时问题查看超时参数修改修改超时参数查看超时参数参考MySQL中interactive_timeout和wait_timeout的区别interactive_timeoutwait_timeout总结参考mysql 连接池超时问题Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: T...
2019-02-27 16:08:01
1862
转载 Java线程池任务执行完毕后回收线程
Java线程池任务执行完毕后回收线程线程池中的所有任务执行完毕后,线程并没有停止,导致JVM出现OOM问题。后来查找了下面链接的资料,解决问题。ref: http://www.cnblogs.com/pengineer/p/5011965.html问题及现象: public static void main(String[] args) { BlockingQueue queu...
2019-02-27 15:54:27
14796
翻译 Java集合修改异常:ConcurrentModificationException with LinkedHashMap
集合修改异常:ConcurrentModificationException with LinkedHashMapref: https://stackoverflow.com/questions/16180568/concurrentmodificationexception-with-linkedhashmap项目中并没有对集合进行修改操作,但是却报错了这个异常,甚是疑惑,所以了解了一下这个...
2019-02-27 15:41:48
1792
原创 jQuery+ajax的数组交互传输
常常会遇到多选框的情况,当多选的时候,前后端的交互就是数组的交互传输。查看网络信息,发现发送的post信息中的数组信息为&arr[]=aaa&arr[]=bbb&arr[]=ccc。多了一对方括号,所以在servlet中不能通过request.getParameter(“arr”)获取到正常的数组参数。方法一查阅资料之后发现,需要在data参数里,加一个traditi...
2019-02-27 15:27:15
309
原创 mysql对空值null和空串的处理——IF和IFNULL的使用
判断是否为空值nullifnull($col,'未知区服') // 当$col 为null 返回'未知区服'判断是否为空串""IF($col="",'未知游戏',$col) // 当$col为空字符串 返回'未知游戏' 否则返回$col空值和空串的判断并赋予默认值(IF和IFNULL的组合使用)当需要判断字段的值为null 或者空字符串的时候赋予默认值,例子:REPLACE INT...
2019-02-27 15:14:43
9986
1
原创 update的where条件把索引的字段要带上,要不然就全表锁
update的where条件把索引的字段要带上,要不然就全表锁文章目录update的where条件把索引的字段要带上,要不然就全表锁本文主要内容背景在学习中总结一下内容关于锁的表sql加锁思考点InnoDB行锁实现方式本文主要内容报错了: java.sql.BatchUpdateException: Lock wait timeout exceeded; try restarting tra...
2018-10-12 20:23:57
7673
原创 【Spring实战(第四版)笔记】——REST在响应中设置头部信息
<Spring实战(第四版)笔记>——REST在响应中设置头部信息情景描述:客户端新增资源对象,服务端保存资源并返回信息。@RestController@RequestMapping(value = "city")public class CityHeaderController { @Autowired private CityService cityServ...
2018-10-10 19:24:49
2984
原创 【Spring实战(第四版)笔记】——REST发送错误信息给客户端
<Spring实战(第四版)笔记>——REST发送错误信息给客户端情景描述:客户端传入id,服务端查找对象并返回信息。@RestController@RequestMapping(value = "city")public class CityRestController { @Autowired private CityService cityServic
2018-10-10 16:46:50
459
原创 ubuntu14.04 安装 tensorflow9.0
安装命令ubuntu 14.04 + python27 环境下安装tensorflow-0.9.0 官网网址:http://www.tensorfly.cn/tfdoc/get_started/introduction.html安装pip(笔者的版本为9.0)$ sudo apt-get install python-pip python-dev仅使用 CPU 的版本的ten...
2018-03-06 20:27:48
6612
原创 【unix学习】shell编程—参数、流程控制、算数运算、函数
shell参数符号说明 与 区别变量赋值shell脚本if语句case语句循环expr 算数表达shell函数shell参数符号说明echo $0$1-$9 代表参数的位置,1代表第一个参数,,,,$* 把全部参数当作一个字符串形式的参数,"$1 $2 … $n"的形式$@ 把参数当作列表形式,与$*相同,"$1" "$2" … "$n" 的形式,注意引号的差别。$# 参数
2017-11-04 19:03:22
698
原创 【unix学习】进程和文件备份压缩打包
进程进程nice value进程查看显示进程详细信息动态实时显示进程信息后台前台进程daemons进程串行命令和并行命令nice value-20 – 19之间 表示进程的优先级,nice值越小,代表优先级越高,执行越早。 当设置优先级的nice值时,最低只能是0,当小于0时报错了。[s14516@gdufs]$nice -n -20 find / -name 'stdio.h'
2017-11-04 18:39:33
437
原创 【unix学习】重定向、管道、链接文件
重定向不在显示屏打印命令的错误信息,当找不到文件的时候,屏蔽了错误信息。 2和>之间不要有空格[s14516@gdufs]$find / -name 'stdio.h' 2> /dev/null整合文件内容f1和f2的文件内容合起来保存在一个文件cat f1 f2 > f标准输入输出 0 1 20 是一个文件描述符,表示标准输入(stdin) 1 是一个文件描述符,表示标准输出(stdout)
2017-11-04 17:25:43
896
原创 【unix学习】文件处理4—sed + wget + awk命令
unix的文件处理sed + wget + awk命令unix的文件处理sed wget awk命令sed命令formatcommand实例wget命令AWK工具格式实例sed命令Stream editor - Sed a streamlined, noninteractive editor 一个精简的、非交互式编辑formatsed ‘[address]command’ fi
2017-11-03 01:25:48
1379
原创 【unix学习】文件处理3—正则表达式和grep命令
unix文件处理—正则表达式和grep命令unix文件处理正则表达式和grep命令正则表达式grep命令PurposeformatOptions格式实例grep和正则表达式正则表达式使用\{\}匹配模式结果出现的次数 pattern\{n\} 用来匹配前面pattern出现次数。n为次数 pattern\{n,\}m 含义同上,但次数最少为n pattern\{n,m\} 含
2017-11-03 00:59:04
594
原创 【unix学习】文件处理2—文件sort、cut命令
文件sort、cut命令文件sortcut命令文件排序-sortsortoptionscut 定位符文件排序-sortsortOrdering a set of items according to some criteriaoptionsb Ignore leading blanks f Consider lowercases and uppercase letters
2017-11-03 00:45:37
735
原创 【unix学习】文件处理1—查看、统计、压缩、查找文件
文件处理—查看、统计、压缩、查找文件文件处理查看统计压缩查找文件文本文件查看统计文件的字符数压缩文件的格式文件查找find查找全部任何文件查找可执行文件文本文件查看一次性全部查看 cat file翻页查看 more cat file 按q退出 显示行数的查看 nl cat file 十六进制查看 od -h file八进制查看 od file 查看文件的开始几行
2017-11-03 00:40:00
604
原创 【unix学习】文件系统信息和文件权限
文件系统信息和文件权限文件系统信息和文件权限cpuinfo cpu的信息文件系统文件系统存储信息文件类型区分 ll 和 du 显示文件的大小的意义删除文件夹复制文件文件类型文件的查找文件的权限cpuinfo cpu的信息总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 ca
2017-11-03 00:31:55
682
原创 mybatis使用注解方式的删除更新操作
mybatis使用注解方式的删除更新操作mybatis本身提供的注解删除 @Delete("delete from user where userName = #{userName}") public int delete ( String userName ); 这个没有什么特殊的操作,理解了Insert操作之后这个delete操作就比较简单了。更新 @Update("u
2017-10-10 18:15:24
7694
原创 mybatis使用注解方式插入数据后获取自增长的主键值
mybatis使用注解方式插入数据后获取自增长的主键值Mybatis使用:Sql Annotation mybatis本身提供的注解插入插入的使用注解 获取自增id的方式有 INSERT INTO table_name (col1, col2,…) VALUES (‘val1’, ‘val2’…); 1. SELECT LAST_INSERT_ID(); 2. SELECT @@IDE
2017-10-10 18:10:05
9522
1
原创 注解开发mybatis的mapper属性和字段不对应问题@Results—resultMap
注解开发—mybatis的mapper属性和字段不对应问题@Results—resultMapMybatis给我们提供了一种映射方式,如果属性的命名是遵从驼峰命名法的,数据列名遵从下划线命名。MyBatis支持使用注解来配置映射语句,不再需要在XML配置文件中配置。学习内容@Results对应resultMap@Result对应result 这两个注解是应用在方法的级别上的,也就是在mappe
2017-10-10 18:02:02
25378
原创 mysql表新增添加一列
mysql如果想在一个已经建好的表中添加一列有这样的需求,已经建立的表,随着需求的变化,会需要在这个表增加一列。当然可以新建表建立联系满足需求。 但就仅新增一列这个问题,可以有以下操作: 针对数据库:mysqlALTER ... ADD COLUMN .... 在表的最后一列增加新的一列ALTER TABLE `tbname` ADD COLUMN `state` TINYINT(2)
2017-10-10 17:27:41
77553
5
原创 Jsp 和 Servlet 的对比学习
JSP 和 SERVLETJSP(JavaServlet Page)实际上它也是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。具体到Tomcat Web应用服务器中,它通过一个多重继承,分别从Java的HttpJspPage和HttpServlet两个类那里继承和实现一些方法,然后封装一个叫做HttpJspBase的类从而实现了一个通用化的JSP类,用户
2017-10-08 11:24:25
816
1
原创 JSP——了解Jsp技术
JSP——了解Jsp技术JSP(java server pages)是一种动态网页技术与servlet相同在服务器端执行,它实现了在java当中使用html标签。常见的动态网站开发技术JSP java平台 开发大型的企业型的 Asp.net .Net平台,简单易学,拖拉拽可视化 Php LAMP:Linux + Apache + Mysql + PhpJsp页面的元素构成指令 表达式 声明…..
2017-09-25 01:34:42
669
原创 Servlet——了解Java Servlet技术
Servlet——了解Java Servlet技术什么是ServletServlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet必须部署在Java servlet容器才能使用Ser
2017-09-25 01:25:18
651
原创 【unix学习】unix的基本命令
unix—基本命令unix基本命令基本命令获取系统的信息查看帮助手册指定章节数的帮助手册自定义名称永久生效文件系统基本命令修改提示符 [s14516@gdufs]$PS1=’[\u@gdufs]\$’指令以冒号分割/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games添加环境变量:[s1
2017-09-17 12:03:28
1471
原创 spring的中文乱码问题--tomcat原因
spring的中文乱码问题问题的前提:请确保代码的文件编码是否为utf-8,和页面的编码格式是否为utf-8,如果都是utf-8编码,视图渲染后在浏览器仍然是乱码,那么就很有可能是Tomcat把你的编码给改为GBK的格式了。 * 那么怎么知道是Tomcat的编码原因呢??* 简单,把编码设为GBK,看看是不是不会发生中文乱码,直接简单。IntelliJ IDEA运行tomcat时编码错误及如何指
2017-09-08 09:56:32
1317
转载 使用Spring进行面向切面编程(AOP)
使用Spring进行面向切面编程(AOP)使用Spring进行面向切面编程AOP教程学习简介spring 20术语通知类型Spring的AOP代理声明一个切面aspect声明一个切入点pointcutAspectJ 切入点指定者切入点表达式 execution pointcut designator声明通知通知参数访问当前的连接点处理参数教程学习http://www.b
2017-09-07 18:17:54
498
翻译 spring aop切面编写demo
spring aop切面编写demospring aop切面编写demo参考教程链接AOP的使用Maven dependencyCreating our Custom Annotation 定义我的注解Creating our Aspect 创建切面Creating our Pointcut and Advice 创建切入点和adviceLogging our Execution Ti
2017-09-07 14:59:29
1168
原创 Java 用msql LIKE语句模糊查询——prepareStatement LIKE语句
JAVA jdbc 用LIKE模糊搜索内容——prepareStatement LIKE语句问题: prepareStatement LIKE在mysql中可以输出结果,但是用java写就查找不到结果。public void getYunEventListByKw(String content) { PreparedStatement preStmt = null;
2017-03-04 17:21:05
7310
1
原创 springmvc 数据传输跨域问题 access control allow origin——JSONP数据格式解决
springmvc 数据传输跨域问题之JSONP数据格式json和jsonp的区别自行搜索啦~~ 需要用到的包:这个是@ResponseBody返回数据的转换包 springmvc 在前端后端交互数据的时候,使用了跨域访问,一开始我只是用json数据传输,发现以下问题: 就是不允许跨域请求,所以后端数据传输需要转换为jsonp的格式。我是这样解决的:控制器方法 在springmvc.xm
2017-03-04 16:29:34
2731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人