百度
360搜索
搜狗搜索

java异常分类三大类,Java集合框架的知识总结?详细介绍

本文目录一览: Java异常机制是什么

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。
用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。
throw语句用来明确地抛出一个"异常"。
throws用来标明一个成员函数可能抛出的各种"异常"。
Finally为确保一段代码不管发生什么"异常"都被执行一段代码。
可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。
JAVA是一种软件,只要手机没中病毒就可以正常运行啊!
具体看这里吧:http://longxw1130.blog.163.com/blog/static/111071121200991511321646/
一、异常的关键字:
一般来说,异常的关键字有:try、catch、finally、throw、throws。
网上的资料对这几个关键字是这样解释的:
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating the program.
throws: Lists the exceptions a method could throw.
Throw: Transfers control of the method to the exception handler.
try语句
try语句用大括号{}指定了一段代码,该段代码可能会抛弃一个或多个例外。
catch语句
catch语句的参数类似于方法的声明,包括一个例外类型和一个例外对象。例外类型必须为Throwable类的子类,它指明了catch语句所处理的例外类型,例外对象则由运行时系统在try所指定的代码块中生成并被捕获,大括号中包含对象的处理,其中可以调用对象的方法。
catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止。这里,类型匹配指catch所处理的例外类型与生成的例外对象的类型完全一致或者是它的父类,因此,catch语句的排列顺序应该是从特殊到一般。也可以用一个catch语句处理多个例外类型,这时它的例外类型参数应该是这多个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型。
finally语句
try所限定的代码中,当抛弃一个例外时,其后的代码不会被执行。通过finally语句可以指定一块代码。无论try所指定的程序块中抛弃或不抛弃例外,也无论catch语句的例外类型是否与所抛弃的例外的类型一致,finally所指定的代码都要被执行,它提供了统一的出口。通常在finally语句中可以进行资源的清除工作。如关闭打开的文件等。
throws语句
throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型
throw语句
throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。

其实,我个人觉得,简单的来说:throws与throw从拼写上只相差一个s,但是功能、作用上有很大的区别。throws用于在方法和类处声明可能抛出的所有异常信息。throw而throw就是单个语句抛出异常,是指抛出的一个具体的异常类型,使用在方法(类)的内部。
如:
………………………………………………………………………………………………………
public class showUI throws Exception(){
public void tbstudy throws Exception(){
****;//
try{
/* 这里是要处理的异常 */
}
Catch(Exception of){
System.out.println(of);//打印出异常
}
}

………………………………………………………………………………………………………
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法(即调用该方法或类的所有地方);
throw则需要用户自己捕获相关的异常,而后再对其进行相关处理(如打印异常的地方,类型等),最后将处理后的异常信息抛出。
他们对异常处理方式也不同.throws对异常不处理,谁调用谁处理,throws的Exception的取值范围要大于方法内部异常的最大范围,而cathch的范围又要大于throws的Exception的范围;throw 主动抛出自定义异常类对象。
二、异常继承体系
异常的继承结构
三、java处理异常方式
在java代码中如果发生异常,jvm(java虚拟机)会抛出异常对象,导致程序代码中断,这个时候jvm在做的操作就是:创建异常对象,然后抛出,比如:
1.int i= 1;
2.int j = 0;
3.int res = 0;
4.res = i/j;//除0错误
5.System.out.println(res);
这5句代码运行到第四句会中断,因为jvm抛出了异常
2.throw的作用:手动抛出异常。有时候有些错误在jvm看来不是错误,比如:
1. int age = 0;
2. age = -100;
3.System.out.println(age);
很正常的整形变量赋值,但是在我们眼中看来就不正常,谁的年龄会是负的呢?!所以我们需要自己手动引发异常,这就是throw的作用
int age = 0;
age = -100;
if(age<0){
Exception e = new Exception(); //创建异常对象
throw e; //抛出异常
}
System.out.println(age);
java中的异常机制
异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返回-1代表出现异常,但是如果函数确实要返回-1这个正确的值时就会出现混淆;可读性降低,将程序代码与处理异常的代码混叠在一起;由调用函数的程序来分析错误,这就要求客户程序员对库函数有很深的了解。
在使用File类的方法时,如正在将U盘里面的照片复制到电脑里时,有人将U盘拔掉了。这时我们的复制程序就会出错,即抛出异常。当出现程序无法控制的外部环境问题(用户提供的文件不存在或者创建文件时已有同名文件存在,文件内容损坏,网络不可用...)时,JAVA就会用异常对象来描述。
异常情况通常有三大类:
(1)检查性异常:java.lang.Exception
(2)运行期异常:java.lang.RuntimeException
(3)错误:java.lang.Error
它们都是java.lang.Throwable类的子孙类。如右图:
Throwable 类是 Java 语言中所有错误和异常类的父类,对于具体的异常,不应该使用Throwable类,而应该使用其他三者之一。
检查性异常------程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。JAVA编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
运行期异常------这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,JAVA编译器强制要求处理这类异常。用来表示设计或实现方面的问题,如数组越界等。因为设计和实现正确的程序不会引发这类异常,所以常常不处理它。发生这类异常时,运行时环境会输出一条信息,提示用户修正错误。
错误------一般很少见,也很难通过程序解决。它可能源于程序的bug,但一般更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而有运行环境处理。Error表示很难恢复的错误,如内存越界。一般不期望用户程序来处理,即使程序员有能力处理这种错误,也还是交给系统处理为好。

JAVA中什么情况下会产生异常?

java产生异常的情况有很多种,比如说你想把一个字符串型“123”转成int型123,ok,这样没有问题。代码如下:\x0d\x0aString a = "123";\x0d\x0aint b = Integer.parseInt(a);\x0d\x0a但是如果你尝试如下写法\x0d\x0aString a = "abc";\x0d\x0aint b = Integer.parseInt(a);\x0d\x0a编译器是不会给你提示任何错误,只有等程序真正运行到此处的时候,才会发生异常,以为parseInt无法将字符串"abc"转成int型。\x0d\x0a我举得例子只是异常中的一种\x0d\x0a另外,Java 异常的种类有三大类,可分为可检测异常,非检测异常和自定义异常。\x0d\x0a可检测异常\x0d\x0a可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则,例如:sqlExecption 这个异常就是一个检测异常。你连接 JDBC 时,不捕捉这个异常,编译器就通不过,不允许编译。\x0d\x0a非检测异常\x0d\x0a非检测异常不遵循处理或声明规则。在产生此类异常时,不一定非要采取任何适当操作,编译器不会检查是否已解决了这样一个异常。例如:一个数组为 3 个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常 JVM 不会进行检测,要靠程序员来判断。有两个主要类定义非检测异常:RuntimeException 和 Error。\x0d\x0aError 子类属于非检测异常,因为无法预知它们的产生时间。若 Java 应用程序内存不足,则随时可能出现 OutOfMemoryError;起因一般不是应用程序的特殊调用,而是 JVM 自身的问题。另外,Error 一般表示应用程序无法解决的严重问题。\x0d\x0aRuntimeException 类也属于非检测异常,因为普通 JVM 操作引发的运行时异常随时可能发生,此类异常一般是由特定操作引发。但这些操作在 Java 应用程序中会频繁出现。因此,它们不受编译器检查与处理或声明规则的限制。\x0d\x0a自定义异常\x0d\x0a自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义。可以显示代码多个位置之间的错误的相似性,也可以区分代码运行时可能出现的相似问题的一个或者多个错误,或给出应用程序中一组错误的特定含义。例如,对队列进行操作时,有可能出现两种情况:空队列时试图删除一个元素;满队列时试图添加一个元素。则需要自定义两个异常来处理这两种情况。

JAVA分类(java的分类)

JAVA有三大分类,分别为:J2ME、J2SE、J2EE。JavaME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。
JAVAME技术在1999年的JavaOneDeveloperConference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
扩展资料:
Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open)体系。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

