zoukankan      html  css  js  c++  java
  • 培训日报3.14(mysql,guava,穿山甲等)

    guava答疑

    (1)对于取值范围固定的属性,应尽可能将其定义为枚举类型;

    (2)Iterable,Collection,List,Set,Map都是接口,它们之间的关系为:

    List和Set继承Collection,Collection继承Iterable;Map属于单独的一个派系,它是最顶层的接口,对它的实现有HashMap,LinkedHashMap,TreeMap;其中TreeMap内部结构为红黑树,它存储的节点是有序的;

    mysql

    (1)mysql 单进程多线程数据库;orcale是多进程的;

    (2)alter操作会对表加锁,导致对该表的请求阻塞;

    (3)存储引擎只能在表的级别上进行指定,在库的级别上无法指定;

    (4)mysql字段decimal(5,2)表示为小数部分和整数部分总共5位,小数部分两位;

    (5)decimal与float、double的区别在于decimal存储的是精确度数字,适合存储金钱数字等;

    (6)char是定长的,无论有没有字符,该字段都为4个字节;varchar是变长的,它其中会含有一个字节来记录存储在该字段字符的长度,若字符长度大于255则用两个字节来记录;因此,“”空串,char占用4个字节,varchar为1个字节;“aa”char为4个字节,varchar为3个字节;“abcd”char为4个字节,varchar为5个字节;

    (7)text和blog都是大字段,所以建索引只能建立前缀索引;

    其它

    1.时刻记得对传入参数合法性的判断;

    2.判断两个对象相等时,尽量使用guava中Objects.equals();

    3.对与TOP K的排序,除了使用堆,优先队列外,也可以使用guava中的Ordering.greatestOf方法,具体使用方法如下:

    Ordering<Map.Entry<String,Integer>> ordering = new Ordering<Map.Entry<String,Integer>>() {
                @Override
                public int compare(Map.Entry<String,Integer> left, Map.Entry<String,Integer> right) {
                    return left.getValue()-right.getValue();
                }
            };
    List<Map.Entry<String,Integer>> topKList = ordering.greatestOf(httpMap.entrySet(),K);
  • 相关阅读:
    WEB前端工程师 – 职业生涯规划
    求Sn=a+aa+aaa+…+aaa…a的值
    输入一行字符,分别统计出其中英文字母 空格 数字和其他字符的个数
    getchar()的用法!
    求1+2+…+n的和不大于1000的最大自然数n
    编程打印输出*金字塔
    从键盘输入一个整数,判断该数是否回文数.
    编程求"水仙花数"
    编程求出1000以内的完全数
    输入两个正整数,求它们的最大公约数和最小公倍数.
  • 原文地址:https://www.cnblogs.com/userrain/p/5279034.html
Copyright © 2011-2022 走看看