Java基础进阶J
  • Object类

    • hashcode()
    • toString()
    • clone()
    • getClass()
    • notify()
    • wait()
    • equals()
  • Random类 生成 随机数 UUID

  • Math类 常见的数据运算

  • File类

    • 创建文件
    • 查看文件
    • 修改文件
    • 删除文件
  • 包装类

    • 自动装箱和拆箱(面试)
  • Data类

    • Data
    • SimpleDateFormat yyy-MM-dd HH:mm:ss
    • Calendar (建议使用)
  • String类

    • 不可变性 final 操作量较少
  • StringBuffer类

    • 可变长 安全 append(copy成新的再拷贝)
    • 多线程 数据量较大 效率低 安全
  • StringBuilder类

    • 可变长

    • 单线程 数据量较大 效率高 不安全

      String str = "a" + 1 + 2 a12

      String str = ’a‘ + 1 + 2 65+1+2 = 68

      String str = 1 + 2 + “a” 3a

集合框架

  • Collection

    • List (有序可以重复)

    • 遍历 Iterator 建议实现了这个接口的 用迭代器 Iterator 遍历

      • ArrayList 数组

        • add
        • remove
        • contains
        • size
        • .......
      • LinkedList 链表
        • getFirst(Last)
        • addFirst(Last)
        • removeFirst(Last)
        • push 弹出
        • pop 压入
        • .........
      • Vector
      • Stack
    • Set(无序,不可重复)

      • HashSet 常用
      • TreeSet
  • Map

    • HashMap(超级常用)面试高频

      • JDK1.7:数组+链表
      • JDK1.8:hash表 = 数组+链表+红黑树 (链表长度在大于8的时候,自动转化为红黑树)
    • TreeMap
  • Collections 工具类

  • 泛型 约束 避免问题转换之间的问题

IO流

  • 字节流

    • 输出 OutputStream
    • 输入 InputStream
  • 字符流

    • Reader
    • Wirter
  • 节点流

    • CharArrayReader
    • CharArrayWriter
    • CharArrayInputStream
    • CharArrayOutputStream
    • StringReader
    • StringWriter
    • pipe(管道)InputStream
    • pipe(管道)OutputStream
    • File
  • 处理流

    • buffer 有字符

      • bufferInputStream
      • bufferOutputStream
      • bufferReader
      • bufferWirter
    • 序列化
      • 反序列化

        • Serializale 标记下接口
        • transient 透明的
    • data 没有字符
      • dataInputStream
      • dataOutputStream
    • object
      • objectReader
      • objectWirter
      • objectInputStream
      • objectOutputStream
    • 转换流
      • InputStreamReader
      • OutputStreamWriter
    • 过滤流 Filter
      • FilterInputStream
      • FilterOutputStream
      • FilterReader
      • FilterWirter
    • print
      • printStream
      • printWriter

多线程

  • 进程和线程

  • run(), Start()

  • 线程创建的方式

    • Thread

      • start() 本地方法 ,java 无权调用 c来调用 java无权调用底层,JVM隔着。private native void start();
    • Runnable 函数式接口 lambda
    • Callable 可以有返回值
  • 静态代理

    • new Thread(Runnable).start();
  • Lambda表达式 函数式编程 (避免内部类定义过多)

    ​ new Thread(() ->{ System.out.println();}).start();

  • 线程的状态

    • 新建状态
    • 就绪
    • 运行
    • 阻塞
    • 死亡
  • 常用的方法

    • sleep
    • join
    • yield
    • isLive
    • start
    • serPriority 优先级
    • interrupt 中段
  • 线程同步

    • 多个对象操作同一个资源,并发
    • 队列 + 锁
    • Synchronized
      • 同步方法 弊端 锁太多
      • 同步代码块
      • 第一个线程进来 拿到锁 , 后面就要排队了,直到这个人释放锁,后面锁才能进去
      • 死锁 : 两个人 都抱着对方的锁
        • 互斥 一个资源只能被一个进程使用,不能被两个进程同时使用。
        • 请求与保持 一个进程正在被锁,其他进程不能等着这个资源不放
        • 不剥夺条件 不能强行拿走别人正在使用的资源
        • 循环等待条件
      • 死锁只要破坏掉其中一个条件,死锁被释放
    • lock 优先级高 lock > 同步代码块 > 同步方法
      • ReentrantLock 保证线程的同步

        • lock
        • trylock
        • unlock
  • 线程通信

    • 缓冲区 : 消息队列
    • 信号灯 : 标志位
      • wait() object
      • notifyall() object
  • 线程池 pool 准备好资源 放在池子里面

    • 池化技术 数据库 还有连接池 (提前准备好连接)
    • 池的大小
    • 最大连接数
    • 链接时间
    • 保持时间
  • 网络编程

    • url

      • ip
      • 端口
    • Socket编程
    • Tcp连接
      • 三次握手
      • 四次挥手
      • 面向链接
    • Udp连接
      • 无连接
      • Packet
    • 初识Tomcat
    • 聊天通讯
    • 文件上传
  • GUI 可选

    • AWT

      • Frame
      • 监听事件
        • 鼠标
        • 键盘
        • 窗口
        • 文本框
        • 动作
    • Swing
      • 文本框
      • 标签
      • 按钮
      • 文本域
      • 面板
      • 布局方式
      • 关闭窗口
      • 列表
    • 贪吃蛇
      • Timer
      • 键盘监听
      • 游戏帧的概念
  • 注解和反射

    • 注解

      • 元注解
      • 内置注解
      • 自定义注解
      • 反射读取注解
    • 反射
      • Class

        • newlnstance();
      • 类加载机制
      • Method
        • invoke
        • 存在重载,也需要写参数的类型
      • Field
        • set
      • Construct
        • newlnstance();
        • 获取的时候需要传递参数的class类型
      • 破坏私有关键字
        • setAccessible(true)
      • 性能分析
        • 正常> 检测关闭的反射>默认的反射
      • 反射获得注解,泛型
    • 单例模式的探究
    • Stream
    • FrokJoin