在java中常出现的异常和解决方法

1. java.lang.nullpointerexception
这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
2. java.lang.classnotfoundexception
这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。
3. java.lang.arithmeticexception
这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。
4. java.lang.arrayindexoutofboundsexception
这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。
5. java.lang.illegalargumentexception
这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
6. java.lang.illegalaccessexception
这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。
其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
java.lang.ArrayStoreException
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
java.lang.EnumConstantNotPresentException
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。
java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。
java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。
java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。
java.lang.StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.TypeNotPresentException
类型不存在异常。当应用试图
参考资料:
http://zhidao.baidu.com/question/86639626.html
空指针
除零
数组下标越界
三大异常 你可以学学debug
1. java.lang.nullpointerexception
这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
2. java.lang.classnotfoundexception
这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。
3. java.lang.arithmeticexception
这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。
4. java.lang.arrayindexoutofboundsexception
这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。
5. java.lang.illegalargumentexception
这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
6. java.lang.illegalaccessexception
这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。
其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
java.lang.ArrayStoreException
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
java.lang.EnumConstantNotPresentException
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。
java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。
java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。
java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。
java.lang.StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.TypeNotPresentException
类型不存在异常。当应用试图

阅读更多 >>>  kotlin泛型(kotlin泛型约束)

天上飞的鸟有哪些?

