当前位置:文档之家› JAVA介绍

JAVA介绍

JAVA介绍
JAVA介绍

java - 计算机编程语言免费编辑修改义项名

所属类别:

生活日用品|编程技术

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java

语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式

系统应用程序等。

基本信息

?

外文名称

Java

?

?

现公司

Oracle

?

推出时间

折叠编辑本段发展历程

JAVA

价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为"字节码"的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。

由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992

年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。

1994年6、7月间,在经历了一场历时三天的讨论之后,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner。

1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够"灵活"起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun 公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java 词语)。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscap e和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。

1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),

应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。

1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。

2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为"Tiger",Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME 更名为JavaME。

2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改。

Java

宣布收购Sun 。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。2014年,甲骨文公司发布了Java8正式版。

折叠编辑本段编程开发

折叠编程环境

Java

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK 。

另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

折叠编程工具

Eclipse:一个开放源代码的、基于Java的可扩展开发平台。

NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。

IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

EditPlus:如果正确配置Java的编译器"Javac"以及解释器"Java"后,可直接使用EditPlus编译执行Java程序。

折叠编辑本段语言特点

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2.面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(https://www.doczj.com/doc/8711694145.html,包)。

3.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

4.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

在一个解释性的环境中,程序开发的标准"链接"阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java 支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的"编译、链接和测试"形成鲜明对比的精巧的开发过程。

5.稳健性

Java

件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的"无用单元收集"预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。

异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。

6.安全性

Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。

7.可移植性

Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。

Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

8.高性能

Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了"及时"编译程序,它能在运行时把Java 字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。

Java字节码格式设计时考虑到这些"及时"编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。

9.多线索性

Java是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。

Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。

10.动态性

Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。

折叠编辑本段工作原理

工作原理

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定

义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

折叠编辑本段语言基础

折叠基本数据结构

在Java中有8种数据类型来存储数值、字符和布尔值。

整数类型

整数型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整数数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。

整型数据根据它所占内容大小的不同可分为4种类型。

浮点类型

字符类型

字符类型用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示。使用char关键字可定义字符变量。

布尔类型

布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有只有true和false两个取值,分别代表布尔逻辑中的"真"和"假"。布尔类型通常被用在流程控制中作为判断条件。

折叠关键字

关键字参考资料来源

折叠运算符

运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。

赋值运算符

赋值运算符以符号"="表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。

例如:

算术运算符

自增和自减运算符

自增和自减是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1或减1,然后再使该变量参与表达式的运算。放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量的值加1或减1。

例如:

假设a=5

比较运算符

比较运算符属于二元运算符,用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算的结果为true,否则为false。比较运算符共有6个,通常作为判断的依据用于条件语句中。

逻辑运算符

语言基础参考资料来源

折叠程序举例

main方法,正如注释所说,这是程序开始执行的第一行。对于一个Java应用程序来说,main方法是必需的,Java解释器在没有生成任何对象的情况下,以main作为入口来执行程序。每个类中可以定义多个方法,但main方法只能有一个。关键字public表示访问权限,指明所有的类都可以使用这一方法。本例中,main必须被定义为public类型,因为当程序开始执行时它需要被它的类之外的代码调用。关键字static指明该方法是一个类方法。关键字void指明main()方法不返回任何值。main方法圆括号中定义的String args[]是传送给main方法的参数,参数名为args,它是类String的一个对象。方法的参数用"类名参数名"来指定,多个参数间用逗号分隔。该行的最后一个字符是"{",它表示了main程序体的开始,一个方法中包含的所有代码都将包括在这对花括号中间。另外,main仅是解释器开始工作的地方,一个复杂的程序可能包含几十个类,但这些类仅需要一个main方法。

折叠编辑本段语言标准

1997年11月17日,国际标准化组织(ISO)同意采纳Sun公司的专利技术--Java作为ISO标准。JAVA作为一个技术标准供公众无偿使用。根据ISO的批准,Sun公司将可提交JAVA的标准化平台规范。

语言标准参考资料

折叠编辑本段语言规范

JCP(Java Community Process)是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现(RI)、技术兼容包(TCK)。

JCP维护的规范包括Java ME、Java SE、Java EE、XML、OSS、JAIN等。组织成员可以提交JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。

JSR是早期提议和最终发布的Java平台规范的具体描述。通常,一个新的JSR的提出是为了增加或者规范Java平台的功能。某个具体的JSR由专家组共同来制定,工作由组长协调。例如,CLDC1.0(Connected Limited Device Configuration,JSR30)由Sun公司的Antero Taivalsaari担任组长,同时专家组的成员还包括Siemens、Motorola、Nokia、Symbian 等。Java ME平台规范是在JSR68中定义的,规范组长是Sun公司的Jon Courtney。

JSR完成后,相关的规范及JavaAPI会在JCP的官方网站发布。设备制造商可以在自己的产品中实现某个JSR,如MIDP2.0(JSRll8)。但是这些都必须要通过TCK(Technology Compatibility Kit)测试以确保技术兼容性。

按照技术类别可以分成以下几类:

1、J2EE平台规范

2、J2SE平台规范

3、J2ME平台规范

4、运营支持系统规范(OSS)

5、综合网络的Java 应用(JAIN)

6、XML 操作规范

折叠编辑本段技术应用

1、Android应用

许多的Android应用都是Java程序员开发者开发。虽然Android运用了不同的JVM 以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机中都支持JAVA 游戏,这就使很多非编程人员都认识了JAVA。

2、在金融业应用的服务器程序

Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。

3、网站

Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0以及frameworks。即使是简单的servlet,

jsp和以struts为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。

4、嵌入式领域

Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。

5、大数据技术

Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase 和Accumulo以及ElasticSearchas。

6、高频交易的空间

Java平台提高了这个平台的特性和即使编译,他同时也能够像C++ 一样传递数据。正是由于这个原因,Java成为的程序员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植性和可维护性等问题。

7、科学应用

Java在科学应用中是很好选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他语言相对其安全性、便携性、可维护性以及其他高级语言的并发性更好。

折叠编辑本段学习指南

折叠考试

Sun公司的Java认证共有以下四种:Java程序员(SCJP)、Java开发员(SCJP)、Java Web组件的开发(SCWD)和Java2企业级设计师企业级技术(SCJA)。中国开展较为普遍的Java认证考试为前两种,其中,Java程序员的认证考试以Sun公司指定的JavaSL-275为教材,考试号为310-025。Java开发员的认证考试以Sun指定的JavaSL-285为教材,机考部分的考试号为310-027。

Sun Certified Java Programmer(SCJP)

Java 程序员认证,测试Java 程序设计的要领和能力,内容侧重于Java 的语法及JDK(Java Development Kit)。

Sun Certified Java Developer(SCJD)

Java 开发员认证,进一步测试用Java 开发应用程序的能力。必须先完成一个程序设计的项目后,再回答与此项目相关的几个问题。

Sun Certified Web Component Developer for Java 2Platform Enterprise

Edition(SCWD)

Web 组件开发员认证,测试技术人员对Java Servlets 和JSP(Java Server Page)的程序开发技巧。

Sun Certified Enterprise Architect for J2EE Technology(SCAJ)

Java2 企业级设计师认证是Java 最高级的认证,测试对J2EE 架构及其他系统整合的相关技术经验及能力。

Sun公司定制的Java程序员课程的标准课件的培训期为5天(30个学时)。培训期间,讲师使用Sun公司指定教材,全面系统地讲述课程的内容,并根据各知识点所需要掌握的深度,有层次、有重点、有目的地指导学员的学习。同时,对各种题型的分析和讲解更能帮助学员直观、准确地了解java认证考试。

折叠教材

《Java从入门到精通(第3版)》:从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。

《Java编程语言(第3版)》:该书向熟悉基本编程概念的人讲述Java编程语言。该书解释了Java语言,但不是晦涩的正式介绍,也没有覆盖Java语言的所有方面。

《疯狂Java讲义》:该书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI 编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。

《Java编程思想(第4版)》:以JDK5.0为基础,在第3版的基础上,添加了新的语言特性,并且对第3版的结构进行了调整,使得所有章节的安排更加遵照循序渐进的特点,同时每一章的内容在分量上也都更加均衡,这使读者能够更加容易地阅读本书并充分了解每章所讲述的内容。

《Java经典实例(第2版)》:本书囊括了许多有用的信息。然而,由于所涉及的主题广泛,不可能对所有主题都进行详尽地阐述。因此,本书还提供了相关的web站点与参考书籍。这也是为了本书的目标读者:想学习更多Java的人。

《Java语言程序设计》:该书是清华大学出版社《普通高校本科计算机专业特色教材精选》丛书之一,也是普通高等教育"十一五" 国家级规划教材。该教材以培养应用型计算机人才为目标,立足课程改革和教材创新,在总结作者多年来从事Java语言教学工作经验的基础上形成了教材的核心内容。本教材可为普通高等院校计算机专业学生学习使用,也适用于自学。

折叠编辑本段语言评价

折叠发展前景

计算机的诞生及广泛应用推动了IT领域的发展,但21世纪的计算机早已不是访问INTERNET的唯一的途径。各类更具信息化的电子产品逐渐进入IT领域,推动了PC时代的大发展。由于各种消费信息的急剧增加,传统的客户机的各方面条件均不如PC,PC的发展对服务器的应用管理体统也提出了更高标准。Java语言完全满足了PC的条件,在减少内存,直接在各类电子产品中运行,在网络中可被任何设备所识别,充分利用网络资源等方面有所突破创新,为PC时代的发展创造了有力条件。

随着IT产业的发展,许多企业中的计算机应用程序也在随之转型,企业中所应用的计算机模式逐渐向客户端较小、服务器随之增大、数据库的容量也在相应增加的方向转变。此

外,加上Java语言独有的特点,根据其在各项服务器中应用程序的开发所占有的优势,企业版的J2SE为企业环境中计算机模式的应用提供了良好的平台。

Java语言为与数据库联系紧密设计了Java servlet和SQL-J技术,以及JSP技术。随着JSP技术的发展,使JAVA语言的网络应用更为实际化、更高效快捷,成为IT产业常用的技术。JSP以Java语言作为其服务器端的使用语言,结合了JAVA SCRIPT等多种其他客户端语言,使网络浏览器更为方便的展现。

在远程网络教学方面,由于JAVA改变了传统的基于Microsoft Front Page或HTML 语言制作的Web页面形态,使网络远程教学更加朝着动态、便捷化、安全化的方向发展,丰富了网络远程教学的手段和覆盖面。

折叠贡献及影响力

Java 语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用。另外,为了保持Java的增长和推进Java社区的参与,Sun公司在Java One开发者大会上宣布开放Java 核心源代码,以鼓励更多的人参与到Java社团活动中。来自Java社团和IBM等全球技术合作伙伴两方面的支持,Java技术在创新和社会进步上继续发挥强有力的重要作用,并且随着其程序编写难度的降低使得更多专业人员将精力放置于Java语言的编写与框架结构的设计中。

Java语言概述

Java语言概述 Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。 2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。 Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。 Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。 Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。 在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。 图1 世界编程语言排行榜(2014年11月) Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了 C++,请见下表: 尽管人们发现C++的语法太复杂,有很多冗余,但是 Java 在设计的时候还

是尽可能的接近C++,降低人们的学习成本。Java 语法是 C++ 语法的一个“纯净”版,没有头文件、指针运算(也没有指针语法)、结构、联合、运算符重载、虚基类等。有C++基础的读者,可以轻易地切换到Java。 Java 的应用非常广泛: Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。 Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。 客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。 嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。 但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。 Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机,直接投放市场的面向普通用户的客户端程序,用Java 开发的很少。 在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。 Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。

第一章 JAVA语言概述

第一章JA V A语言概述 经典题解: 一、选择题 1.在下列说法中,选出最正确的一项是()。 A)Java语言是以类为程序的基本单位的 B)Java语言是不区分大小写的 C)多行注释语句必须以//开始 D)在Java语言中,类的源文件名和该类名可以不相同 答案:A) 2.下列选项中不属于Java虚拟机的执行特点的一项是()。 A)异常处理B)多线程C)动态链接D)简单易学 答案:D) 3.下列选项中属于Java语言的垃圾回收机制的一项是()。 A)语法检查B)堆栈溢出检查 C)跨平台D)内存跟踪 答案:D) 4.下列选项中属于Java语言的安全性的一项是()。 A)动态链接B)高性能 C)访问权限D)内存跟踪 答案:C) 5.下列选项中,属于JVM执行过程中的特点的一项是()。 A)编译执行B)多进程 C)异常处理D)静态链接 答案:C) 6.Java语言和C++语言相比,哪一项是Java有的,而C++没有?() A)面向对象B)动态链接 C)有类库D)跨平台 答案:D) 7.下列选项中,不属于Java语言特点的一项是()。 A)分布式B)安全性 C)编译执行D)面向对象 答案:C) 8.在下列选项中,属于Java语言的代码安全检测机制的一项是()。 A)动态链接B)访问权限的检查 C)通过接口实现多重继承D)将所有的Java应用都看做对象,按类进行封装答案:B) 9.下列选项中,不属于Java语言安全机制的一项是()。 A) 语法检查B) 不允许使用指针 C) 代码参数类型合法性检查D) 对内存进行跟踪 答案:D) 10.下面关于Java代码安全的说法哪一项是不正确的()? A)Java程序在解释执行时所需要的类都是通过字节码校验程序装入的 B)Java字节码的执行是由JVM中的编译器完成的

