上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页
摘要: 概要 本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例 1. join()介绍 join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之 阅读全文
posted @ 2017-12-28 17:27 yixiu868 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 概要 本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较 1. sleep()介绍 sleep() 定义在Thread.java中。sleep() 的作用是让当前线程休眠,即当前线程会从“ 阅读全文
posted @ 2017-12-28 17:11 yixiu868 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 概要 本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 1. yield()介绍 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同 阅读全文
posted @ 2017-12-28 16:56 yixiu868 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 概要 本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long timeout)和notify()4. wait() 和 notifyAll()5. 为什么notif 阅读全文
posted @ 2017-12-28 16:25 yixiu868 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。但 阅读全文
posted @ 2017-12-27 14:01 yixiu868 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那 阅读全文
posted @ 2017-12-27 13:58 yixiu868 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内部类等。虚拟机并不支持这些 阅读全文
posted @ 2017-12-27 13:54 yixiu868 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在 阅读全文
posted @ 2017-12-27 13:53 yixiu868 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析 阅读全文
posted @ 2017-12-27 13:50 yixiu868 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: 遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始化,则需要先触发其初始化。生成这 阅读全文
posted @ 2017-12-27 13:47 yixiu868 阅读(176) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页