摘要:
启动内置Tomcat原理 从SpringApplication.run进入 /* SpringApplication > run() */ ...... try { ApplicationArguments applicationArguments = new DefaultApplicationA 阅读全文
摘要:
Spring集成MyBatis 使用 配置数据源 <!--配置dataSource--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" va 阅读全文
摘要:
1、解析配置文件,生成Configuration对象 解析配置文件后,转化为Configuration对象如下图所示: 构建过程 >org.apache.ibatis.builder.xml.XMLConfigBuilder >org.apache.ibatis.builder.xml.XMLMap 阅读全文
摘要:
一级缓存 一级缓存默认是开启的,生命周期和SqlSession相同。一个会话中每次执行一个查询操作时,会先查询二级缓存,如果二级缓存没查到或者二级缓存未开启就会从一级缓存中查询,如果一级缓存也未查到就从数据库中查询 一级缓存使用条件 必须是相同的SQL语句 必须是相同的参数 必须是同一个会话 必须是 阅读全文
摘要:
1、 @Configuration 表明这个一个配置类,主要用于配置Bean。例如通过@Bean注解往IOC容器中添加Bean @Configuration public class MainConfig { @Bean public Person Person(){ return new Pe 阅读全文
摘要:
Spring中个模块介绍 核心模块 提供了对Bean的配置、管理、创建等以及IOC/DI。如果只需要提供IOC/DI功能,只需要引入Beans和Core两个jar包 Core 包含Spring框架中最基本的核心工具类,Spring汇总其他组件都要用到这个包中的类。Core模块是其他组件的核心。 阅读全文
摘要:
一道面试题,问最后输出多少? public static void main(String[] args) { int a = 10; a = a++; // 输出10 //a = ++a; // 输出11 System.out.println(a); } 上述代码对应的字节码指令 一个main 阅读全文
摘要:
Java运行时的数据区 方法区以及堆都是所有线程共享的数据区 其他都为线程隔离的数据区 除开程序计数器不会有OOM外,其他当申请不到需要的内存,或栈深度大于虚拟机栈深度都会抛出OutOfMemoryError或者StackOverflowError异常。 Method Area 方法区用来存放类 阅读全文
摘要:
如何打破双亲委派机制 继承ClassLoader类后重写loadClass方法 如何指定自定义ClassLoader中的parent 默认parent是appClassLoader,可以通过ClassLoader构造方法指定 存储器的层器结构 为什么要缓存行对齐 有多个CPU或者多个核,他们都有自己 阅读全文
摘要:
Java创建一个对象的过程 是否对象指向的类已经加载到内存了 如果没有加载,就要经过load、linking(verification、preparation、resolution)、initializing把类加载进内存中。 为对象分配内存空间、成员变量赋默认值 执行构造方法 成员变量赋指定值 执 阅读全文