使用 Java 阻塞 I/O 模型读取数据,将会导致线程阻塞,线程将会进入休眠,从而让出 CPU 的执行权,直到数据读取完成。这个期间如果使用 ...
什么时候需要关闭一个线程? 下面简单的举例情况: 比如我们会启动多个线程做同一件事,比如抢12306的火车票,我们可能开启多个线程从多个渠道买火...
这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两...
符号引用到底是什么?它和直接引用有什么关系?它是怎么存储的? 什么是符号引用 先看Class文件里的“符号引用”。 考虑这样一个Java类: 它...
JDK6 HotSpot VM用instanceKlass来记录类的元数据,每个Java类有一个对应的instanceKlass。每个insta...
众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C++ 和 Java 作为...
许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收...
掌握Java中的引用类型,有助于我们理解对象的生命周期,以及如何改变或者介入对象生命周期中的各个阶段。 每种编程语言都有自己操作内存中元素的方式...
Java是一门面向对象的语言。它能够遵循一种更接近于现实世界中解决常见问题的思考方式。为了更好地了解对象,我们应该了解对象的生命周期。一个对象在...