• acm standard inputoutput

    ​ 算法题中通常有两种方式提交代码,一种是核心代码模式,就像LeetCode平台中的那样,还有的就是ACM模式,后者不仅要完成题目中的算法逻辑,还需要定义输入输出,尤其是输入输出,需要符合规范才可以(如果核心代码完成,因为输入输出而丢分就太可惜了)。这篇就是对输入输出的总结,题型来自牛客。

  • springmvc-argument

    这一篇承接上面的handlerMapping,在通过request获取到handlerExecutionChain和handler之后的处理操作,实际上不同的handlerMapping映射出来的东西是不一样的,adapter在这里的作用是用handler得到对应的视图方法。

  • springmvc-dispatch

    ​ 如何匹配controller,根据我们的使用以及对spring容器的理解,我可以猜测是通过反射获取注解,进而分类的,那springmvc是对他如何封装的呢?在springboot中又是如何融入springmvc,何时做的那些工作呢?

  • springmvc-dispatcherservlet

    这是剖析springmvc的第一篇,剖析前他的原理已经猜的差不多了, 看源码是为了做一个验证,因为他也是依托于spring的,离不开ioc,所以一部分的原理已经清楚了, 剩下的是核心类DispatcherServlet以及为springboot适配而做的工作。

  • jvm memory-manage

    温故知新。jvm的自动内存管理在代码层面为我们省去了很多麻烦,在机器与代码之间有虚拟机执行编译后的字节码,虽然已经不太可能出现oom,但对于以后java的发展以及目前java运行机制的来说,熟悉jvm的内存管理是很有必要的。学过C++,语法中专门有开辟内存的语句……,虽然不用我们写这些,但起码说明了一些涉及内存的东西:开辟与回收。

  • jvm classloader

    类加载器是java从抽象到更抽象的过程……我们写出来的是代码,编译后成了另一套代码(不是给人读的),然后通过类加载器加载进虚拟机给虚拟机去执行。所以类加载器就是这么一个位置。

  • Spring Security AutoConfiguration

    ​ 最近有设计权限模块,用到了Spring Security,在SpringBoot项目中导入了相关的jar包后几乎不用做任何配置(当然,除了启用的*@EnableWebSecurity*)就会拦截请求,达到了“安全“的目的,配置的方式也是多种多样,我们先从”方便使用“这个角度,看看他如何做到的”拆箱即用“。

  • mybatis autoconfiguration

    这一篇我们来看mybatis在springboot环境下的自动装配。之前分析过SpringBoot对于Spring的自动装配,mybatis引入时作为一个starter,开箱即用的产品,自然也少不了,同时在springboot的大环境下,为了方便开发肯定也会遵循他的装配法则。

  • mybatis sql resolution

    承接去年记录的mybatis,从架构和源码的角度剖析mybatis。从整个项目工程来看他比spring小得多,因此代码更易读。使用他时,通常我们要做的就是编写sql和接口,这篇首先从sql解析开始。

  • java collection framework

    之前有过一篇集合框架的小结,随着时间的推移和使用体验,越发觉得那篇过于浅显,今天换个视角来看:如果是你,你会怎么设计?