随笔分类 - Java基础
学习Java的一些感悟和心得
摘要:Collections.sort Collections类是Collection类及其子类的工具类,其中的sort方法专门用于对集合中的元素进行排序,该方法主要有两种重载的方法,可以指定显式的比较器,也可以不指定,但是待比较集合中的元素必须是继承了Comparable接口: public stati
阅读全文
摘要:HashMap HashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap
阅读全文
摘要:泛型的概述 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。比如,我们并不想为了聚集String和Integer对象分别设计不同的类,一个ArrayList<T>类就可以聚集任何类型的对象。使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有
阅读全文
摘要:File类 File类位于Java.io包中,是文件和文件目录(文件夹)的抽象表示形式,与平台无关。 File的作用 创建和删除文件或者文件目录; 重命名文件或者文件目录; 判断文件的读写权限及是否存在; 设置和查询文件的最近修改时间; 构造文件流时可以将File类的对象作为参数传递给流的构造器;
阅读全文
摘要:LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用
阅读全文
摘要:ArrayList的底层是动态数组,其容量可以动态增长。 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable Rando
阅读全文
摘要:Map Map集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。Java自带了各种Map类,主要分为以下三类: 1、通用Map,用于在应用程序中管理映射,通常放置在java.util包中:HashMap、Hashtable、Properties、LinkedHashMap、Iden
阅读全文
摘要:HashSet HashSet继承AbstractSet类,实现Set、Cloneable、Serializable接口。其中AbstractSet提供Set接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。Set接口是一种不包括重复元素的Collection。HashSet是无序的,不能保
阅读全文
摘要:集合 Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedLis
阅读全文
摘要:能够分析类能力的程序称为反射。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射机制可以用来: 在运行时分析类的能力 在运行时查看对象 实
阅读全文
摘要:通过反序列化生成对象的过程主要由以下几个步骤: 1、创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流; 2、 通过对象输入流的readObject()方法读取对象。 其中正是readObject方法返回了一个对象,这个对象就是根据序列化生成的文件而创建的对象,所以反序列化如何创建对
阅读全文
摘要:今天在看《Java编程思想》中关于容器的那一章,其中提到了如何使用Arrays.asList向Collection中添加一组元素,Arrays是位于java.util包中的一个工具类,这个工具类主要包含了各种操作数组的方法,而asList方法是用来将一个数组或者一个用逗号分隔的元素列表(使用的可变参
阅读全文
摘要:Maven安装 1.下载地址:https://maven.apache.org/download.cgi# Linux系统选择.tar.gz; Windows选择.zip; 2.下载完成以后,解压,得到如下的文件目录: 3.创建一个文件目录 sudo mkdir /opt/maven sudo mv
阅读全文
摘要:Java内存主要分为三个部分: 堆 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在在堆里面的具体地址) 方法区 可以被所有的线程共享 包含了所有的class和static变量 类加载到内存的流
阅读全文
摘要:基本概念 在Object类中定义了以下的方法,此方法将被所有子类继承 public final Class getClass() 这个方法的返回值类型是一个Class类,此类是Java反射的源头,是实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称。 对象照镜子后可以得到
阅读全文

浙公网安备 33010602011771号