`
caoruntao
  • 浏览: 467972 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
文章列表

《重构》摘要

1. 为何重构? (1)改进软件设计。 (2)使软件更易被理解。 (3)帮助你找到bug。 (4)帮助你提高编程速度。   2. 何时重构? (1)添加功能时。 (2)修补错误时。 (3)复审代码时。   3. 何时不该重构? (1)现有代码根本不能正常运作,需要重写。 (2)如果项目已近最后期限,应该避免重构。   4. 性能优化 (1)时间预算法。 (2)持续关切法。 (3)利用统计数据,应该去真正的测量,而不是猜测。   5. 代码的坏味道 (1)Duplicated code(重复的代码) (2)Long method(过长的函数) (3 ...
http://club.techtarget.com.cn/space/viewspacepost.aspx?postid=1072   “虚拟机不是将其 vNIC 连接到 vSwitch 上的特定端口,而是连接到端口组。”——官方文档 端口组是虚拟化领域里独有的概念,准确的说是VMware为虚拟化平台引入的概念;同时,可以把它理解为一种执行策略,这种策略可以提供增强的网络安全、网络分段、更佳的性能、高可用性以及流量管理。 交换机可以分割冲突域,但是接入所有交换机的端口都处在一个广播域之中,物理环境可以放置路由器来分割广播域,但是在虚拟环境下,该怎样分割广播域,当然不会在虚拟一个路由器吧 ...

java clone

    博客分类:
  • java
【转】http://zhengjunwei2007-163-com.iteye.com/blog/1068491 由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。   首先要实现Cloneable接口,然后在重载clone方法,最后在clone()方法中调用了super.clone(),这也意味着无论clone类的继承结构是什么样的,super.clone()直接或间接调用了java.lang.Object类的clone()方法。 public class A im ...

Java程序性能优化

    博客分类:
  • java
一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.Vector;class CEL {    void method (Vector vector) {        for (int i = 0; i < vector.size (); i++)  // Violation            ; // ...    }}更正:class CEL_fixed {    void method (Vector vector) {     ...

Java 访问权限

    博客分类:
  • java
[转]http://www.cnblogs.com/itao/archive/2011/07/28/2119823.html   1、private修饰词,表示成员是私有的,只有自身可以访问;    2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。    3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;   4、public修饰词,表示成员是公开的,所有其他类都可以 ...
  [转] http://blog.csdn.net/cdsnmdl/article/details/3968688 1、方法继承:利用extends关键字一个方法继承另一个方法,而且只能直接继承一个类。 当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量个方法 在不同包时继承public/protected级别的变量和方法。 2、方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。 方法名相同 方法的参数类型,个数顺序至少有一项不同 方法的返回类型可以不相同 ...
假设导致事件A发生的“原因”有Bi(i=1,2,…,n)。它们互不相容,现已知事件A确已经发生了,若要估计它是由“原因”Bi所导致的概率,则可用Bayes公式求出.即可从结果分析原因.   有朋友自远方来,他坐火车、坐船、坐汽车、坐飞 ...
[转]http://gpww.blog.163.com/blog/static/118268164200996103932731/    问题 《编程之美》中提到了“买票找零”问题,查阅了下资料,此问题和卡特兰数 Cn有关,其定义如下: 卡特兰数真是一个神奇的数字,很多组合问题的数量都和它有关系,例如: Cn= 长度为 2n的 Dyck words的数量。 Dyck words是由 n个 X和 n个 Y组成的字符串,并且从左往右数, Y的数量不超过 X,例如长度为 6的 Dyck words为: XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY Cn ...
【转】http://blog.csdn.net/v_july_v/article/details/6685894 海量数据处理之Bloom Filter详解   前言     本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写 ...
[转]http://blog.csdn.net/v_july_v/article/details/6685962   十七道海量数据处理面试题与Bit-map详解 作者:小桥流水,redfox66,July。 文章性质:整理。 前言     本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。     同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题。因为,我们觉得,下文的每 ...

判断素数

 
#include <math.h> bool IsSushu(int n) { bool IsSushuFlg = true; if( n <= 1) { return false; } for( int i = 2; i <= (int)sqrt((double)n); i++ ) { if( 0 == n % i ) { IsSushuFlg = false; break; } } return IsSushuFlg; }  
  #include <fstream.h> #define N 100000 int sieve[N + 1]; void main() { for(int i = 2; i <= N; i++) sieve[i] = 1; for(i = 2; i <= N / 2; i++) sieve[i * 2] = 0; int p = 2; while(p * p <= N) { p = p + 1; while(sieve[p] == 0) p++; int t = p * p; int s = 2 ...

shell编程(5)

写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中#!/bin/bashhead_line=newfor file in `find /tmp -type f -name "abc*" | head -n 100 `docat $file | head -n 1 >> $head_linedoneexit其中,head命令 head -n 100 指的是前100行tail -n 100 则代表后100行

shell编程(4)

写脚本实现,可以用shell、perl等。把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。用grep实现grep -xvFf a b | tee c | wc -lgrep -x 匹配一整行grep -v 逆匹配,即寻找不匹配的grep -F 从文件中匹配grep -f 带匹配的字符串存放在文件中grep -xvFf a b 表示:从文件b中匹配文件a中的每一行(由于有v,指不匹配的行,即b有a没有的行)tee c 表示: Copy standard input to each FILE, and also to standard output. 写入文件的同时写入标准输 ...

shell编程(3)

[转]http://blog.sina.com.cn/s/blog_4b086af10100cero.html 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 程序实现及注释如下: #! /bin/bash#adddir.shi=1#while循环while [ $i -le 50 ]do#利用 test命令 [ -d /userdata ]:判断/userdata是否存在,如果存在直接创建子目录,不#存在先创建/userda ...
Global site tag (gtag.js) - Google Analytics