自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 问答 (2)
  • 收藏
  • 关注

一次IOS开发内存泄漏问题

阅读人群:IOS开发新手有时候didReceiveMemoryWarning不像女人的大姨妈来的那么确定,让人摸不着头脑,不过好在有Instruments这种神器,帮我们解决了不少问题。用Instruments分析了一下刚做好的app,发现如果反复触发同一个页面(没有做缓存),内存居高不下,仔细搜索controller的类名,发现根本就没有释放掉,触发代码如下: XXXViewCo...

2013-01-10 17:07:46 200

备忘一下app被拒的情况

12月27号提交的,1月4号才审,足足审了两天,今天早上被拒。之前在知乎上看过一些app被拒的情况:http://www.zhihu.com/question/20255638心里也做了被拒的准备,毕竟是1.0版本的,苹果的理由大概有两条:1、下载照片的时候使用了status bar进度条,遮盖了信号、电池之类的重要信息2、icon和iPhone原生的很像,但又没有苹果原生做得...

2013-01-07 16:34:37 156

关于code sign的简单理解

阅读人群:IOS开发新手刚接触IOS开发,每次真机调试的时候或多或少都会遇到code sign的错误,更郁闷的是因为对code sign理解不透彻,导致提交app store的push notification没有生效,苹果的审核慢是出了名的,白白浪费了很多时间。对此,苹果官方也有详细的解释:http://developer.apple.com/library/ios/#documen...

2013-01-05 19:53:05 1143

解决eclipse每次启动maven很慢

好久没有用eclipse了,离开人人后maven私有仓库当然也连不上了,所以选择了maven中央仓库,但是因为我的项目太多,每次启动eclipse maven都要联网更新jar、pom什么的,搞的很慢,上网搜索居然没有人遇到这个问题,自己摸索了一下,解决方法很简单,把offline勾上,表示不联网:...

2012-11-14 12:31:07 717

原创 解决 OD的 注入的代码无响应问题

现象为:---------------------------注入的代码无响应---------------------------为了执行系统不支持的动作, OllyICE 在这个被调试的程序中注入了一点代码, 但是经过5秒仍未收到响应. 您想再等5秒吗? (如果您选择否, 程序的一致性及稳定性将无法保证,您应一有可能就重新启动它).--------------------------...

2012-10-09 22:09:33 869

Objective-C就是一个C、C++和Java的杂交体

 1、Cocoa是什么?Cocoa是使用OC语言编写的工具包,里面有大量的类库、结构体,说白了其实就相当于java中的标准API、C++中的标准库。OC中没有命名空间的概念,所以使用加前缀来防止命名冲突,因此你会看到大量的以NS 为前缀的类名、结构体、枚举等。 2、Cocoa框架由FoundationKit、App Kit两部分组成,前者是基础工具库,后者主要是UI库、高级对象等。...

2012-09-07 16:51:31 88

