10 2017 档案
摘要:1.反射机制的理解 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法 对于任意一个对象,都能够调用它的任意一个方法和属性 类中有什么信息,利用反射机制就能可以获得什么信息,不过前提是得知道类的名字 2.反射机制的作用 在运行时判断任意一个对象所属的类; 在运行时获取类的实例对象; 在运
阅读全文
摘要:垃圾回收机制是java程序员面试的一个必备问题,有人会觉得既然JVM自动管理内存及其分配,那么垃圾回收也应该是JVM自动进行的啊,那么程序员还需要考虑这个问题吗?答案是:需要。原因很简单:当需要排查各种内存溢出、内存泄漏问题时,当垃圾回收成为系统高并发性能的瓶颈时,我们就需要对这些JVM自动进行的机
阅读全文
摘要:说到java中的equals与==的用法,这里首先梳理一下java中的数据类型,主要分为两大类:值类型和引用类型,值类型也就是基本数据类型,而引用类型就是除了值类型之外的其他类型。 基本数据类型(8种):byte、short、int、long、float、double、char、boolean 引用
阅读全文
摘要:说到内存管理,笔者这里想先比较一下java与C、C++之间的区别: 在C、C++中,内存管理是由程序员负责的,也就是说程序员既要完成繁重的代码编写工作又要时常考虑到系统内存的维护 在java中,程序员无需考虑内存的控制和维护,而是交由JVM自动管理,这样就不容易出现内存泄漏和溢出的问题。然而,一旦出
阅读全文
摘要:Set集合与List一样,都是继承自Collection接口,常用的实现类有HashSet和TreeSet。值得注意的是,HashSet是通过HashMap来实现的而TreeSet是通过TreeMap来实现的,所以HashSet和TreeSet都没有自己的数据结构,具体可以归纳如下: Set集合中的
阅读全文
摘要:这一节主要讨论Map接口的几个实现类的区别和用法。 1.线程安全 Hashtable是线程安全的(原因与StringBuffer、Vector相似),而其他的Map实现类都是非线程安全的,至于为什么,可以看之前的一些文章,前面已经介绍地很详细了。 这里特别讲解一下HashMap和Hashtable的
阅读全文
摘要:java集合中Map接口的实现类有HashMap、Hashtable、LinkedHashMap和TreeMap,与List不同的是Map并不是继承自Collection接口。可以这样来理解它: Map提供key到value的映射,一个Map中不能包含相同的key,每个key只能映射一个 value
阅读全文
摘要:这一节主要介绍List接口的几个实现类的区别: 1.线程安全 Vector是线程安全的,而ArrayList和LinkedList是非线程安全的。从源码中我们可知,Vector类中的方法大部分都是同步的,即被synchronized关键字修饰;而那些没有被synchronized关键字修饰的方法都是
阅读全文
摘要:首先分析一下集合与数组的区别:1.java中的数组一般用于存储基本数据类型,而且是静态的,即长度固定不变,这就不适用于元素个数未知的情况;2.集合只能用于存储引用类型,并且长度可变,适用于大多数情况,可用toArray()方法转换成数组。 java语言提供了多种集合类的接口,如List、Set、Ma
阅读全文