03 2023 档案
发表于 2023-03-08 02:42阅读次数:70评论次数:0
摘要:线程池 什么是线程池 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池可以缓存线程,可用已有的闲置线程来执行新任务。 线程池的优势 总体来说,线程池有如下的优势: (1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 (2)提高响
阅读全文 »
发表于 2023-03-08 01:53阅读次数:107评论次数:0
摘要:线程与进程的区别 进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。 一个程序至少有一个进程,一个进程至少有一个线程。 创建线程的三种方式 继承Thread类 定义Thread类的子类,重写该类的run方法。 创建Thread子类的实例,即创建了线程对象(new project) 调用
阅读全文 »
发表于 2023-03-08 01:46阅读次数:19评论次数:0
摘要:Map Map常用实现类 类并发性有序性底层数据结构初始容量负载因子实例化方式一致性k/v是否可为null HashMap 不支持 无序 数组+链表/红黑树 16 0.75 懒加载(第一次put元素才会会初始化容量) - k/v可为null LinkedHashMap 不支持 有序(插入序或者访问序
阅读全文 »
发表于 2023-03-07 20:55阅读次数:20评论次数:0
摘要:##概述Java集合框架的基础接口 Collection 集合的顶级接口,对象的集合(单列集合) ├——-List 接口:元素按进入先后有序保存,元素可重复 │—————-├ LinkedList 接口实现类,底层数据结构为双链表, 插入删除, 没有同步, 线程不安全 │—————-├ ArrayL
阅读全文 »
发表于 2023-03-07 16:39阅读次数:28评论次数:0
摘要:#泛型 ##什么是泛型 Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。 编译器可以在编译阶段对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如 ArrayList<Persion> persons = new Ar
阅读全文 »
发表于 2023-03-07 16:27阅读次数:313评论次数:0
摘要:#### 什么是Java反射机制 Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种**动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制*
阅读全文 »
发表于 2023-03-07 16:24阅读次数:16评论次数:0
摘要:老生常谈问题:String、StringBuffer、StringBuilder区别 它们的相同点是都用来封装字符串;都实现了CharSequence接口。 | 区别 | 执行速度 | 线程安全 | 使用场景 | 是否实现equals、hashCode方法 | 初始化方式 | | | | | | |
阅读全文 »
发表于 2023-03-07 16:14阅读次数:13评论次数:0
摘要:final关键字 final可修饰属性、方法、类、局部变量(方法中的变量)。 final修饰的属性的初始化可以在编译器也可以在运行期,但初始化后不可改变,表明是一个常量。 final修饰的方法不能被重写,final修饰的类,那么这个类的所有方法都不能被重写,且被修饰的类不可被继承(如String类被
阅读全文 »
发表于 2023-03-07 15:52阅读次数:24评论次数:0
摘要:静态是指使用static关键字修饰的成员,其中包括静态变量,静态方法,静态代码块、内部类(普通类不允许被声明成静态的)且在类加载时就在JVM开辟的五大内存之一的方法区中被初始化。 静态变量与非静态变量: static 修饰的变量、在类加载的时候,就已经开辟了一块内存空间来存它了,而且它是唯一的,在内
阅读全文 »