关于Java的详细介绍

第一章J2ME介绍 1.1 J2EE、J2SE与J2ME 随着Java技术的不断发展,它根据市场进一步细分为:针对企业网应用的J2EE(Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本。本文就Sun ONE的Java核心应用——J2SE/J2EE/J2ME作一些介绍。 1.1.1 J2EE技术应用 J2EE是Sun公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势。 J2EE模型 J2EE的应用编程模型(J2EE Blueprints)提供了一种用于实施基于J2EE多层应用的文档和实例套件的体系模型,简化了这项复杂的工作。它被开发人员用作设计和优化组件,以便开发人员从策略上对开发工作进行分工。 J2EE应用编程模型要求开发者将自己的工作分成两类:商业逻辑和表示逻辑,其余则由系统资源自动处理,不必为中间层管道进行编码。这样,开发人员就能将更多的时间花在商业逻辑和表示逻辑上。对重视缩短项目周期的公司来说,这种转变深受欢迎。 J2EE平台 J2EE平台是运行J2EE应用的标准环境,由J2EE部署规范(一套所有J2EE平台产品都必须支持的标准)、IETF标准集和CORBA标准组成。最新的J2EE平台还添加了JavaBean 组件模型。开发人员可以利用JavaBean组件模型来自定义Java类实例,并可通过已定义的事件访问Java类。 J2EE支持EJB,因此开发人员可以执行多用户交易功能。当在J2EE服务器上运行时,Enterprise JavaBeans将应用逻辑分成可再利用和可扩展的代码段。Enterprise JavaBeans并不是新特征,但是通过定义标准客户端和服务API,J2EE增强了它的能力和可移植性。 EJB在服务器的一个容器内运行,提供所有典型的中间层服务,如事务管理、安全、远程客户连接、生存周期管理和数据库连接缓冲。为了让事务系统在存在EJB容器的情况下运行,开发人员只需在部署描述文件中定义Beans的事务属性即可。 J2EE通过定义一组标准的结构来实现它的优势,例如: 1.J2EE Application Programming Model,是一种用于开发多层次、瘦型客户用户程序的标准设计模型; 2. J2EE Platform,是一个标准的平台,用来整合J2EE的应用程序,并指定一系列的接口和方法;

JAVA技术介绍论文

计算机科学与技术学院 JAVA技术 摘要 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java 到底有何神奇之处呢? Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。 在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB 开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。 里面插入了简单的一个小窗口程序,用来介绍一个java的程序,同时锻炼一下我的动手操作与灵活运用java知识的能力。 Java我采用NetBeans和Ultraedit开发,尤其是Ultraedit编辑器,最适合我们使用。关键词:JDK安装配置,面向对象思想,学习方法

java程序员自我介绍自我介绍

java程序员自我介绍-自我介绍java程序员应试者应充分利用各种个人资源。想了解java 程序员面试指南?除了前面提到的应试者面带微笑、目光交流、坐姿端正等表情、身体语言外,请以沉稳平静的声音、以中等语速、以清晰的吐字发音、以开朗响亮的声调给考官以愉悦的听觉享受,声音小而模糊、吞吞吐吐的人,一定是胆怯、紧张、不自信和缺乏活力与感染力的。面试中java程序员自我介绍的重要性:通过自我介绍,主动地向面试考官推荐自己,这是面试组成结构的重要内容,同时也是面试测评的重要指标。下面一起来透视java程序员面试指南,java程序员自我介绍。 java程序员面试指南--实力是关键 可以分为实际操作的能力和理论上的知识。虽然上机很少,但是毫无疑问的是,如果你在ide下很强,那么你就有很强的自信。有自信不一定行,但没有自信一定不行,我想大多数人都是这样认为的吧!理论的东西你可以花点时间系统的研究一下,不过如何才算系统呢?我也不知道,我是把《java2核心技术》看了两遍。 java程序员面试指南--态度是成功的催化剂 态度说穿了就是面试技巧问题,你的实际态度不重要,重要的是如何让他认为你态度不错,是个知书达理的好孩子。将来

是否好管理是老板一类的人最在意的。 java程序员面试指南--经验是能力体现 这个没有什么好说的,一般来说经验越多,能力越强。如果他要求的工资不高的话,当然优先啦!小公司通常都是这么想的。 java程序员面试指南--运气也需要 我有同学,大学毕业之后在广州找了两个月没有找到工作,主要原因一是基础差点,加上没有经验,笔试,面试都过不去。偏偏有一次他去应聘,笔试答完之后,本来是技术员给他面试的,经理刚好过来。就问了他是哪里人,大学有没有补考之类的问题,五分钟之后就让他下个星期过来上班,月薪2500。后来他了解了一下,经理录用他的理由很简单,我同学是安徽人,经理接触过的安徽人给他的印象很好,什么踏实,肯干,任劳任怨。总之就是安徽人有优先权。不过我怎么感觉主要的理由是比较听话。 java程序员自我介绍--报出自己的姓名和身份 可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及。这是礼貌的需要,还可以加深考官对你的印象。

JAVA基础读书笔记

Java 一.Java概述 二.Java语言基础三.面向对象编程四.Java异常类处理机制五.数组 六.Java常用类七.Java容器类八.Java流技术九.Java多线程机制十.Java网络编程 十一.GUI编程

Java概述 一.Java语言的特点 1.面向对象 2.与平台无关,提供程序运行的解释环境 3.健壮性。吸收了C/C++的优点,但去掉了其影响健壮性的部分(如:指针、内存的 申请与释放等)。 二.Java程序运行机制及运行过程 Java两种核心机制:Java虚拟机(JVM)、垃圾收集机制 1.Java虚拟机 1)Java虚拟机可以理解成一个以字节码为机器指令的CPU。 2)对于不同的平台运行平台有不同的虚拟机。 3)Java虚拟机机制屏蔽了底层运行平台的差别,实行了“一次编译,随处运行”。 2.垃圾收集机制 1)不再使用的内存空间应回收——垃圾收集。 2)在C/C++等语言中,由程序员负责回收无用内存。 3)Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪 存储空间的分配情况。在JVM空闲时,检查并释放那些可被释放的存储器空间。 4)垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。三.Java开发环境的下载、安装、配置

