- 博客(287)
- 资源 (8)
- 收藏
- 关注
原创 (二)jmeter beanShell jar调用
1 背景(传递参数sigin md5动态生成)开发人员自测接口的时候麻烦2 配置jar路径3 jar调用方法4 请求5 疑问,当md5中有中文的时候会出现问题5.1 中文的时候md5 加密失败,但在intellij中和eclipse中可以。(解决方法,content encoding UTF-8 ,修改配置文件,修改jar中的代码)
2017-06-28 17:52:53
1960
原创 (一)jmeter hello demo
(一)jmeter初次使用..0 背景介绍(请求工具,浏览器中直接访问,postman,火狐插件HttpRequester)1 下载2 配置3 创建一个接口请求
2017-06-28 17:37:07
577
原创 (三)碎碎念接口优化--GC异常
促销系统在运行很长的一段时间里,突然报错了,影响了线上的一些功能。上异常,报出的GC异常如下。java.lang.RuntimeException: org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframe
2017-05-05 18:20:00
2903
原创 (一)碎碎念接口优化--新代码提交问题
今天一个慢接口问题,响应时间超时,查看接口的响应时间近20s,首先声明解决这个问题和技术没有什么大关系,和技巧有关系吧,O(∩_∩)O~1 发现接口慢首先不管三七二十一,先把线上的环境接口域名切换到staging环境(预发布环境),而后就是各个项目的远程调试了,从大的范围到小得范围改变断点,排除法,直接发现哪个方法的,哪行代码执行慢。结果发现这行代码调用的是另一个dubbo项目,ucent
2017-04-19 11:36:35
797
原创 linux pid 管理
问题昨天同事在启动job的时候怎么也启动不了, ps aux|grep java 结果出来一大堆,看着眼花缭乱的,这台服务器用main方法启动job,近几十个,所以想尽快的找到自己的job变得很困难,或者是通过job的名称来找,这就需要我们能记住job名称并且要命名规范,有一种方式能尽快找到自己想要的job进程的pid号,直接杀掉再操作就可以了。linux pid 简介1. s
2017-03-15 11:43:41
1899
原创 接口优化小思
未雨绸缪 再有经验的开发者也无法全面对接口性能评估,难免或有疏漏,良好的监控工具,客观的可以查看接口的各个性能。 公司最近用的是听云第三方的性能管理监控平台来监控各个http接口和dubbo接口,包括web应用过程、数据库、noSQL、外部应用等,可以清晰的看到各个接口调用耗时百分比,响应时间及平均响应时间,吞吐率,错误率,Apdex等,可以直观的看到接口调
2017-03-15 11:42:52
1387
原创 linux网络文件挂载
网络文件挂载 环境: 服务器:10.255.222.111 客户端1:10.255.222.153 客户端2:10.255.222.152 1 、在服务器配置 /etc/exports 文件中配置如下,添加可以共享的文件夹和允许客户端地址 /etc/ddconf/dig 10.255.222.153(rw) /et
2017-01-12 15:20:14
1077
原创 dubbo服务端启动注册成功,客户端无法调用问题
昨天由于某个挂载问题重启了一下机器,重新挂载完毕,重启了dubbo provider 153这台服务器的一个节点,重启tomcat没有问题发,在dubbo admin可视化界面中也显示该dubbo provider注册zookeeper注册成功,但是客户端在调用的时候报错,显示没有可使用的provider,猜想在reboot -n 重启机器后,防火墙默认开启了。于是屏蔽防火墙,service
2017-01-12 11:49:27
8630
原创 随着时间的长河向前走
经过炎热的夏季和金色的秋季后,我也在季节的轮回中褪去一层,终于迎来了安静的冬季。 也许曾经迷失过方向,也许曾经质问过生活,寻觅人生意义的所在,内心充满了雾霾。也许人的一生就类似四季的变化,懵懂期,迷茫期,雾霾期,晴朗期,就这样轮回的,当没有了烦恼,参透人生的时候,也许落叶也快归根了…… 时间的长河总会向前走,无论一天中的你是开心的,不开心的,我们都无法阻止时间的
2016-12-14 16:41:05
697
原创 开发过程中dubbo 实体序列化问题
首先想到的是java为什么要序列化?网上看到的一篇文章如下。http://blog.csdn.net/wangloveall/article/details/7992448/开发过程中的问题 某个模块需求改变的时候,需要对之前已经序列化的实体添加字段,并且通过dubbo服务调用返回实体的所有属性(包括新添加的属性字段)。但是在dubbo服务端调用dubbo客户端时
2016-09-06 17:05:12
16322
1
转载 (七) mysql explain
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了,如: explain select * from statuses_status where id=11;explain列的解释
2016-08-29 16:46:11
752
转载 (六)2.4 Mysql Hash索引和B-tree索引区别
MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事
2016-08-29 16:45:52
923
原创 (五)2.3 查看索引使用情况
查看索引使用情况通过show status like 'Handler_%'查看索引的使用情况执行show status like 'Handler_%' 查询结果如下:Handler_commit2273182376Handler_delete13147785Handler_discover0
2016-08-29 16:45:35
1242
原创 (四)2.2 mysql 数据库对象优化之--优化索引
索引是提高数据库性能的常用方法,它可以令数据库服务器以比没有索引快得多的速度检索特定的行,尤其是在查询语句当中包含有MAX(), MIN()和ORDERBY这些命令的时候,性能提高更为明显. 那该对哪些字段建立索引呢?一般说来,索引应建立在那些将用于JOIN, WHERE判断和ORDER BY排序的字段上。尽量不要对数据库中某个含有大量重复的值的字段建立索引。对于一个ENUM类型的字段
2016-08-29 16:45:11
967
原创 (三)2.1 mysql 数据库对象优化之--数据库引擎选择
首先mysql数据库对象包括哪些?数据库(database)表(table) 和我们日常使用的表格类似,由行和列组成,一行数据成为一个记录,它表达具有一定意义的组合。一个数据表是由一个或者多条记录组成,没有任何记录的表称为空表。每个表中通常有唯一的一个主关键字,用于唯一的确定一条记录。索引(index) 索引是根据指定的数据库表列建立起来的顺序。提供
2016-08-29 16:44:44
1399
原创 (二)mysql 优化相关
mysql查询速度慢的一些可能原因 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。(计算列创建,例如http://blog.csdn.net/vvhesj/article/details/22749957) 4、内存不足 5、网络速度慢 6、
2016-08-29 16:44:13
746
原创 (一)mysql介绍
mysql是一种开放源代码的关系型数据库管理系统(RDBMS),MySql数据常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。mysql历史 1999~2000年,MySQL AB公司在瑞典成立。Monty雇了几个人与Sleepycat合作,开发出了Berkeley DB引擎, 因为BDB支持事务处理,所以MySQL从此开始支持事务处理了。2000年4月,MySQL
2016-08-29 16:43:39
2475
原创 (十)Intellij 远程调试 a bug
接上篇文章:http://blog.csdn.net/lovesummerforever/article/details/50327445经常使用第一种远程调试方法,也就是不改动任何的配置文件,使用jpda默认端口8000,linux启动方式./catalina.sh jpda start ,报错误如下所示。ERROR: Cannot load this JVM TI ag
2016-08-26 14:46:56
4958
原创 需求变化之版本兼容
我们常常会遇到这样的问题,一个需求在最初设计的时候是这样,并且发版了该版本,随着时间的发展,需求有了新的变化,或者在之前的需求基础上添加一些业务逻辑。对于互联网来说,需求变动是在平常不过的一件时间了。在需求的变动中,客户端版本和服务器端版本都在不断升级,而我们的用户使用app的时候可能会使用app的很多个版本,所以我们的接口设计就要考虑到客户端的版本兼容问题。 那如何让接口能应对
2016-08-22 14:16:04
1118
原创 缓存陷阱
场景促销满减活动需求,例如满200减100,满100减20 ,这样可以配置满减的阶段,以及计算非满减和满减后的价格进行结算。接口设计在设计过程中需要这样的一个接口,获取该电子书参与的所有促销的活动(为了扩展限时抢活动),
2016-08-16 17:26:29
847
原创 java 读取配置文件
前几天因为配置文件的事,线上的job挂掉了,使用的是spring加载配置文件方式。spring配置如下 test.properties api-test.properties DecryptPropertyPlaceholderConfigurer类如下所示。public class DecryptPropertyPlacehol
2016-06-30 10:06:08
1122
原创 maven deploy 之父子项目依赖
新分支上开发新的迭代版本的时候,由于添加了新的dubbo接口,于是更新了一下新版本的jar,同时更新了父项目的版本号,但是在deploy的时候只是deploy了子项目api,并没有把父项目的pom.xml deploy到私服上,于是在线上重新部署项目的时候,打包报错如下。[ERROR] Failed to execute goal on project media-hapi: Could no
2016-06-28 15:48:42
14519
原创 由一次merge错误引发git 分支模型的思考
问题描述问题的解决ps:http://nvie.com/posts/a-successful-git-branching-model/
2016-06-28 11:09:35
4332
2
原创 intellij git 更新代码报错
更新intellij中的代码(ctrl+t),发现报错如下:17:17:27 Can't update: no tracked branch No tracked branch configured for branch media-promotion20160622. To make your branch track a remote branc
2016-06-27 16:03:02
8665
原创 intellij git tag
在intellij 中对分支打tag操作。为什么要打tag?会有这样的问题出现,1 一个版本开发结束后,进行分支合并,在master上进行测试 上线,上线后发现有问题需要急需退回到上一个版本,这就要求我们自己手动在服务器上备份很多的war或者备份很多的文件夹。2 如果一般的修改在没有拉取新分支,而是在master上直接修改的话,git tag和git branches区别?
2016-06-27 15:53:46
9789
原创 2015年度总结-->2016 demo年
放在草稿箱很久的总结博客,今天发一下,一是告诉自己要不断总结新的知识点,总结生活。二是要告诉自己博客多久没有写啦,本月要补上啦。不然就感觉自己没有前进反而倒退了。(2016年4月21日23:45:00)。 2015总结比每年来的晚了一些。 2015年是逐渐步入正轨的一年,如论是生活上还是工作上,都开始逐渐稳定。 感谢他人,同时感谢自己,不再玻璃心,收拾
2016-04-21 23:47:45
1013
原创 replace与replaceAll的区别
偶人的机会,查看{ 和}的转义, 写了个小demo, 发现replace是不需要转义的, 而replaceAll是需要进行转义才能进行替换。replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);replaceAll的参数是regex,即
2016-03-29 17:38:55
784
原创 (二)mysql索引操作
索引 当我们对一个字段经常查询,而修改很少的时候 ,数据量又很大的情况下,我们可以对该字段建立索引。所谓的索引就像我们在word为一篇文章建立目录,我们可以根据word的页码和目录尽快的查询出我们想要的内容。在mysql中,索引的意义也是如此,mysql有如下几种索引累心。 一、普通索引 没有特殊的含义索引,代码如下: 直接为某个表的某个字段创
2016-02-28 16:12:34
1399
原创 (一)一个问题引入:mysql数据库优化
在测试的时候录入近千万级的数据,实时的显示历史记录查询出现问题。sql如下所示:select * from table_test where date = '2016-01-15' AND type != 0 ORDER by lottery_date desc limit 100;由于这条语句的查询速度较慢导致调用soa dubbo接口的时候超时,所以需要对这条sql进行查询
2016-02-23 16:12:36
815
1
原创 (二)由浅入深java集合--Hashtable
什么时候使用Hashtable? Hashtable是线程安全的,如果有多个线程访问相同的实例的可能时,可以选择使用Hashtable,反之,如果非线程安全的数据结构能带来更好的性能,HashMap更加灵活一些。Hashtable的使用代码见:Hashtable数据结构? Hashtable的数据结构和HashMap的
2016-01-29 10:33:48
1429
原创 (一)由浅入深java集合--HashMap原理
由浅入深hashmap HashMap所在java集合的位置如下图所示1 、大致介绍一下java的集合体系结构 List Set Map是这个集合体系中最主要的三个接口。 List、Set继承自Collection接口。 Set不允许元素重复。HashS
2016-01-29 10:33:02
1311
原创 (九)Intellij 远程调试
题how to tackle and debug issues in scenarios where they only occur in production (or other remote environment) but not in development environment . as anybody who has been in this kind of situation
2015-12-17 20:03:04
5770
原创 (八)Intellij mybatis 插件mybatis-generator 使用
Eclipse中可以可以使用mybatis插件自动生成实体类、以及mybatis 的xml文件,在intellij中同样适用。在resources文件夹下建立文件generatorConfig.xml,代码如下所示:<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Genera
2015-12-14 17:59:32
8490
1
原创 (七)Intellij 中的git操作
git原理以后会分章节介绍,本次主要说一下intellij怎样操作git。intellij有很好的git操作界面,可以拉取代码,拉取分支详情,提交代码到本地仓库,提交代码到远程仓库,可以merge本地分支,merge远程分支,可以自由的切换分支,可以解决merge带来的冲突问题。总之可以完成基本的git操作,详情如下。 1、 更新代码 ctrl+T,更新的是远程仓库的代码。(ps:默认更新选择的是branch default 和using stash,可以研究一下其他的选项哦)
2015-12-01 23:53:13
83716
7
原创 (六)Intellij 中的蜡笔黄--警告
上篇文章中,从创建自己的todo中提到了todo的颜色是深蓝色,而颜色最多的蜡笔黄,蜡笔黄在intellij中是警告的意思。如下图所示警告是告诉我们可能会引发bug出现的地方。有意思的地方有木有发现在打开文件的时候,代码文件滚动条的右上角有一只眼睛,然后鼠标移动到上面的时候
2015-11-24 17:56:56
6355
2
原创 (五)Intellij 创建自己的TODO
(五)Intellij 创建自己的TODO 小故事,大道理。小技巧,大用途。 在写复杂的业务逻辑的时候,大概的思路有了,有的时候一次不可能做到十分的完善,可能会有这种情况,写这个方法的时候发现需要调用另个方法,而另一个方法是需要创建的;或者写这个方法的时候,某个参数需要放在静态类中,而静态类所在的项目是在另个工程里;等等一系列的情况,我们不能因为某个小的部分而放弃完整的一个方法过程,所以往往需要在写业务逻辑的时候,需要加上TODO,来表明这过程中还有需要修改的,不会让自己的大脑
2015-11-24 17:54:17
11688
原创 (十)轻松Dubbo管理控制台
dubbo-admin.war下载地址: http://download.csdn.net/detail/lovesummerforever/9166427 (也可以自己从dubbo的git中下载源码,自己打包成war,然后放到容器中)zkui是不能满足我们对dubbo性能方面的查看,dubbo自带的可视化控制台界面。把下载好的war,修改dubbo.properties文件中的zoo
2015-10-10 11:01:59
4593
翻译 (九)轻松dubbo--结果缓存
缓存的应用非常广泛,为了提高数据访问的速度。Dubbo也不例外,它提供了声明式缓存,以减少用户加缓存的工作量。一、Dubbo中缓存策略lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。threadlocal 当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。jcache 与JSR107集成,
2015-10-10 11:01:24
6058
Xml转Json需要的jar包
2014-05-20
jquery权威指南(第2版)示例源代码
2015-05-07
MongoDB VUE
2014-10-14
jquery权威指南 第2版(全)
2015-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