Java debug 2017.4.21

怎么查询一个函数的运行耗时

oldt = System.currentTimeMillis();

### DList = stmt.executeQuery(getDList);

newt = System.currentTimeMillis();               
System.out.println(newt - oldt);

怎么调试空指针异常

  • 抛出异常的那句话很有很能是一个为“null”的对象调用了一个函数,我们就通过设置条件断点或者控制台输出找到究竟是哪里产生了一个null
  • 假设是因为数据库的数据本身存在null值,那么好的处理方法是在程序中做一个null检测,==而不是改掉数据库==!!!为什么?因为在我们不知道的地方还可能会出现null值

关于程序效率提升(容器的选择会影响程序效率)

  • 比如说hashmap就比treemap快。在我们存储有对应关系的对象的时候,还是尽量用map,而不是一个list类型和一个int类型匹配起来输出
  • 通常情况下,我们并不关心map中是怎么存数据的,如果需要按顺序输出,输出排序就好,优先用hashmap提升程序速度
  • 理解容器的构造机理有助于我们编程。就像list为什么可以无限大。在你不停存储数据的时候,他其实是由一个数组构造,超过这个范围,他就会构造一个新的更大的数组,把旧的数组的值复制过去。==所以,在可以确定数据量大小的时候,就不要用容器,可以提高程序的运行速度。==

一些我没见过的有意思语法

  • 隐函数使用,怎么对map实现排序功能(v是int类型,key是string类型,返回输出)
    public static String[] showWord2ID(String flag){
        Map<String, Integer> map;
        if (flag.equals("D")) map = diseaseMap;
        else map = medicinalMap;

        String[] array = new String[map.size()];
        map.forEach((k, v) -> array[v] = k);
        return array;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值