1.下载JDK 2.安装 3.在系统属性高级标签中配置path&classpath环境变量 path:windows系统执行命令时要搜索的路径(bin文件夹)如:“%path%;c:\jdk\bin” classpath:java在编译和运行时要找的class所在的路径如:“.;c:\jdk\lib” 注:路径可以为多个(因为一台电脑可以安装多个JDK),但从第一个路径开始找。 在DOS中键入“java-version”可以看当前所用的JDK版本。 4.验证 在DOS中输入javac、java命令进行验证,出现一长串代码表示环境变量配置成功。 javac:java编译器,编译java程序。 将java源代码文件(.java)转换成字节码文件(.class)。 java:java解释器,运行java程序。 用来执行javac编译成的字节码。 四.Java Application初步 例:简单的helloworld程序。 public class helloworld { public static void main(String args[]) { //输出“helloworld” System.out.println(“helloworld”); } } 此程序用DOS编译运行方法: 命令javac后面跟文件名 命令java后面跟主类(含有main方法) 主类不一定是public类

java项目经理自我介绍

java项目经理自我介绍 在面试时Java项目经理岗位时,我们会面对形形色色的问题,而最令人哑口无言的,往往是一些最简单和最常见的题目,比如"请你自我介绍一下"。大多数应征者的反应是--我应该如何作答呢?以下是小编为你整理的java项目经理自我介绍,希望大家喜欢。 java项目经理自我介绍篇1 尊敬的XX领导: 您好! 我是20XX年毕业于XX计算机科学技术专业的学生。昨天晚上,在贵公司的官方网站上看到公司在招聘手机软件开发工程师这一职位,于是我写了这封求职信,希望贵公司能给我一次工作的机会。 大学四年时间,我主要学习的是关于C语言、C++、JAVA等编程书籍以及软件,熟悉JAVA的Struts框架。曾经在某电子科技公司完成了手机刷卡器的开发工作,主要完成了注册、应用等一系列流程。

随着触摸屏手机的普及,苹果、三星、HTC手机越来越流行。手机应用开发越来越手欢迎,很多手机游戏、应用造就了一大批软件开发公司的出现。至于为什么读这个专业呢,就是因为这些手机游戏与应用吸引了我,所以大学四年,我一直钻研手机的软件开发,最自豪的是,曾经开发过一款手机游戏,一个月的下载量达到几十万。而正是如此,因为自己所做的东西,受到了别人的肯定,一直鼓励着喔,不断开发新的吸引人的软件。 最后,希望经理看完的这封求职信后能给我一次学习的机会,到贵公司工作,继续满足我这份为自己理想奋斗的心。 java项目经理自我介绍篇2 有三年以上项目经理经验,技术与管理能力俱佳。在JAVA/J2EE方面有深厚的经验,包括javascript, Ajax, jsp, Servlet, JDBC, JSTL, JAVA MAIL and JMS等。在以下主流框架上有深厚的经验,包括Struts,Spring,Hibernate,iBatis,FLEX,另外也熟悉ExtJS。对WEB服务器Tomcat有深厚的经验。对数据库MySQL有深厚的经验,另外也熟悉Oracle。熟悉Windows,Linux操作系统。 在xx公司任职期间,于20xx.12-20xx.06期间带领研发团队进行了人才测评系统的项目研发工作。在xx公司时,于 20xx.02-20xx.09期间带领研发团队进行了Panta FX的项目研发工作,但由于当时日方consulting人员的调研不足,使得我方在系统架构设计方面存在了缺陷,最终导致在性能测试上没有达到客

1 Java语言概述答案

第1章 Java语言概述 一、判断题 1.Java语言是一种解释执行的语言,这个特点是Java语言的一个缺点。(F)2.Java源程序的文件名一定要与文件中某个类的名称一致。(T) 3.Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。(T) 4.Java中的标识符和关键字都是区分大小写的,如果把声明类的class写成Class或者CLASS,编译会出错。(T) 5.Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取,它不一定与程序的主类名一致。(F) 6.在JDK命令行开发工具中,用编译程序javac.exe编译生成的文件是二进制可执行文件。(F) 7.Java程序可以分为Java Application和Java Applet两类。(T) 8.Java虚拟机可以在Microsoft Windows系列、Linux、UNIX、Mac OS等操作系统下执行Java字节码程序。(T) 9.javac是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是class。(T) 10.appletviewer是Java小应用程序(Applet)浏览器,可以执行HTML文件 中的JavaApplet。它是个模拟浏览器,可以显示Applet的运行结果。(T) 二、选择题 1.Java工具JDK中用来运行Applet程序的命令是(D)。 A.java B.javac C.applet D.appletviewer 2.列说法不正确的是(B)。 A.一个Java源程序经过编译后,得到的文件扩展名一定是class B.一个Java源程序编译通过后,得到的结果文件数也只有一个 C.一个Java源程序编译通过后,得到的结果文件数可能有多个 D.一个Java源程序编译通过后,不一定能用Java解释器执行 3.编译Ja源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A.java B.class C.html D.exe 4.安装JDK时,为了能方便地编译和运行程序,应该设置环境变量变量的名称是(C)。 A.JAVAHOME B.java C.path C.classpath 5.Java编译程序的文件名是(C)。 A.java.exe

最受欢迎的Java框架介绍

最受欢迎的Java框架介绍

17个最受欢迎的Java 框架:优点、缺点 Java 依旧是最受欢迎的编程语言。这里是如今被使用最多的Java 框架第一部分。 在2018年,Java 依旧是世界上最受欢迎的编程语言。它自带一个庞大的生态和全世界超过900万的Java 开发者。虽然Java 不是最简单的语言,但是你不必从零开始写Java 程序。这里有许多杰出的Java 框架可以编写运行在Java虚拟机上的web 和手机应用程序、微服务和REST API。 Java 框架允许你聚焦于你的app的业务逻辑,而不是编写如处理数据库连接或异常处理这样的基础功 能。此外,如果你有一些Java 的经验,你可以更快的开始。这些框架都使用相同的语法并且与相似的 条件、模型和概念工作。 我们前17 的Java 框架基于直到2018年的使用情况并按字母顺序排列展示的。这里是顶级Java 框架的第一部分。 Blade:极小占用的简单应用程序框架 Blade 是一个轻量级、高性能的Java 框架,它允许你用简单的方式快速构建web 应用程序。作者希望用户再一天内了解整个框架。因此,Blade 专注于简洁和优雅。 Blade 框架遵循MVC(模型-视图-控制器)软件设计模式。它有易于理解的设计,并且不依赖其他任何 第三方库或引入太多层。Blade 基于Java 8。Netty web服务器和模板引擎也内置于框架中。它占用极小,源代码总共小于500kb。

用Blade,你可以访问RESTful 风格的路有接口并可以将你的app 作为当作基础Maven 项目部署。Blade 也内置了安全功能。例如,它带有CSRF(跨站点请求伪造)和XSS(跨站点脚本)防御。它是 一个多功能框架,因为它自带插件扩展和webjar 资源的支持。其主站的文档是中文的。但是,它在 Github repo 也有英文文档。 Dropwizard:生产级RESTful Web 服务 Dropwizard 是一个高性能且简单的用于快速开发RESTful Web 服务的Java 框架。它特别适合创建 Java 微服务。 Dropwizard 框架汇集了一些成熟的Java 库,为你提供了快速且无干扰的开发平台。它自带了一个嵌入 式Jetty 服务器、Google Guava、LogBack、Hibernate Validator、Joda Time和许多其他流行的Java 库。此外,Dropwizard 还包含可用于构建RESTful Web 服务的Jersey 和用于处理JSON 的jackson。你可以将Dropwizard 想成一个独立的生态系统,包含了上述所有依赖捆绑为一个单独的包。 如果你选择Dropwizard,你将不必花费大量时间为如配置、监控、日志的辅助功能编写代码。相反, 你可以专注于你的app 的主要业务逻辑并达到最大生产率。这就是为什么Dropwizard 经常被称为操作 友好的Java 框架。如果你之前写过Java 那么入门不会很难;Dropwizard 的文档甚至有一个简单的 Hello World 示例,它可以帮助你完成第一步。 Grails:基于Groovy 的Web 应用程序框架

Java语言简介

Java语言简介 1.Sun公司和Java的诞生 美国硅谷有一句行话,每10年~15年有一次轮回。最近的一次轮回就是从Java开始。 Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。 Sun 的Java 语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。Sun 内部人员把这个项目称为Green ,那时World Wide Web 还在图纸上呢。该小组的领导人是James Gosling ,是一位非常杰出的程序员。他出生于1957年,于1984年加盟Sun Microsystem 公司,之前在一家IBM研究机构工作。他是SunNeWs 窗口系统的总设计师。也是第一个用C实现的EMACS的文本编辑器COSMACS 的开发者。 在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。 为了使整个系统与平台无关,Gosling 首先从改写C编译器着手。但是Gosling在改写过程中感到仅C是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?Gosling 回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身(后来发现Oak已是Sun公司另一个语言的注册商标,才改名为Java,即太平洋上一个盛产咖啡的岛屿的名字)。 Gosling 在开始写Java 时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式,即Java 语言编译后产生的是虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。这样一来,Java就成了平台无关语言。这和Gosling设计的SunNeWs 窗口系统有着相同的技术味道。在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。 Patrick Naughton 也是Sun公司的技术骨干,曾经是Open Windows 项目的负责人。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun 的两位领导人Scott McNealy 和Bill Joy 的关注,但Java的前途未卜。 到了1994年,WWW已如火如荼地发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。 这项工作由Naughton 和Jonathan Payne 负责,到1994年秋天,完成了WebRunner

Java语言概述(试题)

第一讲 Java语言概述1.Java语言有哪些特点? 2.什么叫做类?什么叫做对象? 3.简述Java的运行机制。 4.简述Java应用程序的开发流程。 5.当初Sun公司发展Java的原因是: (a)要发展航空仿真软件 (b)要发展人工智能软件 (c)要发展消费性电子产品 6.Java是从哪种语言改进并重新设计? (a)Ade (b)C++ (c)Pascal 7.Java因为什么快速发展而走红? (a)个人计算机与网络 (b)游戏软件 (c)系统软件 8.Java程序的种类有: (a)内嵌于Web文件中,由浏览器来观看的__________ (b)可独立运行的__________ (c)服务器端的_________ 9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。 10. 判断:用Javac编译Java源文件后得到代码叫字节码。()

参考答案 1.答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能 2.答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。 3.答:Java程序的运行必须经过编写、编译、运行三个步骤。编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java的Java源文件。编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。 4.Java应用程序的运行经过编写、编译、运行三个步骤。 第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。 第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译。 第3步,执行程序。在同样的命令窗口中输入“java filename”形式的命令执行程序。 完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。 5.c 6.b 7.a 8.Applet Application Servlets 9.软件模型 10.true

Java概述和数据类型

Java概述和数据类型 一、选择题 1、下列能生成Java文档的命令是 A)java B)javaprof C)jdb D)javadoc 2、下列标识符中合法的是 A)_book B)5files C)+static D)-3.1415926 3、下列数中代表八进制整数的是 A)0xA6 B)0144 C)1840 D)-1E3 4、下列数中代表单精度浮点数的是 A)0652 B)3.4457D C)0.298f D)0L 5、下列数中代表十六进制整数的是 A)0123 B)1900 C)fa00 D)0xa2 6、下列属于反斜杠字符的正确表示是 A)\\ B)*\\ C) \ D)\’\’ 7、下列说法中正确的是 A)Java的源文件名与程序类名可以不同 B)java语言以方法为程序的基本单位 C)Applet是Java的一类特殊应用程序,它嵌入HTML中随主页发布到互联网上 D)由//符号开始的是多行执行语句 8、下列特点中,属于Java虚拟机执行特点的是 A)字节代码B)二进制代码C)静态连接D)编译执行 9、Java语言的许多特点中,下列不属于C++语言特点的是 A)高性能B)跨平台C)面向对象D)有类库 10、Java虚拟机的执行过程有多个特点,下列不属于JVM执行特点的是 A)多线程B)动态连接C)异常处理D)异步处理 11、在Java语言中对象的清除有多种实现的机制,下列技术属于垃圾回 收机制的是 A)字节编译B)内存跟踪C)语法检查D)堆栈上/下溢检查 二、填空题 1、按作用域分类,变量有局部变量、、方法参数和异常处理参数。 2、Java语言的各种数据类型之间提供两种转换:转换和强制转换。 3、字符变量以char表示其类型,它在内存中占bit。 4、Java语言的各种数据类型之间提供自动转换,如第1操作数是byte类型、第2操作数是float类型,其结果是类型。 5、在Java语言中,如数字后没有任何字母,计算机默认其值是类型。 三、编程题

