zoukankan      html  css  js  c++  java
  • 【幻化万千戏红尘】qianfeng-JAVA课程结束总结


    JAVA知识点:
    面向对象:
    面向对象是一种思想
    编程的指导

    封装:
    面向对象2大核心:
    1、类:描述信息,抽象
    格式:[public/abstract/final] class 类名 {
     属性
     构造方法
     方法
    }

    2、对象:具体的实例
    格式:类名 对象[=new 类名([实际参数列表])];

    this的用法
    1、代指本类对象
    2、调用构造方法

    方法的参数传递:
    1、基本类型:传输的是数据的本身
    2、引用类型:传输的是地址

    static:静态
    1、修饰属性
    2、修饰方法
    3、修饰代码块
    4、修饰内部类

    包:
    1、package:声明
    2、import:导入

    继承:
    继承:一个类拥有另一个类的属性或方法
    构造器不能被继承
    父类、超类、基类
    子类、派生类
    extends

    super:用在子类中
    1、可以调用父类中的属性或方法
    2、可以调用父类中的构造方法


    重写:扩展父类中的方法
    规则:
    1、访问修饰符不能比父类的严格
    2、静态、非静态、返回值类型、方法名、形式参数列表相同

    重载:相似功能的方法采用同一方法名
    规则:
    1、方法名相同
    2、形式参数列表不同

    访问修饰符:
    public---->protected--->默认---->private

    abstract:抽象
    1、修饰方法
    2、修饰类
    抽象类不一定有抽象方法
    有抽象方法的类一定是抽象类

    final:最终的
    1、修饰变量
    2、修饰方法
    3、修饰类

    接口:由抽象方法和常量组成的

    java只能单继承,但是可以多实现

    Object类:所有类的祖宗类

    ==和equals的区别?

    开发中优先选择接口其次抽象类

    多态:
    1、编译时多态
    重载
    2、运行时多态
    重写
    对象转型
     1、向上转型:自动,子类---->父类
     2、向下转型:强制,父类----->子类
    instanceOf:验证对象是否可以强制转换

    内部类:
    1、成员内部类
    2、匿名内部类
    3、静态内部类
    4、局部内部类

    设计模式:
    1、单例模式
    2、简单工厂模式
    3、装饰者模式

    数组:存储一组相同数据类型的数据结构
    2大核心:
    1、元素的类型
    2、数组的长度

    2种创建方式
    1、静态
    2、动态
    索引:0~length-1

    Arrays:数组工具类
    二维数组

    异常的处理:
    1、try{
     可能引发异常的代码块
    }catch(异常类){
    对异常的处理
    }finally{
    一定会执行的代码
    }

    2、throws

    常用类:
    日历类Calendar
    SimpleDateFormat
    String
    StringBuilder
    Math

    集合:动态的存储对象
    存储数据时,优先使用数组,其次再使用集合
    元素个数不定使用集合

    1、Collection<E>:继承迭代器接口,所以可以增强for循环
     1、List<E>:有序,可重复,有索引
      add
      get
      set
      remove
      1、ArrayList<E>:底层数组,新增和删除的效率较低,查询和修改的效率较高
      2、LinkedList<E>:底层双链式,新增和删除效率较高,查询和修改效率较低
     2、Set<E>:无序,不可重复,无索引
      add
      remove
      1、HashSet:效率较高
      元素应该重写hashCode和equals
      2、TreeSet
      元素必须可排序
       
      3、LinkedHashSet
    2、Map<K,V>:键值对存储
     put
     get
     1、HashMap
     2、TreeMap

    比较器接口:
    1、Comparable<T>:自然顺序
    2、Comparator<T>:自定义

    Collections:集合工具类

    流:数据通信的管道
    File类:操作文件或目录的类
    常用方法:
    mkdir
    mkdirs
    length
    getName
    renameTo
    delete
    list
    listFiles

    FileNameFilter:文件名过滤器接口

    递归遍历
    递归删除

    I/O流:
    流是数据通信的管道
    数据的来源:
    1、文件
    2、内存
    3、网络
    流的分类:
    按照流向分:
    1、输入流
    2、输出流
    按照传输单位分:
    1、字节流
    2、字符流
    按照功能分:
    1、节点流
    2、过滤流

    常用的流类:
    1、文件流:操作文件的流
    4个
    2、内存流:操作内存的流
    2个
    3、缓冲流:提高读写效率
    4个
    4、转换流:字节和字符之间的转换,指定编码格式---字符流
    2个
    5、对象流:所有数据类型的写出和读取,序列化和反序列---字节流
    2个
    6、打印流:支持所有数据类型的输出
    2个
    7、数据流:基本类型和String的写出和读取
    2个
    8、随机读取文件类:读取和写入
    RandomAccessFile

    Serializable接口
    序列化接口
    transient:暂态的

    java中的多线程:
    进程:独立的应用程序
    线程:程序内部的一条执行路径
    多线程开发

    线程的创建方式:
    1、继承Thread类,重写run方法
    2、实现Runnable接口

    用户线程和守护线程
    默认的线程是用户线程
    守护线程会受到对应的用户线程的约束,对应的用户线程销毁的时候也跟着一起销毁

    优先级:获取CPU的概率
    [1,10]

    线程的start和run的区别?

    线程的调度:改变线程状态的方法
    1、sleep
    2、join
    3、yield
    4、wait
    5、notify/notifyAll

    线程的生命周期
    新建
    就绪
    运行
    阻塞
    死亡

    线程的安全:
    当多个线程操作同一数据源时,有可能会引发数据安全

    解决多线程安全:
    synchronized:互斥锁关键字
    1、修饰代码块:同步代码块
    格式:synchronized(Object){
     可能引发安全的代码块
    }
    2、修饰方法:同步方法
     1、修饰非静态方法:锁的是当前类对象
     2、修饰静态方法:锁的是当前类的Class对象

    死锁:当前的线程进入了阻塞互相等待阻塞条件结束

    TCP/IP协议:传输控制协议/网际协议
    IP
    端口号
    TCP编程:
    ServerSocket
    Socket
    TCP的特点:
    1、面向连接
    2、每次传输无大小限制
    3、字节流数据交互

    SQLite数据库
    SQL语句:
    1、create
    2、alter
    3、drop
    4、insert
    5、update
    6、delete
    7、select

    Http协议:超文本传输协议
    请求属性
    请求参数

    请求方式:
    1、GET
    不安全,信息敏感
    大小有限制
    中文乱码
    速度快
    2、POST
    安全
    大小无限制
    速度慢

    常用的Http技术:
    1、HttpURLConnection
    使用步骤:
    1、创建URL对象
    2、创建连接对象
    3、设置请求信息
    4、连接
    5、验证状态响应码
    6、获取响应结果
    7、关闭

    2、okHttp
    使用步骤:
    1、创建客户端对象
    2、创建请求内容对象(POST)
    3、创建请求对象
    4、创建响应对象
    5、验证是否成功
    6、获取响应内容

    XML:可扩展的标记语言
    描述数据
    XML解析:
    1、SAX
    使用步骤:
    1、根据数据创建类
    2、创建DefaultHandler类的子类,并重写
    3、解析
     1、创建解析工厂 SAXParseFactory
     2、创建解析器
     3、创建自定义DefaultHandler类的子类的对象
     4、开始解析
     5、获取解析结果
     
    2、PULL
    使用步骤:
    1、根据数据创建类
    2、解析
     1、创建解析工厂XmlPullParseFactory
     2、创建解析器
     3、设置解析数据源
     4、开始解析
      1、创建集合存储解析结果
      2、获取初始事件
      3、循环获取事件
    事件常量:
    0---开始文档
    1---结束文档
    2---开始标签
    3---结束标签
    4---文本内容

    JSON:字符串的规则
    规则:
    {}--->对象
    []--->数组
    :---->连接属性和值
    ,---->多个属性或多个元素隔开
    ""---->属性名称或字符串类型的值

    遇到{}就是对象
    遇到[]就是数组

    解析方式:
    1、JSON官方
    JSONObject:对象
    JSONArray:数组
    2、Gson谷歌
    Gson类
    3、FastJson阿里
    JSON工具类

    接口回调:
    声明接口类型的遍历,通过实现类对象完成实例化
    再使用接口变量调用接口中的方法,这就叫接口回调

    HTML:超文本标记语言
    显示数据

    固定标签
    不区分大小写
    嵌套使用

    HTML5+CSS3+JavaScript

    Servlet:java语言编写运行在服务器上的程序
    使用步骤:
    1、创建Servlet(Web项目)
    2、重写doGet和doPost方法
    3、发布


    正则表达式:字符串的校验,替换

    反射:Class
    1、运行时获取类的属性、方法、构造方法、注解
    2、执行私有方法或私有属性

    注解:为代码添加的注释
    Annotation
    @interface定义注解
    四大元注解:
    1、@Target
    2、@Retantion

  • 相关阅读:
    webpack(二)
    webpack(一)
    初探Vue SSR(1)
    Node版本管理控制器n
    Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner
    微信小程序分享参数传递
    关于vue-cli3.*搭建项目遇到问题整理
    请求头出现provisional headers are shown 和 vue-cli 3.x配置跨域代理
    HDU6409 没有兄弟的舞会
    HDU6446 Tree and Permutation
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5788522.html
Copyright © 2011-2022 走看看