摘要:
ArrayList是实现了List接口的动态数组.与java中的数组相比,它的容量能动态增长.ArrayList的三大特点: ① 底层采用数组结构 ② 有序 ③ 非同步下面我们从ArrayList的增加元素、获取元素、删除元素三个方面来学习ArrayList。ArrayList添加元素因为Ar... 阅读全文
摘要:
HashMap基于hash表的Map接口实现,它实现了Map接口中的所有操作。HashMap允许存储null键和null值。这是它与Hashtable的区别之一(另外一个区别是Hashtable是线程安全的)。另外,HashMap中的键值对是无序的。下面,我们从HashMap的源代码来分析Has... 阅读全文
摘要:
在项目开发过程中,有时候在选择int还是Integer会有些纠结.今天就来聊一下这个问题.当然,下面所说的基本也适用于java中其他基本类型和其包装类型。Definitions: int是原始类型,并不是一个Object.int的取值范围为-2的31次方到2的31次方.int的在计算时具备非常高... 阅读全文
摘要:
本文参考Head first设计模式写作.先来看一个简单的模拟鸭子应用做起,某公司做了一套模拟鸭子游戏:SimUDuck.游戏中出现各种鸭子,一边游泳戏水,一边呱呱叫.此系统的内部设计使用了标准OOP思想,设计了一个鸭子超类(Superclass),并让各种鸭子继承此超类.类图如下: 为了提升产品... 阅读全文
摘要:
设计模式是解决某类问题行之有效的方法.设计模式指的是解决问题的思想,并不是具体的代码.开发中会遇到各种各样的问题,但有些问题在本质上相同的,有些人已经总结出了解决这些问题的方法,学习设计模式就是利用其他开发人员的经验和智慧来解决某类相同的问题.再一次强调,设计模式强调的是思想.学习设计模式最好的方式... 阅读全文
摘要:
在日常工作中,经常要查询分组的前几名.oracle中可以通过row_num来支持查询,mysql暂时不支持row_num.那么如何来完成这个需求呢? 例如:表中的数据:+--------+-------+-----+| Person | Group | Age |+--------+-------+... 阅读全文
摘要:
在mysql中,char和varchar都表示字符串类型.但他们存储和检索数据的方式并不相同.在表结构定义中声明char和varchar类型时,必须指定字符串的长度.也就是该列所能存储多少个字符(不是字节,是字符).例如:char(10)和varchar(10)都能存储10个字符.声明为char的列... 阅读全文
摘要:
++i 与 i++都能实现自增,它们的区别在哪?++i:先自增,然后返回引用.i++:先进行一个本地备份(可以理解为定义一个临时变量),自增,然后返回临时变量的引用.理论上来讲,++i操作会快于i++,但由于现代编译器做了优化.所以,++i与i++在性能上的并无差别. 阅读全文
摘要:
1.What is exception in Java?Java使用异常描述程序中可能出现的不正常情况。这个不正常可以是java认为的不正常,也可以是你主观上的出乎意料(自定义异常).总而言之,异常用于表示程序中的不正常现象。2.Why use exception in Java?① 异常分离程序中... 阅读全文