非常经典java求职简历(三套_含项目介绍)

java 个人简历范本(有工作经验版) 做事比较有耐心,学习勤奋刻苦,脚踏实地。 敢于创新,沟通能力,接受能力良好,信任工作伙伴,注重团队合作精神。 善于发现并解决问题。 2003年9月—2006 年6月 重庆科技学院 计算机网络 大专 OA 系统、成都敬业房产公司会员管理系统等项目。经过不段的努力,得誉,得到公司领导赏识。

项目经验 2007/10--2008/9:成都汉易房产楼盘管理系统 开发工具:Eclipse、Dreamweaver、SQL Server2005数据库 使用技 术: strutshibernatespring、、、Jxl、 JFreeChart 项目描述:该系统是为四川汉易房地产开发有限责任公司开发的,设计到楼盘的开发、销售、客户、物业管理等综合管理系统,其 主要功能分为如下几个模块:房产资料、销售管理、财务管理、客户管理、统计报表、物业管理、系统管理、权限管理。 技术描述:系统采用sshjs p strutshibernatestruts服务器端传递信息的重要组件,通过使用组件模strutshibernatejava jdbc hibernate API三大框架进行架构和开发,充当表示层,中的Action充当业务控制层,充当数据持 久层,采用作为表示层和业务层的媒介,它是客户端和 型,将表示层和业务层耦合性降低。通过这一基于的开放源代码的持久化中间件,将做了轻量级 封装,不仅提供ORM映射服务,还提供了数据缓存功能以及通过检索策略实现数据查询,以便方便的通过来操纵数据库。 另外,考虑到用户操作时的方便,本系统在一些添加操作中可以通过读取Jxl读取Excel进行批量添加。 在统计报表这一块,本系统使用了JFreechart进行图形处理。 责任描述:在该系统中本人主要负责如下模块: 房产资料:项目概况、户型资料、房间资料、房屋定价、价格调整销售管理:接待记录、预约登记、销售登记、退房登记、换房登记统计报表:房产报表、销售报表、财务报表 权限管理:动态菜单、角色管理 2007/1--2007/10:博鑫汽车贸易有限公司OA系统 开发工具:Eclipse、Dreamweaver、SQL Server2005数据库 使用技 术: strutshibernate spring、、、Jxl 项目描述:该系统是为博鑫汽车贸易有限公司开发的OA系统,其主要功能设计到:个人事务管理、信息发布、信息交流、 公文流转、协同办公、办公用品管理、固定资产管理、财务管理、人力资源和权限系统管理九个模块。 技术描述:采用struts,spring,hibernatestrutsstrutsspringspringhibernate js p等框架开发,所有的控制由完成,提交到的用户请求交由管理, 统一管理业务层的所有事务。对数据的操作交由完成。展示层用页面充当。 在公文流转这个模块里面使用了Jxl对Excel进行了操作。 责任描述:在该系统中本人主要负责如下模块: 个人事务管理:我的工作台、日程安排、任务中心、工人文件夹、名片夹和备忘录信息发布:公告通知、内部期刊、销售播报、工程播报和知识文档的发布 信息交流:即时通讯、内部邮件 权限系统:登陆动态菜单,新建角色,分配权限 2006/9--2006/12:成都敬业房产公司会员管理系统

