buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 22 下一页

2017年12月28日 #

有关于异常捕获点滴,plus我也揭揭apache-common的短

摘要: 揭短ExceptionUtils:有些异常并没有root cause的,此时,调用ExceptionUtils的getRootCause(final Throwable throwable)返回值是null,而你调用其getRootCauseMessage(final Throwable th)时,反而有返回值。 查看getRootCauseMessage的代码实现,发现它做了二元判断,如果root cause是null,它就去取th本身的message。 阅读全文

posted @ 2017-12-28 20:09 buguge 阅读(910) 评论(0) 推荐(0)

2017年12月15日 #

Response.Redirect & window.location.href

摘要: 对接中信的微信H5支付时,对方(其实是微信)需要对我们的域名进行授权,即,我方需向渠道报备支付域名,微信只认可由此域名发起的支付交易。 支付中心只提供了一套支付接口供下游系统访问。因为给渠道报备的域名是支付中心的域名,为此,支付中心需要做一个中间页,由这个中间页发起到渠道的支付请求。 测试时,发现微 阅读全文

posted @ 2017-12-15 12:30 buguge 阅读(593) 评论(0) 推荐(0)

2017年12月12日 #

用int还是用Integer?

摘要: Integer默认值是null,可以区分未赋值和值为0的情况。比如未参加考试的学生和考试成绩为0的学生 加减乘除和比较运算较多,用int 容器里推荐用Integer。 对于PO实体类,如果db里int型字段允许null,则属性应定义为Integer。 当然,如果系统限定db里int字段不允许null值,则也可考虑将属性定义为int。 对于应用程序里定义的枚举类型, 其值如果是整形,则最好定义为int,方便与相关的其他int值或Integer值的比较 Integer提供了一系列数据的成员和操作,如Integer.MAX_VALUE,Integer.valueOf(),Integer.compare(),compareTo(),不过一般用的比较少。建议,一般用int类型,这样一方面省去了拆装箱,另一方面也会规避数据比较时可能带来的bug。 阅读全文

posted @ 2017-12-12 16:37 buguge 阅读(2207) 评论(0) 推荐(0)

2017年12月8日 #

java多线程小题一瞥

摘要: 在java中,有2种方式来创建线程执行子任务: 直接继承Thread类,调用start方法 实现Runnable接口来定义一个子任务,然后交由Thread去执行 start方法和run方法的区别: start用来创建新线程来异步执行子任务 run只是一个普通的方法,调用run不会新建线程 阅读全文

posted @ 2017-12-08 16:16 buguge 阅读(239) 评论(0) 推荐(0)

2017年11月15日 #

java-Unicode与中文的转换

摘要: 输出结果: 阅读全文

posted @ 2017-11-15 20:09 buguge 阅读(859) 评论(0) 推荐(0)

2017年10月25日 #

asp.net拦截器

摘要: 一 拦截器又称过滤器。 asp.net mvc本身是自带3种拦截器:Action拦截器、Result拦截器、Exception拦截器。 应用中常见的拦截器有日志拦截器(Action拦截器)和异常处理拦截器(Exception拦截器)。 java里spring mvc也常用拦截器来做些非干预业务逻辑的 阅读全文

posted @ 2017-10-25 15:05 buguge 阅读(5945) 评论(0) 推荐(0)

2017年10月17日 #

AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现

摘要: 对AutoMapper.Mapper.CreateMap使用不当,导致并发情况下出现异常System.NullReferenceException、System.InvalidOperationException 阅读全文

posted @ 2017-10-17 17:33 buguge 阅读(2108) 评论(0) 推荐(0)

2017年10月16日 #

数据结转性能优化,效果明显到不解释!

摘要: 优化程序中的sql 阅读全文

posted @ 2017-10-16 18:18 buguge 阅读(910) 评论(0) 推荐(0)

2017年9月22日 #

使用dynamic引发的异常:无法对 null 引用执行运行时绑定

摘要: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 无法对 null 引用执行运行时绑定 阅读全文

posted @ 2017-09-22 11:52 buguge 阅读(8048) 评论(1) 推荐(0)

2017年9月13日 #

多么痛的领悟---关于RMB数据类型导致的元转分分转元的bug

摘要: 关于金额的数据类型,以及元转分分转元之间这种转换,以及元和分的比较,我相信很多人都踩过坑 阅读全文

posted @ 2017-09-13 21:43 buguge 阅读(324) 评论(0) 推荐(1)

2017年8月23日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志(java-logback篇)

摘要: pattern %t / %thread-输出的是产生日志的线程名。线程名会重复,需更改线程名的值为一个唯一值,来实现唯一&统一标记一次请求的所有日志 阅读全文

posted @ 2017-08-23 13:29 buguge 阅读(2183) 评论(0) 推荐(0)

2017年8月17日 #

hibernate.validator.constraints.NotEmpty校验请求参数报错java.lang.NoClassDefFoundError: javax/el/PropertyNotFoundException

摘要: 找同事协助,尝试引入jstl,不奏效; 属性不用NotEmpty注解,改用NotBlank; 参考http://blog.csdn.net/bsg_24/article/details/49494975,将hibernate validator的版本改成4.3.1.Final。 阅读全文

posted @ 2017-08-17 19:37 buguge 阅读(3168) 评论(0) 推荐(0)

2017年8月15日 #

System.Data.Entity.Core.EntityException: The underlying provider failed on Open. ---> System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

