




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 当前,随着i n t e r n e t 应用的普及,越来越多的用户期望通过b t e m e t 传输和发布音视频 信息尽管现在存在一些基于i n t e m c t 的多媒体信息传输和发布技术,但这些技术一般不能 实现多媒体数据的实时传输和播放,无法满足视频点播、会议电视等实时应用的需求。流媒 体( s t r e a m i n gm e d i a ) 是近年来在网上发布多媒体信息的一种新技术,它可以实现多媒体数据 的实时传输和播放 j a v a m e d i a a p i ( j a v a 多媒体应用编程接口) 是由s u n 公司推出的一种用于处理和开发多 媒体( 包括流媒体) 应用的面向j a v aa p p l i c a t i o n 和l a v aa p p l e t 的应用程序接d ( a p i ) 。它包括 图形技术( 图形的绘制、颜色的设置和字体的应用) 、声音技术、图像技术( 包括图像的处理) 和动画技术、音频流技术,视频流技术等。它支持多媒体数据的播放和实时传输等媒体操作, 在数据播放上,它支持大多数的媒体格式,如a i f f 、a u 、a v i 、g s m ,m i d i 、m p e g , o u i c k t i m e 、p m f 及w a v 等;在实时传输上,它支持实时传输协议r t p ( r e a l - t i m et r a n s p o a p r o t o c 0 1 ) 和实时传输控制协议r t c p ( r e a i - t i m ec o n t r o lp r o t o c 0 1 ) 。 j m f ( j a v am e d i af r a m e w o r ka p d 是一种采用j a v a 语言开发流式媒体应用的面向j a v a a p p l i c a t i o n 和j a v a a p p l e t 的集成媒体数据类型的应用程序接口。它作为j a v am e d i a a p i 技术 家族的一个重要组成部分,对j a v a 平台进行了扩展,为媒体应用开发人员提供了增强的媒 体开发能力,使音频流与视频流等流媒体能够应用于企业、学校等所需部门中,是本文研究 的重点 本文以教育部精品课程计划漳州师范学院精品课程项目为背景,结合当前j a v a 技 术和流媒体技术,就h v a 多媒体应用编程接口j a v a m e d i a a p i 进行研究和应用,在介绍j a v a m e d i aa p i 的基础上,重点阐述了j m f 的特点和功能,并应用j a v am e d i aa p i 开发出j a v a a p p l i c a t i o n 应用程序和内嵌于网页的j a v a a p p l e t 小程序。 本文所做主要工作、技术难点与创新如下: ( 1 ) 探讨了新的多媒体处理技术j m f 。j m f 完全继承了j a v a 跨平台的优点,使得通过j m f a p i 开发的多媒体应用同其他j a v a 应用一样。拥有“一次开发,到处运行 ( w r i t e 彻c e f u r l a n y w h e r e ) 的特点。j m f 为多媒体的获取、播放,处理和传输定义了统一的体系结构、 消息处理机制和程序设计接口,提供给开发者一个可以扩展的并且跨平台的强大的媒体 工具,并完全支持r t p r t c p 协议本文应用j a v am e d i a a p i 来处理各种媒体数据,并 将其运用于流媒体传输与播放系统的实际开发当中。通过使用j m f 中的几种关键技术 ( r a p a p i 、会话、端口控制、事件模型、缓冲区设置等) 解决了流媒体传输与播放。 ( 2 ) 深入探讨了流媒体的形成机制。多媒体文件是以数据包形式在i n t e m e t 上传输的,应先 对多媒体文件以一定的格式( 例如h 2 6 3 格式) 进行编码,压缩成数据包,传送到网络 上。同样地,到了接收端时,以相反的流程操作,才能还原为多媒体数据,也就是要进 行解码,解压缩。一般情况下,接收端接收完整个媒体文件才能播放,而流媒体或者媒 体流却可以边下载边播放,即它不需要存储到本地硬盘便可直接播放,大大节省了时间 和空间,它是通过缓存实现的。接收端必须向操作系统申请一块缓存,把发送端源源不 断送来的数据包( 多个流动的数据包就成了流媒体或媒体流) 放在缓存里,并启动播放 器进行播放,这样无需存储到外部存储器( 硬盘) 缓冲区的大小是有限的,故边接收 的同时边删除已播放的媒体数据。这就形成了我们所说的无需存储到本地存储器、边下 载边播放的流媒体 ( 3 ) 研究了多媒体文件进行r t p 传输的准备工作及其传输过程,采用j a v a 技术实现了接口 的统一和跨平台的可移植性。采用j m f 事件模型实现i m f 应用程序的控制核心i m f i l l 事件模型用消息驱动的模式来控制传输和播放过程。 ( 4 ) 采用j m f 开发并实现了在网络中传输和播放流媒体数据的j a v aa p p l i c a t i o n 应用程序和 j a v aa p p l e t 程序程序运行测试表明,无论是j a v aa p p l i c a t i o n 程序,还是内嵌于网页 的j a v aa p p l e t 程序。接收端或客户端播放流媒体数据时,图像连续稳定,声音清晰, 图像和声音完全同步,实现了多媒体数据的实时传输与播放 ( 5 ) 本文实例在w m d o w s 操作系统下开发,因此,开发工具和j a v a 虚拟机都安装于w i n d o w s 环境中。由于j a v a 语言的与平台无关性,对于u n i x 、l i n u x 等操作系统,在安装了j a v a 多媒体运行环境后,j a v a 多媒体应用实例可以直接在其他操作系统运行而不需要重新编 译。该实例已在漳州师范学院校园阿上运行使用,取得了良好的实际应用效果。 关键字:流媒体,j a v a 应用程序接口,实时传输协议,j a v a 媒体框架,j a v a a p p l e t 小程序 j a v aa p p l i c a t i o n 应用程序 中图分类号;t p 3 9 1 文献标识码:a i v , f 1 1 il#h。口;0 a b s t r a c t f o l l o w i n gt h ep o p u l a r i z a t i o no fi n t e m e ta p p l i c a t i o n ,m u l t i m e d i at r a n s p o r ta n dp u b l i c a t i o n o n - l i n ea r ea r e a so f i n t e n s ec u r r e n ti n t e r e s t , w h i c hp r o m o t e sm o r ea n dm o l ep e o p l ed e v o t i n g t h e m s e i v a si n t ot h e l 札t h e r eh a sb e e ns o m em u l t i m e d i at r a n s p o r ta n dp u b l i c a t i o nt e c h n o l o g i e s b a s e a lo ni n t e m e lh o w e v e r , t h e yc a n tr e c e i v ea n dt r a n s m i tm e d i as t r e a m si nr e a l - t i m e t os e n do r r e c e i v eal i v em e d i ab r o a d c a s to rc o n d u c ta “d c oc o n f e r e n c eo v e r 也ei n t e m e to ri n t r a n e t , w en e e d t ob ea b l et om e e tt h ee x p e c t a t i o n so f r e a l - t i m ea p p l i c a t i o n s t h e n ,s t r e a m i n gm e d i ai su s e dt o r e f e r t o b o t h t h i s t e c h n i q u e o f d e l i v e r i n g m e d i a c o n t e n t o v e r t h e n e t w o r k i nr e a l t i m ea n d p l a y i n g t h e 砧a l - t i m em e d i ac u n t e n tt h a t sd e l i v e r e 正 j a v am e d i af r a m e w o r k ( s h o r t e n d e df o r mn 缸1p r o v i d e sau n i f i e da r c h i t e c t u r ea n d m e s s a g i n gp r o t o c o lf o rm a n a g i n gt h ea c q u i s i t i o n ,p r o c e s s i n g ,a n dd e l i v e r yo ft i m e - b a s e dm e d i a d a t a w i t hj m f , y o uc a ne a s i l yc r e a t ea p p l e t sa n da p p l i c a t i o n st h a tp r e s e n t , c a p t u r e ,m a n i p u l a t e , a n ds t o r et i m e - b a s e dm e d i a j i sd e s i g n e dt os u p p o r tm o s ts t a n d a r dm e d i ac o n t e n tt y p e s s u c h 笛a ea u ,a v i , g s m , m d lm p e g ,q u i c l m e ,r m f , a n dw a v a tt h es a m et i m e 。i ti s d e s i g n e dt os u p p o r tt h e 肿a n dr t c p m p a p e rd i s c u s st h et e c h n o l o g i e sb e i n gu s e dt od e s i g na n di m p l e m e n tt h ej a v aa p p l i c a t i o na n d j a v aa p p l e tt h a tp r e s e n t , m a n i p u l a t e 。a n dp l a ys t r e a m i n gm e d i a t h eg r o u n d w o r k , t e c h n o l o g i c a l d i 伍c n l tp o i n ta n di n n o v a t i o nt h a tt h i sp a p e rd o e sa r ea sf o l l o w s : ( 1 ) i n v e s t i g a t i n gn e wt e c h n o l o g yo fm u l t i m e d i ap r o c e s s i n g j h 但c o m p l e t e l yi n h e r i t sj a v a c r e s s - p l a t f o r m i n h e n c e ,t h e y m f p r o g r a m sh a v e t h es p e c i a l i t y o f w r i t e o n c e ,l u n a n y w h e r e j m fp r o c e s sa l lk i n d so fm e d i af i l e sb a s e do nj a v am e d i aa p i , a n da p p l yi tt oa c t u a l d e v e l o p m e n to ft h es t r e a m i n gm e d i at r a n s m i t t i n ga n dp l a y i n gs y s t e m h a v es o l v e ds e v e r a l i m p o r t a n tp r o b l e m si nt h i ss y s t e mt h r o u g hu s i n gs o l p 地k e yt e c h n o l o g i e st h a ta r el h pa p i , r ps e s s i o n ,p o r tc o n t r o l ,j m fe v e n tm o d e l 。b u f f e ra n ds oo n ( 2 ) s t u d yt h ef o r m a t i v em e c h a n i s mo fs t r e a m i n gm e d i a 1 1 l ef i r s to fa l l ,t h em u l t i m e d i af i l e s t r a n s m i to nt h ei n t e m e tb yd a t a g r a m sc a p s u l a t e d n 圮r e f o r e , e n c u d et h e s em u l t i m e d i ad a t a a c c o r d i n gt os o m ef o r m a t ss u c ha sh 2 6 3 ,h 2 6 1 ,a t e i nt h es a m ew a y , t h er e v e r s ep r o c e s s e s m u s tb ec a r r i e do u tf o rt h ep l a y i n go ft h o s em u l t i m e d i ad a t aw h e ng e tt ot h er e c e i v e r , w h i c h a r ed e c o d i n ga n dd e c o m p r e s s i o n c o m m o n l y , o n l yr e c e i v et h ew h o l em e d i af i l ec a ni tb e p l a y e d h o w e v e r , s t r e a m i n gm e d i ac a nb ep r e s e n t e dw h i l ed o w n l o a d i n g t h a ti st os a y , i t d o e s n tb e e dt os t o r et ot h eh a r dd i s k m o r e o v e r , s t r e a m i n gm e d i aa s v eal o to ft i m ea n d s p a c e i tm a k eu s eo fb u f f e r i ti sw e l lk n o w nt h a tm o s tm e d i ap l a y e r sc a n n o tb es t a r t e d i n s t a n t l y b e f o r et h ep l a y e rc a ns t a r t , c e r t a i nh a r d w a r ea n ds o f t w a r ec o n d i t i o n sm u s tb em e t f o re x a m p l e ,i ft h em e d i ad a t ar e s i d e so nan e t w c i d 【d e v i c e 。t h ep l a y e rm i g h th a v et o e s t a b l i s han e t w o r kc o n n e c t i o nb e f o r ei t 啪d o w n l o a dt h ed a t a o r , i ft h ep l a y e rh a sn e v e r b e e ns t a r t e d , i tm i g h tb en e c e s s a r yt oa l l o c a t eb u f f e mi um e m o r yt os t o r et h em e d i ad a t a p a c k e m ( m a n yd a t ap a c k e t sf o rs t r e a ma r eb e c o m em e d i as t r e a m ) s od o n tn e e dt os a v ed a t a t oad i s kf i l e b e c a u s et h es i z eo fb u f f e ri sl i m i t e d td e l e t es o m em e d i ad a t ab e i n gp l a y e d c o m p l e t e l yw h i l ed o w n l o a d i n g t h i sb e c o m e ss t r e a m i n gm e d i a ( 3 ) d o r e s e a r c ho nt h em u l t i m e d i af i l e st oc a r r yt h r o u g hr i pt r a n s m i s s i o n s ,t h er e a l i z a t i o na b o u t t h eu n i t yo ft h ea p p l i c a t i o np r o g r a m m i n gi n t e r f a c ea n di n d e p e n d e n c ei nt h ep l a f f o r mb a s e d o l lt h ej a v at e c h n i q u e t ot h ec o n t r o lc e n t e ro ft h ej 瑚【pa p ia p p l i c a t i o n ,r e a l i z et h r o u 助 v j m fe v e n tm o d e l ,w h i c hc o n t r o lt h ep r o c e s so ft r a n s m i t t i n ga n dp l a y i n gb ya d o p t i n gm e s s a g e d r i v e rm e c h a n i s m a 1 1o ft h e s em e d i ae v e n t sf o l l o we v e n t sm o d e ls t a n d a r do f j a v a b e a n s ( c o m p o n a n 融 ( 4 ) j m fp m v i d a sac o m m o nc r o s s - p l a t f o r mj a v aa p i f o ra c c e s s i n g u n d e d y i n g m o d a f r a m e w o r k s a d o p tj m f a se x p l o i t a t i o np l a t f o r ma n dr e a l i z et h ej a v aa p p l i c a t i o na n dj a v a a p p l e tt h a tp r e s e n t , m a n i p u l a t e ,a n dp l a ys t r e a m i n gm e d i a w h e t h e r j a v a a p p l i c a t i o no r j a v a a p p l e t , t h er e s u l to fp r o g r a m 咖i n d i c a t e dt h a tt h el f a i v e rc a nc o n t i n u a l l ys t e a d i l yp l a yt h e s 仃e a m i n gm e d i a m o r e n v e r ,t h es o u n dw a sa r t i c u l a t ea n dp i c t e r e - a n d - a n u n dw a sc o m p l e t e l y s y n c h r o n a l ( 5 ) t h ea p p l i c a t i o n sw e r ed e v e l o p e di nw i n d o w s c o n s e q u e n t l y , d e v e l o p m e n tt o o la n dj a v a v i r t u a lm a c h i n ew e r ei n s t a l l e di nw i n d o w s b e c a u s et h ec r o s s - p l a t f o r mo fj a v at h e yc a nr u n i no t h e ro p e r a t i n gs y s t e ms u c ha su n i xo rl i n u xd i r e c t l y t h e yh a v ea c q u i r e dg o o dp r a c t i c a l a p p i i c a t i o ne f f e c t k e yw o r d s :s t r e a m i n gm e d i a , j a v a a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ( a p l ) , r e a lt u n e t r a n s p o r tp r o t o c o l p ) ,j a v am e d i af r a m e w o r k ( j m f ) ,j a v aa p p l e t , j a v aa p p l i c a t i o n v l 前言 应用多媒体技术是2 0 世纪9 0 年代计算机的又一场革命。2 1 世纪是信息化社会,以信 息技术为主要标志的高新技术产业在整个经济中的比重不断增长。几乎所有的多媒体数据都 可以在计算机中进行综合处理,以达到“深加工”的目的,例如,多媒体数据的压缩,存储、 编辑、播放、传输等。j a v a 多媒体应用技术是随着计算机技术与多媒体技术的发展要求而产 生的,其综合处理和创作各种不同形式的媒体信息,例如文本( t e x t ) ,声音( a u t o ) 、图形 ( g r a p h i c ) 、动画( a n i m a t i o n ) 、静态图像( s t a t i ci m a g e ) 、和动态视频图像( m o t i o nv i d e o ) 等信息。 1 9 9 5 年5 月s u nm i c r o s y s t e m s 公( h t t p :w w w s u n c o m ) 正式向业界发布了j a v a 和 h o u a v a ,j a v a 多媒体应用编程接i ( j a v am e d i a a p i ) 技术也应运而生。1 9 9 6 年1 2 月l a v a s o f t 公布了有关媒体的重要a p i :j a v a 语音a p i 。随后公布了j a v a 媒体框架( j a v a m e d i a f r a m e w o r k ) 规范,它包括三部分:j a v a m e d i a p l a y e r 规范( 由h l t e l 和s i l i c o n g r a p h i c s 联合开发) ,j a v a m e d i a c a p t u r e 和j a v am e d i ac o n f e r e n c e 规范。1 9 9 7 年s u n 公司相继推出了j a v as o u n da p i 、j a v a m e d i a f r a m e w o r k 、j a v a 2 d a p i 、j a v a 3 d a p i 、j a v a a d v a n c e d i m a g i n g a p i 、j a v a a n i m a t i o n a p i 等 1 9 9 8 年,m m 和s u n 公司正式发布联合开发j a v am e d i af r a m e w o r k2 0 的协议。j a v a m e d i af r a m e w o r k ( f 奇称j m f ) 作为j a v am e d i aa p i 技术家族的一部分,对j a v a 平台进行了扩 展,为开发人员提供了增强的媒体开发能力,使音频流与视频流等流媒体能够容易地应用于 企业中。这一强劲的j a v a 媒体技术已经得到用户的广泛好评。根据双方的合作协议,j a v a m e d i af r a m e w o r k2 0 将进一步增强j a v a 平台的能力,为媒体应用开发人员提供新的、灵活 的媒体创建工具套件,在轻松愉快的开发环境中方便地使用增强后的媒体应用。 本文描述了j a v a 语言的发展史及其它的优点特性,着重介绍了j a v am e d i aa p l ( j a v a 多 媒体应用编程接口) 的作用。接着对流媒体概念及流媒体技术进行叙述,并对相关传输协议 ( 如t c p i p 协议、u d p 协议、r t p r t c p 协议) 进行说明,比较了r t p 和t c p 在多媒体传输 中的优势、劣势、适合与否等等。最后,本文采用j m f 开发并实现了在网络中传输和播放 流媒体数据的j a v a a p p l i c a t i o n 应用程序和j a v aa p p l e t 程序。 v n 第一章j a v a 语言及j a v am e d i a a p i 概述 第一章j a v a 语言及j a v am e d i aa p i 概述 1 1j a v a 的发展史 s u n 公司素以其u n i x 工作站著称,同时也推出了几个著名的软件,包括s o l a r i s 操作系 统和n f s ( 网络文件系统k1 9 9 0 年1 2 月,s u n 公司开始启动了一个g r e e l 项目,开发用于 电器中的软件。被称为j a v a 语言之父的j a m e sg o s l i n g 被分配到该项目组中,开始用c 卜+ 编 写嵌入式烤面包机、v c r 和p d a ( 个人数字助理) 等软件。嵌入式软件通常通过加入数字显 示或用人工智能方法更好地控制其机制使电器更加智能化。然而不久他就发现用c + + 做这件 事是一个错误。c 卜+ 控制嵌入式系统足够灵活,但可能出现会毁坏系统的错误。特别是c + + 使用对系统资源的直接引用,要求编程人员跟踪这些资源的管理方式,这对编程人员是一个 很大的负担。 g o s l i n g 用了一个新语言o a k 来解决这个问题。o a k 保留了熟悉的c + + 语法,但省略了 明确的资源引用,指针算法与操作符重载等潜在的危险特性。o a k 将内存管理直接加进语言 中,编程人员可以专心于程序要完成的任务。为了成为嵌入式编程语言,o a k 需要能在几微 秒内响应实际发生的事件,还需要具有可移植性,即应当能够运行在多种不同的微处理器芯 片和环境中这种硬件无关特性使烤面包机制造者能改变用于烤面包机的芯片而不必改变软 件 当o a k 成熟时,i n t e m e t 也正处于戏剧性增长的时期,s u n 的开发小组认识到o a k 非常 适合i n t e r a c t 编程。1 9 9 4 年,他们完成了一个用o a k 编写的早期w e b 查看器,称为 w e b r u n n e r ,后改名为h o t j a v a ,展示了o a k 作为i n t e m e t 开发工具的能力 1 9 9 5 年,o a k 更名为j a v a ,同年5 月2 3 日s u n 在s u n w o f l d 9 5 上正式发在j a v a 和 h o t j a v a ( w e b r u u n e r ) 蜘j 览器。1 9 9 6 年的前六个月,许多一流的软件和硬件公司都从s u n 取得 了j a v a 技术许可,如a d o b e 、a s y m e t r i x 、b o d a n d 、i b m 、m a c r o m e d i a ,m i c r o s o f t 、n o v e l l 、 o r a c l e 和s y m a n t e c 等这些公司和其它j a v a 授权公司一道把j a v a 加入到他们的桌面产品, 操作系统和开发工具中。也是1 9 9 6 年,j a v a 语言有了实质性的补充。上述公司负责开发的 新的a p “应用程序接口) 给j a v a 环境提供了高级图形、多媒体,网络和安全改进。 1 2j a v a 的优点及特性 j a v a 是一种便建立分布式应用程序( 即由网络上的多台计算机同时执行的程序) 更简单易 行的技术。j a v a 是网络编程的最优秀工具,使i n t e r a c t 的作用从通信工具扩展到能够运行成 熟的应用程序的网络。这种突破性技术使企业可以在i n t e r a c t 上部署全方位的业务服务和实 时交互式信息内容。此外,j a v a 一开始就是为了支持i n t e r n e t 而设计的,所以使得它成为了 网络编程一个具有吸引力的选择。j a v a 成为如此强大的开发工具是因为它具有如下主要特性 及优点: 1 2 1 面向对象 j a v a 是面向对象的语言,还有很多其它的面向对象的语言,包括c h 、v i s u a lb a s i c 、 第一章j a v a 语言及j a v am e d i a a p i 概述 d e l p h i 与s m a l l t a l k 等,多数程序员发现操作对象比操作过程更简单,用面向对象语言编写 代码更有生产效率。通过应用优秀的面向对象设计原理,更容易集成软件项目的不同部分, 通过把大的代码模块分割成小类,面向对象使得大型项目更具有可管理性。类继承和可视性 修饰符( j a v a 的关键字p u b l i c ,p r i v a t e 和p r o t e c t e d ) 等其它特性使得面向对象语言比老的过程 语言( 如c 、p a s c a l 和b a s i c 等) 更容易使用,并且用起来更安全 1 2 2 简单性 面向对象语言使得软件开发更容易,但单纯的面向对象并不够。虽然j a v a 与c h 共享 通用的继承方式,但它相比其它任何面向对象语言,是一门学起来简单得多的语言。在j a v a 中,没有可以用来访问内存的指针。程序员通过对象引用就能访问另一个对象通常,j a v a 也不允许多重继承,尽管类可以从一个类继承而来,但是它们不可以同时继承第二个类。这 样傲使得代码更简单,这不仅对任何应用类型很重要,对网络编程尤其如此 1 2 3 可移植性 j a v a 赢得其名声的主要原因是它中立于操作系统和硬件,即j a v a 的可移植性j a v a 软 件可以运行在各种各样的平台上,而不需要程序员重新编译软件或修改源代码。对于商业软 件的开发者而言,可移植性节省了大量的代价和时间,因为软件可以为单个环境p a v a 平台) 而编写。对于网络程序员来说,这是一个具有吸引力的特性。 1 2 a 多线程 使用c 或p e r l 语言的程序员可能会遇到多进程的概念在u n i x 等操作系统中,软件 对进程使用得很多。进程可以使用f o r k 0 命令把它自己拆分成很多并发执行的部分。当然, 这样做增加了额外开销,因为在每个进程中,应用程序代码和变量所需的内存都加倍了 一个好得多的替代方法是使用多线程程序设计。多线程语言支持并发处理,但使用的是 供应用程序代码和数据共享的内存,这就允许进程节省地使用内存并在需要时与其它进程协 同工作j a v a 从一开始就被设计成多线程支持的,并提供了语言关键字来简化线程安全代码 ( t h r e a d - s a f ec o d e ) 的编写。 1 2 5 安全性 在安全世界中,安全性对软件开发者来说是一个极其重要的问题。用户最怕两件事:保 密信息被窃取或计算机系统被黑客破坏。j a v a 的内置内置式安全性解决了这两个问题。 j a v a 的安全模型有三个基本组成部分:类装入器,字节代码验证器和安全管理器如 图i - 1j a v a 虚拟机所示,j r ( j a v a v m u a l m a c h i n e ,即j a v a 虚拟栅一j a v a 运行时环境。是 运行j a v a 程序所必需的,包含j a v a 解释器。有些j v m 包含j 玎编译器。j i t ( j u s t - l n - t i m e ) , 即运行时编译执行的技术,j a v a 语言采用该技术实时地将j a v a 解释型程序自动编译成本机 机器语言,以使程序执行的速度更快。不同的操作系统( l i n u x 、0 s 2 、w i n d o w s 等等) 需要 不同的j v m ,但任一n w 都可以运行某个j a v a 程序的同一版本字节代码验证器确保j a v a 程序的编译正确,遵循v m 的访问限制,字节代码不会访问不可访问的保密数据。 安全管理器实现v m 的安全性策略。安全性策略确定v m 可以进行什么活动,在什么 2 第一章j a v a 语言及j a v a m e d i a a p i 概述 条件下进行一个重要的例子就是文件输入倚出( d ) ,首先要经过安全管理器加检查 这使安全管理器能确定j a v a 是否可以访问磁盘文件而不会对文件系统造成恶意伤害 图卜1j a v a 虚拟机删,即j a v av i r t u a lm a c h i n e ) 总之,j a v a 的内部安全性措施保证j a v a 程序在v m 规则下操作,防止未授权的程序访 问包含专有信息的系统资源或危及客户机的完整性。j a v a 还可使开发人员或单位可以给所生 成的程序签名,使用户能确保访问可靠的小程序j a v a a p p l e t 和应用程序j a v a a p p l i c a t i o n 。 1 2 6 支持i n t e r n e t 虽然c 和( + + 可被用来编写i n t e m e t 应用程序,但它们必须导入某些特定库,而这些库 在不同操作系统之间会发生变化。j a v a 语言提供了内容丰富、功能完善的联网a p i ,该a p i 为j a v a 开发者提供了一致的接口,且与运行平台无关。特别地,j a v a 提供了用于下列网络 资源的类: ( 1 ) i p 地址 ( 2 ) 用户数据报协议包 ( 3 ) 传输控制协议流。 ( 4 ) 超文本传输协议请求 ( 5 ) 数据包的组播 t 然而,j a v a 的联网支持并没有限制在以上范围。j a v a 软件可以被编写为在w e b 浏览器 内部执行a p p l e t ,还可在w e b 服务器内执行s e r v l e t 。 1 2 7 自动垃圾收集 在c 和c + + 等语言中,程序员必须显式地请求为数据结构和类留出内存区域。在多数 软件中,变量被用于短期存储,内存频繁地分配和释放。这为开发者带来了更大的工作量, 因为必须留出内存,然后不再需要时必须回收,否则将引起内存泄漏。 然而,j a v a 采用无用内存收集程序( g a r b a g ec o l l e c t i o n ) 解决了这个问题。当声明对象新实 例时,j v m 自动为它分配适当数量的内存。当不需要此对象时,将为此对象的引用赋一个 空值,自动垃圾收集程序将默默地回收这些内存为以后使用。如果没有保留对某对象的引用, 而且也没有显式地为它赋一个空值,那么垃圾收集器还是会回收内存。 3 第一章j a v a 语言及j a v am e d i a a p i 概述 1 3j a v am e d i a a p i j a v a m e d i a a p l ( j a v a 多媒体应用编程接口) 技术在计算机和网络世界中,具有不可替代 的作用。它包括图形技术( 图形的绘制、颜色的设置和字体的应用) 、声音技术、图像技术伯l 括图像的处理) 和动画技术、音频流技术、视频流技术等。利用j a v a 的多线程机制可以将这 些技术运用在一个程序中,从而获得理想的用户界面。j a v a 语言可以编写三种格式的文件: 一种是j a v aa p p l i c a t i o n s ,它是一种能适用于任何计算机工作平台的应用程序;另一种是j a v a a p p l e t ( 1 a v a 小应用程序) ,是专门用于i n t e m e t 上的程序,它能直接被嵌入到h t m l 文件中而 被支持j a v a 的w e b 浏览器解释运行,从而实现网上设计;还有一种是j a v a s c r i p t ,它能直接 写入h t m l 文件中,而直接被支持j a v a 的w e b 浏览器识别解释。a p p l e t 文件在j a v a 语言中 继承了a p p l e t 类,利用继承类中的一些固有方法,我们就能编写自己的小应用程序来接受 用户的交互式输入;完成图形化用户界面设计;能对图形图像进行编辑( 含。剪切、粘贴,复 制、删除、设置底色) 缩放,3 d 效果( 凹凸) 对文件进行创建,打开、关闭、文件管理与 保存;对动画进行启动,缩放、停止,暂停,继续、加速与减速:对声音进行播放信定时 播放、及选择任意一个或多个声音文件进行播放) 停止、循环,前一首、后一首及编辑,还 能对完好的动画加入声音,实现在网页上进行多媒体声像设计等一系列功能。 除此之外,借助于j a v am e d i aa p i 及w 曲的远程教学应用已使越来越多的人可以跨越 时空限制而共享学校的各种教学资源,以往借助电视的远程教学模式因其缺乏交互性、实时 性和无法提供个性化服务而逐渐被淘汰。j a v a 技术在w e b 中扮演的角色使得基于w e b 的 远程教学得以大大增强【1 6 1 。加拿大排名1 2 的w a t e r l o o 大学( u n i v e r s i t yo f w a t e r l o o ,u 1 ) n 以 其在计算机科学领域的教学和科研水平而闻名,目前已成为北美最有影响的远程教育组织之 一u w 启用了名为m e t a m e d i a 的工程,围绕该工程,多家企业和多个学科的专家得以跨 专业地进行分工合作,各自发挥自己的特长,通过建立跨平台的m e d i a t o r 来实现系统的灵 活性。m e t a m e d i a3 - 程中几乎所有的构件都是j a v a 编写的,这为系统提供了一种方便,灵 活,高效、安全的实现框架和交互机制。基于这种框架的实现,系统用户( 学生、用户) 可以 动态交互,实现实时选课、上,下载课件,批改作业等教学业务逻辑。得益于基于j a v a 平 台的实现,该工程还具有多线程支持的实时响应机制并能充分利用i n t e r a c t 这一公共平台, 除此之外,它还具有优异的可扩展性、跨平台可移植性和安全机制。以下对部分重要的j a v a m e d i a a p i 作简要介绍。 1 3 1 j a v a 高级图像处理类库( j a v a a d v a n c e d i m a g i n g a p i 。简称j a i a p l ) j a ia p i d 7 i 即高级图像包a a v 戡m e d i a j a i 煨供了复杂、高性能的图像处理接口,它实现 了一组核心图像处理能力的方法和一组核心的图像处理运算符,其中包括许多点、区域和频 域的运算符。它可以将复杂的、高性能的图像处理技术融合到j a v aa p p l e t 小程序和j a v a a p p l i c a t i o n 应用程序中,从而扩展了j a v a 平台。j a i 与j a v a2 1 3 和j a v a 基础类库j f c 兼容, 但提供了更强大的图像处理功能。它可以满足医学、地震、遥感、摄影等图像处理领域的要 求。目前,圳a p l 支持以下几种图像文件格式:b 伊、j e p g 、p n g ,聊订幔,唧。 1 3 2 j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 录入技术测试题及答案大全
- 辅警思想政治课件
- 建设银行2025六安市秋招无领导模拟题角色攻略
- 2025年3D打印技术的快速制造技术
- 农业银行2025鸡西市秋招结构化面试经典题及参考答案
- 交通银行2025海西蒙古族藏族自治州秋招无领导小组面试案例题库
- 工商银行2025泰安市秋招结构化面试经典题及参考答案
- 工商银行2025邵阳市秋招群面模拟题及高分话术
- 邮储银行2025怀化市笔试英文行测高频题含答案
- 农业银行2025秋招笔试热点题型专练及答案湖南地区
- 道路运输安全员考试题库及答案
- 2025年全国高考一卷英语真题(解析版)
- 食品安全包保制度
- Module 1 Unit 1 How long is the Great Wall(教学设计)-2023-2024学年外研版(一起)英语六年级上册
- 2025重庆某国有企业招聘新媒体运营(偏拍摄剪辑)参考题库含答案
- 2025年秋期新教材部编人教版一年级上册道德与法治教学计划+进度表
- 考勤管理制度全套表格
- 关于懂你的600字初三作文9篇
- 联邦学习在二零二五年保险精算模型跨机构协作中的实践
- 2025年北师大版新教材数学三年级上册教学计划(含进度表)
- 2025至2030年中国猫砂行业发展监测及投资战略研究报告
评论
0/150
提交评论