自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Agly_Charlie的博客

大家一起来学习^_^

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

原创 Gunicorn 启动过程源码浅析

Gunicorn启动过程源码

2022-03-24 16:09:52 518

原创 记一次 CMS GC导致 FULL GC 时间开销很大的排查

记一次 CMS GC导致 FULL GC 时间开销很大的排查背景定位分析过程第一次尝试解决方案CMS GC收集器分析了解CMS收集原理优缺点分析总结分析根因解决方案背景服务接入注册中心后,就会有实例健康检查,通过ip+port的方式访问接口,检查实例是否健康,某日有个实例出现了告警。检查发现是当时接口超时异常了,触发告警。短暂的时间后,服务又正常恢复了,接口正常响应。观察日志没有异常问题。定位分析过程这个健康接口是个简单的返回,没有经过DB、缓存等。所以超时问题出现在服务本身。查看CAT、

2021-12-22 11:42:10 1854

原创 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 4727 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 3438 1

原创 ElasticSearch 数据查询、写入、更新、删除的底层原理

ElasticSearch 数据查询、写入、更新、删除的底层原理ElasticSearch 数据查询、写入、更新、删除的底层原理读数据过程搜索数据过程写数据过程更新数据过程删除数据过程ElasticSearch 数据查询、写入、更新、删除的底层原理读数据过程可以通过 doc id 来查询,根据路由算法,默认会根据 doc id 进行 hash,判断出来当时把 doc id 分配到了对应的 shard 上面去,然后去那个 shard 去查询。* 客户端发送请求到任意一个 node,成为 coordin

2021-04-24 21:48:18 1459

原创 ElasticSearch-基本概念:索引、类型、文档

ElasticSearch-基本概念ElasticSearch-基本概念文档(Document)索引(Index)类型( Type )类比与抽象ElasticSearch-基本概念基本概念:索引、类型、文档文档(Document)ES面向文档的,文档是所有可搜搜数据的最小单位关系型数据库中的一条记录,如一台服务器记录文档会被序列化成JSON格式,保存在ES中每个文档有个DOC ID( Unique ID)索引(Index)索引是文档的容器,是一类文档的集合索引的Mapping定义文

2021-04-24 21:27:41 692

原创 Springboot2.x的session和cookie有效期

