IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> javaSE回顾 -> 正文阅读

[数据结构与算法]javaSE回顾

面向对象

  • 类与对象:类是对象的抽象,对象是类的具体
  • new对象:栈存放引用,堆存放具体的对象
  • 三大特性:封装,继承,多态

数组排序算法

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 归并排序
  • 希尔排序
  • 堆排序
  • 基数排序

常用类和常用方法

object类

  • hashcode()
  • toString()
  • clone()
  • getClass()
  • notify()
  • wait()
  • equals()

Math类

用于常见的数学运算

Random类

生成随机数  UUID

File类

创建文件,查看文件,修改文件,删除文件

包装类

自动拆装箱 

Date类

  • Date
  • SimpleDateFormat:yyyy-MM-dd HH:mm:ss
  • Calendar(建议使用)

String类:不可变性final,用于操作较少的字符串

StringBuffer类:字符串长度可变化,多线程数据量较大时使用,效率低,线程安全

StringBuilder类:单线程数据量较大时使用,效率高,线程不安全

修饰符

public,protected,private,static,final,abstract

接口

用于约束,只能定义方法名;子类实现接口,必须重写其中的方法;只有一个方法的接口叫做函数式接口,可以使用lambda表达式简化

异常

父类Throwable

  • Exception

    • 运行时异常:1/0,ClassNotFound,NullPoint,UnKownType,下标越界异常
    • 检查型异常:
  • Error

    • AWT错误
    • JVM错误

集合

  • Collection
    • List(有序可重复)
      • ArrayList(常用)
        常用方法:add,remove,contains,size
      • LinkedList(常用)
        常用方法:getFirst,getLast,removeFirst,addFirst
      • Vector
    • Set(无序不可重复)
      • HashSet(常用)
      • TreeSet
  • Map
    • HashMap(重点)
      • JDK1.7:数组+链表
      • JDK1.8:数组+链表+红黑树
    • TreeMap

io流

  • 字节流
    • 输出:OutputStream
    • 输入:InputStream
  • 字符流
    • Reader
    • Writer
  • 节点流
    • CharArrayReader,Writer,inputStream,outputStream
    • StringReader,Writer
    • pipe(管道流)
  • 处理流
    • buffer
      • bufferInputStream
      • bufferOutputStream
      • bufferReader
      • bufferWriter
    • data
      • DataInputStream
      • DataOutputStream
    • 转换流
      • InputStreamReader
      • OutputStreamReader
    • 序列化和反序列化:继承Serializable
    • Filter
    • print

多线程

  • 线程创建的方式
    • 继承Thread类
    • 实现Runnable接口:函数式接口 lambda
    • 实现Callable:可以有返回值
  • 静态代理
  • 线程的状态:新建状态,就绪,运行,阻塞,死亡
  • 常用方法:sleep,join,yield,isLive,start,setPriority,getPriority,interrupt
  • 线程同步:多个对象操作同一个资源,并发
    • 队列+锁
    • Synchronized
      • 同步方法(有弊端)
      • 同步代码块(常用)
    • Lock
      • lock
      • tryLock
      • unLock
    • 死锁:两个都抱着对方的锁(只要打破其中一个就能解除死锁)
      • 互斥
      • 请求与保持
      • 不剥夺条件
      • 循环等待条件
  • 线程通信
    • 缓冲区:消息队列
    • 标志位:wait(),notifyAll(),notify()
  • 线程池

网络编程

  • Socket编程
  • TCP:三次握手,四次挥手,面向连接
  • UDP:无连接,Packet
  • URL

GUI

  • AWT
    • Frame
    • 监听事件:鼠标,键盘,窗口,动作事件
  • Swing:文本框,标签,按钮,文本域,面板,布局方式,关闭窗口,列表

注解和反射

  • 注解
    • 元注解
    • 内置注解
    • 自定义注解
    • 反射读取注解
  • 反射
  • Class newInstance()
  • 类加载机制
  • Method
  • Field
  • Construct
  • 破坏私有关键字:setAccessible(true);
  • 性能分析:正常>检测关闭的反射>默认的反射
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-05 20:27:23  更:2021-07-05 20:27:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 20:24:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码