摘要:
spring mvc是如何对控制器方法里面的参数进行处理的? 还得从@EnableWebMvc这个注解说起。 启动这Mvc容器,自然就会加载WebMvcConfigurationSupport这个配置类,这个类做的事儿太多了,就看如下这段代码 @Bean public RequestMappingH 阅读全文
摘要:
package org.springframework.beans.factory.config; import org.springframework.beans.BeanMetadataElement; import org.springframework.beans.MutableProper 阅读全文
摘要:
迭代器模式,一直没用过,也不会用。恰巧MyBatis框架中也使用到了迭代器模式,而且看起来还比较简单,在以后的工作中,若有需要咱们可模仿它的套路来干。 直接上代码 import java.util.Iterator; /** * @author Clinton Begin */ public cla 阅读全文
摘要:
MyBatis框架有多处使用了设计模式,我们在阅读其源码时,需要好好体会它对设计模式的使用,以便于照着葫芦画瓢。本篇主要是记录一下适配器模式的使用。 适配器模式理解起来很简单,相当于使用了一个接口,将老旧的功能包装一下,使之适应新的需求(或许有错误,但错就错吧)。 MyBatis框架对适配器的使用, 阅读全文
摘要:
需求: 这里虚拟一个业务需求,让大家容易理解。假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理。 1. 常规代码实现 1.1 实体类 import lombok.Data; import java.math.BigDecimal; @Data public class Order 阅读全文
摘要:
创建对象的方式有: 1. 关键字nerw 2. 对象克隆 3. 反射 创建对象时,一定会开辟新的内存空间, 所以需要申请新的内存空间。 阅读全文
摘要:
在了解这一块知识的时候,需要知道jdk1.8之前与jdk1.8及之其之后的区别 新生代: 刚创建的对象, 有可能经历过几次GC 老年代: 经历过多次GC之后,仍然存活的对象 永久代: 比如intern()方法入池的对象实际上就进入了永久代, 永久代不会被回收。因为其本身属于一个bug性的存在,所以在 阅读全文
摘要:
Java对象访问是通过直接指针访问的方式, 而诸如C等语言则是通过句柄的方式 JVM规范(三大规范) Oracle > sun > HotSpot Oracle > EBA > JRockit IBM > JVM-S(J9) jvm权威公司就是Oracle, 因为三大规范,它占其二 JVM运行形式 阅读全文
摘要:
Java程序执行流程 Java内存管理 JVM中的运行时数据区包括: (1) 程序计数器(program counter register) 记录程序的执行顺序,标记程序下一步要执行代码的顺序号, 占用一块很小的内存,基本上可以忽略不记.. (2) Java栈(stack) 保存堆内存地址,基本数据 阅读全文
摘要:
大家都知道,前后分离之后,后端响应最好以统一的格式的响应. 譬如: 名称描述 status 状态码,标识请求成功与否,如 [1:成功;-1:失败] errorCode 错误码,给出明确错误码,更好的应对业务异常;请求成功该值可为空 errorMsg 错误消息,与错误码相对应,更具体的描述异常信息 r 阅读全文