本文目录一览:
- 1、泊/泉雅这个牌子长期使用会不会有什么副作用呢?
- 2、介绍几种主流嵌入式操作系统的特点,并分析比较 哥们,我现在纠结这个问题,可以给点指点吗
- 3、java道底有什么用?是个软件吗?
- 4、什么是SMART操作系统?
- 5、java网络编程的基本内容有哪些?其特点和优势如何?请进行论述。
- 6、何为java
泊/泉雅这个牌子长期使用会不会有什么副作用呢?
from
不会的,
我一直都是用这个产品,还可以
补水效果不错,敷完滋///润,也很保湿
泊泉雅是一个新兴的化妆品品牌。
泊泉雅,化妆品品牌,品牌创始人刘昭锋
仅供参考,答题不易,请采纳。
/
/
/
/
/
/
/
1997 年 3 月,HP 公司获得 Java WorkShop 许可证,用于其 HP-UX 操作系统。
西门子、AG 公司等获得 Java 许可证。日立半导体公司、Informix 公司等获得
JavaOS 许可证。Novell 公司获得 Java Studio 许可证。Sun 公司发售的 JavaOS 1.0
操作系统,这是一种在微处理器上运行 Java 环境的最小、最快的方法,可提供
给 JavaOS 许可证持有者使用
artistically accurate drawing
介绍几种主流嵌入式操作系统的特点,并分析比较 哥们,我现在纠结这个问题,可以给点指点吗
如果你是学习阶段的话,那LINUX和UCOS-II是比较合适的
uc/os和uclinux操作系统是两种性能优良源码公开且被广泛应用的的免费嵌入式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。本文通过对 uc/os和uclinux的对比,分析和总结了嵌入式操作系统应用中的若干重要问题,归纳了嵌入式系统开发中操作系统的选型依据。
两种开源嵌入式操作系统介绍
uc/os和uclinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入式操作系统。uc/os适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2k。uclinux则是继承标准linux 的优良特性,针对嵌入式处理器的特点设计的一种操作系统,具有内嵌网络协议、支持多种文件系统,开发者可利用标准linux先验知识等优势。其编译后目标文件可控制在几百k量级。
uc/os是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
uclinux是一种优秀的嵌入式linux版本。uclinux是micro-conrol-linux的缩写。同标准linux相比,它集成了标准linux操作系统的稳定性、强大网络功能和出色的文件系统等主要优点。但是由于没有mmu(内存管理单元),其多任务的实现需要一定技巧。
两种嵌入式操作系统主要性能比较
嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合理的有效方法组织多个用户共享嵌入式系统的各种资源。其中用户指的是系统程序之上的所有软件。所谓合理有效的方法,指的就是操作系统如何协调并充分利用硬件资源来实现多任务。复杂的操作系统都支持文件系统,方便组织文件并易于对其规范化操作。
嵌入式操作系统还有一个特点就是针对不同的平台,系统不是直接可用的,一般需要经过针对专门平台的移植操作系统才能正常工作。进程调度、文件系统支持和系统移植是在嵌入式操作系统实际应用中最常见的问题,下文就从这几个角度入手对uc/os和uclinux进行分析比较。
进程调度
任务调度主要是协调任务对计算机系统内资源(如内存、i/o设备、cpu)的争夺使用。进程调度又称为cpu调度,其根本任务是按照某种原则为处于就绪状态的进程分配cpu。由于嵌入式系统中内存和i/o设备一般都和cpu同时归属于某进程,所以任务调度和进程调度概念相近,很多场合不加区分,下文中提到的任务其实就是进程的概念。
进程调度可分为”剥夺型调度”和”非剥夺型调度”两种基本方式。所谓”非剥夺型调度”是指:一旦某个进程被调度执行,则该进程一直执行下去直至该进程结束,或由于某种原因自行放弃cpu进入等待状态,才将cpu重新分配给其他进程。所谓”剥夺型调度”是指:一旦就绪状态中出现优先权更高的进程,或者运行的进程已用满了规定的时间片时,便立即剥夺当前进程的运行(将其放回就绪状态),把cpu分配给其他进程
作为实时操作系统,uc/os是采用的可剥夺型实时多任务内核。可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。uc/os中最多可以支持64 个任务,分别对应优先级0~63,
其中0为最高优先级。调度工作的内容可以分为两部分:最高优先级任务的寻找和任务切换。
其最高优先级任务的寻找是通过建立就绪任务表来实现的。uc/os中的每一个任务都有独立的堆栈空间,并有一个称为任务控制块tcb(task control block)数据结构,其中第一个成员变量就是保存的任务堆栈指针。任务调度模块首先用变量 ostcbhighrdy记录当前最高级就绪任务的tcb地址,然后调用os_task_sw() 函数来进行任务切换。
uclinux的进程调度沿用了linux的传统,系统每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程什么时候拥有它的时间片。然后进行相关进程切换,这是通过父进程调用fork 函数生成子进程来实现的。
uclinux系统fork调用完成后,要么子进程代替父进程执行(此时父进程已经 sleep),直到子进程调用exit退出;要么调用exec执行一个新的进程,这个时候产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不可避免。当子进程执行exit或exec后,子进程使用wakeup把父进程唤醒,使父进程继续往下执行。
uclinux由于没有mmu管理存储器,其对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统队内存空间没有保护,各个进程实际上共享一个运行空间。这就需要实现多进程时进行数据保护,也导致了用户程序使用的空间可能占用到系统内核空间,这些问题在编程时都需要多加注意,否则容易导致系统崩溃。
由上述分析可以得知,uc/os内核是针对实时系统的要求设计实现的,相对简单,可以满足较高的实时性要求。而uclinux则在结构上继承了标准linux的多任务实现方式,仅针对嵌入式处理器特点进行改良。其要实现实时性效果则需要使系统在实时内核的控制下运行,rt-linux就是可以实现这一个功能的一种实时内核。
文件系统
所谓文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存储介质等)实施管理的软件部分。
uc/os是面向中小型嵌入式系统的,如果包含全部功能(信号量、消息邮箱、消息队列及相关函数),编译后的uc/os内核仅有6~10kb,所以系统本身并没有对文件系统的支持。但是uc/os具有良好的扩展性能,如果需要的话也可自行加入文件系统的内容。
uclinux则是继承了linux完善的文件系统性能。其采用的是romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。
uclinux还继承了linux网络操作系统的优势,可以很方便的支持网络文件系统且内嵌tcp/ip协议,这为uclinux开发网络接入设备提供了便利。
由两种操作系统对文件系统的支持可知,在复杂的需要较多文件处理的嵌入式系统中uclinux是一个不错的选择。而uc/os则主要适合一些控制系统。
操作系统的移植
嵌入式操作系统移植的目的是指使操作系统能在某个微处理器或微控制器上运行。uc/os和uclinux都是源码公开的操作系统,且其结构化设计便于把与处理器相关的部分分离出来,所以被移植到新的处理器上是可能的。
以下对两种系统的移植分别予以说明。
(1)uc/os的移植
要移植uc/os,目标处理器必须满足以下要求;
·处理器的c编译器能产生可重入代码,且用c语言就可以打开和关闭中断;
·处理器支持中断,并能产生定时中断;
·处理器支持足够的ram(几k字节),作为多任务环境下的任务堆栈;
·处理器有将堆栈指针和其他cpu寄存器读出和存储到堆栈或内存中的指令。
在理解了处理器和c编译器的技术细节后,uc/os的移植只需要修改与处理器相关的代码就可以了。
具体有如下内容:
·os_cpu.h中需要设置一个常量来标识堆栈增长方向;
·os_cpu.h中需要声明几个用于开关中断和任务切换的宏;
·os_cpu.h中需要针对具体处理器的字长重新定义一系列数据类型;
·os_cpu_a.asm需要改写4个汇编语言的函数;
·os_cpu_c.c需要用c语言编写6个简单函数;
·修改主头文件include.h,将上面的三个文件和其他自己的头文件加入。
(2)uclinux的移植
由于uclinux其实是linux针对嵌入式系统的一种改良,其结构比较复杂,相对 uc/os,uclinux的移植也复杂得多。一般而言要移植uclinux,目标处理器除了应满足上述uc/os应满足的条件外,还需要具有足够容量(几百k字节以上)外部rom和ram。
uclinux的移植大致可以分为3个层次:
·结构层次的移植,如果待移植处理器的结构不同于任何已经支持的处理器结构,则需要修改linux/arch目录下相关处理器结构的文件。虽然uclinux内核代码的大部分是独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系统的。这主要表现在它们的中断处理上下文、内存映射的维护、任务上下文和初始化过程都是独特的。这些例行程序位于linux/arch/目录下。由于linux所支持体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写。
·平台层次的移植,如果待移植处理器是某种uclinux已支持体系的分支处理器,则需要在相关体系结构目录下建立相应目录并编写相应代码。如mc68ez328就是基于无mmu的m68k内核的。此时的移植需要创建 linux/arch/m68knommu/platform/ mc68ez328目录并在其下编写跟踪程序(实现用户程序到内核函数的接口等功能)、中断控制调度程序和向量初始化程序等。
·板级移植,如果你所用处理器已被uclinux支持的话,就只需要板级移植了。板级移植需要在linux/arch/?platform/中建立一个相应板的目录,再在其中建立相应的启动代码crt0_rom.s或crt0_ram.s和链接描述文档rom.ld或ram.ld就可以了。板级移植还包括驱动程序的编写和环境变量设置等内容。
结语
通过对uc/os和uclinux的比较,可以看出这两种操作系统在应用方面各有优劣。 uc/os占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简单。uclinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,uclinux具有对多种文件系统的支持能力、内嵌了tcp/ip协议,可以借鉴linux丰富的资源,对一些复杂的应用,uclinux具有相当优势。例如cisco 公司的 2500/3000/4000 路由器就是基于uclinux操作系统开发的。总之,操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制系统可充分利用uc/os小巧且实时性强的优势,如果开发pda和互联网连接终端等较为复杂的系统则uclinux是不错的选择。
还有就是如果从开发的工具方便好用,易用的角度来看,那些收费的系统用起来更爽一些
java道底有什么用?是个软件吗?
一、Java产生的历史与现状
1. Java产生的历史
1995年5月23日
Sun在SunWorld’95上正式发布Java和HotJava浏览器。
1995年8月
Netscape获得Java许可证。
1995年9月
Sun宣布将提供Java开发工具。
1995年10月
Oracle公司、Borland公司获得Java许可证。
1995年12月
SGI公司、Adobe公司、IBM公司、ATT公司、Intel公司获得Java许可证。
Sun和Netscape发布JavaScript——一种基于Java语言的脚本语言,可供非编程员使用。
Sun、Netscape和SGI宣布缔结软件联盟,以开发Java和Internet三维和多媒体交互性工具。
1996年1月
Sun宣布成立新的业务部门——JavaSoft部,以开发、销售并支持基于Java技术的产品,由AlanBaratz先生任总裁。
Sun推出Java开发工具包JDK(JavaDevelopmentKit)1.0,为开发人员提供用来编制Java应用软件所需的工具。
1996年2月
Sun发布Java芯片系列,包括picoJava,microJava和UltraJava。
Sun推出Java数据库联接JDBC(JavaDatabaseConnectivity)数据库API。
1996年3月
微软公司、NetManage公司获得Java许可证。
Sun推出JavaWorkShop。
1996年4月
SCO公司、苹果电脑公司(Apple)获得Java许可证。
NEC公司获得Java处理器技术许可证。
Sun宣布苹果电脑、HP、日立、IBM、微软、Novell、SiliconGraphics、SCO、Tamdem等公司将把Java平台嵌入到其操作系统中。
1996年5月
HP公司、Sybase公司获得Java许可证。
Addison-Wesley和Sun联合推出Java应用编程界面(JavaApplicationProgrmmingInterface,Vol12)和Java编程语言。
北方电讯公司宣布把Java技术和Java微处理器应用到其下一代电话机中的计划。
5月29日,Sun在旧金山举行第一届JavaOne世界Java开发者大会,业界人士踊跃参加。Sun在大会上推出一系列Java平台新技术:如JavaMediaAPIs、CommerceAPIs、SecurityAPIs、ServletAPIs、ManagementAPIs等以及JavaRMI和JavaIDL、JavaOS、JavaBeans、新的HotJava开发环境等。
Sun发布HotJava,这是一套Java类库,可供开发人员编制可按需剪裁的动态联网应用软件和用户环境。
Sun发布JavaOS,这是一种非常紧凑的操作系统,用来直接在从网络计算机一直到寻呼机的微处理器上运行Java应用软件。
1996年7月
GemstoneSystems公司、OctelCommunications公司获得Java许可证。
1996年8月
JavaWorkShop成为Sun通过互联网提供的第一个产品。
1996年9月
三菱日本公司等公司获得Java许可证。
Addison-Wesley和Sun推出Java虚拟机规范和Java类库。
1996年10月
德州仪器等公司获得Java许可证。
由于业界通力合作为开发人员提供强有力的平台独立部件体系结构,Sun提前完成JavaBeans规范并发布。
Sun发布第一个JavaJIT(Just-In-Time)编译器,并打算在JavaWorkShop和Solaris操作系统中加入JIT。
10月29日,Sun发布Java企业计算技术,包括:JavaStation网络计算机、65家公司发布的85个Java产品和应用、7个新的Java培训课程和Java咨询服务、基于Java的Solstice互联网邮件软件、新的Java开发者支持服务、演示HotJavaViews、JavaTutor、完成JavaCardAPI等。
Sun演示HotJavaViews——第一个专供Java网络计算机使用的用户环境。HotJavaViews是经过优化的、可为那些将其绝大部分计算时间花费在很少关键应用软件的工作人员提供高效Webtop环境。
Sun宣布完成JavaCard应用编程界面(API)规范,这是智能卡使用的第一个开放API。JavaCard规范将把Java能力赋予全世界亿万张智能卡。
1996年11月
IBM公司获得JavaOS和HotJava许可证。
Novell公司获得JavaWorkShop许可证。
Sun和IBM宣布双方就提供Java化的商业解决方案达成一项广泛协议,IBM同意建立第一个Java检验中心。
Sun交付其第一批JavaStation网络计算机。JavaStation网络计算机被《Information周刊》评为”1996年最重要产品”。
1996年12月
Xerox等公司获得Java或JavaOS许可证。
Sun发布JDK1.1、Java商贸工具包、JavaBeans开发包及一系列JavaAPIs。
Sun推出一个新的JavaServer产品系列,其中包括JavaWebServer、JavaNCServer和JavaServerToolkit。
Sun发布100%纯Java计划,得到百家公司的支持。
1997年1月
SAS等公司获得Java许可证。
Sun交付完善的JavaBeans开发包,这是在确定其规范后不到8个月内完成的。
1997年2月
Gemplus公司、ElectronicToolsCompany公司获得Java许可证,北方电讯公司获得JavaOS许可证。
Sun和ARM公司宣布同意使JavaOS能运行在ARM公司的RISC处理器架构上。
Informix公司宣布在其UniversalServer和其他数据库产品上支持JDK1.1。
Netscape公司宣布其NetscapeCommunicator支持所有Java化的应用软件和核心APIs。
1997年3月
HP公司获得JavaWorkShop许可证,用于HP-UX操作系统。
西门子AG公司等公司获得Java许可证。
日立半导体公司、Informix公司等公司获得JavaOS许可证。
Novell公司获得JavaStudio许可证。
Sun发售JavaOS1.0操作系统,这是一种在微处理器上运行Java环境的最小、最快的方法,提供给Sun的JavaOS许可证持有者使用。
Sun发售HotJavaBrowser1.0,这是一种Java浏览环境,可以方便地按剪裁来编制专用的信息应用软件,如信息亭、客户自助台和打上公司牌号的网络应用软件。
Sun推出JDK1.1.1。
3月17日Sun向国际标准化组织的第一联合技术委员会(JTC-1)申请成为Java的公开有效规范(PAS)的提案者。
1997年4月
OSFResearch(OpenGroup)公司、Lucent公司获得Java许可证。
Corel公司获得JavaStudio许可证。
4月2日Sun在美国旧金山举行第二届JavaOne开发应用者大会,有超过10,000人参加。
Sun正式开展100%纯Java计划。
Sun发布PersonalJavaTM和EmbeddedJavaTM,表明Java同样可在PDA(个人数字助理)、复印机和智能卡中很好发挥作用。
Sun为企业计算推出全面的Java平台,包括一种新技术EnterpriseJavaBeans。它使用Java来突破建立端对端商务解决方案的复杂性。
Sun宣布JavaPCTM计划。JavaPC是一种低价位软件技术,可把老的DOSPC机变换成网络计算机,既简单又方便。
Sun与LG半导体公司协议共同开发用于网络计算机及其他消费设备的Java处理器。
Sun与Netscape宣布共同合作以提供Java基础类库。
Sun与RockwellCollins公司宣布将共同开发用于消费类产品的Java处理器核心技术。
Sun与东芝公司协议共同开发一种低功耗的Java化处理器。
Sun发布JavaStudio和JavaWorkShop2.0。
Sun发布JavaSound、JavaAdvancedImaging和JavaInputMethodAPIs。这三种新的应用编程界面使特性丰富的Java平台获得额外的功能。
摩托罗拉公司宣布其PowerPC微处理器可运行JavaOS操作系统。
Bull公司获得用于端对端解决方案的Java技术许可证,适用于智能卡、终端以及POS设备等。
1997年5月
TriTeal公司获得HotJavaBrowser许可证。
菲利浦智能卡与系统公司获得包括JavaCard的Java许可证。
苹果电脑公司宣布将把Java平台作为其PhapsodyOS操作系统发展战略的中心组成部分。
Sun推出JDK1.1.2。
1997年6月
三星、3Com等公司获得JavaOS许可证。
Sun发售JavaWebServer1.0。
Sun设在瑞士日内瓦的Sun新技术应用展示中心启用,用于展示Java计算解决方案。
Sun推出Java技术API(JTAP)规范1.0,得到Lucent、IBM、Intel、Nortel、Novell等公司的支持。
Sun推出JavaServer工具包。
1997年7月
Sun推出JDK1.1.3。
Addison-Wesley和Sun发布JavaFAQ。
Sun与西门子公司签署协议,将Java嵌入到智能卡芯片。
Sun发布JavaCard2.0规范。
Sun推出JavaWebServer1.0.1。
Sun与LG半导体公司签署协议共同开发Java处理器。
Sun合并Diba公司,以加速开发Java化的家用信息产品。
1997年8月
IBM公司获得SunTestJava测试工具许可证。
截止到8月21日,有61个应用软件获得100%纯Java认证;另有100多个应用程序等待测试。
Sun发布JavaBlend,这种新技术可使软件开发者能把Java应用软件与数据库自动结合起来。
Sun签署合并Integrity公司的协议。合并后的Integrity公司加入SunSoft部门,将在面向对象编程、智能卡及虚拟机等方面发挥重要作用。
Alcatel公司、Nortel公司和三星公司选择PersonalJava作为其网络电话的标准平台。网络电话除电话功能外,还可以发电子邮件,连接因特网和浏览万维网等。
IBM公司、Netscape公司和Sun共同建立一个新的Java移植和调试中心,以提高Java的性能,保证及时、不断地向Java开发商和用户提供Java技术解决方案。来自这三个公司的专家将在该中心携手工作。
1997年9月
在实时操作系统(RTOS)具领先地位的生产商Acorn公司、Chorus公司、GeoWorks公司、LucentTechnology公司、Microtec公司、Micreware公司、Qnx公司和WindRiverSystem公司获得在其消费电子产品中使用PersonalJava(个人Java)和EmbeddedJava(嵌入Java)技术的许可证,用以生产具有Java解决方案软件的消费电子产品(如电视顶置盒、网络电话、寻呼机等)。
1997年10月
Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司违反了合同中承诺向用户提供Java兼容产品的条款。Sun要求微软公司停止侵犯Java兼容标志,放弃误导Java开发者、阻碍他们开发完全兼容Java技术的产品的作法。
Sun向公众公开Sun与微软公司就开发销售含有SunJava技术的产品和使用兼容Java标志的合同文本。
Sun宣布已全面完成JavaCardAPI规范,并上网供用户下载。
Sun发布世界上第一个Java微处理器microJava701芯片的技术细节,并将在1998年下半年大批量生产该芯片。
Sun正式推出JavaStudio。这是一种动态Java创作工具,可使非编程员直观地编制Java小程序和应用程序。
1997年11月
Sun宣布支持Lotus公司新的纯Java化的eSuiteWorkplace办公软件。eSuiteWorkplace是第一个综合性的”瘦客户”高效成套软件,包括字处理、电子表格、电子邮件及日程安排等组成部分,完全用Java语言编写,可高效运行于JavaStation网络计算机。
IBM公司、Lotus公司、Oracle公司和Sun宣布共同开发Java化的台式机规范,这将首次在业界统一台式网络计算环境,使NC和PC能无碍地运行基于单一规范的任何应用程序,即”网上规范”。
Sun宣布与荷兰TeleficationBV(一家硬件、软件及通信设备认证中心)合作,建立欧洲100%纯Java测试认证中心,为欧洲参加100%纯Java计划的公司提供服务。
国际标准化组织11月17日宣布,其第一联合技术委员会(JTC-1)以压倒多数的投票结果,批准Sun公司作为Java公开有效规范(PAS)提案者的申请。在参加投票的24个国家中,20票赞成,2票反对,2票弃权。这将使Java技术走向法律标准。
Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一copy;趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。
二. Java的现状
Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。一时间,“连Internet,用Java编程”,成为技术人员的一种时尚。虽然新闻界的报导有?copy;言过其实,但Java作为软件开发的一种革命性的技术,其地位已被确立,这表现在以下几个方面:1.计算机产业的许多大公司购买了Java的许可证,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。这一点说明,Java已得到了工业界的认可。2.众多的软件开发商开始支持Java的软件产品。例如:Borland公司正在开发的基于Java的快速应用程序开发环境Latte,产品已在1996年中期发布。Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java开发环境JavaWorkshop已经发布。数据库厂商如:Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台3.Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是把Internet用于企业内部的信息系统,它的优点表现在:便宜,易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的Intrnet浏览器,而数据库、Web页面、应用程序(用Java编的Applet)则存在WWW服务器上,无论是开发人员,还是管理人员,抑或是用户都可以受益于该解决方案。Java语言正在不断发展和完善,Sun公司是主要的发展推动者,较通用的编译环境有JDK(JavaDevelopKit)与JWS(JavaWorkshop)。还有很多其他公司正在开发Java语言的编译器与集成环境,预计不久Java语言的正确性与效率都将会提高,用户用Java编程和现在用C++编程更方便。
三.Java语言的特点
Java到底是一种什么样的语言呢?Java是一种简单的面象对象的分布式的解释的健壮的安全的结构中立的可移植的性能很优异的多线程的动态的语言。
1.简单
Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:1.Java的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快就掌握Java编程技术。2.Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。3.Java提供了丰富的类库。
2.面向对象
面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于SmallTalk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了SmallTalk。
3.分布式
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。为分布环境尤其是Internet提供的动态内容无疑是一项非常宏伟的任务,但Java的语法特性却使我们很容易地实现这项目标。
4.健壮
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组边界检测异常出口字节代码校验。
5.结构中立
另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。现在,Java运行系统有Solaris2.4(SPARC),Win32系统(Windows95和WindowsNT)等.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
6.安全
Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。
6.1Byte-code校验
如果byte-code通过代码校验,没有返回错误,我们可知道:代码没有堆栈上溢出和下溢出所有操作代码参数类型都是正确的没有发生非法数据转换,如将整数转换成指针。访问对象操作是合法的
6.2类装载
ClassLoader通过将本机类与网络资源类的名称分开,来保持安全性。因为调入类时总要经过检查,这样避免了特洛伊木马现象的出现。从网络上下载的类被调进一个与源相关的私有的名字域。当一个私有类访问另一个类时,build-in(本机类)首先被检查,然后检查相关的类。这样就避免了破坏本机类情况的出现。
7.可移植的
同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在Windows3.1中整数(Integer)为16bits,在Windows95中整数为32bits,在DECAlpha中整数为64bits,在Intel486中为32bits。通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。Java语言的基本数据类型及其表示方式如下:byte8-bit二进制补码short16-bit二进制补码int32-bit二进制补码long64-bit二进制补码float32-bitIEEE754浮点数double32-bitIEEE754浮点数char16-bitUnicode字符
在任何Java解释器中,数据类型都是依据以上标准具体实现的。因为几乎目前使用的所有CPU都能支持以上数据类型、8~64位整数格
什么是SMART操作系统?
SMART:Sub-coMponent ARchitecTure, 子构件体系结构,是智能手机系统。
1、 由浙江大学在2003年嵌入式系统领域提出的子构件体系结构,称为SMART体系(Sub-coMponent ARchitecTure)。
2、SMART体系结构融合了细粒度构件、弹性设计、任意剪裁等优点,具有代码高质量、高可靠性、高实时性、应用定制等特点。SMART体系结构的软件模块由构件组成,而构件由子构件组成,通过构件拆分完成通用接口普适性与特定模块专用性的良好结合。用户可以根据自己的应用需求,选择不同的子构件构建出符合需求的嵌入式系统。
3、SMART体系结构的核心部分由SMARTOS、面向SOC的新一代嵌入式操作系统、JAVAOS、弹性协议栈组成;中间层包括嵌入式中间件、嵌入式多媒体、嵌入式数据库、安全等;上层为各种应用软件。SMART体系结构如下图所示。其中SMARTOS将实时性、节能、多层次嵌入式文件系统等很好的融合在一起,为上层应用提供了可靠快捷的支持。
4、SMARTOS面向传统的嵌入式系统硬件,实现了分组硬实时任务调度,上下文切换时间短;实现了CACHE可分配的内存调度,充分利用了现代CPU中CACHE、内存的存储层次;使用多种外部存储器,构建了虚设备完成了低功耗大容量的嵌入式文件系统;使用DVS技术构建了SMART节能框架,通过预测对系统能耗进行统一管理。
java网络编程的基本内容有哪些?其特点和优势如何?请进行论述。
1.用Java编写网络程序是非常简单的——至少比在现有其他编程环境下要简单得多。本书的新版本带给开发者的是Java发展的最新特性。一旦开始使用Java的网络API进行网络编程,我们能做到可以想像到的一切事情。 本书对开发网络程序进行了非常完整的介绍(从应用程序和applet两方面),它包括了从网络基础到远程方法调用(RMI)的所有内容。本书的章节涵盖了TCP和UDP套接字、组播、内容和协议处理器以及两个新的API:JSSE(SSL实现)和JavaMail API。扩充了I/O和多线程等基础知识。还讲述了在不直接编写网络代码时你所能够实现的内容,例如如何用URL实现自己的目标、applet的基本功能以及如何用Swing处理HTML。无论是有经验的网络程序员还是只想随意看一看的初学者,都会发现本书对于Java的网络程序类的学习是相当完整的。本书内容涵盖了:1、Java 2(JDK 1.2和1.3)和Java1.1。2、许多完整的程序(可在线获取)。3、网络编程基础的所有方面。4、一些高级专题,包括RMI和组播。5、许多重要的API,有JSSE、JavaMail以及Swing中的HTML解析器。Elliotte Rusty Harold是著名的Java网站Cafe Au Lait的作者(http://metalab.unc.edu/javafaq),国际知名的计算机专家。他是《Java I/O》以及其他一些Java和XML技术图书的作者。 “直到找到这本书之后,我才开始真正理解Java网络编程。”——Bruce Eckel,《Java编程思想》的作者.
2.JAVA的特点§ 1.2 Java的特点
Java是一个广泛使用的网络编程语言 ,它是一种新的计算概念。
首先 ,作为一种程序设计语言 ,它简单、面向对象、不依赖于机器的结构、
具有可移植性、鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。其
次 ,它最大限度地利用了网络 ,Java的小应用程序 (applet)可在网络上传输而
不受 CPU和环境的限制。另外 ,Java还提供了丰富的类库 ,使程序设计者可以很
方便地建立自己的系统。
下面我们分别从这三个方面来讨论 Java的特点 ,然后通过把 Java与 C,
C++相比进一步指出它所具有的优点。
一、 Java语言
Java语言有下面一些特点 :简单、面向对象、分布式、解释执行、鲁棒、
安全、体系结构中立、可移植、高性能、多线程以及动态性。
:1.简单性
Java语言是一种面向对象的语言 ,它通过提供最基本的方法来完成指定的
任务 ,只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程
序。 Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾
收集大大简化了程序设计者的内存管理工作。另外 ,Java也适合于在小型机上运
行 ,它的基本解释器及类的支持只有 40KB左右 ,加上标准类库和线程的支持也
只有 215KB左右。库和线程的支持也只有 215KB左右。
2.面向对象
Java语言的设计集中于对象及其接口 ,它提供了简单的类机制以及动态的
接口模型。对象中封装了它的状态变量以及相应的方法 ,实现了模块化和信息
隐藏 ;而类则提供了一类对象的原型 ,并且通过继承机制 ,子类可以使用父类
所提供的方法 ,实现了代码的复用。
3.分布性
Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议 ,用户
可以通过 URL地址在网络上很方便地访问其它对象。
4.鲁棒性
Java在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误
的产生。它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易
产生的错误。通过集成的面向对象的例外处理机制 ,在编译时,Java提示出可能
出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外,
Java在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题
的出现。
5.安全性
用于网络、分布环境下的 Java必须要防止病毒的入侵。 Java不支持指针,
一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用
“特洛伊 “木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易
产生的错误。
6.体系结构中立
Java解释器生成与体系结构无关的字节码指令 ,只要安装了 Java运行时
系统 ,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟
机中的表示 ,Java解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平
台运行。
7.可移植性
与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。
同时 ,Java的类库中也实现了与不同平台的接口 ,使这些类库可以移植。另外,
Java编译器是由 Java语言实现的 ,Java运行时系统由标准 C实现 ,这使得Java
系统本身也具有可移植性。
8.解释执行
Java解释器直接对 Java字节码进行解释执行。字节码本身携带了许多
编译时信息 ,使得连接过程更加简单。
9.高性能
和其它解释执行的语言如 BASIC、 TCL不同 ,Java字节码的设计使之能
很容易地直接转换成对应于特定CPU的机器码 ,从而得到较高的性能。
10.多线程
多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据
的正确操作。通过使用 多线程 ,程序设计者可以分别用不同的线程完成特定
的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实
时交互行为。
11.动态性
Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入
新的方法和实例变量而不会影响用户程序的执行。并且 Java通过接口来支持
多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性。
参考资料:
3.Java已用动态的交互应用软件使Web栩栩如生。它使开发人员
具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI
及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。
这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取
得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,
而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和
应用软件到处可存取。
Java建立在简单的前提基础上,即所有微处理器都应讲同一种
语言——所有内部采用芯片的产品都应能一起工作,无缝而方便地
共享信息。它已经改变企业和个人同Internet大交道的方式。现在,
它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影
响企业计算。
借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因
为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便
携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。
全世界的公司都已发现Java数不胜数的用途。所有用途可从其无
可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和
环境的能力中受益非浅,而且节省的时间和费用十分可观。
Java无处不在。它已拥有几百万个用户,其发展速度要快于在它
以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运
行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给
企业,也可给最终用户带来似乎数不清的好处。
何为java
Java语言是一种适用于网络编程的语言,它的基本结构与C++极为相似,但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足之处。有人预言:Java将成为网络上的“世界语”,今后,用其他语言编写的软件统统都要用Java语言来改写.
Java发展至今日,已不仅仅是一种编程语言,实际上已形成了一门技术.其内容包括:
1)Java软件包
Java语言及其编程技术、JavaOS、Java开发环境与工具、Java语言的各种软件包、数据库接口JDBC等。
2)Java虚拟机及其规范
3) Java嵌入技术(Java芯片)
已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名为MAJC的专门为Java语言设计的的芯片优化研制成功,欲与Intel试比高低。该芯片在设计时采用了模块式高性能计算引擎,实质为一种芯片级并行处理机,能以更有效的方式分解计算任务,特别适合处理多媒体数据。Sun公司希望通过MAJC芯片的发布催生出一个基于Java语言的微处理器家族,与Intel公司竞争。设想中的Java处理器将应用在从低价消费电子产品到高端因特网服务器领域。
4)Java计算
基于Java技术的企业Internet/Intranet信息系统以及其他应用系统。
5)Jini技术
1999年初正式发布后,立刻得到业界的广泛支持。Jini的出现为Java网络连接提供了公共标准,使得任何Java设备都可以连入网络中被自动识别,并可充分利用网络上已有的各种资源。它把网络上的各类设备(包括消费类电子设备如移动电话、PDA、DTV、HPC、NC、游戏机、电冰箱、智能卡等等)和各种软件组合成一个单一、动态的分布式系统,使网络更易于操纵、易于管理,具有更高的可配置性。Jini将使网络具有自发性,它的出现大大扩展了“计算”和“计算机”的含义,极大地简化了网络操作,对家庭用户来说,使用网上设备即插即用,就像使用电话一样方便。Java和Jini 不仅可以不依赖于Windows为代表的操作系统,而且引导着信息产业的潮流,使Sun公司能在未来的、非PC类电子产品的数字化市场中强占制高点。
6)Jiro平台
异质网络环境中安装的存储系统的多样性和分布性,给存储管理带来了巨大的挑战。用户和开发人员都希望能有一种技术,能更好地促进企业存储管理方案的开发。而Jiro平台正是解决此问题的革命性方案。Jiro平台实现了Java和Jini 技术,它是一个便于用户管理异质网络上由各种服务器、存储和设备组成的混合环境的开放式存储管理平台。它对操作系统是中立的。Jiro为跨异质存储局域网(SAN)的管理服务和设备提供了一个开放平台,允许服务器、存储和联网设备在异质网络环境中无缝地协同工作。Jiro平台为开发者带来的好处有:
允许开发者利用各种实现管理存储网络的目标功能创建应用;
提供了一个可以在各种应用、服务和设备之间交互操作的组件模型;
允许设备易被增加、删除;
允许应用或服务被自动更新。
1999年7月,Sun发布了正式的Jiro规范草案,供公众讨论、修改。目前,Jiro平台的团体成员已超过25家,支持Jiro平台的厂商超过300家。有眼光的厂商纷纷加入到这些组行列,从而加快了Jiro的发展。
出处:
原创文章,作者:SNKA,如若转载,请注明出处:https://www.506064.com/n/132781.html