Java嵌入式技术
一、引言
1991年,Sun MicroSystem公司由James Gosling、Bill Joe等人组成的Green小组开发了
一个名为Oak的软件(Java的前身),目的是用于电视等家用电器的嵌入式应用。但后来,正如
我们现在所知道的那样,Java的发展却出乎它的开发者的预料,它并没有在嵌入式应用中大展
身手,但却风靡WWW世界。
如今,Java应用程序在Internet上随处可见。这些程序的执行有一个共同的特点,它们都
基于一个用软件实现的Java虚拟机来解释或编译执行,这难免会影响软件执行的速度,内存占
用多。而Sun即将推出的Java芯片用硬件实现Java虚拟机规范,可以直接执行Java字节码,如
图1所示。
@@28111000.GIF;图1 Java程序的三种执行方式@@
Sun为Java芯片制定了picoJavaⅠ核心规范,该规范为优化运行Java代码作了许多创新设
计。picoJava体系结构是MicroJava芯片的基础。该芯片将广泛应用于嵌入式应用系统,如机
顶盒、工业数据采集设备、蜂窝电话、网络计算机等。此外Sun还有一种更高档的芯片Ultr
aJava,将用于台式机。UltraJava将可能有如JPEG解压缩之类的图形处理优化能力。我们常
看到的"picoJava"实际上只是一个概念,而MicroJava和UltraJava是由Sun公司设计、由其它
硬件生产商生产的实际产品。
实际上,嵌入式应用中的Java并不是一个新东西,如果我们了解Java语言的历史,那么我
们就会知道嵌入式应用正是Java语言的"老本行",是发明Java语言的初衷。
Sun声称,在这些芯片上运行Java程序比在Java解释器上快10倍。模拟的实验表明,同等
时钟频率下的Java芯片比采用解释器的Pentium机快10倍,比采用JIT(Just-intime)编译器的
Pentium快5倍。应该说,Java芯片运行Java程序肯定会比一般的芯片快,并且由于不需要解释
或编译就可直接执行Java字节码,因此对系统资源的需求如内存等会更少。
Sun计划在年内推出MicroJava芯片和UltraJava芯片。其中MicroJava价格为25~50美元
,UltraJava价格接近100美元。价格低廉可以说是Java芯片的优势。
picoJavaⅠ核心规范是目前Sun唯一已公布的Java芯片内部结构规范。
二、RISC-Like结构
与以堆栈为基础的Java虚拟机规范类似,picoJavaⅠ也是以堆栈为中心的处理器,它不是
纯粹的RISC结构,但大量采用RISC技术(Sun在RISC技术上有十余年的经验),可以说是RISC-L
ike结构。picoJavaⅠ结构简单,如图2所示。
从图2中可以看出,picoJavaⅠ的很多部分都是可选配的,如浮点数数据通道,而指令高速
缓存和数据高速缓存则可以在0~16K中选择。这样,
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
class NewTask extends java.util.TimerTask{
private String HOUR_MASK = "0";
private String MIN_MASK = "0";
private String SEC_MASK = "0";
private int hour;
private int min ......
一. Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问.
二.模式解说
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.
在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),
......
题目:使用Java实现链表
思路:
链表的特点:链表的的元素之间通过指针连接起来。通常有一个头指针指向第一个元素,通过第一个元素可以访问到其他的元素。
链表中数据如何存储:链表中的每个元素应该由表示数据的域和指向其他元素的指针组成。
链表的常用操作:创建链表、在链表中添加元素(在最后添加或者在某个具体的 ......