Java语言简介

Java是一种电脑编程语言,拥有跨平台、面向对象、泛型编程的特性。任职于太阳电脑的詹姆斯·高斯林(James Gosling)等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设定在家用电器等小型系统的程式语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通讯。由于这些智能化家电的市场需求没有预期的高,太阳公司放弃了该项计划。随着1990年代互联网的发展,太阳公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java 舍弃了C++语言中容易引起错误的指針,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳公司对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言” Java不同于一般的编译语言和解释语言。它首先将源代码编译成字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。 与传统型态不同太阳公司在推出Java时就将其作为开放的技术。全球数以万计的Java 开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是太阳公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来太阳公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

JAVA介绍

java - 计算机编程语言免费编辑修改义项名 所属类别: 生活日用品|编程技术 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式 系统应用程序等。 基本信息 ? 外文名称 Java ? ? 现公司 Oracle ? 推出时间

折叠编辑本段发展历程 JAVA 价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。 由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为"字节码"的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。 由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992

java语言概述习题教学内容

j a v a语言概述习题

第1章java语言概述习题 一、填空题 1、面向对象程序的主要特征:继承,______封装_________,______多态 ________。 2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重复或者复用___. 3、java语言中,为将源代码翻译成_字节码___文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。 4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java是java语言中的解释行器,基本语法是:java[选项]___类名___. 5、java语言的主要贡献者是谁_James Gosling________ 二、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名( )。 A、java B、.class C、html D、.exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下()项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg)

