- 博客(46)
- 问答 (4)
- 收藏
- 关注
原创 Some useful DevOPS commands
while [ 1 ]; do sleep 1; ll; done # 无限循环while [ $i -lt 10 ]; do echo $i;let "i=$i+1"; done # 有限循环cat raw.txt | while read line; do echo $line; done # readlineuntil [ 1 = 0 ]; do sleep 1; ll; done #
2016-08-09 15:24:17
312
原创 淘宝商品详情平台化思考与实践
(部份整理自《Detail2.0总体方案-20140818》)1.现状背景Detail当前的问题可参见《Detail2.0介绍》(2014年7月),本文不赘述。而Detail新平台的目标是提升协作效率/稳定性/扩展性,倡导商品详情业务归一,能横向复用在其它Detail也能运用在非Detail场景。从产品到研发等各维度均展开梳理和重构,采取模块化、SDK/API等方式来定义协作和扩展机制,并提供合成和
2016-01-22 17:45:27
569
转载 MySQL数据库开发的三十六条军规
摘录自:http://www.infoq.com/cn/presentations/wsz-mysql-development 原作者:@吴诗展一、核心军规 1、尽量不在数据库做运算2、控制单表数据量3、保持表身段苗条4、平衡范式与冗余5、拒绝3B (BIG SQL && BIG Transaction && BIG Batch)二、字段类军规 6、用好数值字段类型7、将字符转化为
2015-12-03 10:02:20
1727
原创 通过Java反射测试类私有成员(新)
http://blog.youkuaiyun.com/u010996597/article/details/44673219 续上篇反射方式调用私有成员,最近对该方法进行了二次封装。ReflectUtil.java //部份代码略 /** * Invoking method plus * * @param object Java object * @
2015-05-25 09:05:33
444
原创 博客迁入欢迎关注...
原JavaEye博客:http://wangym.iteye.com/ 现已迁入优快云。 欢迎同学们关注、讨论。另外链下俺的GitHub:https://github.com/wangym
2015-05-21 15:59:07
315
原创 基于zxing-lib三步实现Android二维码应用
只需要基于开源项目zxing-lib,便可轻松创建独立二维码App,也可将二维码功能集成进App内。本文也是zxing-lib的使用文档。同时抛砖引玉,欢迎大家一起共建zxing-lib。 项目地址:https://github.com/wangym/zxing-client-android 遵循协议:Apache License Version 2.0 简介:zxing-lib是一款开源二维
2015-03-28 19:59:03
434
原创 通过Java反射测试类私有成员
在Java开发阶段,因为追求架构规范和遵循设计原则,所以要用private和protected修饰符去定义类的成员方法、变量、常量,这使得代码具封装性、内聚性等,但在测试阶段会造成一定的不便。通过Java的反射机制,便能很好地解决该问题。ReflectUtil.java//....../** * @author yumin * @since 2015-03-02 14:52 */publi
2015-03-27 11:08:51
434
原创 Android资源库
本人收集的各种Android资源,之前仅方便自已查阅所以未进行细致的说明。 现将其开放,欢迎大家关注和共建:https://github.com/wangym/android-resource[UPDATE-20150119] 添加各资源的简短说明易于了解 [UPDATE-20150130] 又新增一批资源并不定期更新中
2015-03-26 09:25:05
399
原创 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
最后更新:2010-08-18,增加对GSON的性能测试。近日做一些性能优化工作,在挑选JSON类库时,发现除了一般常用的JSON-lib外,还有一款号称性能最快的JSON处理器Jackson,于是用上了刚学会的JMeter,对这两个类库进行了简单的性能对比。
2015-03-25 11:18:17
417
原创 二维码生成使用规则
1、QR码可用尺寸知识普及QR码设有1到40的不同版本(种类),每个版本都具备固有的码元结构(码元数)。(码元是指构成QR码的方形黑白点。)“码元结构”是指二维码中的码元数。从版本1(21码元×21码元)开始,在纵向和横向各自以4码元为单位递增,一直到版本40(177码元×177码元)。 QR码的各个版本结合数据量、字符类型和纠错级别,均设有相对应的最多输入字符数。也就是说,如果增
2015-03-25 10:18:46
7142
原创 《ArchSummit深圳2014大会》参会笔记
7月18至19日参加了为期2天的《ArchSummit深圳2014大会》。42位讲师、700多位听众,包含10个热门专题、41场精彩演讲。以下是我在聆听分享时的笔记,是我个人对内容的摘记和理解。大会完整讲稿下载:http://pan.baidu.com/s/1gdvKbKn 构建大型云计算平台分布式技术的实践(阿里巴巴)章博士每次演讲都干货实足,各种解决问题的思路和方法,非常
2015-03-25 10:18:40
1987
原创 Java陷阱解惑
1、自增陷阱陷阱:下述程序的运行结果是多少? @Test public void test自增陷阱() { int expected = 10; int count = 0; for (int i = 0; i < expected; i++) { count = count++; } System.out.println(coun
2015-03-25 10:18:34
442
原创 Android zxing change orientation to portrait
zxing https://code.google.com/p/zxing/Multi-format 1D/2D barcode image processing library with clients for Android, Java zxing-client-android屏幕方向默认是landscape模式,修改如下源码,可改为portrait模式: 1、Androi
2015-03-25 10:18:28
331
原创 Android分辨率和屏幕适配经验
01.按目前主流机型,起码保证hdpi分辨率下完美展现,对应工程下的drawable-hdpi文件夹;02.图片资源尽可能地使用"点九";03.一些结构很复杂或布局要求高的布局,可特别处理.或者按分辨率单独建布局文件,如layout-960x540.xml;或者建立不同分辨率的dimens文件,或者由程序在动态获取分辨率(屏幕)经计算后再调整等.04.选用最合适的布局方式.虽然最常用的是L
2015-03-25 10:18:22
529
原创 运用Data URI scheme规范展现图片
先来个小演示,将如下代码全部复制,然后粘贴到Chrome或Firefox等浏览器的地址栏内并打开:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AQAAAAARHwt/AAAAq0lEQVR42u3VQQrEMAgFUMFrCV5d8FpC55tQaGYx4J9t00L6upCoSSvXOeT1t0NEM7Qnytl3+JooB8K
2015-03-25 10:18:15
665
原创 Activity的launchMode总结
一、standard 此为默认模式。如上图,FirstActivity跳转FirstActivity,此时不论FirstActivity是否已存在,每次都会生成一个新的FirstActivity实例,并置于栈顶,当按下后退键时,再按反向顺序一个个的后退直至退出。 二、singleTop 如上图,FirstActivity跳转FirstActi
2015-03-25 10:18:09
338
原创 Activity生命周期概述
1、Activity的整个生命周期如上图呈金字塔状:当创建一个Activity新实例时从图左侧的onCreate()事件开始逐渐向顶端走,当到达最顶端的Resumed状态时便已到可与用户进行交互的状态,而当用户离开Activity或被中断时,Activity状态开始往图右侧的底端走; 2、一旦onCreate()方法执行完毕,会迅速执行onStart()和onResume(),Activi
2015-03-25 10:18:03
347
原创 使用iBatis的类型处理器TypeHandlerCallback
iBatis的扩展组件主要有TypeHandlerCallback、CacheController、DataSourceFactory、TransactionConfig。其中TypeHandlerCallback可以实现自定义的类型处理逻辑,以便处理非标准数据库、驱动程序和(或)数据类型。 场景举例有如下数据表,请注意字段status的类型及含义: CREATE DATABA
2015-03-25 10:17:57
411
原创 Java synchronized中设定监视器时易犯的错
首先来看个实例 —— RunnableTest.java: /** * */package concurrency;/** * @author xuanyin * */public class RunnableTest implements Runnable { /** * */ private static bo
2015-03-25 10:17:52
706
原创 门面模式(Facade Pattern)
近期参与项目研发,调接口时遇一事不爽,比如在调C方法前必须得先调A方法,成功后再调B方法拿到返回结果后,最后才可以调C方法,而且接口调用还会随需求变化而变更,比如可能还得再增加几个步骤...... 门面模式(亦称外观模式Facade Pattern)的思想很好地解决了这一问题,当然,它的优点也不止如此。 场景举例 投递信件的过程是:首先写信的内容 -> 其次写信封 ->
2015-03-25 10:17:46
333
原创 Java Signal实例
TimYang在博文《降低应用latency方法谈》中提到对Java方法进行Profiling,在某些场景更倾向于采用纯Java工具类的方法,比如通过给进程发Signals来实现,以求动态地打开或关闭Profiler。 感觉这个思路不错,以下是一个大致实例: SignalTest.java /** * */package signal;import
2015-03-25 10:17:32
418
原创 使用JMeter进行性能测试之Java请求
看了两篇关于如何用JMeter进行HTTP请求及数据库方面做性能测试的文章(如下两个链接),感受到这款工具的强大和易用。我在这里延续一下,对另一种常用的测试类型"Java请求",做个入门级的介绍。 http://www.ibm.com/developerworks/cn/java/l-jmeter/http://www.ibm.com/developerworks/cn/opensou
2015-03-25 10:17:27
448
原创 六大设计原则之“里氏替换原则”
通俗地讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必应能适应。 里氏替换原则为良好的继承定义了一个规范,一句简单的定义包括了四层含义: 1、子类必须完全实现父类的方法 父类:AbstractGunpublic abstract class Abs
2015-03-25 10:17:20
432
原创 六大设计原则之“单一职责原则”
单一职责原则的定义是:应该有且仅有一个原因引起类的变更。 举例一:电话 传统设计:一个接口类1.IPhone:dial(),chat(),hangup()一个实现类1.Phone 演变思想:因为dial和hangup实现的是协议管理,而chat实现的是数据传送;协议的接通和数据的传送都会引起这个接口类或实现类的变化;如拨号和挂断方法只管连接和断开,之后
2015-03-25 10:17:14
380
原创 MySQL优化技巧
* 不断完善中 GROUP BY默认会对字段排序 explain select * from tbl_name group by col;Explain的结果是:Extra: Using temporary; Using filesort若业务逻辑上无需排序,则加上order by null,这时explain的结果就只有:Using temporary少了Using
2015-03-25 10:17:08
282
原创 通过Java反射测试类私有成员
在Java开发阶段,因为追求架构规范和遵循设计原则,所以要用private和protected修饰符去定义类的成员方法、变量、常量,这使得代码具封装性、内聚性等,但在测试阶段会造成一定的不便。通过Java的反射机制,便能很好地解决该问题。 //....../** * @author yumin * @since 2015-03-02 14:52 */public...
2015-03-16 17:45:07
144
Android资源库
本人收集的各种Android资源,之前仅方便自已查阅所以未进行细致的说明。现将其开放,欢迎大家关注和共建: https://github.com/wangym/android-resource [UPDATE-20150119] 添加各资源的简短说明易于了解[UPDATE-20150130] 又新增一批资源并不定期更新中 ...
2014-12-24 10:35:32
164
原创 基于zxing-lib三步实现Android二维码应用
只需要基于开源项目zxing-lib,便可轻松创建独立二维码App,也可将二维码功能集成进App内。本文也是zxing-lib的使用文档。同时抛砖引玉,欢迎大家一起共建zxing-lib。 项目地址:https://github.com/wangym/zxing-client-android遵循协议:Apache License Version 2.0简介:zxing-lib是...
2014-08-25 13:38:52
126
原创 二维码生成使用规则
1、QR码可用尺寸知识普及QR码设有1到40的不同版本(种类),每个版本都具备固有的码元结构(码元数)。(码元是指构成QR码的方形黑白点。)“码元结构”是指二维码中的码元数。从版本1(21码元×21码元)开始,在纵向和横向各自以4码元为单位递增,一直到版本40(177码元×177码元)。 QR码的各个版本结合数据量、字符类型和纠错级别,均设有相对应的最多输入字符数。也就是说,如...
2014-08-24 14:32:49
1188
原创 《ArchSummit深圳2014大会》参会笔记
7月18至19日参加了为期2天的《ArchSummit深圳2014大会》。42位讲师、700多位听众,包含10个热门专题、41场精彩演讲。以下是我在聆听分享时的笔记,是我个人对内容的摘记和理解。大会完整讲稿下载:http://pan.baidu.com/s/1gdvKbKn 构建大型云计算平台分布式技术的实践(阿里巴巴)章博士每次演讲都干货实足,各种解决问题的思路和方法,...
2014-08-05 11:20:41
1511
原创 Java陷阱解惑
1、自增陷阱陷阱:下述程序的运行结果是多少? @Test public void test自增陷阱() { int expected = 10; int count = 0; for (int i = 0; i < expected; i++) { count = count++; } System.out.println...
2013-07-02 23:52:33
91
原创 Android zxing change orientation to portrait
zxing https://code.google.com/p/zxing/Multi-format 1D/2D barcode image processing library with clients for Android, Java zxing-client-android屏幕方向默认是landscape模式,修改如下源码,可改为portrait模式: 1、Andr...
2013-05-14 10:22:45
157
原创 Android分辨率和屏幕适配经验
01.按目前主流机型,起码保证hdpi分辨率下完美展现,对应工程下的drawable-hdpi文件夹;02.图片资源尽可能地使用"点九";03.一些结构很复杂或布局要求高的布局,可特别处理.或者按分辨率单独建布局文件,如layout-960x540.xml;或者建立不同分辨率的dimens文件,或者由程序在动态获取分辨率(屏幕)经计算后再调整等.04.选用最合适的布局方式.虽然最常用的...
2013-04-25 16:55:48
274
原创 运用Data URI scheme规范展现图片
先来个小演示,将如下代码全部复制,然后粘贴到Chrome或Firefox等浏览器的地址栏内并打开:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AQAAAAARHwt/AAAAq0lEQVR42u3VQQrEMAgFUMFrCV5d8FpC55tQaGYx4J9t00L6upCoSSvXOeT1t0NEM7Qnytl3+JooB...
2013-04-24 09:17:41
293
原创 Activity的launchMode总结
一、standard 此为默认模式。如上图,FirstActivity跳转FirstActivity,此时不论FirstActivity是否已存在,每次都会生成一个新的FirstActivity实例,并置于栈顶,当按下后退键时,再按反向顺序一个个的后退直至退出。 二、singleTop 如上图,FirstActivity跳转FirstAc...
2013-02-03 23:39:34
99
原创 Activity生命周期概述
1、Activity的整个生命周期如上图呈金字塔状:当创建一个Activity新实例时从图左侧的onCreate()事件开始逐渐向顶端走,当到达最顶端的Resumed状态时便已到可与用户进行交互的状态,而当用户离开Activity或被中断时,Activity状态开始往图右侧的底端走; 2、一旦onCreate()方法执行完毕,会迅速执行onStart()和onResum...
2013-01-29 18:58:19
158
使用iBatis的类型处理器TypeHandlerCallback
iBatis的扩展组件主要有TypeHandlerCallback、CacheController、DataSourceFactory、TransactionConfig。其中TypeHandlerCallback可以实现自定义的类型处理逻辑,以便处理非标准数据库、驱动程序和(或)数据类型。 场景举例有如下数据表,请注意字段status的类型及含义: CREATE DATABA...
2012-03-06 10:18:48
238
Java synchronized中设定监视器时易犯的错
首先来看个实例 —— RunnableTest.java: /** * */package concurrency;/** * @author xuanyin * */public class RunnableTest implements Runnable { /** * */ private static ...
2011-11-18 17:25:21
134
门面模式(Facade Pattern)
近期参与项目研发,调接口时遇一事不爽,比如在调C方法前必须得先调A方法,成功后再调B方法拿到返回结果后,最后才可以调C方法,而且接口调用还会随需求变化而变更,比如可能还得再增加几个步骤...... 门面模式(亦称外观模式Facade Pattern)的思想很好地解决了这一问题,当然,它的优点也不止如此。 场景举例 投递信件的过程是:首先写信的内容 -> 其次写信...
2010-08-21 14:31:09
143
空空如也
ibatis中如何写mysql的limit语句?
2009-06-22
我的模板代码存在数据库中能否动态解析?
2009-06-21
求一正则能去除HTML标签但又支持部份允许的标签!!
2009-06-11
JAVA新手问题:在Struts2后端做参数验证怎么操作好?
2009-04-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人