随笔 - 229  文章 - 0  评论 - 10  阅读 - 26万 
01 2020 档案
springmvc控制器方法参数解析的那些事儿
摘要:spring mvc是如何对控制器方法里面的参数进行处理的? 还得从@EnableWebMvc这个注解说起。 启动这Mvc容器,自然就会加载WebMvcConfigurationSupport这个配置类,这个类做的事儿太多了,就看如下这段代码 @Bean public RequestMappingH 阅读全文
posted @ 2020-01-21 23:18 显示账号 阅读(756) 评论(0) 推荐(0) 编辑
spring源码学习笔记之BeanDefinition接口
摘要:package org.springframework.beans.factory.config; import org.springframework.beans.BeanMetadataElement; import org.springframework.beans.MutableProper 阅读全文
posted @ 2020-01-20 23:56 显示账号 阅读(411) 评论(0) 推荐(0) 编辑
MyBatis框架之迭代器模式
摘要:迭代器模式,一直没用过,也不会用。恰巧MyBatis框架中也使用到了迭代器模式,而且看起来还比较简单,在以后的工作中,若有需要咱们可模仿它的套路来干。 直接上代码 import java.util.Iterator; /** * @author Clinton Begin */ public cla 阅读全文
posted @ 2020-01-19 23:33 显示账号 阅读(743) 评论(0) 推荐(0) 编辑
MyBatis框架之适配器模式
摘要:MyBatis框架有多处使用了设计模式,我们在阅读其源码时,需要好好体会它对设计模式的使用,以便于照着葫芦画瓢。本篇主要是记录一下适配器模式的使用。 适配器模式理解起来很简单,相当于使用了一个接口,将老旧的功能包装一下,使之适应新的需求(或许有错误,但错就错吧)。 MyBatis框架对适配器的使用, 阅读全文
posted @ 2020-01-19 23:21 显示账号 阅读(628) 评论(0) 推荐(0) 编辑
spring+策略模式
摘要:需求: 这里虚拟一个业务需求,让大家容易理解。假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理。 1. 常规代码实现 1.1 实体类 import lombok.Data; import java.math.BigDecimal; @Data public class Order 阅读全文
posted @ 2020-01-18 23:10 显示账号 阅读(2332) 评论(0) 推荐(0) 编辑
对象创建
摘要:创建对象的方式有: 1. 关键字nerw 2. 对象克隆 3. 反射 创建对象时,一定会开辟新的内存空间, 所以需要申请新的内存空间。 阅读全文
posted @ 2020-01-18 13:40 显示账号 阅读(99) 评论(0) 推荐(0) 编辑
Java堆内存模型
摘要:在了解这一块知识的时候,需要知道jdk1.8之前与jdk1.8及之其之后的区别 新生代: 刚创建的对象, 有可能经历过几次GC 老年代: 经历过多次GC之后,仍然存活的对象 永久代: 比如intern()方法入池的对象实际上就进入了永久代, 永久代不会被回收。因为其本身属于一个bug性的存在,所以在 阅读全文
posted @ 2020-01-18 13:32 显示账号 阅读(170) 评论(0) 推荐(0) 编辑
对象访问方式
摘要:Java对象访问是通过直接指针访问的方式, 而诸如C等语言则是通过句柄的方式 JVM规范(三大规范) Oracle > sun > HotSpot Oracle > EBA > JRockit IBM > JVM-S(J9) jvm权威公司就是Oracle, 因为三大规范,它占其二 JVM运行形式 阅读全文
posted @ 2020-01-18 12:26 显示账号 阅读(140) 评论(0) 推荐(0) 编辑
JVM内存管理模型
摘要:Java程序执行流程 Java内存管理 JVM中的运行时数据区包括: (1) 程序计数器(program counter register) 记录程序的执行顺序,标记程序下一步要执行代码的顺序号, 占用一块很小的内存,基本上可以忽略不记.. (2) Java栈(stack) 保存堆内存地址,基本数据 阅读全文
posted @ 2020-01-18 00:54 显示账号 阅读(424) 评论(0) 推荐(0) 编辑
springboot返回统一数据格式及其原理浅析
摘要:大家都知道,前后分离之后,后端响应最好以统一的格式的响应. 譬如: 名称描述 status 状态码,标识请求成功与否,如 [1:成功;-1:失败] errorCode 错误码,给出明确错误码,更好的应对业务异常;请求成功该值可为空 errorMsg 错误消息,与错误码相对应,更具体的描述异常信息 r 阅读全文
posted @ 2020-01-13 23:06 显示账号 阅读(6695) 评论(1) 推荐(0) 编辑
vue学习笔记01
摘要:vue扩展插件 (1) vue-cli 脚手架 (2) vue-resource(axios) : ajax请求 (3) vue-router 路由 (4) vuex 状态管理 (5) vue-lazyload 图片懒加载 (6) vue-scroller 页面光滑动相关 (7) mint-ui : 阅读全文
posted @ 2020-01-08 23:30 显示账号 阅读(319) 评论(0) 推荐(0) 编辑
红黑树代码实现
摘要:// 这里JDK中TreeMap红黑树自平衡的代码 private void fixAfterInsertion(TreeMap.Entry<K, V> x) { // 新增节点,直接置为RED x.color = RED; // 父节点是红色 while (x != null && x != ro 阅读全文
posted @ 2020-01-05 23:28 显示账号 阅读(288) 评论(0) 推荐(0) 编辑
单链表之升级版按节点序号添加
摘要:该示例的代码是在前一篇的基础上进行修改的. public class SingleLinkedListDemo { public static void main(String[] args) { //先创建几个节点 Node node1 = new Node(1, "老子", "太上老君"); N 阅读全文
posted @ 2020-01-02 23:23 显示账号 阅读(314) 评论(0) 推荐(0) 编辑
单链表之简单版
摘要:下面是个单链表,且无序的实现代码. 需要注意的是有个head节点, 该节点不存储数据,只是表示链表的头节点. public class SingleLinkedListDemo { public static void main(String[] args) { //先创建几个节点 Node nod 阅读全文
posted @ 2020-01-02 22:59 显示账号 阅读(221) 评论(0) 推荐(0) 编辑
冒泡排序
摘要:冒泡排序的中心思想就是通过遍历找出数组中最小的数往前排. import java.util.Arrays; /** * 冒泡排序 * 该排序算法的核心就是循环遍历,两两比较,找出较小的那个数往前排 */ public class BubbleSort { public static void mai 阅读全文
posted @ 2020-01-02 22:08 显示账号 阅读(261) 评论(0) 推荐(0) 编辑
队列篇之使用环型数组模拟一个队列
摘要:在上一篇随笔中使用数据模拟了一个队列,但是有缺陷, 数组只能使用一次,原因是index指针一直往上++, 不能回到数组之前的位置. ArrayBlockingQueue源码给出了一种实现方案, 它是在判断队列(数组)满了之后,直接将putIndex重置为0, 这样offer元素到队列时,又可以利用数 阅读全文
posted @ 2020-01-01 23:50 显示账号 阅读(223) 评论(0) 推荐(0) 编辑
lombok之美
摘要:1.定义一个Bean public class UserDO { private Integer id; private String userName; private String sex; private Integer age; public String getSex() { return 阅读全文
posted @ 2020-01-01 21:46 显示账号 阅读(287) 评论(0) 推荐(0) 编辑
MySQL数据库中的事务特性
摘要:事务特性 事务具有4个特性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。 原子性(atomicity):一个事务应该是一个不可分割的工作单位,事务中包括的操作要么都成功,要么都不成功。 一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。 阅读全文
posted @ 2020-01-01 19:33 显示账号 阅读(456) 评论(0) 推荐(0) 编辑
Spring在一个事务中开启另一个事务
摘要:spring使用@Transactional开启事务,而且该注解使用propagation属性来指定事务的传播级别 @Transactional(propagation =Propagation.REQUIRES_NEW) // 开启一个新事务 使用REQUIRES_NEW就会开启一个新的事务吗?  阅读全文
posted @ 2020-01-01 19:11 显示账号 阅读(2693) 评论(0) 推荐(0) 编辑
队列篇之使用数组模拟一个队列
摘要:队列是一个有序列表, 可以使用数组实现, 也可以使用链表实现 队列遵守先进先出的原则 1. 下面使用数组模拟一个队列 public class ArrayQueueDemo { public static void main(String[] args) { ArrayQueue queue = n 阅读全文
posted @ 2020-01-01 00:39 显示账号 阅读(640) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示