摘要:其中有一个便是这个包的入口类,这个入口类推荐是放在一个项目的顶层包中,其他所有的类都放在其子包下面,目录结构如以下所示。这个目录结构是主流及推荐的做法,而在主入口类上加上注解来开启的各项能力,如自动配置组件扫描等。 Spring Boot 与传统项目最大的区别是,传统项目都是打成 WAR 包部署到服务器上面,需要额外的 Servlet 容器, 而 Spring Boot 则可以直接打成...
摘要:参考创建所有运行监听器并发布应用启动事件来看下创建运行监听器相关的源码创建逻辑和之前实例化初始化器和监听器的一样,一样调用的是方法来获取配置的监听器名称并实例化所有的类。 上篇《Spring Boot 2.x 启动全过程源码分析(一)入口类剖析》我们分析了 Spring Boot 入口类 SpringApplication 的源码,并知道了其构造原理,这篇我们继续往下面分析其核心 ru...
摘要:动态脚本支持框架之脚本加载执行上一篇简答说了如何判断有任务动态添加删除或更新,归于一点就是监听文件的变化,判断目录下的文件是否有新增删除和改变,从而判定是否有任务的变更接下来的问题就比较明显了,当任务变更之后,就需要重新加载任务了,即如何 showImg(https://segmentfault.com/img/remote/1460000015923148); Quick-Task ...
摘要:系统预定了几个线程池,不过建议手动创建,以防止错误创建消耗资源,比如创建太多线程或者固定线程数量,无界队列固定线程数量,数量为,无界队列,会按顺序执行不限制线程数量,使用队列,使用于短任务基于用于周期性执行任务示例第一个是,第二个是第一 系统预定了几个线程池,不过建议手动创建,以防止错误创建消耗资源,比如创建太多线程或者OOM FixedThreadPool 固定线程数量,无界队列 p...
摘要:栈区栈区描述的是方法执行的内存模型。创建一个实例对象,也就是在堆区分配一个对象的内存,给对象属性赋值创建一个类对象,先加载该类,然后再分配对象内存,再给该对象赋值调用方法,分配栈帧调用方法,分配栈帧参考面向对象内存分析堆区栈区方法区 栈区 栈区描述的是方法执行的内存模型。每个方法在执行时都会创建一个栈帧(存放存储局部变量、操作数栈、动态链接、方法出口等) JVM为每个线程创建一个栈,...