Comparable和Comparator是JDK中定义的2个比较接口,很相似,但又有所不同. 这2个接口的作用和区别也是Java中的常见经典面试题. 下面我们就来详细介绍下这2个接口的定义.作用.区别.模式.应用场景和代码案例. 定义 public interface Comparable<T> { public int compareTo(T o); } public interface Comparator<T> { int compare(T o1, T o2); bool
摘要 本文先给出一个看似很简单实则有深意的Java笔试面试题,引出JDK内部的缓存. JDK内部的缓存,主要是为了提高Java程序的性能. 你能答对这道"看似简单,实则有深意"的Java题目? 我们首先来看一个简单的程序: public class IntCacheDemo { /** * 一道经典的Java笔试面试题 */ public static void main(String[] args) { Integer a = 2013; Integer b = 2013; if (
OpenJDK源码研究笔记系列文章,是我在阅读OpenJDK7源码的过程中的一些体会.收获.看法. 把研究过程中的成长和收获一点点地整理出来,是对自己研究学习的一个小结,也有可能给学习Java的一些同学带来一些启发. 我打算每篇只讲解一点,这样篇幅较小,读起来没有太大压力. 写起来压力也小,抽出10到20分钟就可以写1篇. 本篇简要介绍,方法(函数)体内的参数检查,遇到不合法的输入参数时,抛出带关键错误提示信息的异常. /** * Initializes a new instance of th
前14篇文章,分享了JDK中值得学习和借鉴的编码和设计方法. 每个硬币都是有两面的.Every coin has two sides. 当然,JDK中也有很多值得改进或者说富有争议的设计. 本篇,就来详细吐槽下JDK中的10个富有争议的设计. 网友指出1.求和抛异常,错误提示不合理. 在OpenJDK源码研究笔记(一)-参数检查&抛出带关键错误提示信息的异常这篇文章中,有个网友指出:"第三个if的提示信息有点问题.前两个if说明了position和size都不可能为负,求和通常不可能为负
元数据最本质.最抽象的定义为:data about data (关于数据的数据).它是一种广泛存在的现象,在许多领域有其具体的定义和应用. JDBC中的元数据,有数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaData) 分别封装了数据库产品名字等数据库信息.查询参数的个数等参数信息.结果集的列数等结果集信息. 数据库元数据 /** *数据库的整体综合信息. */ public interface Dat