此设置是否可以用作服务器端缓存?这些值会保留在内存中并且不会被 GC 处理吗?
Servlet 在应用服务器启动时创建,并且是应用程序中唯一的 Servlet。因此,如果 Servlet 停止,应用程序将关闭。该应用程序只能在一个 JVM 上运行。
public class HtmlServlet extends HttpServlet
{
private ConcurrentHashMap<String, Object> cache;
public void init() throws ServletException
{
cache = Cache.init();
}
}
public class Cache
{
private static ConcurrentHashMap<String, Object> cache;
public synchronized static ConcurrentHashMap<String, Object> init()
{
if (cache == null)
{
cache = new ConcurrentHashMap<String, Object>();
}
return cache;
}
public static void set(String s, Object o) { ... }
public static Object get(String s) { ... }
public static void remove(String s) { .. }
}