`
wobfei
  • 浏览: 146984 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
大概了解了下velocity的东西,把过程中自己不理解以及自己的一些总结写成文档。可能有些部分不对,或者部分我不理解的地方,还请发现者指正,非常感谢。我邮箱  minedfy@163.com。        velocity中不理解的几个地方 1、  模式使用上有点乱,不过不影响代码层次。(个人理解) 2、  资源文件加载的时候,
     最近写了个简单的程序,从搜索引擎搜索的数据中爬取内容。       以百度为例,可以用url http://www.baidu.com/s?wd=搜索关键字&pn=页数 建立连接,直接获取到返回的信息。。       在访问其它几个搜索引擎(bing,有道等),发现直接使用url建立连接会返回403拒绝。但用浏览器请求却可以访问。。于是猜测是服务器端对user-agent进行了检查。。增加了伪装user-agent后,果然可以成功获取到了   connection.setRequestProperty("User-Agent", "Mo ...
查看系统日志时,发现读取xml 流时抛出了“The element type "description" must be terminated by the matching end-tag "</description>". Nested exception”错误。   查看对应url的流内容,如下 <?xml version="1.0" encoding="gb2312" ?> <goods> <ID>ebb1fb1f-80c2-493a-bced ...
  使用XFire进行ws调用中,发生了No write method for property问题,看了下代码发现问题如下:   服务器端的接口信息如下:   public interface QueryFacade { public QueryResult queryById(String id); }    其中的QueryResult代码如下: public class QueryReslt implements Serializable{ private static final long serialVersionUID = 36 ...
   下面这张图基本可以概括其原理(图片我是复制自其它地方):              自己写了一个简单的实现,帮助理解,代码如下   ConsistentHash代码 /* * 一个简单的一致性hash算法 */ public class ConsistentHash { private HashPair[] consisentArray; private final int NUMBER_HASH = 50; // 所有服务器节点、value值映射到hash的范围大小 private final int ...
首先有几点需要大家清楚的: 1、  ThreadLocal只是对需要存储的对象的管理,而存储实际是由当前Thread负责。个人理解为ThreadLocal是一个操作Thread. threadLocals 的工具。 2、  使用ThreadLocal可以使对象达到线程隔离的目的。同一个Thre ...
         String的compareTo其实就是依次比较两个字符串ASC码。如果两个字符的ASC码相等则继续后续比较,否则直接返回两个ASC的差值。如果两个字符串完全一样,则返回0。来看一下代码。 public int compareTo(String anotherString) {   
两个类依赖的优先方案是抽象依赖。为了使代码之间的依赖成为抽象依赖,根据依赖倒转原则,我们在编程时通常会使得实现类依赖于一个接口类或一个抽象类。这里主要讨论下依赖接口与抽象类的优缺点。           1、              抽象类是可以有代码实现的,而接口中则不会存在具体的代码实现。这对于抽象类的好处是:抽象类可以方便地增加新的方法,其所有子类不需要修改代码就可以获得到这个方法属性;而如果在接口中新增一个方法,那么需要其所有实现类都新增这个方法,如果实现子类较多将会是一件很痛苦的事情。   2、             
Checkstyle是一种代码规范的检查工具,它可以通过检查源文件找到不符合规范的地方,以此来帮助开发者提高代码质量。 Codereview可以干吗?先来看下面这张图,这是我用自定义的规则扫描了java文件以后的结果,会发现有很多因为编码不规范而报错的地方(无javadoc,注释不符实,命名等等)。     Checkstyle可以进行检查编码规范,包括javadoc,命名规范等,但不只限于此。它还可以检查一个代码块的各种复杂度、代码块大小,魔法数等(具体可以参考手册)。
圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。 下面这个实例中,单元测试的覆盖率可以达到100%,但是很容易发现这其中已经漏掉了一个NPE的测试用例。case1方法的圈复杂度为2,因此至少需要2个用例才能完全覆盖到其所有的可能情况。     //程序原代码,圈复杂度为
Global site tag (gtag.js) - Google Analytics