1、麻雀
雀科麻雀属27种小型鸟类的统称。它们的大小、体色甚相近。一般上体呈棕、黑色的斑杂状,因而俗称麻雀。
初级飞羽9枚,外侧飞羽的淡色羽缘(第一枚除外)在羽基和近端处,形稍扩大,互相骈缀,略成两道横斑状,在飞翔时尤见明显。嘴短粗而强壮,呈圆锥状,嘴峰稍曲。除树麻雀外,雌雄均异色。
2、老鹰
是小型猛禽,与一般鸟类不同,雌鸟体型往往比雄鸟更大。老鹰性情凶猛,嘴呈黄色,上嘴弯曲,脚强健有力,趾有锐利的爪,翼大善飞。汉语中将隼科中较大的鸟类和鸱鸮科的鸟类(猫头鹰)等食肉鸟类俗称也划为鹰类,但一般只是专指鹰科鸟类。
3、喜鹊
鸟纲鸦科的一种鸟类。共有10个亚种。体长40-50厘米,雌雄羽色相似,头、颈、背至尾均为黑色,并自前往后分别呈现紫色、绿蓝色、绿色等光泽,双翅黑色而在翼肩有一大形白斑,尾远较翅长,呈楔形,嘴、腿、脚纯黑色,腹面以胸为界,前黑后白。留鸟。
4、杜鹃
常隐栖树林间,平时不易见到。叫声格外洪亮,每隔2-3秒钟一叫,有时彻夜不停。杂食性,啄食松毛虫、金龟甲及其他昆虫,也吃植物种子。不营巢,在苇莺、黑卷尾等的鸟巢中产卵,卵与寄主卵的外形相似。
5、燕子
形小,翅尖窄,凹尾短喙,足弱小,羽毛不算太多。羽衣单色,或有带金属光泽的蓝或绿色;大多数种类两性都很相似。燕子消耗大量时间在空中捕捉害虫,是最灵活的雀形类之一,主要以蚊、蝇等昆虫为主食,是众所周知的益鸟。
参考资料来源:百度百科-麻雀
参考资料来源:百度百科-老鹰
参考资料来源:百度百科-喜鹊
参考资料来源:百度百科-燕子
1、鸽
鸽,一种十分常见的鸟,世界各地广泛饲养,鸽是鸽形目鸠鸽科数百种鸟类的统称。我们平常所说的鸽子只是鸽属中的一种,而且是家鸽,家鸽中最常见的是信鸽,主要用于通讯和竞翔。鸽子和人类伴居已经有上千年的历史了,考古学家发现的第一幅鸽子图像,来自于公元前3000年的美索不达米亚,也就是现在的伊拉克。
2、蜂鸟
蜂鸟科(Trochilidae):共有1科2亚科104属355种。因飞行时两翅振动发出嗡嗡声酷似蜜蜂而得名。体型小,体被鳞状羽,色彩鲜艳,并闪耀彩虹色或金属光泽,雄鸟更为鲜艳;嘴细长而直,有的下曲,个别种类向上弯曲;舌伸缩自如;翅形狭长;尾尖,叉形或球拍形;脚短,趾细小而弱。
飞翔时两翅急速拍动,快速有力而持久;频率可达每秒50次以上。善于持久地在花丛中徘徊“停飞”,有时还能倒飞。与雨燕有较近的亲缘关系。蜂鸟和其他鸟类一样,没有发达的嗅觉系统,而主要依赖视觉。
3、鹤
鹤是鹤科鸟类的通称,是一些美丽而优雅的大型涉禽,鹤科分为鹤亚科和冕鹤亚科2亚科,4属,15种。其中鹤亚科有3属13种,在南美洲以外的各大陆均有分布,而在东亚种类最多,中国有2属9种,占世界15种鹤的一大半,是鹤类最多的国家,这9种鹤全部是中国的国家重点保护野生动物。
鹤亚科后趾小而高位,不能与前三趾对握,因此不能栖息在树上。冕鹤亚科1属2种,特产于非洲,冕鹤与鹤不同,可以栖树。鹤在中国文化中有崇高的地位,特别是丹顶鹤,是长寿,吉祥和高雅的象征,常被与神仙联系起来,又称为“仙鹤”。
4、鹰
广义的鹰(hawk;eagle)泛指小型至中型的白昼活动的隼形类鸟,尤指鹰属(Accipiter)的种类(真鹰,true hawk),包括苍鹰和雀鹰。广义的鹰(hawk;eagle)一词也常用来称呼鹰科的其他种鸟类(如鸢yuān、鵟kuáng和鹞yào),甚至用来称呼某些隼(sǔn)科鸟类(如隼、卡拉卡拉鹰)。
鹰是肉食性动物,会捕捉老鼠、蛇、野兔或小鸟。大型的鹰科鸟类(雕)可以捕捉山羊、绵羊和小鹿。它体态雄伟,性情凶猛,动物学上称它是猛禽类。
在我国最常见的鹰有苍鹰、雀鹰和松雀鹰三种。我国的《野生动物保护法》中明确规定:所有的猛禽都属于国家二级以上保护动物,严禁捕捉、贩卖、购买、饲养及伤害。
5、雀
雀是鸟类的一科,吃粮食粒和昆虫,嘴粗短圆锥状,体长约12厘米,多栖于有人类活动的地方,分布几遍平原和丘陵块带。
雀形目种类及数量众多,适应辐射到各种生态环境内。有100科5400种以上,是鸟类中最为庞杂的一目,占鸟类全部种类的一半以上。中国有34科。
参考资料:百度百科-鸟纲
天上飞的鸟有:麻雀、乌鸦、鹰、凤头百灵等。
具体介绍如下:
麻雀
1.形态特征
麻雀属都是小型鸟类,它们的大小、体色甚相近。一般上体呈棕、黑色的斑杂状,因而俗称麻雀。初级飞羽9枚,外侧飞羽的淡色羽缘(第一枚除外)在羽基和近端处,形稍扩大,互相骈缀,略成两道横斑状,在飞翔时尤见明显。嘴短粗而强壮,呈圆锥状,嘴峰稍曲。闭嘴时上下嘴间没有缝隙。雌雄鸟羽毛的颜色常有区别。
树麻雀体长13-15厘米。雄鸟从额至后颈纯肝褐色;上体砂棕褐色,具黑色条纹;翅上有两道显著的近白色横斑纹;颏和喉黑;雌鸟似雄体,但色彩较淡或暗,额和颊羽具暗色先端,嘴基带黄色。相似种家麻雀以及其他麻雀颊部均无黑斑,
黑顶麻雀体长15厘米。繁殖期雄鸟头顶有黑色的冠顶纹至颈背,眼纹及颏黑,眉纹及枕侧棕褐,脸颊浅灰。上体褐色而密布黑色纵纹。雌鸟色暗但上背的偏黑色纵纹以及中覆羽和大覆羽的浅色羽端明显。
2.栖息环境
栖息地海拔高度300-2500米。无论山地、平原、丘陵、草原、沼泽和农田,低山丘陵和山脚平原地带的各类森林和灌丛中,多活动于林缘疏林、灌丛和草丛中,不喜欢茂密的大森林。多在有人类集居的地方,城镇和乡村,河谷、果园、岩石草坡、房前屋后和路边树上活动和觅食。
3.生活习性
麻雀多活动在有人类居住的地方,性极活泼,胆大易近人,但警惕却非常高,好奇心较强。多营巢于人类的房屋处,如屋檐、墙洞,有时会占领家燕的窝巢,在野外,多筑巢于树洞中。有时可以发现它们在个别的树上筑巢,然而麻雀在一年的四个季节中都是成群的,具有很多洞的老树群,通常是它们最喜爱的筑巢地点。
除繁殖、育雏阶段外,麻雀是非常喜欢群居的鸟类。秋季时易形成数百只乃至数千只的大群,称为雀泛,而在冬季它们则多结成十几只或几十只一起活动的小群。这种小生灵非常聪明机警,有较强的记忆力,这和其它许多小型雀不同,如得到人救助的麻雀会对救助过它的人表现出一种亲近,而且会持续很长的时间。在麻雀居住集中的地方,当有入侵鸟类时它们会表现得非常团结,直至将入侵者赶走为止。麻雀在育雏时往往会表现得非常勇敢。
乌鸦
1.基本信息
乌鸦俗称“老鸹”,“老鸦”。鸟纲,鸦科。全身或大部分羽毛为乌黑色,故名。多在树上营巢。常成群结队且飞且鸣,声音嘶哑。杂食谷类、昆虫等,功大于过,属于益鸟。
“卡夫卡”在捷克语中是“寒鸦”的意思,卡夫卡父亲的铺子即以寒鸦来作店徽。为纪念这位独一无二的作家,1983年发现的小行星3412以“卡夫卡”来命名。日本作家村上春树爱读卡夫卡,他其中一本小说的名字就叫《海边的卡夫卡》。而直,全身羽毛黑色,翼有绿光,多群居在树林中或田野间,以谷物、果实、昆虫及腐肉为食物。
2.智力
加拿大蒙特利尔麦吉尔大学动物行为学专家路易斯-莱菲伯弗尔开始对鸟类进行IQ测验,排出各种鸟类的智商高低。莱菲伯弗尔主要从事智力及其在各物种中的进化过程研究,尤其对大脑的大小与智力之间的关系这一课题感兴趣。
据研究:乌鸦是人类以外具有第一流智商的动物,其综合智力大致与家犬的智力水平相当。这要求乌鸦要有比家犬复杂得多的脑细胞结构.特别令人惊异的是,乌鸦竟然在人类以外的动物界中具有独到的使用甚至制造工具达到目的的能力,即使人类的近亲灵长类的猿猴也不过只能使用工具(借助石块砸开坚果),他们还能够根据容器的形状准确判断所需食物的位置和体积,“乌鸦喝水”的故事反映了其思维的巧妙。

