7,对象的初始化以及实例变量的作用域本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里。到目前为止,我们都使用的是下列方式创建对象[类名new];这种new的方式,实际上是一种简化的方式。笔者在这里总结一下前面几章里面曾经提到过关于创建对象的2个步骤:第一步是为对象分配内存也就是我们所说的allocation,runtime会根据我们创建的类的信息来决定为对象分配多少内
系统 2019-08-29 22:48:05 1952
在Silverlight和WPF项目开发中,经常要和Xaml语言打交道,大家都知道,一个清晰明了的开发语言布局可以让开发人员方便,快捷的阅读和理解代码,这里我介绍几个Xaml开发布局设计技巧。这里我用VisualStudio2010作为演示,首先打开VS2010,然后选中菜单栏Tools->Options->TextEditor->XAML->会看到以下效果:选中以上选项后,在代码方面会有如下显示效果,方便多属性控件阅读和理解,如果选中“Positionf
系统 2019-08-29 22:39:46 1952
#includeusingnamespacestd;voidDownAdjust(int*a,intfirst,intlast)...{inttmp,down;tmp=a[first];for(down=first*2+1;down<=last;down=down*2+1)...{//if(downa[down+1])++down;//if(a[down]
系统 2019-08-29 22:38:51 1952
在传统软件产品发布过程中(例如微软的Windows7的发布过程中),一般都会经历Pre-Alpha、Alpha、Beta、Releasecandidate(RC)、RTM、GeneralavailabilityorGeneralAcceptance(GA)等几个阶段(参考Softwarereleaselifecycle)。可以看出传统软件的发布阶段是从公司内部->外部小范围测试>外部大范围测试->正式发布,涉及的用户数也是逐步放量的过程。在互联网产品的发布
系统 2019-08-29 22:34:52 1952
下载的maven官方版中文学习手册中,第五章中的创建脚本看到完整的,完整的脚本语句应该是mvnarchetype:create-DgroupId=org.sonatype.mavenbook.ch05-DartifactId=simple-webapp-DpackageName=org.sonatype.mavenbook-DarchetypeArtifactId=maven-archetype-webapp-Dversion=1.0这种方式下创建的pom
系统 2019-08-29 22:32:00 1952
首先要声明这一篇不是我写的。为什么我要在自己的Blog里转载别人的东西呢。我觉得这就好像我自己和自己下的一个赌注。我希望在很多年后我重新看到这篇文章的时候我已经成功忘记掉了一个人。那么我就赢了。怎样忘记一个人“在这里我将教给大家如何忘记一个人。全国各地的语文老师教你识字的方法都是一样的,发你一田字本,让你反复的写某一汉字,直到记住为止。你也不知道怎么样才算记住了,于是就不停地写不停地写,期间出现一件有趣的怪事,当写字这件事情重复到一定程度之时,笔下的汉字居
系统 2019-08-29 22:28:58 1952
1、引用计数收集器(ReferenceCounting)引用计数是垃圾收集的早期策略。在这种方法中,堆中每一个对象都有一个引用计数。一个对象被创建了,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1。当任何其他变量被赋值为对这个对象的引用时,计数加1。当一个对象的引用超过了生存期或者被设置一个新的值时,对象的引用计数减1。任何引用计数为0的对象可以被当作垃圾收集。当一个对象被垃圾收集的时候,它引用的任何对象计数值减1。在这种方法中,一个对象
系统 2019-08-29 21:59:34 1952
《大话重构》这本书是我写的第一本书,从今天起我将通过连载的形式逐渐跟大家分享。这本书让你:告别游击队转变为正规军,远离劣质代码走向精妙设计真正明白专业级的软件开发是怎样的真正明白重构是怎样一步一步进行的高效重构七步曲,面对实践不卡壳让遗留系统维护不再是你的梦魇读完这本书以后:需求变更不再纠结,重构让你润物细无声地容纳它们超越代码级的重构,从各个层面深度领略重构之美自动化测试不再是梦想,重构让自动化测试走你重新审视熟悉而陌生的技术,将碎了一地的它们重新铆合在
系统 2019-08-29 21:59:06 1952
一.问题的提出我常常在思考一个问题,我们如何能设计出高水平、高质量的软件出来。怎样是高水平、高质量的软件?它应当是易于维护、易于适应变更、可重用性好的一个系统。如何做到这一点呢?答案当然是“低耦合、高内聚”了。低耦合就是软件在构造的时候,各个模块、各个功能、各个类都不会过度依赖于它周围的环境。只有这样,才能使我们的模块(功能、类)在周围发生变更时不受影响,做到易于维护和易于适应变更。正因为如此,也使它更易于重用到其它功能类似的环境中,提高了重用性。高内聚则
系统 2019-08-29 21:59:02 1952
《笔者带你剖析ApacheCommonsDbUtils1.6》前言关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更多的是依靠Hibernate、Ibatis、SpringJDBC、JPA等大厂提供的持久层技术解决方案,或者是企业内部自己研发的持久层技术。但无论如何,使用这些技术的初衷和本质都是为了能够减少企业开发成本,提高生产效率,降低耦合。放眼企业级项目,Hibernate等ORM产品是首选,而互联网领域,大部分开发
系统 2019-08-12 09:29:33 1952