1995 年,Sun 公司提出了“Write once, run anywhere”这个口号,以说明 Java 语言的跨平台优势。
在很长一段时间里,人们都认为因为 Java 没有 C/C++ 那样的缓冲区溢出,所以 Java 程序是安全的。然而这种安全是对于特定场景而言的。当原本为嵌入 HTML 页面中的小程序而设计的 Java 演进成跑在服务器上的企业级应用编程语言时,“Write once, run anywhere”的便利,也相应带来了“Write once, pwn anywhere”的麻烦。