1.生活习性
老鹰是一种肉食性的类群,通常在峡谷内觅食。老鹰和一般鸟类的不同点在于,老鹰属于猛禽类,一般鸟类属于杂食类。老鹰性情凶猛,肉食性,以鸟、鼠和其它小型动物为食;有些种类喜食尸体,如秃鹫。两翼发达,善于飞翔,一般多在昼间活动。多栖息山林或平原地带,如苍鹰、雀鹰(鹞子)等。老鹰中雕体型粗壮,翅及尾羽长而宽阔,扇翅较慢,常在近山区的高空盘旋翱翔,能捕食野兔,蛇之类的小动物幼畜等大形哺乳动物,也嗜食鼠类。我国常见的种类有金雕和乌雕。
2.生长繁殖
老鹰的寿命一般在50年,一次生蛋2~5枚,白底有红棕色斑点、孵卵期约38天,它们的巢穴一般筑的很高,老鹰一次生下2~5个蛋,一般仅能成活1只小鹰。
有大雁,白鹭,麻雀。
天上飞的鸟有:鸽子、大雁、麻雀、燕子、信天翁、老鹰等。
一、鸽子
又叫鹁鸽,是一种善于飞行的鸟,小巧玲珑,品种很多,羽毛颜色多,主要以谷类为食。鸽子的毛色在禽类中是最多的。它的羽毛颜色有瓦灰、青、白、黑、绿、花等色。
二、大雁
大雁又称野鹅,天鹅类,大型候鸟,属国家二级保护动物。
大雁属鸟纲,鸭科,是雁亚科各种类的通称。中国常见的有鸿雁、灰雁、豆雁、白额雁等。雁队成6只,或以6只的倍数组成,雁群是一些家庭,或者说是一些群的聚合体。
三、麻雀
麻雀是雀科雀属的鸟类,俗名霍雀、瓦雀、琉雀、家雀、老家贼、只只、嘉宾、照夜、麻谷、南麻雀、禾雀、宾雀,亦叫北国鸟(个别地方方言又称呼为:家雀、户巴拉)。
雌雄同色,显著特征为黑色喉部、白色脸颊上具黑斑、栗色头部。喜群居,种群生命力极强。是中国最常见、分布最广的鸟类,亚种分化极多,广布于中国全境,也广布于欧亚大陆。
四、燕子
燕子是雀形目燕科74种鸟类的统称。形小,翅尖窄,凹尾短喙,足弱小,羽毛不算太多。羽衣单色,或有带金属光泽的蓝或绿色;大多数种类两性都很相似。
燕子消耗大量时间在空中捕捉害虫,是最灵活的雀形类之一,主要以蚊、蝇等昆虫为主食,是众所周知的益鸟。在树洞或缝中营巢,或在沙岸上钻穴,或在城乡把泥黏在楼道、房顶、屋檐等的墙上或突出部上为巢。每产3~7卵。
燕是典型的迁徙鸟。繁殖结束后,幼鸟仍跟随成鸟活动,并逐渐集成大群,在第一次寒潮到来前南迁越冬。
五、信天翁
信天翁属于鹱形目、信天翁科,共4属21种。他们分别分布在从约南纬25°至流冰群岛的南半球海域,并利用该区域内的岛屿进行繁殖。

新手如何java学习,java学习路线是什么

1、java基本语法(1 编写 HelloWorld、2 常量、3 变量、4 数据类型、5 运算符、6 方法、7 流程控制语句、8 IDEA使用:目前企业使用最多开发工具、9 数组)
2、面向对象(1 类、2 对象、3 封装、继承、多态、4 构造器、5super、this、6 接口、抽象类、7 权限修饰符、8 内部类、9 Random、ArrayList、String、Arrays、Math)
3、API(常用API:1 Date、2 DateFormat、3 Calendar、4 System、5 StringBuilde)
4、集合(1 Collection、2 泛型、3 List、4 Set、5 Collections、6 Map、7 HashMap)
5、异常(1 异常体系、2 异常分类、3 声明抛出捕获异常、4 自定义异常)
6、多线程(1 线程概念、2 线程同步、3 Lock、4 线程生命周期、5 线程池)
7、Lambda表达式(1 函数式思想概述、2 Lambda标准格式、3 Lambda语法与注意事项)
8、IO流(1 文件、2 字节流、字符流、3 转换流、高效流)
9、网络编程(1 网络编程三要素、2 Socket原理机制、3 UDP传输、4 TCP传输)
10、数据库(1 mysql、2 jdbc、3 连接池、4 JdbcTemplate )
11、前端技术(1 html5、2 css、3 javascript、4 bootstrap)
12、linux(1 linux安装、2 目录操作、3 文件操作、4 网络操作等)
13、nginx( nginx安装、配置、部署)
14、xml与(1 xml基本语法、2 约束)
15、jsonp( 1 jsoup概述、2 jsoup作用使用、3 xpath)
16、Servlet(1 tomcat、2 request、response、3 cookie、session、4 jsp、el、jstl、Filter)
17、web异步开发(1 jquery3、2 ajax、3 json)
18、redis(1 nosql介绍、2 redis数据类型、3 常用命令、4 jedis)
19、maven(1 maven概念与作用、2 idea集成maven、3 maven常用命令、4 依赖管理)
20、spring(1 spring体系结构、2 spring配置、3 bean管理、 4 IOC/DI、AOP、5 事务管理、6 spring5新特性 )
java的学习路线为,先学javase部分,这部分最基础,然后是javaweb,最后是javaEE
,不要急于求成,一步一个脚印
java基础语法,面向对象,基本类库的基本使用,数据库的使用,还有就是java高级(多线程,反射,内省等),前端的知识(HTML,css,JavaScript,jQuery),XML,ajax,以及javaweb的知识(http协议,MVC,servlet,JSP),还有现在主流的三大框架,Linux,可以先看一些基础的教程,视频和书籍都可。
这是学习路线图:
可以给你发名师教学啊。
1. 先学习Java基础知识:
面向过程编程(输入输出、数据类型-->分支语句-->循环-->数组)-->面向对象编程(方法-->封装、继承、多态)
2. 再学习Java高级知识:
集合-->异常-->IO-->反射、泛型
3. 学习完Java相关知识后,可以进行JavaSE开发(Java基础开发):需要学习
JDBC相关知识
4. 也可以进行JavaEE开发(企业级核心框架开发):需要学习JSP/Servlet知
识,SSM框架知识,SpringBoot相关知识
  说到学习Java,我们今天就来说说Java开发需要学习的内容,说说java学习路线,说说Java学习的课程内容。
  Java学习大致分为四大阶段,具体内容如下:
  第一阶段——Java基础
  Java的学习内容从计算机基本概念,DOS命令开始,为你入门编程语言扫盲,什么是程序,如何配置Java开发环境,Java编程的过程是怎样的,Java有什么物特点,程序是如何运行的,这些你都可以在这里得到答案。
  Java编程的基础语法,共分为10个知识点,我们将学习变量,基本数据类型,进制,转义字符,运算符,分支语句和循环语句等,以达到训练基础语法和逻辑能力的目的。还有对数组、面向对象和异常处理等。
  第二阶段——JavaWeb
  Web前端开发基础和框架、Servlet和JSP在Web后端的应用、Web后端开发相关专题、MVC和分层架构以及项目开发流程及CASE工具的使用等。
  第三阶段——Java框架
  框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。同时,框架整合开发(SSH/SSS)、RESTful架构和移动端接口设计、第三方接口和在线支付功能、网站安全和Spring Security应用实战、复杂用户交互处理和Spring Web Flow的应用、MyBatis的应用和SSM整合,我们将深入研究其中涉及到的数据结构和算法,对学员的技术深度有了一个质的提升。
  第四阶段——Java+云数据
  亿级并发架构演进、Linux基础、搭建tomcat环境以实战演练,企业真实项目供学员应用学习,进行知识体系的“二次学习”。
    其实学习Java技术,大可参考此学习路线,该学习路线对从零基础小白到Java初级开发工程师,Java高级开发工程师,后面的Java大神级开发工程师都有一个明确清晰的指导。

Java集合框架的知识总结?

