摘要:
我们先看两段代码:[java]view plaincopypublicclassTest2{publicstaticvoidmain(String[]args){f1(null);f2();}publicstaticvoidf1(Strings){System.out.println("执行哪个方法?我是String");}publicstaticvoidf1(Objecto){System.out.println("执行哪个方法?我是Object");}publicstaticvoidf2(){System.out.println("执行哪个 阅读全文
摘要:
本文我们分析XBMC中视频播放器(dvdplayer)中的解复用器部分。由于解复用器种类很多,不可能一一分析,因此以ffmpeg解复用器为例进行分析。XBMC解复用器部分文件目录如下图所示:在这里我们看一下解复用器中的FFMPEG解复用器。对应DVDDemuxFFmpeg.h和DVDDemuxFFmpeg.cpp之前的分析类文章在解复用器这方面已经做过详细的分析了。在此就不多叙述了,代码很清晰。重点的地方已经标上了注释。DVDDemuxFFmpeg.h源代码如下所示:[cpp]view plaincopy/**雷霄骅*leixiaohua1020@126.com*中国传媒大学/数字电视技术** 阅读全文
摘要:
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。 这里简要说明下Java中.. 阅读全文