Java基础进阶的更多相关文章

  1. 第二十八节:Java基础-进阶继承,抽象类,接口

    前言 Java基础-进阶继承,抽象类,接口 进阶继承 class Stu { int age = 1; } class Stuo extends Stu { int agee = 2; } class ...

  2. Java基础进阶整理

    Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...

  3. java基础进阶一:String源码和String常量池

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8046564.html 邮箱:moyi@moyib ...

  4. java基础进阶二:HashMap实现原理分析

    HashMap实现原理分析 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二 ...

  5. Java基础进阶:时间类要点摘要,时间Date类实现格式化与解析源码实现详解,LocalDateTime时间类格式化与解析源码实现详解,Period,Duration获取时间间隔与源码实现,程序异常解析与处理方式

    要点摘要 课堂笔记 日期相关 JDK7 日期类-Date 概述 表示一个时间点对象,这个时间点是以1970年1月1日为参考点; 作用 可以通过该类的对象,表示一个时间,并面向对象操作时间; 构造方法 ...

  6. Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...

  7. java基础进阶:SQL的运用

    SQL的基础的运用 /* --1.学生表 Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Cour ...

  8. 笔记-迎难而上之Java基础进阶1

    Collection集合 数组的长度是固定的,集合的长度是可变的 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致. 集合框架 import java ...

  9. 笔记-迎难而上之Java基础进阶-终

    使用Stream流的方式,遍历集合 import java.util.*; public class StreamDemo{ public static void main(String[] args ...

随机推荐

  1. shell脚本学习之6小时搞定(6)-重定向及其他

    shell学习之-重定向及其他 目录 shell学习之-重定向及其他 1.输出重定向 2.输入重定向 3.重定向深入讲解 4./dev/null 文件 5.awk Unix 命令默认从标准输入设备(s ...

  2. 消息队列 ---常用的 MQ 中间件

    目前市面上比较常用的 MQ(Message Queue,消息队列)中间件有 RabbitMQ.Kafka.RocketMQ,如果是轻量级的消息队列可以使用 Redis 提供的消息队列,其中 Redis ...

  3. Spring Boot GraphQL 实战 03_分页、全局异常处理和异步加载

    hello,大家好,我是小黑,又和大家见面啦~ 今天我们来继续学习 Spring Boot GraphQL 实战,我们使用的框架是 https://github.com/graphql-java-ki ...

  4. Java菜鸟在IP问题踩坑了

    之前有做过获取客户端公网IP的项目 一般都是 正常的request.getRemoteAddr 或者request.getRemoteHost 可获取到客户端的公网IP, 或者项目部署在有nginx代 ...

  5. P4292 [WC2010]重建计划 点分治+单调队列

    题目描述 题目传送门 分析 看到比值的形式就想到 \(01分数规划\),二分答案 设当前的值为 \(mids\) 如果存在\(\frac{\sum _{e \in S} v(e)}{|S|} \geq ...

  6. SSRF - Pikachu

    概述: SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制 导致 ...

  7. python zxing包解析二维码报UnicodeDecodeError错误解决办法

    一般错误的原因是这个库不支持中文的解码(二维码内容包含中文). 修改如下: 进入zxing.__init__.py代码中,类BarCode下,parse方法中: 找到下面这两行原代码如下: 1 raw ...

  8. ASP Net Core – CORS 预检请求

    CORS(跨源资源共享)是一种机制,它允许同一个来源运行的Web应用程序从在另一个来源运行的服务器访问资源.同源策略是一种非常严格的措施,因为它只允许与服务器起源于同一源的应用程序访问其资源.很多时候 ...

  9. OAuth2.0是干什么的?

    OAuth2.0是干什么的? 首先用户有一些数据: 将数据存储在服务器上: 这时候有一个应用要访问数据: 如果这个应用是一个恶意程序呢?所以需要一个检验来判断请求是不是安全的: 如何判断是不是安全的? ...

  10. Linux 通过端口终止进程

    以下命令可用于杀死占用某端口的所有进程. root 用户: kill -9 $(lsof -i tcp:进程号 -t) 非 root 用户: kill -9 $(sudo lsof -i tcp:进程 ...