摘要:
一、泛型概述: 1、所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。 2、从JDK1.5以后,Java引入了“参数化类 阅读全文
摘要:
一、Map的实现类大概结构: Map:双列数据,存储key-value对的数据(类似于高中的函数) HashMap:作为Map的主要实现类;线程不安全,效率高。可以存储null的key和value LinkedHashMap:作为HashMap的子类,保证在遍历map元素时,可以按照添加的顺序实现遍 阅读全文
摘要:
一、集合框架的概述 1.集合、数组都是对多个数据进行存储操作的结构,简称java容器。此时的存储,主要是指内存层面的存储,不涉及到持久化存储(如.txt,.jpg) 2.数组在存储多个数据方面的缺点: 一旦初始化,其长度就不可改变。 数组中提供的方法非常有限,对于增加、删除、插入数据等操作,非常不便 阅读全文
摘要:
一、注解概述: 从JDK5.0开始,JAVA增加了对元数据(MetaData)的支持,也就是Annotation(注解)。 Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。 Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器 阅读全文
摘要:
一、枚举类的使用 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类。 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 二、如何自定义枚举类: 方式一:JDK5.0之前,自定义枚举类 例子如下: 方式二:JDK5.0之后,可以 阅读全文
摘要:
一、Comparable比较类: 1.为什么需要这个类: java中的对象,正常情况下,只能进行比较:== 或 !=,不能使用<、>来进行比较。但是在实际开发中,又需要对多个对象进行排序,言外之意,就需要比较对象的大小。所以就要通过两个定义的接口之一来实现:Comparable或Comparator 阅读全文
摘要:
一、jdk8之前的日期时间的API测试: 1.System了中currentTimeMIllis();//该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。可以直接把这个方法强制转换成date类型。 public 阅读全文
摘要:
一、关于StringBuffer和StringBuilder的使用: 1.对比分析: String:不可变的字符序列(这三个底层都是char【】存储) StringBuffer:可变的字符序列;线程安全,效率低 StringBuilder:可变的字符序列;jdk5.0新增,线程不安全,效率高 关于S 阅读全文
摘要:
一、String的特性: String是一个final类,代表不可变的字符序列。 体现:当对字符串重新赋值时,需要重新制定内存区赋值,不能使用原有的value进行赋值。 当对现有的字符串进行连接操作时,也需要重新制定内存区域赋值,不能使用原有value进行赋值。 当调用String的replace( 阅读全文
摘要:
JDK5.0新增了两种线程创建方式: 新增方式一:实现Callable接口 1.与使用Runnable相比,Callable功能更强大: >相比run()方法,可以有返回值 >方法可以抛出异常 >支持泛型的返回值 >需要借助FutureTask类,比如获取返回结果 2.创建流程: ①创建一个实现Ca 阅读全文