搜索到与相关的文章
编程技术

开发人员抵触代码审查的4个原因

据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作。代码审查究竟是什么样的工作呢?通常情况下它是指否决质量的一种过程。大量统计数据表明代码审查极大的提高了软件质量以及降低了技术风险,不仅如此,它还降低了开发成本。一起来看下代码审查工作所带来的好处:如图所示,代码审查工作带来这么多的益处,那为什么

系统 2019-08-29 22:01:04 2032

编程技术

JVM垃圾回收机制总结(3) :按代垃圾收集器

全文转载:http://pengjiaheng.iteye.com/blog/524024作者:和你在一起[fromJavaEye]为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比

系统 2019-08-29 21:59:34 2032

编程技术

让Struts与Hibernate顺利协同工作

安装篇一,下载安装j2sdk1.4(www.sun.com))或以上,设置CLASSPATH,java_home。二,下载服务器,免费版本的有tomcat,resin,当然也还有weblogic之类的巨无霸,不过得看你电脑的配置是否承受的了!这里只以resin来说明,其他的配置都差不多,可以查看各个服务器自带的说明文件。resin服务器可以在caucho.com下载,选择合适的版本,下载解压缩就可以直接使用。这里resin有一个resin-ee版本,这个主

系统 2019-08-29 21:57:44 2032

编程技术

非常强大的文件比较工具:Vimdiff

各种IDE大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff。希望能对在Unix/Linux系统上进行开发的朋友有所帮助。源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如BeyondCompare;很多IDE或者软件配置管理系统,比如Eclipse,RationalClearCase都提

系统 2019-08-12 09:30:03 2032

编程技术

用jsp进行数据分页显示的一个实现

互联网时代实际上是数据的时代,构建大型电子商务系统必然要涉及到大量数据显示,数据的分页显示是频繁遇到的问题,如果让每个程序员都要考虑数据的获取与处理的每个细节,那必将是件既糟糕又混乱的事情,类似于分页显示这种具有公共特征的控制逻辑必定要在horizonallayer层予以实现本文以循序渐进的方式给出了用jsp处理分页显示的一个可重用,易于移植的实现。如果把与各种商业逻辑实体相对应的数据叫做"实体数据",那么分页显示逻辑要封装的就是控制实体数据的"控制数据"

系统 2019-08-12 09:30:00 2032

编程技术

Web日志分析方法概述 让复杂的数据挖掘变得简单

志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。在Web日志中,每条日志通常代表着用户的一次访问行为,例如下面就是一条典型的apache日志:211

系统 2019-08-12 09:29:37 2032

各行各业

分布式服务框架 Zookeeper -- 管理分布式环境中

from:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/Zookeeper分布式服务框架是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍Zookeeper的安装和配置文件中各个配置项的意义,以及分析Zookeeper的典型的应用场景(配

系统 2019-08-12 09:27:35 2032

各行各业

Zookeeper watch参照表

Watcher设置是开发中最常见的,需要搞清楚watcher的一些基本特征,对于exists、getdata、getchild对于节点的不同操作会收到不同的watcher信息。对父节点的变更以及孙节点的变更都不会触发watcher,而对watcher本身节点以及子节点的变更会触发watcher,具体参照下表。操作方法触发watcherwatcherstatewatchertypewatcherpathCreate当前节点getdata××××getchil

系统 2019-08-12 09:27:07 2032

各行各业

POJ 3807 Shuffle'm Up

解题思路:普通模拟题NULL#include#include#includeusingnamespacestd;intmain(){setshuf;chars1[101],s2[101];stringaim,str;inti,j,n,m,iter;boolIsFind;cin>>n;for(i=1;i<=n;i++){iter=IsFind=0;cin>>m>>s1>>s2>>aim;str.r

系统 2019-08-12 09:27:05 2032

各行各业

让程序只启动一次 -- Mutex

有时在开发程序的时候,有时需要只能同时运行一个实例.Mutex类,称为互拆体,是一个同步基元,它只向一个线程授予对共享资源的独占访问权。当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。下面演示Mutex类来保证应用程序只有唯一实例usingSystem;usingSystem.Collections.Generic;

系统 2019-08-12 09:26:51 2032