java 基础知识点必备

1.为什么集合类没有实现Cloneable和Serializable接口?

克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的。因此,应该由集合类的具体实现来决定如何被克隆或者是序列化。

2.Iterator和ListIterator的区别是什么?

Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。
ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等

3.快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。java.util包下面的所有的集合类都是快速失败的,而java.util.concurrent包下面的所有的类都是安全失败的。快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异常。

时间: 2024-10-16 01:02:42

java 基础知识点必备的相关文章

JAVA基础知识点总结(全集)

1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境,JRE:java运行环境 1.4第一个java程序:HelloWorld,java的入口是main(public static void main(String[] args)) 1.5java程序的开发步骤:.java编译(javac)成.class运行(java).class文件 2.基本数据

java基础知识点回顾

java基础数据类型 bollean 1 char 2 byte 1, short 2 , int 4, long 8 float 4, double 8 ----------------------------------------------------- java 四大特征 抽象,封装,继承,多态 ---------------------------------------------------- override 和 overload override(重写):子类重写父类方法体,

java基础知识点

1.Java语言的特点是什么? 简单性,面向对象的语言,一种与平台无关的语言,健壮性和安全性,多线程,垃圾回收机制: 2.如何编译和执行java文件?产生帮助文档用什么命令? 编译: javac   文件名 执行:java    类名 产生帮助文档:   javadoc  文件名 3.虚拟机的工作流程是什么? 编写源文件*.java---通过javac将源文件编译成字节码文件*.class 类加载------字节码效验-------解释器------操作系统 4.Jdk和jre是什么?main方

Java基础知识点总结

转:http://my.oschina.net/u/267295/blog/52716 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ----------------------------------------

java基础知识点总结 1

>标示符: 所有的名字 和同类区分 方便调用       命名规则:由数字字母_$组成 不能以数字开头 区分大小写 不能是java关键字 命名规范:尽量增加可读性 类名:所有单词首字母大写 变量名/方法名:除了第一个单词 其他单词首字母大写 final常量: 所有字母大写 >关键字:java中被赋予特殊含义的单词或者字符 static void byte short int long float double boolean char protected private public stat

【Java基本功】很多人经常忽视的Java基础知识点

*.Java文件 问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的

Java基础知识点1

运算符 运算符的分类: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三目运算符 自增自减运算符:++i:i先自加,再做其他运算:i++先运算再自加: --i先自减再做其他运算:i--先运算再自减: 赋值运算符 = : 这个等于号在Java中表示赋值的意思,真正数学意义上的相等是 == 在JavaScript当中还有 ===,表示类型和数值都相等   扩展赋值运算符: +=   -=   *=   /=   %= (使用扩展赋值运算符系统会自动帮我们强制类型转换) *关系运算符的结果

java基础知识点梳理1

抽象类:   在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法. 抽象类的特点: 1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量). 2:抽象方法只定义方法声明,并不定义方法实现. 3:抽象类不可以被创建对象(实例化). 4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化.否则,该子类还是一个抽象

Java基础知识点备忘

static 1.静态域 用static修饰的域是仅属于类的静态域,静态域是类中每个对象共享的域:他们是类的域,不属于任何一个类的具体对象:静态域是一个公共的存储单元,任何一个类的对象访问它时,取到的都是相同的数值,因此static代码块可以优化程序性能. 2.静态方法 用static修饰的方法叫类方法也叫静态方法:静态方法和静态变量一样,不许创建类的实例,可以直接通过类名被访问:无法使用protected和abstract关键字:在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态