开发准备、DB表设计、工程结构
常用工具
- lombok
- 参数校验validation-api/hibernate-validator
- 异常处理 HandlerExceptionResolver异常解析器(springmvc的组件)
- 过滤器Filter 、拦截器 HandlerInterceptorAdapter拦截器适配器(springmvc的组件)
spring上下文、ThreadLocal、树形结构
ApplicationContextAware spring上下文感知接口,实现他可以注入applicationContext对象。
ThreadLocal以线程级别来缓存数据,是一个本地缓存。
堆栈情况:
string常用方法
注意:
- intern()池化字符串,如果将堆中的字符串池化成功,则堆中不在存在,只存在于字符串池中。
- f0 = new String(“1”+“2”):“1”+"2"在编译阶段能知道值,故可以在字符串池创建对象,同时因为new,也会在堆中创建对象。
- f1 = new String(d+“2”):这个d是要运行起来后,计算才知道具体的值,故这里不会在字符串池中创建对象。
- g=e.intern(),因为字符串池中已经存在"11",故e.intern()后返回字符串池中的对象,而且也没有完成池化工作,故e=b+c仍然在堆中。
- 因为String是final类型,故拼接的相关操作+、concat、trim、substring底层都只能是采用new string的方式来创建新的对象。