上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 73 下一页
摘要: ArrayList定义及功能 ArrayList的定义: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{} Arr 阅读全文
posted @ 2022-01-24 21:18 残城碎梦 阅读(91) 评论(0) 推荐(0) 编辑
摘要: Collection接口 public interface Collection<E> extends Iterable<E> {} 它继承了Iterable接口,那么这个接口有什么用呢? Iterable接口表示可迭代接口,它会返回一个迭代器Iterator。通过这个迭代器,我们可以遍历集合中元素 阅读全文
posted @ 2022-01-24 21:16 残城碎梦 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 接口List public interface List<E> extends Collection<E> {} List接口继承Collection接口,它提供一种索引概念,就像数组下标一样,让我们可以快速找到对应索引位置的元素,也可以在索引位置添加,删除,替换对应元素。 对比Collection 阅读全文
posted @ 2022-01-24 08:32 残城碎梦 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 数组与集合的区别 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下: 数组能存放基本数据类型和对象,而集合类存放的都是对象,集合类不能存放基本数据类型。数组和集合存放的对象皆为对象的引用地址。 数组固定无法动态改变,集合类容量动态 阅读全文
posted @ 2022-01-23 22:02 残城碎梦 阅读(70) 评论(0) 推荐(1) 编辑
摘要: 数组 数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。 数组的元素可以是任何数据类型,包括基本类型和引用类型。 C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的, 阅读全文
posted @ 2022-01-23 21:37 残城碎梦 阅读(338) 评论(0) 推荐(0) 编辑
摘要: Java IO知识回顾: Java NIO简介 Java NIO(Java New IO)是1个全新的、 JDK 1.4后提供的 IO API。它提供了与标准IO不同的IO工作方式,可替代 标准Java IO 的IO API。 NIO的工作方式 Channels and Buffers(通道和缓冲区 阅读全文
posted @ 2022-01-23 20:05 残城碎梦 阅读(272) 评论(0) 推荐(0) 编辑
摘要: Java提供一种机制叫做序列化,通过有序的格式或者字节序列持久化java对象,其中包含对象的数据,还有对象的类型,和保存在对象中的数据类型。所以,如果我们已经序列化了一个对象,那么它可以被读取并通过对象的类型和其他信息进行反序列化,并最终获取对象的原型。 序列化就是把Java对象中的value/st 阅读全文
posted @ 2022-01-23 17:07 残城碎梦 阅读(51) 评论(0) 推荐(0) 编辑
摘要: XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。 XML的解析方式分为四种: DOM解析 SAX解析 JDOM解析 DOM4J解析 其中前两种属于基础方法,是官方提供的平台 阅读全文
posted @ 2022-01-23 14:17 残城碎梦 阅读(74) 评论(0) 推荐(0) 编辑
摘要: SPI的全称是 Service Provider Interface,它是一种服务发现机制,是JDK中内置的玩意,它通过在 classPath 路径下的 META-INF/services 文件夹查找服务实现,自动加载文件里所定义的接口实现类。 首先,我们定义了一个接口 HelloService.j 阅读全文
posted @ 2022-01-23 14:13 残城碎梦 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 所谓内部类就是在一个类内部进行其他类结构的嵌套操作。 它体现了一种代码的隐藏机制和访问控制机制。内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类,所以没有必要专门用一个Java文件存放这个类。 内部类种类 内部类分为四种:静态内部类、成员内部类、局部内部类、匿名内部类。 静态内部类 pu 阅读全文
posted @ 2022-01-23 12:53 残城碎梦 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 代理模式 代理模式是常用的java设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后 阅读全文
posted @ 2022-01-23 10:43 残城碎梦 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Comparator比较器 Comparator 是比较器接口。 我们若需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口);那么,我们可以建立一个“该类的比较器”来进行排序。这个“比较器”只需要实现Comparator接口即可。 也就是说,我们可以通过“实现Compar 阅读全文
posted @ 2022-01-23 10:08 残城碎梦 阅读(148) 评论(0) 推荐(0) 编辑
摘要: java.lang.ref整体包结构: 引用与对象 每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。 在 Java 中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。 //创建一个引用,引用可以 阅读全文
posted @ 2022-01-23 09:23 残城碎梦 阅读(6750) 评论(0) 推荐(4) 编辑
摘要: JDK中内置了很多常用的工具类,且多以“s”结尾,如:集合工具类Collections,数组工具类Arrays,对象工具类Objects,文件工具类Files,路径工具类Paths,数学工具类Maths;但也有一些不是以“s”结尾的工具类,如TimeUnit和System。 Objects Obje 阅读全文
posted @ 2022-01-23 08:47 残城碎梦 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 在平常的编码之中,有一个错误总会在你的意料之外出现,那就是空指针异常。空指针的出现也很简单,你得到了一个null对象,调用了一些方法,出现空指针异常。空指针会出现在各种地方,常见的比如Map.get()没有获取到对象就调用对象例的方法,类对象没有获取到就调用类中的方法。 空指针的处理方式也很多,最简 阅读全文
posted @ 2022-01-23 08:25 残城碎梦 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。 Java提供了优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数 阅读全文
posted @ 2022-01-23 08:10 残城碎梦 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所 阅读全文
posted @ 2022-01-23 07:39 残城碎梦 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 抽象类 在了解抽象类之前,先来了 阅读全文
posted @ 2022-01-23 07:25 残城碎梦 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 理解多态性 面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界来说它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了 阅读全文
posted @ 2022-01-22 18:08 残城碎梦 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 自带常用的函数式接口 Predicate boolean test(T t) 传入一个参数返回boolean值 Consumer void accept(T t) 传入一个参数,无返回值 Function<T,R> R apply(T t) 传入一个参数,返回另一个类型 准备数据: //计算机俱乐部 阅读全文
posted @ 2022-01-22 17:18 残城碎梦 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 73 下一页