摘要: 元注解 一、@Target 注解的注解,指定注解针对的目标 ElementType——针对的类型 ElementType.TYPE -> 针对类、接口 ElementType.FIELD -> 针对成员变量 ElementType.METHOD -> 针对成员方法 ElementType.PARAM 阅读全文
posted @ 2021-09-19 16:16 你们都不上班吗 阅读(23) 评论(0) 推荐(0)
摘要: 一、概念 泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。本质上就是参数化类型,也就是所操作的数据类型被指定为一个参数。 优点:类型安全、消除了强制类型的转换、一定程度上的代码复用。 泛型类型不能够用继承来理解 二、泛型类 常用的泛型标识:T、E、K、V (K V一 阅读全文
posted @ 2021-09-19 16:15 你们都不上班吗 阅读(47) 评论(0) 推荐(0)
摘要: 一、Lambda表达式简介 什么是Lambda? Lambda是JAVA 8添加的新特性,说白了,Lambda是一个匿名函数 为什么使用Lambda 使用Lambda表达式可以对一个接口的方法进行非常简洁的实现 Lambda对接口的要求 虽然可以使用Lambda表达式对某些接口进行简单的实现,但是并 阅读全文
posted @ 2021-09-19 16:12 你们都不上班吗 阅读(32) 评论(0) 推荐(0)
摘要: 稀疏数组和队列 稀疏数组:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 二维数组装稀疏数组的思路 遍历原始的二位数组,得到有效 阅读全文
posted @ 2021-09-19 16:10 你们都不上班吗 阅读(31) 评论(0) 推荐(0)
摘要: 数据结构和算法的关系 数据结构(data structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学号数据结构可以编写出更加漂亮,更加有效率的代码 要学习好数据结构就要多多考虑如何让将生活中遇到的问题,用程序去解决 程序 = 数据结构 + 算法 数据结构是算法的基础 数据结构 阅读全文
posted @ 2021-09-19 16:09 你们都不上班吗 阅读(34) 评论(0) 推荐(0)
摘要: IO流 输入输出流 在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称作输出流。 这些字节序列的来源地和目的地通常是文件,但是也可以是网络连接,甚至是内存块 字节流/字符流 将输入输出流的成员按照它们的使用方法来进行划分,可分为字节流和字符流 读写 阅读全文
posted @ 2021-09-19 16:02 你们都不上班吗 阅读(28) 评论(0) 推荐(0)
摘要: 同步锁 保证数据操作的完整性 每个对象对应一个锁的标记,保证在任一时刻,只能有一个线程访问该对象 用synchronized修饰符来与对象的同步锁联系 加同步锁会导致程序的执行效率降低 非静态同步方法的锁为this(当前对象),静态同步方法的锁为当前类本身 创建线程的方式 实现Runnable接口 阅读全文
posted @ 2021-09-19 15:56 你们都不上班吗 阅读(28) 评论(0) 推荐(0)
摘要: Vector线程安全,数据存储方式为数组 举例说明 public class test { public static void main(String[] args) { //构造一个Vector对象,对象中熟组默认长度为10 Vector vector = new Vector(); //循环添 阅读全文
posted @ 2021-09-19 15:55 你们都不上班吗 阅读(44) 评论(0) 推荐(0)
摘要: Hashtable 线程安全 键/值不可为null 无序 已被淘汰掉 实现 public class test_01 { public static void main(String[] args) throws IOException { /* 初始化数组大小为11,数组加载因子0.75f pub 阅读全文
posted @ 2021-09-19 15:54 你们都不上班吗 阅读(25) 评论(0) 推荐(0)
摘要: HashMap 数组+链表+红黑树 key不能重复,但值可以,允许使用null值和null键 如果添加相同的key,则会覆盖原来的key-value 无序 线程不安全 实现 public class test { public static void main(String[] args) { // 阅读全文
posted @ 2021-09-19 15:54 你们都不上班吗 阅读(34) 评论(0) 推荐(0)
摘要: LinkedHashSet是HashSet的子类 由于采用数组+双向链表的存储结构,所以添加和取出元素的顺序一致 元素不可重复 线程不安全 记录LinkedHashSet执行过程 public class test { public static void main(String[] args) { 阅读全文
posted @ 2021-09-19 15:53 你们都不上班吗 阅读(70) 评论(0) 推荐(0)
摘要: HashSet特征 无序——添加和取出元素的顺序不一致;没有索引 元素不可以重复,所以最多包含一个null 取出的顺序虽然不是添加的顺序,但是固定 底层采用HashMap实现,所以主要介绍HashMap底层代码 HashMap底层实现:数组+链表/红黑树 HashMap大致数据结构 看代码⬇️ pu 阅读全文
posted @ 2021-09-19 15:52 你们都不上班吗 阅读(30) 评论(0) 推荐(0)
摘要: LinkedList采用双向链表、双端队列实现,线程不安全 举例说明 public class test { public static void main(String[] args) { //构造LinkedList对象 LinkedList list = new LinkedList(); f 阅读全文
posted @ 2021-09-19 15:51 你们都不上班吗 阅读(46) 评论(0) 推荐(0)
摘要: 本文主要记录arraylist存储数据的方式 以下图为例 public static void main(String[] args) { //构造一个arraylist对象 ArrayList list = new ArrayList<>(); //循环添加数据 0-9 for (int i = 阅读全文
posted @ 2021-09-19 15:49 你们都不上班吗 阅读(28) 评论(0) 推荐(0)
摘要: 异常分类 Java中的异常层次结构 Error类层次结构描述了Java运行时系统内部错误和资源耗尽错误(此情况较少出现,并且基本无能为力;重点关注Exception异常)。 Exception IOException 表示程序以外的错误(其他异常),如:试图超越文件末尾继续读取数据、试图打开一个不存 阅读全文
posted @ 2021-09-19 15:47 你们都不上班吗 阅读(105) 评论(0) 推荐(0)