哪些方法可用于在 Java 小程序中进行缓存?
我认为组成小程序的 .jar 将被大多数浏览器缓存。
- 小程序使用的任何依赖 .jar 都会出现这种情况吗?
- 如果小程序在运行时从远程 URL 加载资源,假设浏览器不会缓存这些资源是否正确?如果它没有被浏览器缓存,是否可以通过写入本地存储来实现缓存?
小程序使用的任何依赖 .jar 都会出现这种情况吗?
是的,假设依赖的 JAR 是可缓存的。
如果小程序在运行时从远程 URL 加载资源,假设浏览器不会缓存这些资源是否正确?
大概是。JVM 可能会直接连接到远程服务器,而浏览器将看不到 HTTP 请求。此外,JVM 可能不知道浏览器的缓存组织或位置。但是,这完全取决于平台。
JVM 也有可能实现自己的 HTTP 缓存。AFAIK,当前一代的 Oracle JVM 没有,但未来的可能并非不可想象。
如果它没有被浏览器缓存,是否可以通过写入本地存储来实现缓存?
仅当小程序已签名且用户已接受签名时。小程序通常无法读取或写入本地存储。
为了更好地控制资源缓存,请使用Java Web Start部署小程序,它提供:
..自动更新(包括延迟下载和更新的编程控制)..
请注意,JWS 应用程序。调用JNLP API的编程更新部分不需要被信任。
根据如何在小程序中禁用 http 缓存和URLConnection JavaDoc缓存将在以编程方式请求资源时启用。