说明:先从整体介绍了Java集合框架包含的接口和类,然后回龙观IT培训总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。
1、综述
所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。
当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型(参见具体泛型的内容)。
Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。
Set、List和Map可以看做集合的三大类。
List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。
Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。
Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。
对于Set、List和Map三种集合,最常用的实现类分别是HashSet、ArrayList和HashMap三个实现类。(并发控制的集合类,以后有空研究下)。
2、Collection接口
Collection接口是List、Set和Queue接口的父接口,同时可以操作这三个接口。
Collection接口定义操作集合元素的具体方法大家可以参考API文档,这里通过一个例子来说明Collection的添加元素、删除元素、返回集合中元素的个数以及清空集合元素的方法。
3、两种遍历集合的方法Iterator接口和foreach循环 1、Iterator接口
Iterator也是Java集合框架的成员,主要用于遍历(即迭代访问)Collection集合中的元素,也称为迭代器。

高分求java的基础视频教程,要基础入门的。电驴和迅雷上的资源太乱了,不知道该下哪些,有没有整理的。

动力节点会为你量身定制你适合的课程,我们将整个课程分为两个教学板块:第一块是java基础班,这是针对零基础的学员所开设的,主要讲的是javase的部分,学期一个月仅需800元;第二块就是全程就业班,专注于javaee,学期四个月分不同的课程,所以也就不同收费。动力节点师资力量雄厚,每个老师都是具备多年的开发经验的实战型老师,在中国java培训领域中具有极高的知名度和良好口碑,大家可以在网上搜索王勇老师的java教学视频,也可以直接在动力节点的官网上下载。动力节点欢迎大家前来咨询和报名!Y
http://v.youku.com/v_playlist/f5346986o1p0.html推见这个
我这边有韩顺平的视频讲座,很基础,从最基本的开始讲的,你需要的话我给你,下面是清单:
韩顺平 循序渐进学 java 从入门到精通 第0讲-开山篇
韩顺平 循序渐进学 java 从入门到精通 第1讲-内容介绍 项目演示 原理剖析
内容介绍:本章讲解以下内容: (1)课程介绍(2)项目演示(坦克游戏,雷霆战舰,满汉楼,爆炸人..)(3)java介绍(4)java开发工具介绍(5)java语言的特点(6)jdk的安装和配置演示 (7)java运行原理剖析(Hello,wrold)
韩顺平 循序渐进学 java 从入门到精通 第2讲-变量 数据类型
内容介绍:本章讲解以下内容: (1)初识变量(2)java的基本数据类型(3)定义变量、初始化、赋值(4)基本数据类型的转换 a.自动转换 b.强制转换 c.计算中的转换
韩顺平 循序渐进学 java 从入门到精通 第3讲-运算符 流程控制
内容介绍:本章讲解以下内容: (1)java的算术运算符(2)java的关系运算符(3)java的逻辑运算符(4)java的三大流程控制-顺序控制(5)java的三大流程控制-分支控制
韩顺平 循序渐进学 java 从入门到精通 第4讲- 流程控制
内容介绍:本章讲解以下内容: (1)java的三大流程控制-分支控制(2)java的三大流程控制-循环控制(3)作业布置
韩顺平 循序渐进学 java 从入门到精通 第5讲-类 对象
内容介绍:本章讲解以下内容: (1)类的介绍(2)对象的介绍(3)类和对象关系(4)类和对象的区别和联系(5)如何定义类(6)如何创建类
韩顺平 循序渐进学 java 从入门到精通 第6讲-成员属性 成员方法
内容介绍:本章讲解以下内容: (1)类的成员属性(2)如何访问(使用)对象的成员变量(3)对象在内存的形式(4)类的成员方法的定义和使用
韩顺平 循序渐进学 java 从入门到精通 第7讲-成员方法 构造方法
内容介绍:本章讲解以下内容: (1)类的成员方法的理解(2)方法-调用过程(3)类的成员方法(函数)-注意事项(4)类的成员方法的定义和使用(5)类的构造方法(默认构造方法)(6)类的构造方法小结
韩顺平 循序渐进学 java 从入门到精通 第8讲-this 类变量
内容介绍:本章讲解以下内容: (1)this代词详讲(2)类变量详讲
韩顺平 循序渐进学 java 从入门到精通 第9讲-类方法 封装
内容介绍:本章讲解以下内容: (1)类方法详解(2)抽象(3)封装(4)四个访问修饰符 public private protected 默认(5)包
韩顺平 循序渐进学 java 从入门到精通 第10讲-访问修饰符 重载 覆盖
内容介绍:本章讲解以下内容: (1)四个访问修饰符的详解(2)继承详解(3)方法的重载
(4)方法的覆盖
韩顺平 循序渐进学 java 从入门到精通 第11讲-约瑟夫问题
内容介绍:本章讲解以下内容: (1)约瑟夫问题详解(用链表解决)
韩顺平 循序渐进学 java 从入门到精通 第12讲-多态
内容介绍:本章讲解以下内容: (1)多态详解
韩顺平 循序渐进学 java 从入门到精通 第13讲-抽象类 接口
内容介绍:本章讲解以下内容: (1)抽象类详解(2)接口的详解
韩顺平 循序渐进学 java 从入门到精通 第14讲-final 作业评讲
内容介绍:本章讲解以下内容: (1)用接口实现多态(2)实现接口 vs 继承类(3)final修饰符详解
(4)作业评讲
韩顺平 循序渐进学 java 从入门到精通 第15讲-作业 测试题
(1)作业、测试题评讲
韩顺平 循序渐进学 java 从入门到精通 第16讲-数组
(1)数组详解(2)简单数据类型的数组(3)对象数组
韩顺平 循序渐进学 java 从入门到精通 第17讲-排序
(1)排序介绍(2)冒泡排序(3)选择排序
韩顺平 循序渐进学 java 从入门到精通 第18讲-排序 查找
(1)插入排序法(2)快速排序法(3)外部排序法(4)查找介绍(5)顺序查找和二分查找
韩顺平 循序渐进学 java 从入门到精通 第19讲-多维数组
(1)多维数组讲解
韩顺平 循序渐进学 java 从入门到精通 第20讲-二进制 位运算 位移运算
内容介绍:本章讲解以下内容: (1)二进制(原码、反码、补码)(2)位运算(取反,位与,位异或,位或)(3)位移运算(算术右移,算术左移,逻辑左移)
韩顺平 循序渐进学 java 从入门到精通 第21讲-集合
内容介绍:本章讲解以下内容: (1)集合框架图,体系介绍(2)ArrayList 详解
韩顺平 循序渐进学 java 从入门到精通 第22讲-集合
内容介绍:本章讲解以下内容: (1)使用ArryaList完成雇员薪水管理系统(2)LinkedList的介绍和使用(3)Vector的介绍和使用(4)Stack(栈)的介绍和使用
韩顺平 循序渐进学 java 从入门到精通 第23讲-集合
内容介绍:本章讲解以下内容: (1)HashMap的介绍和使用(2)Hashtable的介绍和使用(3) HashMap、Hashtable的区别(4) ArrayList、Vector的区别
韩顺平 循序渐进学 java 从入门到精通 第24讲-集合补充
内容介绍:本章讲解以下内容: (1)对集合使用的补充说明.
韩顺平 循序渐进学 java 从入门到精通 第25讲-泛型 异常
内容介绍:本章讲解以下内容: (1)java泛型介绍(2)java泛型举例详解(3)java泛型的优点
(4)异常的介绍和异常的分类
韩顺平 循序渐进学 java 从入门到精通 第26讲-异常
内容介绍:本章讲解以下内容: (1)异常的处理-try catch finally(2)异常的处理-throws
韩顺平 循序渐进学 java 从入门到精通 第27讲-作业评讲
内容介绍:本章讲解以下内容: (1)作业评讲(最佳裁判、学生成绩...)
韩顺平 循序渐进学 java 从入门到精通 第28讲-面试题评讲
内容介绍:本章讲解以下内容: (1) 赛迪网程序员面试题评讲[最后待定...]
韩顺平 循序渐进学 java 从入门到精通 第29讲-满汉楼 swing介绍
内容介绍:本章讲解以下内容: (1) 图形用户界面编程介绍(gui)(2)满汉楼餐饮系统演示
(3)awt swing swt jface关系(4)eclipse介绍(5)swing组件介绍(6)swing的窗体组件和按钮组件
韩顺平 循序渐进学 java 从入门到精通 第30讲-布局管理器
内容介绍:本章讲解以下内容: (1)布局管理器介绍(2)BorderLayout 边界布局(3)FlowLayout 流式布局(4)GridLayout 网格布局
韩顺平 循序渐进学 java 从入门到精通 第31讲-常用组件
内容介绍:本章讲解以下内容: (1)JPanle的介绍和使用(2)布局管理器的综合使用
(3)swing常用组件JTextField JPasswordField JLabel(4)swing常用组件JCheckBox JRadioButton(5)swing常用组件 JComboBox JList JScrollPane
韩顺平 循序渐进学 java 从入门到精通 第32讲-swing编程实战
内容介绍:本章讲解以下内容: (1)swing编程实战-金山词霸界面(2)swing编程实战-qq聊天界面(3)swing编程实战-qq登录界面(4)swing编程实战-记事 本界面(5)swing组件 JSplitPane JTextArea JTabbedPane (6)swing组件JMenuBar JMenu JMenuItem JToolBar
韩顺平 循序渐进学 java 从入门到精通 第33讲-绘图技术 坦克大战1
内容介绍:本章讲解以下内容: (1)坦克大战游戏演示(2)java绘图坐标系
(3)像素的概念(4)java绘图技术-原理(5)java绘图常用的方法
韩顺平 循序渐进学 java 从入门到精通 第34讲-绘图技术 坦克大战2
内容介绍:本章讲解以下内容: (1)坦克大战游戏-绘出坦克(2)作业-画蛤蟆 和 王八
韩顺平 循序渐进学 java 从入门到精通 第35讲-事件处理 坦克大战3
内容介绍:本章讲解以下内容: (1)java事件处理机制-原理(2)java事件处理机制案例详解
(3)事件源 事件 事件监听者 事件处理方法详解(4)java事件处理机制 通俗版理解
(5)让一个小球可以被控制上下左右移动(键盘监听)
韩顺平 循序渐进学 java 从入门到精通 第36讲-事件监听 坦克大战4
内容介绍:本章讲解以下内容: (1)java事件处理机制继续讲解(2)事件监听器接口
(3)事件处理机制的一些案例
韩顺平 循序渐进学 java 从入门到精通 第37讲-事件总结 坦克大战5
内容介绍:本章讲解以下内容: (1)java事件处理编程总结(2)坦克大战游戏---让自己的坦克可以自由的移动.
韩顺平 循序渐进学 java 从入门到精通 第38讲-线程 坦克大战6
内容介绍:本章讲解以下内容: (1)进程的介绍(2)线程的介绍及其作用
(3)用继承Thread类的方法来开发线程(4)用实现Runnable接口的方法来开发线程
韩顺平 循序渐进学 java 从入门到精通 第39讲-线程 坦克大战7
内容介绍:本章讲解以下内容: (1)如何更好的理解线程(2)继承Thread和实现Runnable接口的区别(3)线程的实际运用 ---坦克大战游戏(3.0) 玩家可以发射子弹.
韩顺平 循序渐进学 java 从入门到精通 第40讲-线程
内容介绍:本章讲解以下内容: (1)线程使用的经验之谈(2)线程同步处理方式
(3)对象锁和线程安全(4)synchronized的具体使用
韩顺平 循序渐进学 java 从入门到精通 第41讲-坦克大战8
内容介绍:本章讲解以下内容: (1)坦克大战游戏升级(3.0) 玩家可以连续发射子弹
(2)坦克大战游戏升级(3.0) 当击中敌人坦克时,敌人坦克就消失
韩顺平 循序渐进学 java 从入门到精通 第42讲-坦克大战9
内容介绍:本章讲解以下内容:
(1)坦克大战游戏升级(4.0) 当击中敌人坦克时,敌人坦克就消失,并出现爆炸效果
(2)坦克大战游戏升级(4.0) 敌人坦克可以自由移动
(3)坦克大战游戏升级(4.0) 敌人坦克可以移动控制在区域内
(4)坦克大战游戏升级(4.0) 敌人坦克可以发射子弹
(5)坦克大战游戏升级(4.0) 敌人坦克可以连发子弹
韩顺平 循序渐进学 java 从入门到精通 第43讲-io编程 坦克大战10
内容介绍:本章讲解以下内容:
(1)坦克大战游戏升级(4.0) 当敌人的坦克击中我的坦克时,我的坦克爆炸并消失
(2)坦克大战游戏升级(4.0) 如何控制敌人坦克重迭运动
(3)java io 编程( 文件编程 )初步介绍
(4)文件和文件流的基本概念
(5)java io 流类一览表
(6)文件流的分类 字节流 和 字符流的介绍
韩顺平 循序渐进学 java 从入门到精通 第44讲-io编程
内容介绍:本章讲解以下内容: (1)java 常用 io流-文件类(File)(2)演示如何得到文件信息
(3)演示如何创建文件夹,遍历文件,创建新文件
(4)FileInputStream 和 FileOutputStream类的使用案例
韩顺平 循序渐进学 java 从入门到精通 第45讲-io编程
内容介绍:本章讲解以下内容:
(1)使用FileInputStream 和 FileOutputStream完成图片拷贝
(2)文件字符流的使用案例 FileReader FileWriter
(3)缓冲字符流的使用案例 BufferedReader BufferedWriter
(4)打印输出流的案例 PrintWriter
韩顺平 循序渐进学 java 从入门到精通 第46讲-io编程 记事本开发
内容介绍:本章讲解以下内容: (1)java io 编程综合案例 (2)一个简单的文件记事本开发
韩顺平 循序渐进学 java 从入门到精通 第47讲-坦克大战11
内容介绍:本章讲解以下内容: (1)坦克大战游戏升级(5.0) 如何控制敌人坦克重迭运动
韩顺平 循序渐进学 java 从入门到精通 第48讲-坦克大战12
(1)坦克大战游戏升级(5.0) 可以分关
(2)坦克大战游戏升级(5.0) 闪烁效果
(3)坦克大战游戏升级(5.0) 可以在玩游戏的时候暂停和继续
(4)坦克大战游戏升级(5.0) 可以记录玩家的成绩
韩顺平 循序渐进学 java 从入门到精通 第49讲-坦克大战13
(1)坦克大战游戏升级(5.0) 可以存盘退出
(2)坦克大战游戏升级(5.0) 可以恢复到退出状态 接着上一局玩
韩顺平 循序渐进学 java 从入门到精通 第50讲-坦克大战14
(1)坦克大战游戏升级(5.0) java播放声音文件(2)播放经典的fc坦克大战游戏开始音.
韩顺平 循序渐进学 java 从入门到精通 第51讲-作业评讲
内容介绍:本章讲解以下内容: (1)老猴排序-作业评讲
韩顺平 循序渐进学 java 从入门到精通 第52讲-试题评讲
内容介绍:本章讲解以下内容: (1)赛迪网初级程序员笔试题评讲
韩顺平 循序渐进学 java 从入门到精通 第53讲-数据库概念
(1)数据库的基本概念(2)数据库的基本结构(3)数据库的基本特点(4)目前主流数据库的介绍
韩顺平 循序渐进学 java 从入门到精通 第54讲-sql server安装配置卸载
(1)sql server 数据库的安装、配置、卸载
韩顺平 循序渐进学 java 从入门到精通 第55讲-sql server基本使用
(1)数据库sa 用户和普通用户的创建和密码分派(2)windows验证和混合验证的讲解
(3)企业管理器的基本使用案例
韩顺平 循序渐进学 java 从入门到精通 第56讲-查询分析器 ddl dml dql
(1)查询分析器的基本使用案例(2)简单的ddl 、dml 和 dql语句使用案例
韩顺平 循序渐进学 java 从入门到精通 第57讲-sql server 数据类型
(1)表名和列名的命名规则(2)表支持的数据类型-字符型char varchar text ntext nchar nvarchar (3)表支持的数据类型-数字类型 bit
韩顺平 循序渐进学 java 从入门到精通 第58讲-sql server 数据类型
(1)表支持的数据类型-数字类型 int bigint float numeric
(2)表支持的数据类型-日期类型 datetime timestamp
(3)表支持的数据类型-image binary
(4)表的基本操作(建表,增,删,改)
韩顺平 循序渐进学 java 从入门到精通 第59讲-sql server 基本查询
(1)表的主键 和 外键(2)查询所有列,指定列,取消重复行(3)使用算术表达式,使用列的别名(4)使用where 子句(5)模糊查询(like)
韩顺平 循序渐进学 java 从入门到精通 第60讲-sql server 基本查询
(1)在where条件中使用in(2)使用is null的操作符(3)使用逻辑操作符号(4)使用order by字句
(5)使用列的别名排序(6)数据分组-max,min,avg,sum,count(7)group by 和 having子句
(8)对数据分组的总结
韩顺平 循序渐进学 java 从入门到精通 第61讲-sql server 复杂查询
(1)多表查询(2)自连接(3)子查询 单行子查询 多行子查询
韩顺平 循序渐进学 java 从入门到精通 第62讲-sql server 复杂查询
(1)在from子句中使用子查询(2)分页查询(3)内连接(4)外连接(左外连接 右外连接)
韩顺平 循序渐进学 java 从入门到精通 第63讲-sql server 约束
(1)维护数据的完整性(2)主键 外键 not null foreign key unique check
韩顺平 循序渐进学 java 从入门到精通 第64讲-sql server 备份恢复 jdbc-odbc
(1)使用企业管理器完成数据库的分离、附加(2)使用企业管理器完成数据库的备份和恢复
(3)使用查询分析器完成数据库的备份和恢复(4)crud介绍
(5)jdbc介绍和jdbc驱动的分类(6)jdbc-odbc桥连接 的案例详解
韩顺平 循序渐进学 java 从入门到精通 第65讲-sql server jdbc
(1)jdbc-odbc桥连案例详解(2)sql注入漏洞解析(3)使用PreparedStatement技巧
(4)Statement和PreparedStatement的区别
韩顺平 循序渐进学 java 从入门到精通 第66讲-sql server jdbc
(1)jdbc驱动直连数据库(2)jdbc的案例详解(3)在java程序中创建,删除数据库(表)
(4)在java程序中备份,恢复数据库(表)
韩顺平 循序渐进学 java 从入门到精通 第67讲-sql server 作业评讲
(1)对表操作的测试题评讲(重要!)
韩顺平 循序渐进学 java 从入门到精通 第68讲-项目开发流程
(1)软件开发项目流程介绍(2)满汉楼餐饮系统简单介绍和分析
韩顺平 循序渐进学 java 从入门到精通 第69讲-学生管理系统1 项目分析
(1)学生管理系统开发流程详细介绍1.使用jude作出流程图2.设计数据库3.功能分析
(3)数据库编程实战之一--学生管理系统1
韩顺平 循序渐进学 java 从入门到精通 第70讲-学生管理系统2
(1)数据库编程实战之一--学生管理系统2
韩顺平 循序渐进学 java 从入门到精通 第71讲-学生管理系统3 增删改
(1)数据库编程实战之一--学生管理系统3 完成对学生的增加、删除、修改
韩顺平 循序渐进学 java 从入门到精通 第72讲-学生管理系统4 model2模式
(1)数据库编程实战之一--学生管理系统4
完成对学生信息的修改
(2)提出模式的概念(3)对学生管理系统从model1模式改为model2模式
韩顺平 循序渐进学 java 从入门到精通 第73讲-学生管理系统5 dao sqlhelper
(1)数据库编程实战之一--学生管理系统5
在model2模式中对model层再次分层.业务层和DAO层.
(2)编写一个DAO类 SqlHelper(3)完成学生管理系统并总结
韩顺平 循序渐进学 java 从入门到精通 第74讲-满汉楼系统1 项目分析
(1)java项目实训之--满汉楼餐饮系统1
满汉楼餐饮系统设计分析
满汉楼餐饮系统使用演示
满汉楼餐饮系统设计文档说明
(2)充分理解项目开发五大流程.
韩顺平 循序渐进学 java 从入门到精通 第75讲-满汉楼系统2 项目分析
(1)java项目实训之--满汉楼餐饮系统2
满汉楼餐饮系统安装与配置
满汉楼餐饮系统的操作流程
韩顺平 循序渐进学 java 从入门到精通 第76讲-满汉楼系统3 实现闪屏 登录
(1)java项目实训之--满汉楼餐饮系统3
a.实现登录闪屏效果b.实现登录界面
韩顺平 循序渐进学 java 从入门到精通 第77讲-满汉楼系统4 菜单
(1)java项目实训之--满汉楼餐饮系统4
a.实现登录界面所有b.实现经理,主管,系统管理员的操作主界面-菜单部分
韩顺平 循序渐进学 java 从入门到精通 第78讲-满汉楼系统5 工具栏状态栏
(1)java项目实训之--满汉楼餐饮系统5
a.对主界面的布局结构进行分析
b.实现经理,主管,系统管理员的操作主界面-工具栏和状态栏
韩顺平 循序渐进学 java 从入门到精通 第79讲-满汉楼系统6 登录验证
(1)java项目实训之--满汉楼餐饮系统6
a.编写数据层,业务层的部分类,完成用户到数据库的登录验证
b.加深对model2模式的认识.c.编写SqlHelper工具类
韩顺平 循序渐进学 java 从入门到精通 第80讲-满汉楼系统7 窗口拆分
(1)java项目实训之--满汉楼餐饮系统7
a.完成经理,主管,系统管理员的操作主界面-八个可选操作选项
b.完成窗口的拆分显示
韩顺平 循序渐进学 java 从入门到精通 第81讲-满汉楼系统8 界面切换
(1)java项目实训之--满汉楼餐饮系统8
a.完成经理,主管,系统管理员的操作主界面-人事管理和登录管理切换
b.完成主界面一些特效
韩顺平 循序渐进学 java 从入门到精通 第82讲-满汉楼系统9 人事管理
(1)java项目实训之--满汉楼餐饮系统9
a.完成经理,主管,系统管理员的操作主界面-人事管理的显示,增加,删除和修改
韩顺平 循序渐进学 java 从入门到精通 第83讲-满汉楼系统10 报表统计 uml图
(1)java项目实训之--满汉楼餐饮系统10
a.完成经理,主管,系统管理员的操作主界面-报表统计的显示
b.如何使用jude软件设计uml的用例图,类图,和时序图(重要)
c.满汉楼项目实训之-结束语
韩顺平 循序渐进学 java 从入门到精通 第84讲-网络基础
(0)java网络编程开篇名义(1)山寨版qq项目演示(2)为什么选择qq来讲解网络编程
(3)网线,网卡,无线网卡(4)协议(tcp/ip)介绍(5)ip地址介绍(6)Ip地址与包的路由传递
韩顺平 循序渐进学 java 从入门到精通 第85讲-port url socket编程原理
(1)端口port(2)url地址(3)单工、半双工和全双工概念.(4)java网络编程基本原理图
(5)客户端向服务器端互发信息 (半双工通讯)
韩顺平 循序渐进学 java 从入门到精通 第86讲-半双工 双全工
(1)客户端向服务器端互发信息 (半双工通讯)
在案例一得基础上增加,可以从控制台输入信息,相互通讯.
(2)客户端和服务器端,可以任意互发信息,带界面
韩顺平 循序渐进学 java 从入门到精通 第87讲-山寨qq项目1 登录界面
(1)山寨版qq天下项目实战之一(2)完成山寨版qq登录界面
韩顺平 循序渐进学 java 从入门到精通 第88讲-山寨qq项目2 好友列表界面
(1)山寨版qq天下项目实战之二(2)完成山寨版qq的好友列表界面
韩顺平 循序渐进学 java 从入门到精通 第89讲-山寨qq项目3 聊天界面 对象流
(1)山寨版qq天下项目实战之三(2)完成山寨版qq聊天界面(3)讲解如何在网络间传递对象流
韩顺平 循序渐进学 java 从入门到精通 第90讲-山寨qq项目4 登录验证
(1)山寨版qq天下项目实战之四(2)完成服务器控制界面
(3)完成客户端和服务器端得程序结构分析(4)完成用户的登录验证(到服务器去验证)
韩顺平 循序渐进学 java 从入门到精通 第91讲-山寨qq项目5 一对一的聊天
(1)山寨版qq天下项目实战之五
(2)完成鼠标移动到那个好友就高亮他,双击可以跳出聊天窗口(3)完成一对一的聊天
韩顺平 循序渐进学 java 从入门到精通 第92讲-山寨qq项目6 多对多的聊天
(1)山寨版qq天下项目实战之六(2)完成山寨版qq多对多的聊天
韩顺平 循序渐进学 java 从入门到精通 第93讲-山寨qq项目7 好友在线提示
(1)山寨版qq天下项目实战之七(2)完成山寨版qq多对多的聊天的显示
(3)完成山寨版qq如何好友在线则显示彩色头像,如果不在线则显示灰色的头像.
韩顺平 循序渐进学 java 从入门到精通 第94讲-山寨qq项目8 好友在线提示
(1)山寨版qq天下项目实战之八(2)完成山寨版qq当一个好友上线,可以通知所有
在线的好友,并让他的头像显示彩色头像.
(3)提出要完成的新任务.
1.不让同一个账号反复登录
2.如果好友不在线,则不能聊天.
********************************************************************

