精华内容
下载资源
问答
  • 测试常见种方法

    千次阅读 2019-12-14 00:12:07
    测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。 一、等价类划分法 顾名思义,顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从...

    测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。

    一、等价类划分法

    顾名思义,顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。
      例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。
      我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。
      然后从每个子集选出若干个有代表性的值:
      空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
      1-7位数字:”234” (无效等价类实例)
      8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
      9位或以上数字:”1234567890” (无效等价类实例)
      非数字:”abc&!!!” (无效等价类实例)
      他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。
      等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。

    二、边界值分析法

    长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。
      例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
      注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。
    三.错误推测法
      错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
      这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

    三、错误推测

    错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
      这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

    四、判定表法

    又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。
      例如,某公司对客户分类标准如下:
      顾客每次订货额在1000元以上(含1000元),信誉好的,订单设“优先”标志;
      信誉不好,但是老客户的,订单设“优先”标志;
      信誉不好,但是新客户的,订单设“正常”标志;
      每次订货额在 1000元以下,订单设“正常”标志。
      绘制的决策表如下:
      这里写图片描述
      此表分两大行,两大列,分别用不同的颜色区别。
      浅蓝:列出所有条件(或称为输入)
      浅灰:列出所有结果(或称为输出,行动或决策)
      浅黄:穷举所有条件的组合
      浅绿:根据每一列的条件,判断出结果

    五.正交实验法

    用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。
      其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。
      虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。

    展开全文
  • Mysql常见四种索引的使用

    万次阅读 2015-06-25 15:12:38
    提到mysql优化,索引优化是必不可少的。其中一优化方式 ——索引优化,添加合适的索引...接下来总结一下mysql常见四种索引 一. 四种索引(主键索引/普通索引/全文索引/唯一索引) 1.索引的添加  1.1主键索引的添加

    提到mysql优化,索引优化是必不可少的。其中一种优化方式 ——索引优化,添加合适的索引能够让项目的并发能力和抗压能力得到明显的提升。

    我们知道项目性能的瓶颈主要是在"查(select)"语句,要提升"查"这一性能,mysql索引是必不可少的。接下来总结一下mysql常见的四种索引


    一. 四种索引(主键索引/普通索引/全文索引/唯一索引)

    1.索引的添加 

    1.1主键索引的添加

    当一张表,把某个列设为主键的时候,则该列就是主键索引

    create table a(
    id int primary key auto_increment,
    name varchar(20) not null default ''
    );
    //这里id就是表的主键

    如果当创建表时没有指定主键索引,也可以在创建表之后添加:

    alter table table_name add primary key (column name);


    1.2普通索引

    普通索引一般是在建表后再添加的,

    create index 索引名 on table_name(column1,column2);

    alter table table_name add index 索引名(column1,column2);


     
    

    1.3全文索引

    首先,全文索引主要针对文本文件,比如文章,标题,全文索引只有MyISAM有效(mysql5.6之后InnoDB也支持了全文索引)

    create table c(
    id int primary key auto_increment ,
    title varchar(20),
    content text,
    fulltext(title,content)
    )engine=myisam charset utf8;
    
    insert into c(title,content) values
        ('MySQL Tutorial','DBMS stands for DataBase ...'),
        ('How To Use MySQL Well','After you went through a ...'),
        ('Optimizing MySQL','In this tutorial we will show ...'),
        ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
        ('MySQL vs. YourSQL','In the following database comparison ...'),
        ('MySQL Security','When configured properly, MySQL ...');

    使用全文索引常见的错误:

    select * from c where content like "%mysql%";

    这里并不会使用全文索引,可以用explain进行查看。正确用法:

    select *  from c where match(title,content) against ('MYSQL');

    备注:

    1.  在mysql中fulltext 索引只针对 myisam生效

    2.  mysql自己提供的fulltext针对英文生效->sphinx(coreseek)技术处理中文

    3.  使用方法是 match(字段名..) against(‘关键字’)


    1.4唯一索引

    create table d(id int primary key auto_increment , name varchar(32) unique)
    d表中name就是唯一索引,唯一索引可以有多个null,不能是重复的内容

    相比主键索引,主键字段不能为null,也不能重复


    2. 查询索引

    show indexes from table_name;

    show keys from table_name;

    3.删除索引

    alter table table_name drop index 索引名;


    二. 索引的机制

    2.1 为什么我们添加完索引后查询速度为变快?

    传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍

    在我们添加完索引之后,mysql一般通过BTREE算法生成一个索引文件,在查询数据库时,找到索引文件进行遍历(折半查找大幅查询效率),找到相应的键从而获取数据

    2.2 索引的代价

    1. 创建索引是为产生索引文件的,占用磁盘空间

    2. 索引文件是一个二叉树类型的文件,可想而知我们的dml操作同样也会对索引文件进行修改,所以性能会下降

    2.3 在哪些column上使用索引?

    1 .较频繁的作为查询条件字段应该创建索引 

    2. 唯一性太差的字段不适合创建索引,尽管频繁作为查询条件,例如gender性别字段

    3. 更新非常频繁的字段不适合作为索引

    4.不会出现在where子句中的字段不该创建索引

    总结: 满足以下条件的字段,才应该创建索引.

    a: 肯定在where条经常使用 b: 该字段的内容不是唯一的几个值 c: 字段内容不是频繁变化


    三.索引使用注意事项

    1.对于创建的多列索引,只要查询条件使用了最左边的列,索引一般就会被使用

    比如我们对title,content 添加了复合索引

    select * from table_name where title = 'test';会用到索引

    select * from table_name where content = 'test';不会用到索引

    2.对于使用like的查询,查询如果是 %a不会使用到索引 ,而 like 'a%'就会用到索引。最前面不能使用%和_这样的变化值

    3.如果条件中有or,即使其中有条件带索引也不会使用。

    4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来


    四.如何查看索引使用的情况:

    show status like‘Handler_read%’;

    注意: 

    handler_read_key:这个值越高越好,越高表示使用索引查询到的次数。

    handler_read_rnd_next:这个值越高,说明查询低效。


    展开全文
  • 大金空调自动关机常见四种原因

    千次阅读 2018-10-10 17:02:33
    大金空调属于空调界的NO.1有着完美的技术,但是缺点就是价格有点高,所以维修起来难度也大,在此株洲大金空调维修售后提供大金空调自动关机常见四种问题和原因,望对各位技师或用户有一定的帮助1、遥控器设置原因:...

    大金空调属于空调界的NO.1有着完美的技术,但是缺点就是价格有点高,所以维修起来难度也大,在此株洲大金空调维修售后提供大金空调自动关机常见四种问题和原因,望对各位技师或用户有一定的帮助
    1、遥控器设置原因:查看空调遥控器上的定时开关选项是否处于开启状态,若是,则把它调至关闭状态。或者看遥控器上是否处于睡眠模式,它会在温度达到所调的温度时自动关机,把这种模式转换成普通模式就可以了。
    2、电压过低原因:因为空调都设有电压过低自动保护功能,所以当电压不稳定超出允许范围时就会自动停机。如果经常这样,从而出现了空调自动关机的情况,就不能使用空调了。
    3、线路接触不良原因:空调线的插销与插座之间接触不良造成的,可以试着把空调开关拔下来,插在别的插销上试试,看是否还会出现自动关机的情况。
    4、手动开关原因:查看下大金空调的应急开关(手动开关),(有的在内机的面板上、有的需要打开内机面板才能看见),把电源拔下来、你用手来回的抠抠它、可能是它不复位造成的。
    二、大金空调自动关机案例展示
    大金空调自动关机案例展示如下:
    故障说明:开机制热,外机运行正常,几分钟后室内还是不能送风,导致风机自动关闭,整机关断再用遥控器开机,机器不接收信号必须将接头拔下后重新开机机,机器重复以上状态。
    故障原因:由于橡皮轴承内塑料壳缺油,当室内制热时,室内盘管传感器感受温度已超过冷风防止温度时,风机应以微风运转。此时可控制的电机电压较低,转矩较小由于橡皮轴承与风扇轴这间摩擦阻力大,不能促使风机转动而此时室外机还在动转室内蒸发器温度急聚上升电流增大当达到整机最大动转电流时整机关,实行保护。在保护状态下空调是不接收外界信息。这就是为什么关断后,再用遥控器开不了机器的原因。
    上海大金空调维修工程师处理方法:拆开面板,发现当制热时,室内蒸发器已很烫手,风扇早就应该开始转动,但风扇就是不转,用手稍微拔动一下风扇,就开始转动,工作正常。一旦停机再次启动又会出现上述现象。关机检查发现贯流扇叶在静止时间用手拔动明显有比较阻滞现象,拆开左边的橡皮轴承,发现轴承套内发干,严重缺油,有的塑料环发热变形,更换橡皮轴承后试机正常。
    上面就是大金空调自动关机的原因,以及大金中央空调自动关机的一个故障现案例。

    转载于:https://blog.51cto.com/14012825/2298373

    展开全文
  • Java 枚举(enum) 详解7种常见的用法

    万次阅读 多人点赞 2016-08-11 11:14:45
    JDK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。...现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 publ...

    JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。

    大师兄我【大师兄】又加上自己的理解,来帮助各位理解一下。

    用法一:常量

    在JDK1.5 之前,我们定义常量都是: public static final.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 

    Java代码 

    public enum Color {  
      RED, GREEN, BLANK, YELLOW  
    } 

    用法二:switch

    JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 

    Java代码 

    enum Signal {  
        GREEN, YELLOW, RED  
    }  
    public class TrafficLight {  
        Signal color = Signal.RED;  
        public void change() {  
            switch (color) {  
            case RED:  
                color = Signal.GREEN;  
                break;  
            case YELLOW:  
                color = Signal.RED;  
                break;  
            case GREEN:  
                color = Signal.YELLOW;  
                break;  
            }  
        }  
    }  

    用法三:向枚举中添加新方法

    如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。

    https://blog.csdn.net/qq_27093465/article/details/52180865

    而且 Java 要求必须先定义 enum 实例。 

    Java代码 

    public enum Color {  
        RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
        // 成员变量  
        private String name;  
        private int index;  
        // 构造方法  
        private Color(String name, int index) {  
            this.name = name;  
            this.index = index;  
        }  
        // 普通方法  
        public static String getName(int index) {  
            for (Color c : Color.values()) {  
                if (c.getIndex() == index) {  
                    return c.name;  
                }  
            }  
            return null;  
        }  
        // get set 方法  
        public String getName() {  
            return name;  
        }  
        public void setName(String name) {  
            this.name = name;  
        }  
        public int getIndex() {  
            return index;  
        }  
        public void setIndex(int index) {  
            this.index = index;  
        }  
    }  

    用法四:覆盖枚举的方法

    下面给出一个toString()方法覆盖的例子。 

    Java代码 

    public enum Color {  
        RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
        // 成员变量  
        private String name;  
        private int index;  
        // 构造方法  
        private Color(String name, int index) {  
            this.name = name;  
            this.index = index;  
        }  
        //覆盖方法  
        @Override  
        public String toString() {  
            return this.index+"_"+this.name;  
        }  
    }  

    用法五:实现接口

    所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。 

    Java代码 

    public interface Behaviour {  
        void print();  
        String getInfo();  
    }  
    public enum Color implements Behaviour{  
        RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
        // 成员变量  
        private String name;  
        private int index;  
        // 构造方法  
        private Color(String name, int index) {  
            this.name = name;  
            this.index = index;  
        }  
    //接口方法  
        @Override  
        public String getInfo() {  
            return this.name;  
        }  
        //接口方法  
        @Override  
        public void print() {  
            System.out.println(this.index+":"+this.name);  
        }  
    }  

    用法六:使用接口组织枚举

     Java代码 

    public interface Food {  
        enum Coffee implements Food{  
            BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO  
        }  
        enum Dessert implements Food{  
            FRUIT, CAKE, GELATO  
        }  
    }  
        /**
         * 测试继承接口的枚举的使用(by 大师兄 or 大湿胸。)
         */
        private static void testImplementsInterface() {
            for (Food.DessertEnum dessertEnum : Food.DessertEnum.values()) {
                System.out.print(dessertEnum + "  ");
            }
            System.out.println();
            //我这地方这么写,是因为我在自己测试的时候,把这个coffee单独到一个文件去实现那个food接口,而不是在那个接口的内部。
            for (CoffeeEnum coffee : CoffeeEnum.values()) {
                System.out.print(coffee + "  ");
            }
            System.out.println();
            //搞个实现接口,来组织枚举,简单讲,就是分类吧。如果大量使用枚举的话,这么干,在写代码的时候,就很方便调用啦。
            //还有就是个“多态”的功能吧,
            Food food = Food.DessertEnum.CAKE;
            System.out.println(food);
            food = CoffeeEnum.BLACK_COFFEE;
            System.out.println(food);
        }

    运行结果

    用法七:关于枚举集合的使用

    java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。

    关于枚举的实现细节和原理请参考:

    参考资料:《ThinkingInJava》第四版

    http://softbeta.iteye.com/blog/1185573

     

    我的这篇文章,因为是转载的,可能基本就没有变动,导致被某人踩了一脚。觉得不符合我大师兄的性格。下面我把自己的使用理解给整理一下。

     

    也是因为因为当时刚刚开始学习吧。把平时自以为了解的东西都只是大概了解了一下,说到底,还是自以为了解了,其实转眼就不知道什么是什么了。
    出来学习,不习惯看代码怎么能行呢?
    下面是我自己的测试代码。

    package com.lxk.enumTest;
    
    /**
     * Java枚举用法测试
     * <p>
     * Created by lxk on 2016/12/15
     */
    public class EnumTest {
        public static void main(String[] args) {
            forEnum();
            useEnumInJava();
        }
    
        /**
         * 循环枚举,输出ordinal属性;若枚举有内部属性,则也输出。(说的就是我定义的TYPE类型的枚举的typeName属性)
         */
        private static void forEnum() {
            for (SimpleEnum simpleEnum : SimpleEnum.values()) {
                System.out.println(simpleEnum + "  ordinal  " + simpleEnum.ordinal());
            }
            System.out.println("------------------");
            for (TYPE type : TYPE.values()) {
                System.out.println("type = " + type + "    type.name = " + type.name() + "   typeName = " + type.getTypeName() + "   ordinal = " + type.ordinal());
            }
        }
    
        /**
         * 在Java代码使用枚举
         */
        private static void useEnumInJava() {
            String typeName = "f5";
            TYPE type = TYPE.fromTypeName(typeName);
            if (TYPE.BALANCE.equals(type)) {
                System.out.println("根据字符串获得的枚举类型实例跟枚举常量一致");
            } else {
                System.out.println("大师兄代码错误");
            }
    
        }
    
        /**
         * 季节枚举(不带参数的枚举常量)这个是最简单的枚举使用实例
         * Ordinal 属性,对应的就是排列顺序,从0开始。
         */
        private enum SimpleEnum {
            SPRING,
            SUMMER,
            AUTUMN,
            WINTER
        }
    
    
        /**
         * 常用类型(带参数的枚举常量,这个只是在书上不常见,实际使用还是很多的,看懂这个,使用就不是问题啦。)
         */
        private enum TYPE {
            FIREWALL("firewall"),
            SECRET("secretMac"),
            BALANCE("f5");
    
            private String typeName;
    
            TYPE(String typeName) {
                this.typeName = typeName;
            }
    
            /**
             * 根据类型的名称,返回类型的枚举实例。
             *
             * @param typeName 类型名称
             */
            public static TYPE fromTypeName(String typeName) {
                for (TYPE type : TYPE.values()) {
                    if (type.getTypeName().equals(typeName)) {
                        return type;
                    }
                }
                return null;
            }
    
            public String getTypeName() {
                return this.typeName;
            }
        }
    }
    

    然后是测试的结果图:

    简单的例子,大家基本都用过,看不懂的基本都是第二个例子。可以看到,在第二个例子里面,后面带有参数,其实可以这么理解。

    enum这个关键字,可以理解为跟class差不多,这也个单独的类。可以看到,上面的例子里面有属性,有构造方法,有getter,也可以有setter,但是一般都是构造传参数。还有其他自定义方法。那么在这些东西前面的,以逗号隔开的,最后以分号结尾的,这部分叫做,这个枚举的实例。也可以理解为,class  new 出来的实例对象。这下就好理解了。只是,class,new对象,可以自己随便new,想几个就几个,而这个enum关键字,他就不行,他的实例对象,只能在这个enum里面体现。也就是说,他对应的实例是有限的。这也就是枚举的好处了,限制了某些东西的范围,举个栗子:一年四季,只能有春夏秋冬,你要是字符串表示的话,那就海了去了,但是,要用枚举类型的话,你在enum的大括号里面把所有的选项,全列出来,那么这个季节的属性,对应的值,只能在里面挑。不能有其他的。

    我上面的例子,就是根据typeName,你可以从那些例子里面挑选到唯一的一个TYPE类型的枚举实例--TYPE.BALANCE。注意方法

    TYPE type = TYPE.fromTypeName(typeName);
    这个方法的返回类型就是这个TYPE枚举类型的。
    这下就好理解,这个枚举是怎么在工作了吧

    再补充一下:

    上面那个带参数的枚举类型的实例里面实际上是三个属性,除了我自定义的typeName以外,还有2个是系统自带的。看下面源码的图:

    看到这里之后,不知道你能不能理解下面图片内说明的话:下面图片主要说明在使用枚举时,的规范和标准。希望可以在实际开发时候用到

    最后补充一点:

    也许你知道呢,但是也许你不知道呢?我是真的不知道,测了之后才知道!!!

    枚举类型对象之间的值比较,是可以使用==,直接来比较值,是否相等的,不是必须使用equals方法的哟。

    具体,请参考下面的链接:

    java 枚举类比较是用==还是equals?

    2017.11.07 更新

    有的老铁,说这个switch case怎么写,我就在下面再啰嗦一下。

        private static void testSwitchCase() {
            String typeName = "f5";
            //这几行注释呢,你可以试着三选一,测试一下效果。
            //String typeName = "firewall";
            //String typeName = "secretMac";
            TypeEnum typeEnum = TypeEnum.fromTypeName(typeName);
            if (typeEnum == null) {
                return;
            }
            switch (typeEnum) {
                case FIREWALL:
                    System.out.println("枚举名称(即默认自带的属性 name 的值)是:" + typeEnum.name());
                    System.out.println("排序值(默认自带的属性 ordinal 的值)是:" + typeEnum.ordinal());
                    System.out.println("枚举的自定义属性 typeName 的值是:" + typeEnum.getTypeName());
                    break;
                case SECRET:
                    System.out.println("枚举名称(即默认自带的属性 name 的值)是:" + typeEnum.name());
                    System.out.println("排序值(默认自带的属性 ordinal 的值)是:" + typeEnum.ordinal());
                    System.out.println("枚举的自定义属性 typeName 的值是:" + typeEnum.getTypeName());
                    break;
                case BALANCE:
                    System.out.println("枚举名称(即默认自带的属性 name 的值)是:" + typeEnum.name());
                    System.out.println("排序值(默认自带的属性 ordinal 的值)是:" + typeEnum.ordinal());
                    System.out.println("枚举的自定义属性 typeName 的值是:" + typeEnum.getTypeName());
                    break;
                default:
                    System.out.println("default");
            }
        }
    

    然后,就是运行结果的截图。

    老铁们,看完这个枚举,你要懂个概念,那就是,这个枚举,他是个对象,就像你定义的Student类,Person类,等等一些个类一样。

    要有这么个概念。只要是个类,他就可以有构造函数,可以有属性,可以有方法。

    对的,老铁,你对这个属性,构造函数啥的,有概念吧,没有的话,我可就郁闷啦。

    然后,你就看到,这个地方有2个默认的属性,一个是name,一个是ordinal,这2个属性就像你定义Student类和Person类的name和age一样,

    只不过,这2个是系统自带的属性,不用你自己去定义啦。

    你也可以给这个枚举类,也就是你自己声明的枚举,随便加属性。

    我上面代码例子里面的那个TypeEnum那个枚举,就是这么干的,就简单的添加了个自定义属性typeName,

    虽然他有自己的name了,那姑且叫我这个自定义的属性叫别名吧。

    可以看到,我例子里面就是通过自己写的那个构造方法给我这个自定义的属性初始化值的。

    还有,这个构造方法是不可以,也不被运行public的,不信,你可以试试。

    还有,你不能对系统自带的name属性,在构造函数里面赋值,没有为什么。

    https://blog.csdn.net/qq_27093465/article/details/52180865

    (2019-07-29更新)

    再补充一点,这个也比较重要

    就是这个枚举类型,一旦创建,且被使用(比如,存数据库啥的)之后,持久化后的对象信息里面就保存了这个枚举信息。这个时候你的需求或者要求啥的,需要变更这个枚举名称。应当禁止这个变更的操作,只能重新创建,用新的代替旧的,不能直接把旧的给改了,因为,就数据在逆转成对象的时候,如果,旧的枚举不在了,那么就会400还是500的报错或者是空指针的bug。这也是需要关注的一个问题。希望注意下,不然等到出bug了再想到这个问题,就不好了。

     

    我写完文章,给自己点个赞,不过分吧,
    不过分,那我可就点啦啊。
    我先点为敬,你们随意。大家随意。不要客气。。。

    展开全文
  • 测试用例的几种常见设计方法

    千次阅读 2018-04-11 12:30:50
    测试用例的几种常见设计方法 测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。 一.等价类划分法 顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,...
  • js内存泄漏常见四种情况

    千次阅读 2017-02-10 18:22:22
    本文主要选取了4 Types of Memory Leaks ... 对于较难理解的第四种情况, 参考了一些文章来进行说明.意外的全局变量 js中如果不用var声明变量,该变量将被视为window对象(全局对象)的属性,也就是全局变量.function foo(a
  • C++ Map常见用法说明

    万次阅读 多人点赞 2016-11-10 15:07:36
    C++中map提供的是一键值对容器,里面的数据都是成对出现的,如下图:每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值。一. 声明//头文件 #include<map>map, ...
  • 四种聚类方法

    千次阅读 2018-03-19 20:47:24
    聚类分析是一重要的人类行为,早在孩提时代,一个人就通过不断改进下意识中的聚类模式来学会如何区分猫狗、动物植物。目前在许多领域都得到了广泛的研究和成功的应用,如用于模式识别、数据分析、图像处理、市场...
  • 种常见的离群点检验方法

    万次阅读 2019-04-19 10:50:18
    在一组平行测定中,若有个别数据与平均值差别较大...1 离群值检验方法简介 设有一组正态样本的观测值,按其大小顺序排列为x1,x2,x3,……,xn。其中最小值x1或最大值xn为离群值(xout)。对于离群值的统计检验,大...
  • 11种常见的多变量分析方法

    万次阅读 多人点赞 2018-10-09 09:31:06
    在社会科学研究中,主要的多变量分析方法包括多变量方差分析(Multivariate analysis of variance,MANOVA)、主成分分析(Principal component analysis)、因子分析(Factor analysis)、典型相关(Canonical ...
  • 常见设计模式说明

    千次阅读 2020-08-24 23:23:34
    缺点是:每增加一产品,就需要增加一个对象的工厂,这就需要更多的类定义 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 策略模式:定义一系列算法,把它们一个个封装起来...
  • 最常用的四种大数据分析方法

    万次阅读 多人点赞 2017-09-19 09:32:13
    本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。
  • Linux中常见软件安装方法常见管理方法

    千次阅读 多人点赞 2019-03-16 20:55:57
    .脚本安装、升级、卸载 五.SRPM包安装(知道就行,很少用) 一.软件的类型 1.软件是指计算机系统中的程序及其文档 程序必须装入机器内部才能工作 文档一般是给人看的,不一定装入机器 软件是用户与硬件之间的接口界面...
  • 四种常见的post请求中的参数形式

    万次阅读 2019-01-11 13:14:07
    四种常见的post请求中的参数形式 post请求中的参数形式 一、初识post请求实例 1、Angular的ajax功能 AngularJs的ajax的post请求参数就是提交的json字符串。如: var data = {'name':'jack'}; $http.post(url,data)....
  • 四种常见的 POST 提交数据方式--good

    千次阅读 2016-11-17 15:24:21
    四种常见的 POST 提交数据方式--good HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交...
  • PostMan 四种常见的 POST 提交数据方式

    千次阅读 2019-11-18 17:07:01
    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几方式。 协议规定 POST 提交的数据...
  • 黑盒测试,又称功能... 采用黑盒技术设计的测试用例方法有:  · 等价类划分方法  · 边界值分析  · 错误推测  · 因果图方法  · 判定表驱动分析方法  · 正交实验设计方法  · 功能
  • 四种主流聚类方法

    万次阅读 多人点赞 2015-07-29 11:48:50
    四种聚类方法之比较 2015-07-29 SOTON数据分析 聚类分析是一重要的人类行为,早在孩提时代,一个人就通过不断改进下意识中的聚类模式来学会如何区分猫狗、动物植物。目前在许多领域都得到了广泛的研究和成功...
  • 四种聚类方法之比较

    万次阅读 2012-08-18 18:05:32
    摘 要: 介绍了较为常见的k-means、层次聚类、SOM、FCM等四种聚类算法,阐述了各自的原理和使用步骤,利用国际通用测试数据集IRIS对这些算法进行了验证和比较。结果显示对该测试类型数据,FCM和k-means都具有较高的...
  • REST API认证的四种常用方法

    千次阅读 2019-08-16 10:22:59
    本文将向您介绍在REST API和微服务领域中常用的个认证方法。 身份验证与授权的概念 在深入介绍认证方法之前,先让我们从概念上来了解一下身份验证与授权。 身份验证是指实体证明自己的身份。换句话说,为了证明...
  • 判断js数据类型的四种方法和原理

    千次阅读 多人点赞 2019-05-28 15:44:23
    怎么去判断一个数据属于哪个数据类型,这个是很常见的操作,我们一般都会想到typeof和instanceof这两个常见方法,但有时候这两种方法并不能满足我们的需求。那让我们来看一下都有哪些可以判断数据类型的方法吧。 1...
  • Form表单、四种常见的POST请求提交数据方式

    万次阅读 多人点赞 2018-09-22 00:49:19
    1、form表单常用属性 ... method:提交服务器的http方法,一般为post和get name:最好好吃name属性的唯一性 enctype: 表单数据提交时使用的编码类型,默认使用"pplication/x-www-form-urlencode...
  • 先说最简单的第一,原理就是,在网页载入时在页面最中间打入一个层上面显示,"网页正在载入中...."当网页下载完毕,,用JS关闭这个层......。 先在首页HTML最上面...任意位置都行..加入 正在载入中,请稍等..... ...
  • 使用反射的四种方法

    千次阅读 2015-01-08 22:06:40
    反射是.net提供的用来访问类或者类里面的内容的一项技术,它允许你在编译时对一个类基本上一无所知的情况下对一个类进行访问,支持利用一个字符串对类进行发现、访问、调用等,以下利用实例介绍四种使用反射的方法。...
  • 因为三颜色都有256个亮度水平级,所以三色彩叠加就形成1670万颜色了。也就是真彩色,通过它们足以在现绚丽的世界。在RGB模式中,由红、绿、蓝相叠加可以产生其它颜色,因此该模式也叫加色模式。所有显示器、...
  • Hive导入数据的四种方法

    万次阅读 2018-03-28 12:53:29
    Hive的几种常见的数据导入方式这里介绍四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表...
  • iOS判断系统版本号的四种方法

    万次阅读 2016-11-30 15:23:40
    代码中判断设备iOS系统版本号从而使用不同方法处理来适配的四种方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 347,872
精华内容 139,148
关键字:

常见的四种说明方法