Velocity资源加载过程

简介: Velocity资源加载过程

以下全文根据小明哥(minghe)的讲解总结而来:)

资源加载的主要角色:

ResourceManager: 资源的管理者,负责资源的加载,过期缓存的更新。

ResourceCache: 资源缓存的位置,使用线程安全的LRU Map的封装。

ResourceLoader: 资源的加载者,根据数据源不同,Velocity六种类型的Loader,也可以实现自己的Loader。

StringResourceRepository: 资源的寄存器,若Repository中有有效的数据则不用再从数据源读取数据。

Resource: 资源的抽象:包含资源本身以及过期时间、过期检查间隔、上次修改时间等资源相关的信息。

角色间的关系:

在有资源请求到来的时候,ResourceManager会根据以下步骤予以响应:

1、查询ResourceCache中的资源并检查是否过期。有数据且未过期,直接返回数据;无数据或已过期,步骤2

2、遍历ResourceLoader数组,使用Loader尝试加载数据,得到数据中止返回数据(若配置了缓存,则存放缓存)。

Ps:若是StringResourceLoader,会首先去StringResourceRepository取数据,然后再去加载数据。

Finally,VelocityEngine/VelocityServlet获取模板资源,向RuntimeInStance的ResourceManager请求数据,拿到Template数据。

剩余的就是渲染引擎的工作了。

(完)

本文作者 : cyningsun

本文地址https://www.cyningsun.com/02-28-2014/velocity-resource-load.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!

目录
相关文章
|
3月前
|
缓存 监控 前端开发
SPA 首屏加载速度优化
【10月更文挑战第14天】解决 SPA 首屏加载速度慢的问题需要综合运用多种优化策略和技术。通过资源压缩、减少异步请求、优化渲染流程、利用缓存、代码分割、预加载等方法,可以有效提高 SPA 首屏加载速度,为用户提供更好的体验。同时,性能监控和分析是持续优化的关键,应根据实际情况不断调整优化策略。在未来,随着技术的不断发展,我们还需要不断探索新的优化方法和途径,以适应不断变化的需求。
|
6月前
|
JavaScript 前端开发
js【深度解析】代码的执行顺序
js【深度解析】代码的执行顺序
68 0
|
8月前
|
JavaScript 前端开发 Go
页面加载的过程中,JS 文件是不是一定会阻塞 DOM 和 CSSOM 的构建?
页面加载的过程中,JS 文件是不是一定会阻塞 DOM 和 CSSOM 的构建?
68 0
|
小程序 JavaScript 前端开发
小程序实现滚动加载(懒加载)
小程序是一项很受欢迎的技术,随着其能力的不断增强,越来越多的人开始使用小程序来完成各种任务。当我面面临一个页面有非常多的数据时,该如何处理呢,显然一次性全部加载完,会非常消耗性能的,为了解决这些问题从而出现了一种叫滚动加载的数据处理方式,也被称为“无限滚动”或“懒加载”,它可以使你的页面在不刷新的情况下连续加载更多数据。在本文中,我们将讨论如何在小程序中实现滚动加载。
306 0
|
前端开发 JavaScript Go
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
133 0
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
|
JavaScript
项目性能优化之给dist文件夹中chunk-vendors.js做splitChunks分包,从而减少首屏加载时间
项目性能优化之给dist文件夹中chunk-vendors.js做splitChunks分包,从而减少首屏加载时间
737 0
|
前端开发
前端性能优化实践之 SVG Flex 预加载 窗口加载(7)
前端性能优化实践之 SVG Flex 预加载 窗口加载(7)
227 0
|
前端开发 JavaScript Go
前端性能优化实践之 加载和渲染原理(8)
前端性能优化实践之 加载和渲染原理(8)
379 0
|
前端开发
前端性能优化之企业项目SVG Flex 预加载 窗口加载(6)
前端性能优化之企业项目SVG Flex 预加载 窗口加载(6)
123 0

热门文章

最新文章