摘要: System.Data.Entity.Core.EntityException: The underlying provider failed on Open. ---> System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。 阅读全文

posted @ 2017-08-15 22:18 buguge 阅读(1137) 评论(0) 推荐(0)

2017年7月26日 #

好吧,我承认我是爱瞎折腾----利用YDUI改变页面UI

摘要: 高频系统,时刻ONCALL 阅读全文

posted @ 2017-07-26 19:56 buguge 阅读(5717) 评论(0) 推荐(0)

2017年7月25日 #

办法总比困难多--JMeter压测小记

摘要: 做个代理接口。什么意思呢? 就是写个http接口部署到web容器里,让JMeter直接调用这个http接口。而这个接口的逻辑是封装了溢+接口需要的请求报文(参数和参数签名),然后来调用溢+接口。 这么一中转,问题就迎刃而解了。 阅读全文

posted @ 2017-07-25 19:16 buguge 阅读(460) 评论(0) 推荐(0)

2017年7月21日 #

字符串ASCII码排序

摘要: 发现有序字典并不是按照ASCII码排序的,用集合的OrderBy()方法、Array.Sort也是如此。此时,解决方案是在用Array.Sort时指定一个参数string.CompareOrdinal。string.CompareOrdinal先把每个字符转成相应的十进制数值(如 a 对应97,b对应98,A对应65,B对应66),然后再对十进制数值进行比较。 阅读全文

posted @ 2017-07-21 23:08 buguge 阅读(10527) 评论(0) 推荐(1)

2017年7月18日 #

XML反序列化遇到数字型节点值为空导致反序列化异常

摘要: 用字符串类型来保存数量、金额,代码不免有股怪怪的味道 阅读全文

posted @ 2017-07-18 20:58 buguge 阅读(2246) 评论(0) 推荐(0)

2017年7月12日 #

XML反序列化

摘要: 短信平台和支付中心在与某些第三方接口通信时,涉及到xml格式的报文。这时会用到xml反序列化成相应实体对象。 阅读全文

posted @ 2017-07-12 15:55 buguge 阅读(805) 评论(0) 推荐(0)

2017年7月7日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志(完结篇)

摘要: 设计软件,面向业务来设计,例如用一个自定义的变量来保存参数。这样不管这问题中不同的过程被调用时在同一个线程还是不同线程,变量的值都是一致的。 如果“高大上”到过分技术层面,由于我们不了解技术底层和问题,所以反而弄巧成拙。 阅读全文

posted @ 2017-07-07 19:37 buguge 阅读(314) 评论(0) 推荐(0)

2017年7月6日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志(续)

摘要: 一个ashx文件,在其构造器里给当前线程的name赋值。通过post方式流请求,测试发现,在给HttpWebRequest传参和不传参的两种情况下,传参时ashx的ProcessRequest方法里获取不到线程name,而不传参可以正常获取到。 由此,问题来了,Http流请求传参和不传参这两种情况有什么区别呢? 阅读全文

posted @ 2017-07-06 12:01 buguge 阅读(597) 评论(1) 推荐(0)

2017年6月29日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志

摘要: 即,应用程序对每一次请求的处理过程所记录的日志统一打了一个标识。 这样,在系统运维过程中进行排障时,尤其在并发请求的情况下,即使日志记录得你中有我我中有你,也很容易就可以查到处理某次请求的来龙去脉,进而帮助我们快速定位原因。我对这种日志记录实现方式屡试不爽。 阅读全文

posted @ 2017-06-29 21:58 buguge 阅读(649) 评论(0) 推荐(0)

2017年6月23日 #

多类继承情况下适应变化设计一例

摘要: 8个派生都这么改还是挺麻烦的,也违背了OCP原则。另外,从领域的角度来说,logFlag参数与整个功能并无关系,只是为了完善记录日志才“生硬地”加这么一个参数。所以,上面的实现方案不妥。改为封装一个LogFlag属性。这样,只需修改基类,派生类无需任何改动。调用方在实例化对象后,可以为LogFlag属性赋值(if possible) 阅读全文

posted @ 2017-06-23 21:46 buguge 阅读(468) 评论(0) 推荐(0)

2017年6月16日 #

溢+渠道对接之北京农商订单结算需求产品方案

摘要: 溢+支付是公司刚投产不久的项目,还有很多的事情要尝试、摸索、探索,项目内缺乏专业的支付人才包括结算、运营、产品和技术,对于创业公司的这种项目,而不是总是想着大而全。那样只会耗费人力和时间成本。单就支付渠道对接来说,我们对接的渠道也有十几家了,但是,目前在商用的也就是中信、易宝的支付和代付,更多的对接工作变成了无用功。这其中,大家免不了相互吐槽,带来负能量。所以,小步稳跑或许才是比较好的节奏。 阅读全文

posted @ 2017-06-16 22:51 buguge 阅读(333) 评论(0) 推荐(0)

分享一种系统事故&问题处理反馈方式(COE)

摘要: COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。 阅读全文

posted @ 2017-06-16 17:24 buguge 阅读(4213) 评论(1) 推荐(0)

2017年6月10日 #

支付中心接口设计之参数命名

摘要: 产品设计上有一条重要的原则:Don't Make Me Think,同样适用于软件设计 阅读全文

posted @ 2017-06-10 21:07 buguge 阅读(976) 评论(1) 推荐(0)

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 22 下一页