SpringBoot基本原理 发表于 2020-01-10 | 更新于: 2020-01-10 | 分类于 Spring , SpringBoot 字数统计: 2k | 阅读时长 ≈ 9 启动流程启动类代码 123456@SpringBootApplicationpublic class SpringBootDemoApplication extends SpringBootServletInitializer { public static void main(St ... 阅读全文 »
Netty快速入门 发表于 2020-01-08 | 更新于: 2020-01-10 | 分类于 Netty , 基础 字数统计: 2.4k | 阅读时长 ≈ 9 Java NIO 核心概念 Linux五种I/O模型比较 Socket通信模型 Java NIO Buffer 一个Buffer本质上是内存中的一块, 可以将数据写入这块内存, 从这块内存获取数据 java.nio 定义了以下几个Buffer的实现: Java NIO Buffer三大核心概念 ... 阅读全文 »
Spring mvc 设计思想与体系结构 发表于 2020-01-06 | 更新于: 2020-01-10 | 分类于 Spring , Spring Mvc 字数统计: 1.4k | 阅读时长 ≈ 6 一、spring mvc 设计思想与体系结构组成 回顾servlet 与jsp 执行过程 流程说明: 请求Servlet 处理业务逻辑 设置业务Model forward jsp Servlet jsp Servlet 解析封装html 返回 提问:这个是一个MVC应用场景吗? spring m ... 阅读全文 »
Spring事务底层基本原理 发表于 2020-01-03 | 更新于: 2020-01-10 | 分类于 Spring , Spring Mvc 字数统计: 2.4k | 阅读时长 ≈ 10 数据库的事务基本特性事物是区分文件存储系统与Nosql数据库重要特性之一,其存在的意义是为了保证即使在并发情况下也能正确的执行crud操作。怎样才算是正确的呢?这时提出了事物需要保证的四个特性即ACID: A: 原子性(atomicity)事物中各项操作,要么全做要么全不做,任何一项操作的失败都会 ... 阅读全文 »
Spring 核心组件 发表于 2020-01-02 | 更新于: 2020-01-10 | 分类于 Spring , Spring Mvc 字数统计: 2.5k | 阅读时长 ≈ 10 实体Bean的创建基于Class构建1<bean class="com.tuling.spring.HelloSpring"></bean> 这是最常规的方法,其原理是在spring底层会基于class属性通过反射进行构建。 构造方法构建1234< ... 阅读全文 »
Java堆默认大小 发表于 2019-12-31 | 更新于: 2020-01-10 | 分类于 Java , JVM 字数统计: 278 | 阅读时长 ≈ 1 PrintFlagsFinal -XX:+PrintFlagsFinal打印所有可设置的参数及它们的默认值(从JDK 6 update 21开始才可以用) 示例:16G内存的Centos系统 123456789101112$ java -XX:+PrintFlagsFinal -version ... 阅读全文 »
Spring Bean生命周期 发表于 2019-12-30 | 更新于: 2020-01-10 | 分类于 Spring , Spring Boot 字数统计: 2.4k | 阅读时长 ≈ 10 Spring Bean生命周期生命周期流程首先看下生命周期图: 再来一张执行过程: Spring Bean的生命周期只有四个阶段。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter方法的注入,初始化和销毁是用户能自定义扩展的两个阶段。在这四步 ... 阅读全文 »
Mybatis核心组件及常见问题总结 发表于 2019-12-27 | 更新于: 2020-01-10 | 分类于 数据库中间件 , Mybatis 字数统计: 3.7k | 阅读时长 ≈ 13 mybatis核心组件mybatis-config.xmlXML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager) SqlSe ... 阅读全文 »
分布式ID生成器 发表于 2019-12-20 | 更新于: 2019-12-20 | 分类于 分布式 字数统计: 363 | 阅读时长 ≈ 1 基本要求 全局唯一 趋势递增 效率高(生成、使用、索引) 控制并发 常用策略 Twitter雪花算法SnowFlake 1) 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0 2) 41位,用来记录时间戳(毫秒)。 3 ... 阅读全文 »
Springboot集成mybatis自定义插件开发 发表于 2019-12-20 | 更新于: 2019-12-20 | 分类于 数据库中间件 , Mybatis 字数统计: 1.1k | 阅读时长 ≈ 4 mybatis架构 mybatis工作原理 执行流程: 读取核心配置文件并返回InputStream流对象。 根据InputStream流对象解析出Configuration对象,然后创建SqlSessionFactory工厂对象 根据一系列属性从SqlSessionFactory工厂中创建S ... 阅读全文 »