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 许可协议。转载请注明出处!

目录
相关文章
|
1月前
|
缓存 监控 前端开发
SPA 首屏加载速度优化
【10月更文挑战第14天】解决 SPA 首屏加载速度慢的问题需要综合运用多种优化策略和技术。通过资源压缩、减少异步请求、优化渲染流程、利用缓存、代码分割、预加载等方法,可以有效提高 SPA 首屏加载速度,为用户提供更好的体验。同时,性能监控和分析是持续优化的关键,应根据实际情况不断调整优化策略。在未来,随着技术的不断发展,我们还需要不断探索新的优化方法和途径,以适应不断变化的需求。
|
1月前
|
缓存 前端开发 JavaScript
测试 SPA 首屏加载速度
【10月更文挑战第14天】测试 SPA 首屏加载速度是一项重要且复杂的工作。通过合理选择测试方法和指标,准确评估首屏加载速度,并结合实际情况采取优化措施,可以有效提升应用的性能和用户体验。在未来,随着技术的不断发展和用户需求的变化,我们需要持续探索和创新测试方法,以适应不断变化的挑战。
|
1月前
|
缓存 运维 JavaScript
一些优化 SPA 首屏加载速度的实践经验
【10月更文挑战第14天】一些优化 SPA 首屏加载速度的实践经验
|
6月前
处理Vite项目首屏加载响应迟缓和二次刷新的问题
处理Vite项目首屏加载响应迟缓和二次刷新的问题
696 0
|
6月前
|
前端开发 JavaScript 算法
如何优化前端页面加载速度
在现代网站中,前端页面加载速度是至关重要的。本文将介绍一些优化前端页面加载速度的技巧和最佳实践,以确保您的网站可以更快地加载。
134 1
|
移动开发 Dart JavaScript
Flutter for Web 首次首屏优化——JS 分片优化
Flutter for Web 首次首屏优化——JS 分片优化
1339 1
Flutter for Web 首次首屏优化——JS 分片优化
|
前端开发 JavaScript Go
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
130 0
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
|
前端开发 JavaScript Go
前端性能优化实践之 加载和渲染原理(8)
前端性能优化实践之 加载和渲染原理(8)
374 0
|
移动开发 前端开发 网络协议
前端性能优化系列 | 加载优化(上)
1. 资源加载优先级 在浏览器发起网络请求时,并非每个字节都具有相同的优先级,所以,浏览器通常会对所要加载的内容进行推测,将相对重要的信息先呈现给用户。比如浏览器一般会先加载CSS,再去加载JavaScript脚本和图像文件。当然,浏览器的判断并不一定都是准确的,下面就来看看如何影响浏览器对资源加载的优先级。
360 0
|
Web App开发 存储 缓存
前端性能优化系列 | 加载优化(下)
1. 资源加载优先级 在浏览器发起网络请求时,并非每个字节都具有相同的优先级,所以,浏览器通常会对所要加载的内容进行推测,将相对重要的信息先呈现给用户。比如浏览器一般会先加载CSS,再去加载JavaScript脚本和图像文件。当然,浏览器的判断并不一定都是准确的,下面就来看看如何影响浏览器对资源加载的优先级。
599 0