月考复习回顾

本文概述了Java的关键特性,如强类型、跨平台、面向对象设计(封装、继承、多态)、垃圾自动回收以及多线程。讨论了equals与hashCode的区别,介绍了Java集合框架(如List、Set、Map),以及面向对象编程中的迭代器、序列化、线程管理和SpringMVC注解的使用。还涉及了Git版本控制和RedisNoSQL数据库的应用。

Java特性

  • Java语言特性:强类型,准动态,解释型语言
  • Java特性:跨平台,面向对象,多线程,垃圾自动回收
  • 面向对象特性:封装,继承,多态

object的常用方法

  • toString()
  • equals()
  1. ==和equals比较
  2. ==:比较基本数据类型,比较的是值。       比较引用数据类型 比较的是地址
  3. equals:不能比较基本数据类型 。     比较引用数据类型,没有覆写,用object的,比较内存地址,如果覆写了,按照覆写的去比较。
  • getClass()
  • hashCode()
  1. 相同对象的hash值一定相同
  2. 不同对象的hash值可能相同
  • notify
  • natifyAll
  • wait
  • finalize
  • clone

集合

  • 继承体系
  1. List:有序,可重复
  2. ArrayList:数组  。   查询,修改快    。新增,删除慢。
  3. LinkedList:双向链表。   查询,修改慢    。新增,删除快。
  4. Set:无序不可重复。      HashSet:散列表,hash表
  • 迭代器
  1. 集合迭代器的常用方法和用法?使用迭代器的注意事项?
  2. Iterator<Integer> iterator = s.iterator();
            if(iterator.hasNext()){
                Integer next = iterator.next();
                iterator.remove();
            }
  3. hashNext:判断是否有下一个元素
  4. next:指针指向下一个元素,并返回当前指向元素
  5. remove:删除当前指向元素
  6. 注意:每个迭代器只能使用一次,如果再想使用需要重新创建,迭代器中remove直接影响原集合,迭代器在创建到使用结束完之间,不能向原集合新增或删除数
  • java特性:跨平台,面向对象,垃圾自动回收,多线程
    • 语言特性:准动态,强类型,解释型
    • 面向对象:封装,继承,多态
    • Object
  • equals:
  • ==和equals
  • ==:
  • 比较基本数据,比较值
    • 比较引用数据,地址
  • equals
  • 比较引用,重写的按照重写的比较,没有重写地址
  • wait:线程等待
    • finalize:垃圾回收
    • getClass:获取类,(反射使用)
    • toString:地址
    • notifyAll:线程唤醒所有
    • notify:线程随机唤醒一个
  • final:修饰符
  • 修饰的变量是常量,不能二次赋值
    • final修饰的方法,不能被覆写
    • final修饰类,不能被继承
    • 和static一起修饰的变量是静态常量,变量名都大写
  • finally:关键字
  • try....catch.....finally,代码一定执行,System.exit()
  • finalize:方法
  • 垃圾自动回收,但是自己调用没有效果,系统收回垃圾时会自动调用该对象的finalize的方法
  • clone
  • Collection
  • list
  • ArrayList:数组
  • 查询,修改快
    • 新增,删除慢
  • LinkedList:双向链表
  • 查询,修改慢
    • 新增,删除快
  • set
  • HashSet:散列表,hash表
    • TreeSet:红黑树
  • Map
  • HashMap:散列表,hash表
    • TreeMap:红黑树
  • 迭代器
  • hasNext:判断是否有下一个
    • remove:移除元素
    • next:获取下一个
  • IO分类
  • 流向
  • 输入
    • 输出
  • 处理数据
  • 字节
    • 字符
  • 功能
  • 节点
    • 处理
  • 打印流
    • 转换流
    • 对象流
    • 缓冲流
  • 序列化
  • 1.类实现Serializable接口
    • 3.transient修饰符,修饰的变量不参与序列化
    • 2.保证操作时版本号一致,SerialVersionUID
  • 多线程
  • 实现方式
  • 继承
    • run
    • 实现
  • 线程同步方式
  • 1.synchronized修饰的方法
    • 3.lock()
    • 2.synchronized修饰的代码快
  • Git工作流程
  • git init
    • git add .
    • git commit -m
    • git push
    • git pull
  • IOC和DI
  • 获取对象的过程被反转了
    • DI:依赖注入
  • AOP
  • OOP
    • 在不修改源码的基础上,对程序进行增强
  • SpringMVC注解(7种)
  • @Controller
  • 1.具备@Component基础含义(把管理的类当成bean注入到ioc容器中)
    • 3.类中的方法返回值会被视图解析器解析,跳转到对应的页面
    • 2.标志着该层是一个web层,或者控制层
  • @RestController
  • 1.具备@Component基础含义(把管理的类当成bean注入到ioc容器中)
    • 3.类中的方法返回值不被视图解析器解析,返回自定义的内容
    • 2.标志着该层是一个web层,或者控制层
  • @RequestMapping
  • 加在类上,定义接口1级路径
    • PostMapping
    • GetMapping
    • 加在方法上,定义接口2级路径
  • @ResponseBody
  • 加在方法上,让该方法的返回值不被视图解析器解析,返回自定义的内容
  • @RequestBody
  • 加在参数上,要求前端必须在请求体重传递一个json结构
  • @PathVariable
  • 加在参数上,动态的解析地址栏的参数,获取后赋值给紧跟的参数
  • @RequestParam
  • 加在参数上,解决前后端key值不一致的问题
    • required=false,避免因不传递报错
    • 如果前端不传递该参数,报400错误
  • Redis
  • nosql
    • 1.90年代,门户网站,数据少
      • 3.20年代,自媒体时代,大数据时代
      • 2.10年代,微博时代,数据量开始增大
  • redis
  • 缓存数据库
    • k-v
  • 五种数据类型
  • String
  • set k v
    • expire
    • setex
    • setnx(分布式锁),当key存在,value值不再覆盖
  • list
    • ZSet
    • hash
    • zet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值