Java Servlet

Java Servlet 是 Java 的一个 web 组件, 用来产生动态内容, 必须在 Servlet container 里面运行. Servlet container 又叫 Servlet 引擎, 是 web Server的扩展, 提供了 Servlet 运行的环境. 它通过 request/response 报文与客户端通信. request/response 都是基于 MIME 的. Servlet container 必须支持Http (1.0 & 1.1) 协议, https 可选支持.

Servlet 有它的生命周期, Servlet container 负责它生命周期的管理. Servlet 接口中定义了 init, service, destroy 这些方法来诠释它的生命周期.
Servlet 被load 和实例化可能在 container 初始化的时候, 可有可能在第一次这个Servlet 被调用的时候, 据配置/Annotation 而定.
Servlet 通过init 方法被初始化, GenericServlet 实现了 ServletConfig 接口, 这个接口能提供Servlet的一些配置信息和Container的一些相关信息.
Servlet interface 有2个实现类: GenericServlet & HttpServlet.
Servlet 定义了一个service 方法, 用来处理客户的请求. Servlet container 通过多线程并发调用 service 方法来处理并发请求.
在非分布式的环境中, Servlet 在 container 中默认只有一个instance. 如果Servlet 实现了 javax.servlet.SingleThreadModel 接口, 那么为了支持更多的请求, 可能是多个instances. javax.servlet.SingleThreadModel 接口在最新版本中被逐渐废弃.

未完待续

关于 java Phantom Reference 的一些参考文章

Java 里面有4种Reference types, 从强到若, 依次为 Strong, Soft, Weak, Phantom. 其中Java API 暴露出后三种Reference 类型在 JDK 包中. 这些Reference 类型提供了与GC程序的有限的交互.

与之对应的有4种 GC 对内存对象的Reachable:
Strong Reachable:
Soft Reachable:
Weak Reachable:
Phantom Reachable:

参考:
http://javarevisited.blogspot.com/2014/03/difference-between-weakreference-vs-softreference-phantom-strong-reference-java.html
http://docs.oracle.com/javase/6/docs/api/index.html?java/lang/ref/Reference.html
https://weblogs.java.net/blog/2006/05/04/understanding-weak-references
http://www.cnblogs.com/blogoflee/archive/2012/03/22/2411124.html
https://weblogs.java.net/blog/kcpeppe/archive/2011/09/29/mysterious-phantom-reference
http://stackoverflow.com/questions/1599069/have-you-ever-used-phantom-reference-in-any-project
http://java.dzone.com/articles/finalization-and-phantom

百度云 导出 下载 aria2

百度云是不错的下载利器, 好久不用迅雷了, 并且百度云可以在线看, 速度快, 并且在射手被干之后, 还可以在百度云选择多个字幕.

另外有些还是想保存到本地, 就需要通过百度云到处到路由器上的 脱机下载 了. 路由器上挂个1T 硬盘.

感谢百度云 插件的NB作者:
原作者: http://www.v2ex.com/t/121976
github: https://github.com/acgotaku/BaiduExporter
chrome app store: https://chrome.google.com/webstore/detail/baiduexporter/mjaenbjdjmgolhoafkohbhhbaiedbkno