原创 C++的拷贝构造函数

 package com.cantellow.test;import java.util.Vector;public class Test { public static void main(final String[] args) { final String a = "2"; String b = a; b...

2012-08-15 17:07:11 88

原创 一次jvm调优实战

 总结内存多占1G左右,CPU利用率没有明显变化,但随着CMS收集抖动,最高达40%,CPU load平均高出1.0左右。几乎0停顿,相比于之前每隔5分钟应用停顿3-4s,调优后的应用几乎没有停顿时间,每次”stop the world”由youngGC引起,最高也不过200+ms。GC总时间开销显著减小20%多,吞吐量显著提升。应用超过500ms的请求响应时间减少3%...

2012-04-01 01:24:22 419

项目总结1

背景:这是一个活动,按照流程操作能够领取兑换券,高峰期每分钟会有上百个请求领到兑换券。 从数据库层面上解决并发问题整个项目的唯一难点就是保证多个用户对兑换券的合理竞争,在这个过程中,必须有一道“关卡”将这些请求排序,让它们有序的进行访问,这跟秒杀活动有点像,只不过程度上来说没有那么激烈,所以我们采用了数据库层面上来保证。之所以将这道“关卡”设在数据库一是比较好理解、二是比较容易实现...

2011-10-11 13:11:00 98

关于resin ping超时的问题

最近遇到一个很奇怪的问题,就是在高峰期的时候,resin会ping ok超时(这是resin的一个自动检查工具,在conf/resin.conf配置),如下图:三次以上超时的话就会自动重启,因为之前没有过这方面的经验,所以解决起来很费劲,走了很多弯路(由于每次超时基本上都会有Forcing GC due to low memory这样的字眼,所以开始误以为是内存泄露),下面是分析经过,希望...

2011-10-11 12:58:43 298

一个实现cpu load预警的shell脚本

由于项目组的需要,最近用bash shell实现了cpu load预警的脚本,之前完全没有过shell的经验,甚至连linux的经验也基本为零,所以写了一天多的时间算是勉强完成,关键地方还是别人指导的,实在是惭愧。其逻辑很简单,就是获取当前cpu load,如果超过预定的值,就会发送邮件或者短信报告相关人员。 #!/bin/bash#cpu load / cpu count load和...

2011-09-13 10:43:01 330

开源web框架Rose开发初感

 Rose 是由 人人网、糯米网 提供的、基于Servlet规范、Spring“规范”的开放源代码WEB开发框架。Rose的开源地址是:http://code.google.com/p/paoding-rose/本文不打算为您详细介绍Rose,而且假设你已经对Rose已经有一些了解,本文的中心是自己初次接触Rose后的一点感言。作者眼中的Rose哲学基于IoC容器...

2011-08-18 20:28:34 399

cookie的陷阱

 问题简述在做一个自动登录功能,登录的时候持久化cookie(没有加密,仅供测试): final Cookie cookie = new Cookie("user", user.getId());cookie.setMaxAge(5 * 60);cookie.setPath("/");inv.getResponse().addCookie(cookie); ...

2011-08-18 12:32:57 121

Debug控

 我是一个debug控,很少写单元测试(不是我不想写),每次写完代码我都要把我的代码debug走一遍,这样才放心,debug也是我阅读别人代码的利器,同时我也经常用它来调试错误。  因为上家公司是做CS程序的,本地debug很方便,server和client启动也不是很慢,所以用debug调试和开发是一件很方便的事情。新公司是做互联网的,在本地debug调试机子承受不起,这对于我这...

2011-08-02 14:34:25 103

泛型のwhy&how

 Why,Java为什么需要泛型?如果我需要我的代码适用于多种类型,那么我可以使用object;如果我需要限定这个类型必须具有特定的约定,那么我可以定义接口或者抽象类。总之,我都可以解决,再加上Java的反射功能,没有泛型之前Collection库一样过得好好的。 那么java为什么还要加上泛型这样的语法糖呢?答案就是,在编译期间就检查类型转换是否正确,而不是拖延到运行时期...

2011-07-21 18:35:04 88

代码质量实践之统一代码风格

前几篇文章中一直在强调代码质量,理论性很强,但实践性很低,平时我也关注这方面的工具和平台,以前开发中经常遇到很多人的代码风格不统一,在新的公司我发现这方面已经做的不错了,于是我总结了一下,希望对困惑于代码风格不能统一的各位有所帮助。 1.统一eclipse版本,最好由技术委员会统一制定eclipse标准,安装好各种插件,比如maven插件、findbugs、SCM插件等等。我以前遇到过如果...

2011-07-20 12:26:21 189

使用Nexus管理maven仓库,setting文件理解

来到新公司对很多陌生的技术一头雾水,以前在工作中没有真正使用过maven,于是强迫自己蛋定下来一个一个的突破,下面是我对maven的setting配置文件的理解,由于是现学的,难免可能会理解偏差,还请牛人路过指正。 <!--xuze added by:添加了一些注释,利于新人理解Date:2011年7月18日--><settings> &lt...

2011-07-18 16:44:31 270

Sonar手动审查代码初体验

为了在部门内部推行code review这一活动,几个月之前开始寻找工具的支持,开始相中的是Jupiter这一eclipse插件,刚开始还写了一份user guide(见附件),但是后来我发现它比较笨拙,显著的缺点是每次review都要分reviewID,保存的数据格式是xml文件,总感觉不是很让人放心,另外跟公司内部的SCM结合的不是很好。当然它也有优点,比如跟eclipse结合的很好,查看源代...

2011-06-22 17:39:29 450

【分享】部门内部《重构》培训

前不久在部门内部做了一份代码质量和重构的培训,由于我其中很多思想和资料都是来源于JavaEye的,饮水要思源,我不敢独享,于是马上拿来分享给广大的Javaeyer(当然是去掉了公司业务逻辑的)。其中的代码质量部分:【分享】部门内部《代码质量》培训其中的findbugs部分:【分享】findbugs反模式 要郑重说明的是,ppt里面有几个javaeye的例子,希望例子的主人公...

2011-05-20 10:20:33 112

【分享】部门内部《代码质量》培训

前不久在部门内部做了一份代码质量和重构的培训,由于我其中很多思想和资料都是来源于JavaEye的,饮水要思源,我不敢独享,于是马上拿来分享给广大的Javaeyer(当然是去掉了公司业务逻辑的)。其中的findbugs的部分:【分享】findbugs反模式其中的重构部分:【分享】部门内部《重构》培训 要郑重说明的是,ppt里面有几个javaeye的例子,希望例子的主人公不要在意。...

2011-05-20 10:14:34 259

【分享】Findbugs反模式

 FindBugs解释FindBugs是一个静态分析工具,它检查类或者 JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。之所以叫做静态分析工具,是因为它在不实际运行程序的情况对软件进行分析。使用findbugs有很多种方式,从GUI、从命令行、使用 Ant、作为 Eclipse 插件程序和使用 Maven,甚至作为hudson持续集成的插件。 findbug...

2011-05-20 09:54:12 90

如何提高代码质量意识

 在接下来的文章里我会讲到如何提高代码质量,会讲到一系列措施和工具,比如codereview、重构、findbugs、敏捷等等,这些东西对代码质量非常有用,但取决你是否行动了,你和你的团队是否具有强烈的代码质量意识,如果没有强烈的代码质量意识,这一切就像是在看我这个小丑在上演一场杯具,过往云烟,看过了就忘记了。学习一项技术很容易,但是学习一种意识,或者说改变一个人的习惯,很难!诚然,意识和...

2011-05-11 17:12:51 344

无状态类在并发环境中绝对安全吗?

无状态类是指一个对象没有任何属性,就像下面这个类一样,通常来说无状态的类在并发环境中比较安全: class Class1 { public void doSomeThing() { Vector<String> vector = new Vector<String>(); String element = ""; if (!vector.con...

2011-03-31 12:27:51 139

组内头脑风暴分享,JVM第一期

趁着组内的“头脑风暴”活动,也为了熟悉以前看过的《inside java virtual machine》,特别是参照了RednaxelaFX大神的博文,自己连夜赶出了一份PPT(凌晨四点),虽然深度还未达到FX大神的级别,但也算比较全面了,就当做自己的一次JVM简单总结吧,希望有需要的童鞋见附件,JVM大神都绕过吧。...

2011-03-29 09:59:56 111

代码质量之可扩展性

 可扩展性的动力——不断变化的用户需求世界上不变的是变化,软件需求不会变化?不可能!一个系统是否拥抱变化是由它的可维护性和可扩展性决定的,软件环境的变化(可能是业务环境,运行环境)导致软件要进行改动才能满足人们对它的要求,这种系统本身适应变化的能力就是可扩展性。 可扩展性的设计忠告可扩展性对系统的性能和复杂度都有影响,复杂度很高的项目很难维护,亦很难测试,我比较推崇可预见的...

2011-03-29 09:47:25 999

代码质量之可维护性

 我的心态变化第一次接触编程,学习C语言,交换两个数的值: c = a a = b b = c 后来我我从师兄那学到了下面这段代码,觉得写的比我之前的更漂亮:a = a + b b = a - b a = a - b 最后参加工作了,看到很多别人的代码,最后又觉得最漂亮的代码是这样的: c = a a = b b = c 请问大家,为什么我的...

2011-03-29 09:45:33 237

质量是免费的之【人的质量】

 人是软件质量最重要的因素之一,开发人员的素质直接作用于软件质量,需求设计,代码质量,以及后续的维护开发等等都离不开高素质的开发人员。虽然有优秀的工具为开发人员提供帮助,公司也可以制定严格的制度流程限制开发人员,但是代码是人写的,你不可能用工具生成高质量的代码,更不可能用制度流程来让一个不具备专业知识技能的人写出高质量的代码,所以我们必须把目光定位于人,以人为本,只有开发人员平均整体素质都提高...

2011-02-17 17:59:48 260

软件产品质量和代码质量

软件质量这个概念很模糊,它即可以代表一款可运行软件的优劣,也可以代表一大堆源代码好坏。分开来讲,其实可以叫做软件产品质量,和代码质量。对于用户来讲,它们能看见的是软件产品的质量,用户是我们的上帝,软件产品质量的重要毋庸置疑。而对于我们开发人员来讲,软件的质量其实更多反映的是代码质量,我们从事的都是长期的维护和开发工作,阅读和修改别人的代码是家常便饭的事情,代码质量的好坏直接影响我们维护开...

2011-02-15 17:59:26 656

摆一摆我在回北京火车上发生的事情

从四川某二线城市回北京,由于记错了预售日没有买到火车票,楼主的老爸托他同学关系让楼主上车了(你懂得),春运期间比较严,上去之后待在餐车,等待补票,餐车里除了托关系那人(内部人员),还有一老外(男)。期间有很多无座的老乡到餐车坐,都被乘警吼了出去,楼主不明白为什么这个老外却安然的待在餐车,想必是他无座,天朝不“忍心”让一个老外站30多个小时从而实行的特殊政策吧。故事的主人公就是这位老外,他首...

2011-02-08 13:13:59 160

代码走读常规流程

 代码复查(Code Review),又叫“代码审查”,其基本思想就是,在开发人员编写完自己的代码后,由其他人来复查他写的代码,从而有效地发现代码中存在的缺陷。代码复查的一个基本理论就是,当我们越早发现代码存在的缺陷,我们解决缺陷的代价就越低。 代码复查一般包括代码风格,常规缺陷,重大缺陷,程序语言级别缺陷和业务逻辑级别的缺陷,以及设计逻辑和思路的审查等等,甚至也要包括代码性能的考虑。...

2011-01-15 22:05:10 2809

个人知识管理

本人还未阅读《你的知识需要管理》一书,但是我想这是每一个人都应该掌握的技能,只是对于我们程序员来说,个人知识管理尤为重要。我们现在处于信息爆炸的时代,很可能你的脑海中常常有种“一团糊浆”的感觉,为什么会这样?我们没有形成一个知识体系,量变到质变,只有知识慢慢积累,自己才可能有质的飞跃,机遇永远都是留给有准备的人。在这个世界上,只有知识才是最可靠的。也只有知识才最值得你相信和依赖。下面是...

2011-01-09 16:51:56 181

年终总结上的经验体会(脱水版)

说明,原文是内部述职会演讲PPT,为了避免涉及公司产品,【】括号的内容可以一眼飘过,脱水之后的内容应该和纯Java技术挂钩,欢迎褒贬不一的评论。  1.重构,伴随着整个软件开发过程,大到软件需求评审会上的需求变更,小到一时灵感对变量的命名,重构不挑食,重构无处不在。 【举了两个工作中实际遇到的例子来说明】如果发现想要使用某个方法,但它位于其它类中,就可以想是否可以提取父类或者接口,然后把通...

2010-12-23 11:32:34 106

单例模式的七种写法

转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getIns...

2010-12-10 13:02:25 527

重构实践之一

昨天看了一下CSDN举办的SD2.0大会邀请的嘉宾,不得不说,确实阵容很强大,都是业界比较有名气的人,就小弟知道名有其人的,有JE的肉饼,翻译《深入java虚拟机》的曹晓刚,JE技术大牛李锟,《java夜未眠》作者蔡学镛等等。大会涉及软件开发的8个领域,我比较感兴趣的是架构和实践,或许我可以借此解决我工作中遇到的问题。 目前手上差不多有四个任务,其中2个是跟重构有关,一个是上面分给我的...

2010-11-28 01:10:33 92

利用Eclipse插件提高代码质量

很少codereview,没有代码质量工具给予支持,同事之间的默认规则就是代码在此刻(对,是此刻)能够正确跑起来就算OK,如果你发现你正在经历上述情况,那么你应该好好考虑怎么提高代码的质量。实际上在有些项目很少有人去关注这个,领导们也不会看你代码的风格,代码是否重复,依赖关系等等(这让我想起了《程序员之死》中提到的“某个架构很落后,技术很普通的产品却大卖”)。虽说领导强调把项目交给你,就要自己...

2010-11-02 12:22:59 115

原创 正则表达式Mini版

 1.句点符号:.条件限制除\n以外任意一个单独字符举例:java..     条件限制为java后除换行外任意两个字符。 2.美元符号:$限制结尾举例:java$     条件限制为以java为结尾字符 3.乘方符号:^限制开头举例:^java     条件限制为以Java为开头字符 4.大括号:{ }限制为连续出现指定次数字符{a}举...

2010-10-27 12:14:26 110

原创 转载:字符,字节和编码

本文转自:http://www.regexlab.com/zh/encoding.htm我一般不转载别人的文章,都是收藏,但是这篇文章写得实在是太好了,读了之后豁然开朗了,不得不佩服作者的学识,对字符编码各个领域都精通。===============================================================================级别:...

2010-10-24 14:30:36 81

我的书架

在读的书: 想读的书:                           半途而废的书:          已读的书:                                   ...

2010-10-16 20:07:12 88

Eclipse下jar包版本不一致等常见问题

我借这个平台简单说说Eclipse下配置环境需要注意的几点,大多数情况下,我们遇到最多的根源就是jar包的版本不一致,比如我调用某个类的方法,这个方法在旧版本其实不存在的,这时候编译不会通过,这种情况还是好的,至少它明确告诉你哪个类存在问题,进而我们可以找到这个类所属的jar包。最要命的是程序运行时出现这种情况,那你肯定会问为什么编译的时候能通过,想一下远程调用,客户端是怎么调用服务器端的对象...

2010-09-15 20:18:38 1560

我承认我没有if(xxx != null)

 昨天正在编码兴头时被项目组xx叫去,说我修改的代码出了空指针异常,还说关键的地方比如这是界面的发起部分,就应该判断是否空指针,不然过不去。我看了一下他的环境,说你没有我的数据库脚本,如果有了数据库环境,应该就不会出现这种情况,然后他就说你这个方法本来就有抛出NullPointerException的可能性,为什么调用完之后不判断呢?而且这是程序的关键部分,出了问题界面都发不起。嗯,好吧,我承...

2010-09-08 12:08:14 170

空空如也

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

TA关注的人

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