新手学习java的几个重要知识点
- 静态不能访问非静态
- 空参构造自动调用,可以赋值更加便于检测
- 集合中在遍历的时候不能直接使用集合对象的add,remove,clear()
- next(读一行)和nextLine(一行一行读)
- 实现多态没有方法重载就没有多态的意义
- 重载方法名相同参数类型不同
- await线程等待CountDownLatch\wait锁中永久等待synchronized
- 线程如果需要for循环数字可以在其前加" "
- synchronized()锁住的一般都需要判断
- 子类重写方法一般不会抛异常
- 后缀是255的都是广播地址
- 字节流不需要刷新
- IO流只能操作文件不能操作文件夹
- static唯一final不可更改
- 一般工作中枚举只用枚举项不加方法和参数
- 跳转:
1.使用了request域的时候,必须用请求转发。
2.访问站外资源的时候用重定向。
使用技巧:有数据响应用请求转发,没有用重定向 - 时间日期转换
字符串转换成日期类型用解析parse
日期类型转换成字符串用格式化format - 四大域
尽量用小域
pageContext(页面域):当前页面
session(会话域):多次性,等一会用
request(请求域):一次性,用完销毁
servletcontext(公共域):自己用、别人用公共 - 分层的根本在于代码的复用和劳动成本的减少。分层的最理想化的结果是实现层与层之间的互不依赖的内部实现,所谓的即插即用!
- mysql去重的方法
distinct
group by 查询中用到几个组就分几组可以是数字 - servlet3.0之后才能使用注解
- tomcat8.0之后才解决乱码问题
- spring5.0要求集成junit必须是4.12以上
- pagehelper5.0以上用的是PageInterceptor以下用的是Pagehelper
- 调用Collections的reverse方法可以反转结果
- 框架作用:提高开发效率,提高代码复用性,提高系统可维护性
- 容器之间有继承关系
- 方法的内存消耗比变量要小
- CRUD增查改删creat,read,update,delete
- 事务目的要么都成功要么都失败
- 事务特性ACID
原子性:事务中所有操作是不可再分割的原子单位.事务中所有操作要么都执行成功,要么都执行失败.
一致性:事务执行后,数据库状态与其他业务规则保持一致.如转账业务,无论事务执行是否成功,参与转账的两个账号余额之和应该是不变的.
隔离性:一个事务的执行过程中不能影响到其他事务的执行,即一个事务内部的操作及使用的数据对其他事物是隔离的,并发执行各个事务之间无不干扰.
持续性:即一个事务一旦提交,它对数据库数据的改变是永久性的.之后的其他操作不应该对其执行结果有任何影响. - 跳转的时候+/是绝对路径,不+/是相对路径
- 拦截时/*和/都是拦截所有,但是/不拦截JSP文件
- 设置表单method = "post"浏览器网址栏只能发get不能发post,不然会报405
- 在执行项目的时候实施了热部署,修改方法中的内容不需要重启,修改注解文件或者方法名及参数必须重启才能生效
- 本地想要发布多个项目必须使用不同的端口,跨域请求需要在响应端加@CrassOrigin(ip地址+端口号)
- 如果前端发送json字符串需要加@RequestBody处理
- springMVC拦截器只拦截被前端控制器拦截的请求,而过滤器拦截从前端发送的任意请求
- springMVC三大基本组件:处理器映射器,处理器适配器,视图解释器
- 业务层的方法命名尽量体现出业务,例如login.而Dao层的方法命名体现的时CRUD
- 在Dao层接收参数时加入@param限定参数名
- IDEA小写转换成大写ctrl+shift+U