如果您不小心,线程可能会在没有(堆栈)跟踪的情况下从服务器应用程序中消失。在本文中,线程问题专家 Brian Goetz 提供了用于预防和检测线程“擅离职守”的技术。 当单线
假如您不小心,线程可能会在没有(堆栈)跟踪的情况下从服务器应用程序中消失。在本文中,线程问题专家 Brian Goetz 提供了用于预防和检测线程“擅离职守”的技术。 当单线程应用程序中的主线
java 语言可能是使用最广泛的依赖于垃圾收集的编程语言,但是它并不是第一个。垃圾收集已经成为了包括 Lisp、Smalltalk、Eiffel、Haskell、ML、Scheme 和 Modula-
几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险。 为什么要用线程池? 诸如 Web 服务
在本文中,他将解释 Reference 对象的另外一种形式,即软引用(soft references),用于帮助垃圾收集器治理内存使用和消除潜在的内存泄漏。 垃圾收集可以使 Java 程序不会出
每个Java对象都有hashCode()和 equals()方法。许多类忽略(Override)这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性。在Java理念和实践这一部分,Java
将泛型添加到 Java 语言中增加了类型系统的复杂性,提高了许多变量和方法声明的冗长程度。因为没有提供 “typedef” 工具来定义类型的简短名称,所以有些开发人员转而把扩展当作 “穷人的 ty
关于在 Java 语言中使用异常的大多数建议都认为,在确信异常可以被捕捉的任何情况下,应该优先使用检查型异常。语言设计(编译器强制您在方法签名中列出可能被抛出的所有检查型异常)以及早期关于样式和用
每个Java对象都有hashCode()和 equals()方法。许多类忽略(Override)这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性。在Java理念和实践这一部分,Java
虽然Java语言不直接支持关联数组 -- 可以使用任何对象作为一个索引的数组 -- 但在根Object类中使用hashCode()方法明确表示期望广泛使用HashMap(及其前辈Hashtable)。