将泛型添加到 Java 语言中增加了类型系统的复杂性,提高了许多变量和方法声明的冗长程度。因为没有提供 “typedef” 工具来定义类型的简短名称,所以有些开发人员转而把扩展当作 “穷人的 ty
将泛型添加到 Java 语言中增加了类型系统的复杂性,提高了许多变量和方法声明的冗长程度。因为没有提供 “typedef” 工具来定义类型的简短名称,所以有些开发人员转而把扩展当作 “穷人的 ty
大多数项目不是属于 J2EE 应用程序就是属于 J2SE 应用程序。不过,有一些 J2EE 技术可以存在于 J2EE 容器之外,并且有些 J2SE 应用程序可以对它们加以利用。本月,Brian G
大多数项目不是属于 J2EE 应用程序就是属于 J2SE 应用程序。不过,有一些 J2EE 技术可以存在于 J2EE 容器之外,并且有些 J2SE 应用程序可以对它们加以利用。本月,Brian G
关于在 Java 语言中使用异常的大多数建议都认为,在确信异常可以被捕捉的任何情况下,应该优先使用检查型异常。语言设计(编译器强制您在方法签名中列出可能被抛出的所有检查型异常)以及早期关于样式和用
与 C++ 类似,Java 语言也提供异常的抛出和捕捉。但是,与 C++ 不一样的是,Java 语言支持检查型和非检查型异常。Java 类必须在方法签名中声明它们所抛出的任何检查型异常,并且对于任何方
几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险。 为什么要用线程池? 诸如 Web 服务
java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线
Java? 语言遭到许多性能方面的攻击。虽然有些攻击可能是名符其实的,但是看看公告板和新闻组上关于这一主题的贴子,可以发现,对于 Java 虚拟机(JVM)实际的工作方式存在许多误解。在本月的 J
Java? 语言遭到许多性能方面的攻击。虽然有些攻击可能是名符其实的,但是看看公告板和新闻组上关于这一主题的贴子,可以发现,对于 Java 虚拟机(JVM)实际的工作方式存在许多误解。在本月的 J