摘要: 环境: RabbitMQ是安装在虚拟机中Centos7 版本: RabbitMQ 3.5.7 SpringBoot 2.1.5 检查: 先检查端口,15672是插件的端口,在SpringBoot的配置文件中,应该使用5672 登录用户,如果你使用的是guest默认的用户,那么默认情况下只能在loca 阅读全文
posted @ 2020-01-06 11:01 嘿,笑一个 阅读(8770) 评论(0) 推荐(1) 编辑
摘要: 上面就是springBean的大致生命周期。 Bean的创建过程 创建Bean之前会调用Bean工厂的后置处理器,可以获取到BeanDefinition Bean的初始化过程 初始化之前会调用前置处理器,可以获取到BeanName和Bean实例 初始化之后会调用后置处理器,也是可以获取到BeanNa 阅读全文
posted @ 2020-02-28 15:33 嘿,笑一个 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 四种GC算法 GC垃圾回收,首先需要判断哪些对象需要回收 判断对象存活 可达性分析 : ​ 从GC Roots开始向下查询,如果一个对象到任何一个GC Root对象都没有一个引用链相连的话,说明此对象不可用。 ​ 四个GC Root对象 1. JVM栈中引用的对象 2. 方法区静态属性引用的对象 3 阅读全文
posted @ 2020-01-10 15:10 嘿,笑一个 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: JVM内存结构 线程私有的区域 1. JVM方法栈 每个方法被调用到执行完成的过程,就对应着栈帧在JVM中入栈到出栈的过程 2. 本地方法栈 与JVM方法栈类是,只不过本地方法栈用来执行Native方法,为Navive方法服务 3. 程序计数器 相当于指示器,告诉程序该执行哪条命令了 线程共享的区域 阅读全文
posted @ 2020-01-09 14:13 嘿,笑一个 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 类加载机制 流程: ​ jvm通过类加载器将Class文件通过二进制数据读取到内存中,放到方法区中,并且在堆中创建类的对象,方法区中存的相当于这个类运行时的数据结构,这写数据结构是通过堆中类对象进行访问的。 类的生命周期 ​ 加载 验证 准备 解析 初始化 使用 卸载 ​ 其中 加载,验证,准备,初 阅读全文
posted @ 2020-01-08 15:42 嘿,笑一个 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1. 对外暴露的Api是AbstractApplicationContex的方法。用AbstractApplicationContext的getBean方法得到一个Bean实例。 2. 主要的类是DefaultBeanFactory,通过他来连接各个功能类。 3. XmlBeanDefinition 阅读全文
posted @ 2019-12-26 18:04 嘿,笑一个 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 四个特性 原子性:操作一组指令,要么全部成功,要么全部失败。 一致性:比如转账,无论你做什么操作,最后的总钱数不会改变。 隔离性:两个事务并发进行,并发事务之间要相互隔离。 持久性:事务完成后,对数据的改变是永久的。 并发事务导致的问题 脏读:一个事务读取了另一个事务未提交的数据,之后未提交的事务回 阅读全文
posted @ 2019-12-03 16:40 嘿,笑一个 阅读(442) 评论(0) 推荐(0) 编辑
摘要: Java8 新特性学习 Lambda表达式 和 Stream 用法案例 学习参考文章: https://www.cnblogs.com/coprince/p/8692972.html 1.使用lambda代理匿名内部类 ~~~java //不用lambda new Thread(new Runnab 阅读全文
posted @ 2019-11-11 10:15 嘿,笑一个 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 三个函数式接口学习:Function Consumer Predicate Function: 主要方法:R apply(T t); ~~~java public class Test { public static void main(String[] args) throws Interrupt 阅读全文
posted @ 2019-11-11 10:14 嘿,笑一个 阅读(195) 评论(0) 推荐(0) 编辑