D、public void main(String arg[]) 三、判断题 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。对 2、Java语言的源程序不是编译型的,而是编译解释型的。对 四、问答题 1、编写、运行java程序需要经过哪些主要步骤? 2、阅读下列 java源代码文件,并回答问题 public class Speak{ void speakHello(){ System.out.println("I'm glad to meet you"); } } class Xiti8{ public static void main(String args[]){ Speak sp=new Speak(); sp.speakHello(); } } (1)上述源文件的名字是什么? (2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么? 第2章(1)基本数据类型练习题 一、填空题 1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____. 2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_ float __和__double__两种具体类型。

JAVA卡技术概述

JA V A卡技术概述 ---------------------------------------------------------------------------------------------------------------------- 编辑整理:https://www.doczj.com/doc/8711694145.html,编辑:王鹏来源:门禁 关键字:JA V A爪哇卡(JavaCard)技术可使以爪哇语言所写成的程序,在智能卡和其它资源受限装置上执行。本文将让您一览爪哇卡技术,包括该系统的结构和组件。本概述的目的在让您对爪哇卡技术有一个整体性了解,并介绍有关爪哇卡系统的重点和基本概念,以利程序开发者设计程序之用。 一、爪哇卡技术之组件 爪哇卡技术包括下列部分: *精简后之爪哇程序语言以及适合智能卡应用的虚拟机(JavaCardVirtualMachine,JCVM)定义 *核心之爪哇卡应用程序接口(ApplicationProgrammingInterface,API)及其延伸部分*爪哇卡之执行时期环境(JavaCardRuntimeEnvironment,JCRE) 爪哇卡应用程序接口和执行时期环境是以智能卡工业标准ISO7816为模型而设计,因此,爪哇卡平台可轻易支持跟ISO7816第一到第六部分兼容的智能卡系统和应用。 爪哇卡应用程序被称为applets。爪哇卡平台可支持多重应用(multiapplication)环境。爪哇卡应用程序则是在爪哇之执行时期环境内处理和执行。 二、精简之爪哇卡语言 若智能卡的程序可使用爪哇程序语言的所有功能写成当然最好,不过对智能卡和其它资源受限装置来说,由于运算资源有限,要完全支持爪哇程序语言是不可能也不切实际的事。一般智能卡是以1K的随机存取内存(RAM),以及16K的非挥发性内存(EEPROM或RAM)和24K的只读存储器(ROM)规格出现,因此,爪哇卡平台仅能支持经小心选取且已规格化而有精简功能的爪哇语言。此精简爪哇语言包含之功能,适于设计智能卡以及其它小型装置的程序,同时还能保留爪哇程序语言以对象为导向(object-oriented)的能力。说明爪哇程序语言所不支持的功能,可能要比说明其可支持的功能容易许多。爪哇卡平台不支持:*大型基本数据类型:长整数、双倍浮点、浮点 *字符和字符串 *多元数组 *动态类别加载 *安全管理者 *垃圾收集及终结 *穿线 *对象复制 这些不受支持功能的关键词自然会自爪哇语言中省略。部分进阶爪哇智能卡可提供垃圾收集机能,以激活爪哇卡应用程序删除功能。遭删除的应用程序空间可能可以,也可能无法再被使用,不过此乃视在该智能卡上所使用的垃圾收集者之功能范围而定。一般而言,如果某项语言功能未清楚指明为不受支持的话,它就属于受支持的精简功能。 三、爪哇卡平台结构 爪哇程序语言原本是为运算资源相当丰富的系统而设计。尽管爪哇卡平台支持一规格化之精简爪哇程序语言,但是将整个爪哇卡平台安装在有限内存和处理能力的智能卡上,是不适合的事。即使做得到,但是如此一来,类别库(classlibraries)或应用程序将无空间可用。爪哇卡平台的一项重要特色是其为一分布式系统。事实上,它是在空间和时间上分散于智能卡和桌上计算机间的系统。

相关主题
文本预览
相关文档 最新文档