session和cookie的相关区别和联系就不介绍了,这里就记录一下笔记。背景最近在做单点登录CAS的问题,在后端塞一个cookie uid用于前端的登录拉起,并且设置了max-age, 但是测试的时候,一直有个问题,就是前端页面打开,不做任何操作,停留30分钟左右,然后点击按钮,按理说是应该会发送到后端,但是实际上却发生了302的跳转,前端也没有拉起登录页面,说明登录状态还在(根据uid判...

2019-05-10 01:26:54 12743 2

转载 mysql 连表操作后字符集不同导致索引失效

mysql 连表操作后字符集不同导致索引失效背景一个表的字符集为utf8mb4一个表的字符集为utf8连表查询后可以发现索引失效的情况,查询很慢。这时候可以通过show warnings;查询警告信息。发现了convert(testdb.t1.code using utf8mb4)之后,发现2个表的字符集不一样。t1为utf8,t2为utf8mb4。但是为什么表字符集不一样(实际是字段字...

2019-02-27 16:45:07 2390

原创 sql查询结果的行记录转换为列属性

sql查询结果的行记录转换为列属性数据库查询结果后,某一列的结果意义是代表了不同的属性,根据不同的属性,进行转化为列。实战1转化前mysql> select logid,game,account,platform from tbaccess_mgame limit 2;+-------+------+------------------+----------+| logid |...

2019-02-27 16:32:31 3520

转载 mysql 批量操作的问题

mysql 批量操作的问题项目中使用批量操作,但是发现插入还是很慢,追踪了源码和查看了资料,发现一个平时没有注意到的问题,mysql的批量操作默认是没有开启的,开启之后操作速度是远远提高了。batchupdate的操作需要url参数 rewriteBatchedStatements=true参考1:https://stackoverflow.com/questions/26307760/...

2019-02-27 16:18:48 812

转载 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 1746

转载 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 14571

翻译 Java集合修改异常:ConcurrentModificationException with LinkedHashMap

集合修改异常:ConcurrentModificationException with LinkedHashMapref: https://stackoverflow.com/questions/16180568/concurrentmodificationexception-with-linkedhashmap项目中并没有对集合进行修改操作,但是却报错了这个异常,甚是疑惑,所以了解了一下这个...

2019-02-27 15:41:48 1700

原创 jQuery+ajax的数组交互传输

常常会遇到多选框的情况,当多选的时候,前后端的交互就是数组的交互传输。查看网络信息,发现发送的post信息中的数组信息为&arr[]=aaa&arr[]=bbb&arr[]=ccc。多了一对方括号,所以在servlet中不能通过request.getParameter(“arr”)获取到正常的数组参数。方法一查阅资料之后发现,需要在data参数里,加一个traditi...

2019-02-27 15:27:15 283

原创 mysql对空值null和空串的处理——IF和IFNULL的使用

判断是否为空值nullifnull($col,'未知区服') // 当$col 为null 返回'未知区服'判断是否为空串""IF($col="",'未知游戏',$col) // 当$col为空字符串 返回'未知游戏' 否则返回$col空值和空串的判断并赋予默认值(IF和IFNULL的组合使用)当需要判断字段的值为null 或者空字符串的时候赋予默认值,例子:REPLACE INT...

2019-02-27 15:14:43 9456 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 7532

原创 【Spring实战(第四版)笔记】——REST在响应中设置头部信息

<Spring实战(第四版)笔记>——REST在响应中设置头部信息情景描述:客户端新增资源对象,服务端保存资源并返回信息。@RestController@RequestMapping(value = "city")public class CityHeaderController { @Autowired private CityService cityServ...

2018-10-10 19:24:49 2930

原创 【Spring实战(第四版)笔记】——REST发送错误信息给客户端

<Spring实战(第四版)笔记>——REST发送错误信息给客户端情景描述:客户端传入id,服务端查找对象并返回信息。@RestController@RequestMapping(value = "city")public class CityRestController { @Autowired private CityService cityServic

2018-10-10 16:46:50 427

原创 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 6535

原创 【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 680

原创 【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 419

原创 【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 880

原创 【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 1293

原创 【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 551

原创 【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 676

原创 【unix学习】文件处理1—查看、统计、压缩、查找文件

文件处理—查看、统计、压缩、查找文件文件处理查看统计压缩查找文件文本文件查看统计文件的字符数压缩文件的格式文件查找find查找全部任何文件查找可执行文件文本文件查看一次性全部查看 cat file翻页查看 more cat file 按q退出 显示行数的查看 nl cat file 十六进制查看 od -h file八进制查看 od file 查看文件的开始几行

2017-11-03 00:40:00 582

原创 【unix学习】文件系统信息和文件权限

文件系统信息和文件权限文件系统信息和文件权限cpuinfo cpu的信息文件系统文件系统存储信息文件类型区分 ll 和 du 显示文件的大小的意义删除文件夹复制文件文件类型文件的查找文件的权限cpuinfo cpu的信息总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 ca

2017-11-03 00:31:55 597

原创 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 7539

原创 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 9394 1

原创 注解开发mybatis的mapper属性和字段不对应问题@Results—resultMap

注解开发—mybatis的mapper属性和字段不对应问题@Results—resultMapMybatis给我们提供了一种映射方式,如果属性的命名是遵从驼峰命名法的,数据列名遵从下划线命名。MyBatis支持使用注解来配置映射语句,不再需要在XML配置文件中配置。学习内容@Results对应resultMap@Result对应result 这两个注解是应用在方法的级别上的,也就是在mappe

2017-10-10 18:02:02 25229

原创 mysql表新增添加一列

mysql如果想在一个已经建好的表中添加一列有这样的需求,已经建立的表,随着需求的变化,会需要在这个表增加一列。当然可以新建表建立联系满足需求。 但就仅新增一列这个问题,可以有以下操作: 针对数据库:mysqlALTER ... ADD COLUMN .... 在表的最后一列增加新的一列ALTER TABLE `tbname` ADD COLUMN `state` TINYINT(2)

2017-10-10 17:27:41 76994 5

原创 Jsp 和 Servlet 的对比学习

JSP 和 SERVLETJSP(JavaServlet Page)实际上它也是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。具体到Tomcat Web应用服务器中,它通过一个多重继承,分别从Java的HttpJspPage和HttpServlet两个类那里继承和实现一些方法,然后封装一个叫做HttpJspBase的类从而实现了一个通用化的JSP类,用户

2017-10-08 11:24:25 780 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 651

原创 Servlet——了解Java Servlet技术

Servlet——了解Java Servlet技术什么是ServletServlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet必须部署在Java servlet容器才能使用Ser

2017-09-25 01:25:18 609

原创 【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 1221

原创 spring的中文乱码问题--tomcat原因

spring的中文乱码问题问题的前提:请确保代码的文件编码是否为utf-8,和页面的编码格式是否为utf-8,如果都是utf-8编码,视图渲染后在浏览器仍然是乱码,那么就很有可能是Tomcat把你的编码给改为GBK的格式了。 * 那么怎么知道是Tomcat的编码原因呢??* 简单,把编码设为GBK,看看是不是不会发生中文乱码,直接简单。IntelliJ IDEA运行tomcat时编码错误及如何指

2017-09-08 09:56:32 1291

转载 使用Spring进行面向切面编程(AOP)

使用Spring进行面向切面编程(AOP)使用Spring进行面向切面编程AOP教程学习简介spring 20术语通知类型Spring的AOP代理声明一个切面aspect声明一个切入点pointcutAspectJ 切入点指定者切入点表达式 execution pointcut designator声明通知通知参数访问当前的连接点处理参数教程学习http://www.b

2017-09-07 18:17:54 483

翻译 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 1110

原创 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 7264 1

原创 springmvc 数据传输跨域问题 access control allow origin——JSONP数据格式解决

springmvc 数据传输跨域问题之JSONP数据格式json和jsonp的区别自行搜索啦~~ 需要用到的包:这个是@ResponseBody返回数据的转换包 springmvc 在前端后端交互数据的时候,使用了跨域访问,一开始我只是用json数据传输,发现以下问题: 就是不允许跨域请求,所以后端数据传输需要转换为jsonp的格式。我是这样解决的:控制器方法 在springmvc.xm

2017-03-04 16:29:34 2702

空空如也

空空如也

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

TA关注的人

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