自动拆箱导致空指针异常
写在前面:三目运算符是我们经常在代码中使用的,a= (b==null?0:1);这样一行代码可以代替一个if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运用不恰当的时候会导致意想不到的问题。前段时间遇到(一...
写在前面:三目运算符是我们经常在代码中使用的,a= (b==null?0:1);这样一行代码可以代替一个if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运用不恰当的时候会导致意想不到的问题。前段时间遇到(一...
接口优于反射 写在前面:最近在做一个需求:要针对不同的度量模型来执行不同的方法,同时要让后面接手的开发同学用最少的代码、最简单的方式来复用并实现更多度量模型。该需求一方面学到了一个新的设计模式——模板方法设计模式。另外一方面还得到一个经验—...
写在前面:最近在做一个需求:要针对不同的度量模型来执行不同的方法,同时要让后面接手的开发同学用最少的代码、最简单的方式来复用并实现更多度量模型。所以就接触到了一个新的设计模式——模板方法设计模式。 概念 在一个方法中定义了一个算法的骨架或者...
Jmap jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。可以使用jmap生成Heap Dump。在Java命令学习系列(零)——常见命令及Java Dump介绍和J...
写在前面:在一些在日常环境和线上环境中的开发中,有很多和编写代码本身无关,但是和完成项目息息相关的东西会用到。这些东西,学校里的老师大多都是不讲的(反正我们老师没讲过),所以,需要我们自己去学习。简单的总结了一下,目前能用到的就这些~
今天在清理电脑文件的时候,发现有一份当年记录的文件,里面记录了我当年参加校招面试的时候面试官问我的问题。想想还是写出来。希望看到的人能有点收获
枚举 擅用枚举代替int和String 可以在枚举中定义一个抽象方法,要求每个主体中实现(必须实现),如: public enum Operation{ PLUS{double apply(double x,double y){return...
一、常用命令: 在JDK的bin目彔下,包含了java命令及其他实用工具。 jps:查看本机的Java中进程信息。 jstack:打印线程的栈信息,制作线程Dump。 jmap:打印内存映射,制作堆Dump。 jstat:性能监控工具。 j...
最近,分析了很多由自动化工具扫描出来的代码漏洞,很多Bug都是因为我们平时写代码不注意规范导致的。更可怕的是很多时候我们并不知道那样写代码有什么问题。 今天就把这些问题总结一下。 1.非空判断 我们在代码中经常这样写: if(use...
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后...