Java特性
- Java语言特性:强类型,准动态,解释型语言
- Java特性:跨平台,面向对象,多线程,垃圾自动回收
- 面向对象特性:封装,继承,多态
object的常用方法
- toString()
- equals()
- ==和equals比较
- ==:比较基本数据类型,比较的是值。 比较引用数据类型 比较的是地址
- equals:不能比较基本数据类型 。 比较引用数据类型,没有覆写,用object的,比较内存地址,如果覆写了,按照覆写的去比较。
- getClass()
- hashCode()
- 相同对象的hash值一定相同
- 不同对象的hash值可能相同
- notify
- natifyAll
- wait
- finalize
- clone
集合
- 继承体系
- List:有序,可重复
- ArrayList:数组 。 查询,修改快 。新增,删除慢。
- LinkedList:双向链表。 查询,修改慢 。新增,删除快。
- Set:无序不可重复。 HashSet:散列表,hash表
- 迭代器
- 集合迭代器的常用方法和用法?使用迭代器的注意事项?
- Iterator<Integer> iterator = s.iterator();
if(iterator.hasNext()){
Integer next = iterator.next();
iterator.remove();
} - hashNext:判断是否有下一个元素
- next:指针指向下一个元素,并返回当前指向元素
- remove:删除当前指向元素
- 注意:每个迭代器只能使用一次,如果再想使用需要重新创建,迭代器中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年代,微博时代,数据量开始增大
- 1.90年代,门户网站,数据少
- redis
- 缓存数据库
- k-v
- 五种数据类型
- String
- set k v
- expire
- setex
- setnx(分布式锁),当key存在,value值不再覆盖
- list
- ZSet
- hash
- zet
本文概述了Java的关键特性,如强类型、跨平台、面向对象设计(封装、继承、多态)、垃圾自动回收以及多线程。讨论了equals与hashCode的区别,介绍了Java集合框架(如List、Set、Map),以及面向对象编程中的迭代器、序列化、线程管理和SpringMVC注解的使用。还涉及了Git版本控制和RedisNoSQL数据库的应用。
9764

被折叠的 条评论
为什么被折叠?



