Day22

常用类

Object类

  1. hashcode()
  2. toString()
  3. clone()
  4. getClass
  5. notify()
  6. wait()
  7. equals()

Math类

常见的数学运算

Random类

生成随机数 UUID

File类

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

包装类

自动装箱和拆箱

Date类

  1. Date
  2. SimpleDateFormat yyyy-MM-dd HH:mm:ss
  3. Calendar(建议使用)

String类

  1. 不可变性(不可能被改变) final

StringBuffer

可变长 append() 多线程数据量较大
效率低—>安全

StringBuilder

可变长 单线程数据量较大 效率高—>不安全

附题

String str = “a”+1+2 —>a3
String str = ‘a’+1+2 —>a代表的数+3
String str = “a”+1+2 —>3a

集合框架

Collection

  1. List(有序可重复)
    ①ArrayList(常用)
    add添加 remove删除
    contains包含 size大小
    ②LinkedList(常用)
    getFirst()
    getLast()
    removeFirst()
    addFirst()

    ③Vector
    ④Stack
  2. Set(无序不可重复)
    ①HashSet(常用)
    ②TreeSet
  3. Iterator:迭代器

Map

  1. HashMap(常用,面向高频问点)
    JDK1.7:数组+链表
    JDK1.8:hash表=数组+链表+红黑树
  2. TreeMap

IO流

字节流

输出:OutputStream
输入:InputStream

字符流

Reader
Wirter

节点流
  1. CharArrayReader,Writer,inputstream,
    outputstream,StringReader
  2. pipe(管道流) PopedOutputStream
  3. File(…)

处理流

  1. buffer
    ①bufferinputStream
    ②bufferOutputStream
    ③bufferReader
    ④bufferwriter
  2. 序列化 反序列化 Serializable
    transient(透明的)
  3. date
    ①DataInputStream
    ②DataOutputStream
  4. 转换流
    ①InputStreamReader
    ②OutputStreamWriter
  5. object流.
  6. Filter(四个)
  7. print
    ①PrintWriter
    ②PrintStream

多线程

  1. 进程跟线程
  2. run(), start(),
  3. 线程创建的方式
    ①Thread —>start0,本地方法;java无权调用,交给底层的c处理
    ②Runnable(函数式接口) lambda
    ③Callable 可以有返回值
  4. 静态代理 newThread(Runnable).start();
  5. Lambda表达式 函数式编程 避免内部类定义过多不易阅读
    new Thread(()->{
    System.out.promtln();
    }).start();
  6. 手动推导一遍lambda表达式

线程的状态

  1. 新建状态
  2. 就绪
  3. 运行
  4. 阻塞
  5. 死亡

常用的方法

  1. sleep
  2. join
  3. yield
  4. isLive
  5. start
  6. serPriority
  7. interrupt

线程同步

  1. 多个对象操作同一个资源,并发问题
  2. 前提:队列+锁
  3. Synchronized
    ①同步方法(弊端:锁太多了)
    ②同步代码块(常用)
    ③第一个线程进来拿到锁,后面就要排队了,直到这个人释放锁,后面拿到锁才能进去
    ④死锁:两个人都抱着对方的锁循环
    互斥/请求与保持/不剥夺条件/等待条件
    (破坏任何一个条件即可破锁)
    4.Lock (优先级高)
    ReentrantLock
    ①lock
    ②trylock
    ③unlock
    ####附优先级
    Lock>同步代码块>同步方法

线程通信

  1. 缓冲区:消息队列
  2. 标志位:红绿灯
  3. wait();
  4. notifyAll();

线程池(pool)

  1. 池化技术
  2. 池的大小
  3. 最大连接数
  4. 保持时间

网络编程

  1. IP
  2. 端口
  3. TVP
    ①三次握手
    ②四次握手
    ③面向连接
  4. UDP
    ①无连接
    ②Packet
  5. UPL
  6. 初识Tomcat
  7. 聊天通信
  8. 文件上传

GUI

AWT

  1. Frame
  2. 监听事件
    ①鼠标
    ②键盘
    ③窗口
    ④动作事件

Swing

  1. 文本框
  2. 标签
  3. 文本域
  4. 面板
  5. 布局方式
  6. 关闭窗口
  7. 列表

贪吃蛇

  1. Timer
  2. 键盘监听
  3. 游戏帧的概念

注解和反射

注解

  1. 元注解
  2. 内置注解
  3. 自定义注解
  4. 反射读取注解

反射

  1. Class nreinstance();
  2. 类加载机制
  3. Method
    ①invoke(user3,“WN3”);
    ②存在重载,也需要写参数类型
  4. Field set(user4,“WN4”)
  5. Construct
    ①newinstance();
    ②获取的时候需要传递参数的class类型
  6. 破坏私有关键字 setAccessible(true);
  7. 性能分析
    正常>检测关闭的反射>默认的反射
  8. 单例模式的研究
  9. Stream
    10.ForkJoin 效率对比
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值