首页 > 编程语言 >java复习

java复习

时间:2023-10-22 21:13:08浏览次数:39  
标签:java 复习 Thread 对象 链表 新建 哈希 数据结构

1、Java 常用集合及特点? List:ArrayList、LinkedList、Vector、Stack Set:LinkedSet、HashSet、TreeSet Queue->Deque->LinkedList。 Map:HashMap、LinkedHashMap、TreeMap Dictionary->HashTable->Properties。 Vector: 底层数据结构是数组,查询快,增删慢,线程安全,效率低,默认长度为 10,超过 会 100%延长,变成 20,浪费空间。 ArrayList :基于数组,便于按 index 访问,超过数组需要扩容,扩容成本较高。 LinkedList:使用链表实现,无需扩容。 HashSet:底层数据结构是哈希表(无序,唯一),通过 hashcode()和 equals()保证元素唯 一。 LinkedHashSet: 底层数据结构是链表和哈希表(FIFO 插入有序,唯一),由链表保证元素 有序,由哈希表保证元素唯一。85 TreeSet:底层数据结构是红黑树(唯一,有序),通过自然排序和比较器排序保证元素有 序,根据比较返回值是否是 0 来保证元素唯一性。 TreeMap 是有序的。 HashMap :空间换时间,哈希冲突不大的情况下查找数据性能很高。 LinkedHashMap 基本特点:继承自 HashMap,对 Entry 集合添加了一个双向链表。   2、开启一个线程的方法?      继承 Thread 类,新建一个当前类对象,并且运行其 start()方法      实现 Runnable 接口,然后新建当前类对象,接着新建 Thread 对象时把当前类对象传进 去,最后运行 Thread 对象的 start()方法      实现 Callable 接口,新建当前类对象,在新建 FutureTask 类对象时传入当前类对象,接 着新建 Thread 类对象时传入 FutureTask 类对象,最后运行 Thread 对象的 start()方法   3、Java 如何保证线程安全?  使用同步代码块  使用同步方法  使用 Lock 锁机制, 通过创建 Lock 对象,采用 lock()加锁,unlock()解锁,来保护指定 的代码块。    

标签:java,复习,Thread,对象,链表,新建,哈希,数据结构
From: https://www.cnblogs.com/1011-zslnb/p/17781124.html

相关文章

  • 什么是java集合框架
    Java集合框架是Java编程语言提供的一组类和接口,用于处理和存储数据集合。它提供了各种数据结构和算法,以便开发者能够高效地操作数据,无需自行实现这些数据结构。Java集合框架的主要目标是提供一种通用的、标准的方法来处理和存储不同类型的数据,使开发更加方便和高效。以下是Java集......
  • Java并发
    Java并发基础并发:多个任务在同一时间段内交替执行并行:多个任务在同一时刻同时执行Java线程创建方式继承Thread和实现接口继承Thread类并重写run,之后调用start方法启动线程,注意:调用run只是普通的方法调用,不会新开线程。例如如下匿名类继承Thread。Threadthread=new......
  • JAVA项目中的常用的异常处理情况
    在Java项目开发中,异常处理是非常重要的一部分。异常是指在程序运行过程中出现的错误或异常情况,如空指针异常、数组越界异常等。合理处理异常可以提高程序的健壮性和可靠性,保证程序的正常运行。首先在Java中,异常处理的基本原则是“捕获异常、处理异常、抛出异常”。在程序......
  • java异常总结
    JAVA项目中的异常处理在Java项目中,异常处理是非常重要的一部分,它可以帮助我们更好地管理和控制程序的运行流程,提高代码的可读性和可维护性。本文将介绍Java项目中常见的异常处理情况,包括异常的分类、处理方式以及最佳实践。一、Java异常的分类Java异常主要分为两大类:受检查异常......
  • java中使用Graphics绘制图形验证图片,为什么图中的文字没有呈现?
       项目中做了一个图形验证的功能。可选择图形中的文字,想出现的效果如上。图形上有文字。而在实际做的过程中,发到测试环境linux系统上去之后,是下面的情况: 只有图,没有文字!于是问了问度娘,说是字体的原因。项目中使用了linux中没有的字体会导致上图的问题。但我是使用了......
  • JAVA
    1.Java中的泛型是什么?使用泛型的好处是什么?这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它......
  • Java基础 字节输出流 写出数据的三种方式
    void write(int b)  →  一次写一个字节数据 void write(byte[] b)  →  一次写一个字节数组数据 void write(byte[] b, int off, int len)  →  一次写一个字节数组的部分数据参数一:装着所有数据的数组。参数二:起始索引。参数......
  • Java基础 字节输出流写出数据的细节
    1.创建字节输出流对象:FileOutputStreamfos=newFileOutputStream("E:\\Java基础资料\\a.txt");细节①:参数可以是字符串表示的路径,也可以是File对象细节②:如果文件不存在,会创建一个新的空文件,但是要保证父级路径是存在的细节③:如果文件已经存在,则会清空文件 2.写数据:f......
  • Java基础 IO流的体系 和 字节输出流基本语法
     FileOutputStream:操作本地文件的字节输出流,可以把程序中的数据写到本地文件中 步骤:1.创建字节输出流对象2.写数据3.释放资源 eg:publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream("E:\\Java基础资料......
  • Java基础 IO 流
    IO流:存储和和读取数据的解决方案IO流用于读写文件中的数据(可以读写文件,或网络中的数据...)IO流可以把程序中的数据保存到本地文件当中,也叫写出数据(output),还可以把本地文件中的数据加载到程序当中,也叫读取数据(input) 问:IO流中,谁在读,谁在写?以谁为参照物看读写的方向呢?答:以......