阅读更多 >>>  java基础入门教程,谁能推荐本JAVA入门的经典书籍

在Java中,什么是集合类,跟普通类有什么区别?

总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
至于区别普通类new出来的是一个对象 而集合类new出来的 可以存放多个对象 也就是说它就是一个对象容器
总的说来,Java
API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
至于区别普通类new出来的是一个对象
而集合类new出来的
可以存放多个对象
也就是说它就是一个对象容器
集合类型主要有3种:set(集)、bailist(列表)和map(映射)。
1、List(有序、可重复)
List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。
2、Set(无序、不能重复)
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
3、Map(键值对、键唯一、值不唯一)
Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
总的说来,Java
API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
至于区别普通类new出来的是一个对象
而集合类new出来的
可以存放多个对象
也就是说它就是一个对象容器
简单的来说可以放多个其它类。比如ArrayList,Hashtable
简单的说,集合类有list列,set集和map映射 三大类!
Set(集):集合中的对象无排列顺序,并且没有重复的对象.
List(队列):集合中的对象按照索引的顺序排列,可以有重复的对象。
Map(映射):集合中的每一个元素都是一对一对的,包括一个key对象,一个Value对象(一个Key指向一个Value).集合中没有重复的key对象,但是vaulue对象可以重复.
集合类是进行集合操作的。

网站数据信息

"java异常分类三大类,Java集合框架的知识总结?"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java异常分类三大类,Java集合框架的知识总结?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!