JAVA是软件吗?还是什么

装修宝典07

JAVA是软件吗?还是什么,第1张

JAVA是软件吗?还是什么
导读:Java远不止是一种编程语言,它是企业内外的完整计算环境,而且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一直到 *** 管理工具、支持、培训、咨询和集成服务,一应俱全。Java使用起来非常简单,部分原因是Sun提供一种全面统一的解决

Java远不止是一种编程语言,它是企业内外的完整计算环境,而

且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一

直到 *** 管理工具、支持、培训、咨询和集成服务,一应俱全。Java

使用起来非常简单,部分原因是Sun提供一种全面统一的解决方案。

主要组成部分包括:

Java开发工具和服务:有助于简化开发Java应用软件的产品和

服务

JavaOS:一种结构紧凑的操作系统,可使Java应用软件在 ***

计算机和蜂窝 *** 等设备上运行

Java虚拟机:一层软件,嵌入Windows、Macintosh和UNIX等计

算机操作系统,或在这些操作系统上运行,从而使计算机能

运行Java应用软件

Java API:标准软件界面,位于Java应用软件和数据库检索和

安全性等服务软件之间

Java芯片:一系列为Java优化的为处理器

Solstice WorkShop:Java启动的 *** 管理工具

Java培训:一个由教师指导和基于多媒体的完整课程,教会编

程员如何开发Java应用软件,包括一个用来验证熟练程度的

认证计划

JavaWorkShop支持:900号 *** 服务,可为Java WorkShop用户

(仅限美国用户)立即提供按需支持

这些产品依靠由Sun的核心技术和服务提供的基础,包括:

Solaris操作系统

Sikstuce企业管理系统

WorkShop开发者工具

SunSpectrum支持服务

Internet咨询和集成服务

Java和Internet教育服务

ultra工作站和Ultra Enterprise服务器;Netra服务器

首先零基础的你要了解什么是Java?有哪些优势?

1995年,Oak语言更名为Java语言(以下简称为Java)。Java的取名有一个趣闻:据说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡。有一个人灵机一动,说就叫Java,并得到了其他人的赞赏。于是,Java这个名字就这样传开了。

Java应用如此广泛是因为Java具有多方面的优势。其特点如下:

(1)面向对象。Java自诞生之时就被设计成面向对象的语言,而C++语言是一种强制面向对象的语言。面向对象可以说是Java最重要的特性,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码重用。

(2)跨平台。对于Java程序,不管是Windows平台还是UNIX平台或是其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。

(3)直接支持分布式的 *** 应用。除了支持基本的语言功能,Java核心类库还包括一个支持HTTP、 *** TP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问 *** 上的对象,其访问方式与访问本地文件系统几乎完全相同。在Java出现以前,为分布式环境尤其是Internet提供动态的内容无疑是一项非常宏伟、难以想象的任务,但Java的语言特性却使我们很容易地达到了这个目标。

(4)安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。Java支持自动内存管理,这不但让程序员减轻了许多负担,也减少了程序员犯错的机会。Java自己操纵内存减少了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。

接下来就看一下java的学习路线以及学习 *** 吧!首先是学习路线:

之一阶段JavaEE基础:Java基础语法、面向对象、核心类库、 *** 、异常、IO、线程、JDK新特性

第二阶段JavaWeb开发:前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页 *** P、AJAX

第三阶段Java高级框架:SpringMVC、MyBatis、Spring、MySQL高级、Linux&Redis&Nginx、Maven、中公MIS权限系统

第四阶段大型微服务分布式项目实战:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、Angular *** 、Spring Security、BCrypt加密、FastDFS、分布式事务处理、Redis Cluster、Solr、SolrCloud、MongoDB简介、MyCat、Docker、Jenkins、大型电商实战、百战商城等

第五阶段项目设计分析:医疗管理项目

其次是java学习 *** :之一步:对于Java的基本认知

很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。

Java零基础入门视频教程推荐:

Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程

本套课程是由高淇老师开讲的Java300集! 为初学者而著! 适合准备入行开发的零基础员学习Java。基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

在这个阶段,很多同学学得很快,感觉编程好简单。

随着学习的深入,大多数同学会产生混乱。 为什么? 所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用 *** 。 信息量逐级增加。

信息量逐级增大后,会有什么问题?

学到后面忘记前面。

新技术不断出现,感觉永远学不完。 丧失兴趣或信心。

第二步:理论知识学习

这一过程尤为重要,毕竟这是学习Java的关键,而且,这一过程对于系统化的要求更高,如何循序渐进,有方式有目的的学习,将是小白更加快速的学懂Java的关键。

理论知识阶段,更重要的是理解原理和规律, 知识点的细节记不住可后面查找。学习 *** 更重要的是 交流讨论,理解和总结。 多问为什么是关键!

第三步、真实实训项目、培养实操能力

一个项目从0到1的过程才是最宝贵的,也是初学者提升更大的部分。 但从书本或者视频中,很难学习这个过程。

技术的应用能力换句话说是 技术的分解排序能力, 当遇到一个需求,该如下实现?

基本的思路是 把需求分解成原子操作。 原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。

如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰。

所以需要找大量的练习和项目案例进行实践!!!

生命是无止境的,学习不止,每天都“强迫”自己取得一点进步。随着时间的流逝,成就将不可避免地出现。

java是什么

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

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

Java发展历程

20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动 *** 等)的智能化程度。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、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。

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

1997年2月,JDK 11面世,在随后的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 12的附加程序提供的,后来它成为了JDK 13及之后所有版本的Sun JDK的默认虚拟机。

2000年5月,JDK13、JDK14和J2SE13相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。2001年9月24日,J2EE13发布。2002年2月26日,J2SE14发布。自此Java的计算能力有了大幅提升,与J2SE13相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安 *** 接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。2004年9月30日,J2SE15发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 15更名为Java SE 50(内部版本号150),代号为“Tiger”,Tiger包含了从1996年发布10版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化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源代码进行修改。

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

新手学习的话可以去百度传课、腾讯课堂、网易云课堂学习参考,便于入门,如果需要详细的学习大纲,可以去java大数据培训机构索取或者学习

Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等。Sun内部人员把这个项目称为Green,那时World Wide Web还在图纸上呢。该小组的***是James Gosling,41岁。于1984年加盟Sun Microsystem公司,以前在一家IBM研究机构工作。他是Sun NeWs窗口系统的总设计师,虽然当时NeWs在技术上非常成功,但在商业上却完全失败,没有了Java那么好的运气。Gosling是一位非常杰出的程序员,GO *** ACS也是Gosling写的,它是之一个用C实现的EMACS的文本编辑器。

在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案,从8086-80586都可以上。

从C++开始 为了使整个系统与平台无关,Gosling首先从改写C++编译器着手。但是Gosling在改写过程中感到仅C++是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢 Gosling回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身。(后来发现Oak已是Sun公司的另一个语言的注册商标,才改名为Java,即爪哇,太平洋上一个盛产咖啡的岛屿的名字)。

Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行软硬件环境,他要建立一个系统,这个系统运行于一个巨大的、分布的、异质的 *** 环境中,完成各电子设备之间的通讯与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式。即Java语言编译后产生的是虚机器码,虚机器码运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,Java就成了平台无关语言。这和Gosling设计的Sun NeWs窗口系统有着相同的技术味道,在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。

当Patrick Naughton加入该小组后,整个工作进展神速。Naughton也是Sun公司的技术骨干,曾经是Open Windows的项目的负责人。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统,一种语言(Java),一个用户界面,一个新的硬件平台,三块专用芯片的构成。而通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做一次展示和鉴定,观众的反应是: 在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun的二位***Scott McNealy和Bill Joy的关注,但Java的前途未卜。

初战告败

接着,Java项目的工作人员开始做应用规划,着手成立一家公司,从事消费类电子产品的开发,这家公司就是FirstPerson Inc。公司的之一个项目就是Time-Warner的投标项目,顶置盒式操作系统和请求式电视技术。虽然FirstPerson Inc在技术毫不逊色于任何公司,但是由于经营策略上的失误,败给了SGI。FirstPerson一直到1994年初仍在坚持开发专用的顶置盒式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线电视网的实验都以失败告终。

Naughton立即认识到研究方向应该转移。在Naughton的努力下,研究开始向在线服务,CD-ROM和基于 *** 的台式机方向转移。最后FirstPerson解散,一部分人去了Sun Interactive开发数字视频数据服务器,而另一部分开始把Java用于基于 *** 的台式机系统。

Java语言的转折点

到了1994年,WWW已如火如荼的发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。

“什么是Java?”

Java,由Sun Microsystems公司于1995年5月推出,它是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。

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

“Java是怎么来的?”

20世纪末,硬件领域出现了单片式计算机系统,这种系统价格低廉,立即引起了研究人员的注意,由于C++程序过于复杂和庞大,研究人员开发了一种称为Oak的面向对象语言。这是Java的雏形。

1995年,业界为了使单调的静态网页能够“灵活”起来,急需开发一种程序。这时,Sun公司想起了那个被搁置很久的Oak,并将Oak更名为Java,它语言精简,程序非常小,适合在 *** 上传输。

1995年5月,Sun公司正式发布Java。从此Java一路披荆斩棘,在经历20多年的发展之后依然长盛不衰,常年雄踞各大编程语言排行榜之一位,这也凸显了其在IT技术领域的绝对统治力。

“学了Java,我能干什么?”

●程序员,穿梭在各种软件开发之间;

●架构师,参加大型项目的实现;

●网站开发,把若干个页面组成 *** ;

●游戏开发,在以前诺基亚还很流行的时候,手机游戏有90%以上都是Java开发的;

除此之外还可以做嵌入式设备、消费类电子产品开发、桌面程序等工作。

Java技术作为互联网的中流砥柱,其应用范围之多,就业岗位之多,堪称之一。

“Java的就业前景饱和了吗?”

Java技术几乎无处不在,只要有使用到电子产品的地方,就会和Java挂钩。

近年,我国互联网发展尤为迅速,外卖、电商、短视频等各类产品层出不穷。其中,推动我国互联网飞速发展,网民规模持续增长离不开一批中国程序员在背后的辛苦工作。

1Java在我国的 *** 情况:

以某 *** 网站为例:

2Java程序员薪资范围分布图:

从上图我们可以看到,超过半数的资深程序员年薪在20万以上,并且有近 40% 的资深程序员年薪在 25- 50 万之间。

3程序员也是一门“铁饭碗”

2018 年下半年开始,很多互联网公司大面积裁员,大家都说“资本寒冬”到来,但是从调查结果中可以看到909%的程序员“根本没在怕的”!

“Java的应用范围有多广?”

Java能做的事情很多,涉及到编程领域的各个方面,从电子商务网站到 Android 应用,从科学应用到金融应用,从游戏到桌面应用等等。

● Android应用

打开你的安卓手机和任何一款App,他们都是使用Java语言开发的。

市场上见到的手机系统,例如MIUI,阿里云,乐蛙等,都是修改源代码再发行的。

● 金融业应用的服务器程序

因Java的安全性比较高,使其在金融服务业方面的应用广泛。

大部分银行和第三方交易系统均用Java开发前台和后台电子交易系统以及数据处理项目等等。

● Web应用

Java 语言在电子商务领域以及网站开发的领域都占据了一定的位置。开发人员可以用不同的框架来创建web项目。

时常被应用在各个 *** 部门如科学技术部、国家安全部、文化部等部门。

● J2ME应用

有一段时间,安卓上可用的游戏、软件几乎全部是用MIDP、CLDC,他们是J2ME平台的一部分。

● 大数据技术

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

● 嵌入式领域

Java在嵌入式领域的发展有着广阔的空间。在这样平台上,只需130KB就可以很好使用Java技术。

“什么样的人适合学Java?”

● 逻辑思维能力强

对于Java来说所有功能都是通过编写代码实现的,需要开发人员具备较强的逻辑性和运算性。

● 端正心态、踏实耐心

在平时的工作中会有一大部分时间是花费在解决bug上,在遇到问题后一遍遍的排查代码,所以拥有良好的心态也是必不可少的优势。

● 不断学习的能力

随着科技的发展会不断出现各种新型的技术,开发人员需要及时的关注这些新技术并且转化为自己技能。

JAVA简介

  它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、 *** 、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机 *** 上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。  JAVA

Java 编程语言的风格十分接近C、C++ 语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 15 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 142 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的NET平台以及模仿 Java 的 C# 语言。

名字起源

  Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans( *** 豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。 据James Gosling(詹姆斯·高斯林)回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling(高斯林)注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。在命名征 *** 上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在之一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。

早期Java

  Java平台和语言最开始只是SUN公司在1990年12开始研究的一个内部项目。SUN公司的一个叫做帕特里克·诺顿的工程师被升阳自己开发的C 和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。 “Stealth 计划”后来改名为“Green计划”,James Gosling(詹姆斯·高斯林)和麦克·舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,SUN公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C 语言,但是很多成员包括升阳的首席科学家比尔·乔伊,发现C 和可用的API在某些方面存在很大问题。 工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。 根据可用的资金,比尔·乔伊决定开发一种集C语言和Mesa语言大成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。 就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库,和其硬件。最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能 *** 来帮助用户。1992年12月3日,这台设备进行了展示。 同年11月,Green计划被转化成了“FirstPerson有限公司”,一个SUN公司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Request for proposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多地控制权,因此FirstPerson的投标败给了SGI。与3DO 公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回SUN公司。

Java视频教程 孙鑫Java无难事 (全12CD)

http://bbstopsagecom/dispbbsaspboardID=121&ID=154630

上海交大 Java初级编程基础 共25讲下载 avi格式

http://bbstopsagecom/dispbbsaspboardID=121&ID=185162

张孝祥Java课堂系列之 Tomcat入门(七讲 swf)

http://bbstopsagecom/dispbbsaspboardID=121&ID=181503

张孝祥Java课堂系列之 Servlet开发入门 (九讲 swf)

http://bbstopsagecom/dispbbsaspboardID=121&ID=181502

张孝祥Java课堂系列之 HTTP协议详解(四讲 swf)

http://bbstopsagecom/dispbbsaspboardID=121&ID=181500

张孝祥Java课堂系列之 Web XML基础(四讲 swf)

http://bbstopsagecom/dispbbsaspboardID=121&ID=181499

J2EE视频教程 中间件技术 浙江大学胡晓军 全24讲完整版下载

http://bbstopsagecom/dispbbsaspboardID=121&ID=181597

EJB技术及应用视频教程 东北大学 全26讲完整版 RMVB格式

http://bbstopsagecom/dispbbsaspboardID=121&ID=181583

J2EE开发IDE Eclipse视频教程 全9CD 完整版

http://bbstopsagecom/dispbbsaspboardID=121&ID=158075

Java视频教程 即学即会java

http://bbstopsagecom/dispbbs_121_156264_6html

Java 编程初步 傻瓜书

http://bbstopsagecom/dispbbsaspboardID=121&ID=159167

零基础学Java电子教程 附随书光盘

http://bbstopsagecom/dispbbsaspboardID=121&ID=181032

数据结与算法 Java语言版

http://bbstopsagecom/dispbbsaspboardID=121&ID=160250

精通JBuilder 2005 中文版 高清PDF+随书光盘

http://bbstopsagecom/dispbbs_121_172861_1html

程序天下:J2EE整合详解与典型案例 电子教程+随书光盘

http://bbstopsagecom/dispbbsaspboardID=121&ID=181884

*** F JavaServer Faces in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=160229

Spring in Action (第二版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=146170

Manning jQuery in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174769

Spring In Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174107

AspectJ in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174106

Hibernate In Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174105

Struts in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174005

Lucene in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=173991

Wrox出版 Beginning Spring Framework 2

http://bbstopsagecom/dispbbsaspboardID=121&ID=175714

Java Extreme Programming Cookbook

http://bbstopsagecom/dispbbsaspboardID=121&ID=174729

Java Programming Cookbook

http://bbstopsagecom/dispbbsaspboardID=121&ID=173667

Beginning Java Objects

http://bbstopsagecom/dispbbsaspboardID=121&ID=174685

Building Java Enterprise App

http://bbstopsagecom/dispbbsaspboardID=121&ID=174684

Ant: The Definitive Guide

http://bbstopsagecom/dispbbsaspboardID=121&ID=174683

Better Faster Lighter Java

http://bbstopsagecom/dispbbsaspboardID=121&ID=174681

Hibernate Reference 31

http://bbstopsagecom/dispbbsaspboardID=121&ID=174674

Pragmatic Version Control using CVS

http://bbstopsagecom/dispbbsaspboardID=121&ID=174479

Pragmatic Project Automation

http://bbstopsagecom/dispbbsaspboardID=121&ID=174476

jQuery Reference Guide

http://bbstopsagecom/dispbbsaspboardID=121&ID=174411

Java 2 核心技术 卷1&卷2 CHM版

http://bbstopsagecom/dispbbsaspboardID=121&ID=174123

Wrox Professional Java JDK 6 Edition

http://bbstopsagecom/dispbbsaspboardID=121&ID=163451

Java 2 宝典

http://bbstopsagecom/dispbbsaspboardID=121&ID=159154

侯捷java编程思想 PDF中文版

http://bbstopsagecom/dispbbsaspboardID=121&ID=163902

Learning Java (第三版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=146869

The Java Language Specification

http://bbstopsagecom/dispbbsaspboardID=121&ID=176082

Beginning Java Programming for Dummies 第二版

http://bbstopsagecom/dispbbsaspboardID=121&ID=163923

Java 2 核心编程

http://bbstopsagecom/dispbbsaspboardID=121&ID=146174

Java How to Program (第六版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=146371

Java All-In-One案头参考傻瓜书 (第二版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=152871

21天自学 Java 6 (2007年5月更新出版) PDF

http://bbstopsagecom/dispbbsaspboardID=121&ID=159315

Java咖啡馆

http://bbstopsagecom/dispbbsaspboardID=121&ID=151447

Thinking in Java(第四版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=152053

深入学习JFC SWING - Java基础类组件集

http://bbstopsagecom/dispbbsaspboardID=121&ID=152049

J2EE全实例教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=158057

Java信息系统设计与开发实例(第二版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=151993

Java优化编程

http://bbstopsagecom/dispbbsaspboardID=121&ID=151994

Effective Java

http://bbstopsagecom/dispbbsaspboardID=121&ID=175258

Java信息系统设计与开发实例(第二版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=151993

Tricks of the Java Programming

http://bbstopsagecom/dispbbsaspboardID=121&ID=159305

Wrox Professional Java Native Interfaces with SWT JFace

http://bbstopsagecom/dispbbsaspboardID=121&ID=159290

Java Swing 第二版 PDF文字版 O'Relliy出版

http://bbstopsagecom/dispbbsaspboardID=121&ID=159158

O'Reilly - Java Database Programming with JDBC

http://bbstopsagecom/dispbbsaspboardID=121&ID=159292

JDBC与Java数据库程序设计

http://bbstopsagecom/dispbbsaspboardID=121&ID=151448

Learning JQurey (2007年7月最新出版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=159652

J2EE with BEA WebLogic Server

http://bbstopsagecom/dispbbsaspboardID=121&ID=176088

Pragmatic Unit Testing in Java with JUnit

http://bbstopsagecom/dispbbsaspboardID=121&ID=176084

Wiley出版 J2EE 14 Bible

http://bbstopsagecom/dispbbsaspboardID=121&ID=176080

J2EE设计开发编程指南

http://bbstopsagecom/dispbbsaspboardID=121&ID=159288

Java Web Services简明教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=159159

O'Reilly Java and XML (第二版PDF)

http://bbstopsagecom/dispbbsaspboardID=121&ID=146231

O'Reilly Java and XML (第三版PDF)

http://bbstopsagecom/dispbbsaspboardID=121&ID=167584

Java技术XML高级编程

http://bbstopsagecom/dispbbsaspboardID=121&ID=147800

Java Reflection in Action [MANNING]

http://bbstopsagecom/dispbbsaspboardID=121&ID=178017

Java Puzzler (Java 解惑)

http://bbstopsagecom/dispbbsaspboardID=121&ID=178016

Java Database Best Practices

http://bbstopsagecom/dispbbsaspboardID=121&ID=178015

Struts: The Complete Reference

http://bbstopsagecom/dispbbsaspboardID=123&ID=178025

Log4j The Complete Manual

http://bbstopsagecom/dispbbsaspboardID=121&ID=178023

Programming for the Java Virtual Machine

http://bbstopsagecom/dispbbsaspboardID=121&ID=178021

Expert One-on-One J2EE Design and Development

http://bbstopsagecom/dispbbsaspboardID=121&ID=160652

Expert One-on-One J2EE Development without EJB

http://bbstopsagecom/dispbbsaspboardID=121&ID=160653

JBoss - A Developer's Notebook

http://bbstopsagecom/dispbbsaspboardID=121&ID=146179

The Java Programming Language (第四版)

http://bbstopsagecom/dispbbsaspboardID=121&ID=147095

Professional Java Development with the Spring Framework

http://bbstopsagecom/dispbbsaspboardID=121&ID=159303

Core Java Server Faces 第二版

http://bbstopsagecom/dispbbsaspboardID=121&ID=145549

精通Enterprise JavaBeans

http://bbstopsagecom/dispbbsaspboardID=121&ID=146018

Enterprise JavaBeans EJB 第四版

http://bbstopsagecom/dispbbsaspboardID=121&ID=159166

J2EE应用与BEA WebLogic Server (第二版PDF)

http://bbstopsagecom/dispbbsaspboardID=121&ID=146227

O'Reilly Java Web Services

http://bbstopsagecom/dispbbsaspboardID=121&ID=146377

Ant权威指南

http://bbstopsagecom/dispbbsaspboardID=121&ID=148383

Ajax和Java框架高级编程

http://bbstopsagecom/dispbbsaspboardID=121&ID=148371

Java Web Services简明教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=159159

Cross-Platform Web Services Using C# and Java

http://bbstopsagecom/dispbbsaspboardID=121&ID=160472

O'Reilly Ajax on Java

http://bbstopsagecom/dispbbsaspboardID=121&ID=160600

O'Reilly Java and XSLT

http://bbstopsagecom/dispbbsaspboardID=121&ID=149585

O'Reilly Java and XML Binding

http://bbstopsagecom/dispbbsaspboardID=121&ID=149583

O'Reilly Java and SOAP

http://bbstopsagecom/dispbbsaspboardID=121&ID=149581

Design Patterns Java Companion

http://bbstopsagecom/dispbbsaspboardID=121&ID=163920

J2EE Java黑客大曝光 开发安全的Java应用程序

http://bbstopsagecom/dispbbsaspboardID=121&ID=151446

J2ME API 速查手册

http://bbstopsagecom/dispbbsaspboardID=121&ID=158248

精通J2ME无线编程

http://bbstopsagecom/dispbbsaspboardID=121&ID=152047

J2ME开发大全

http://bbstopsagecom/dispbbsaspboardID=121&ID=151987

Beginning J2ME 从入门到精通 第三版

http://bbstopsagecom/dispbbsaspboardID=121&ID=184149

Beginning JBoss Seam从入门到精通

http://bbstopsagecom/dispbbsaspboardID=121&ID=183607

Beginning Hibernate 从入门到精通

http://bbstopsagecom/dispbbsaspboardID=121&ID=183602

Java网页开发的艺术

http://bbstopsagecom/dispbbsaspboardID=121&ID=151991

Java编程高手

http://bbstopsagecom/dispbbsaspboardID=121&ID=151990

Java 50 Tiger程序高手秘笈

http://bbstopsagecom/dispbbsaspboardID=121&ID=151989

Java2 *** 协议技术内幕(附源码)

http://bbstopsagecom/dispbbsaspboardID=121&ID=151988

Using Enterprise JavaBeans 2

http://bbstopsagecom/dispbbsaspboardID=121&ID=166051

Java技术实用教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=158244

企业级Java安全性(构建安全的J2EE应用)

http://bbstopsagecom/dispbbsaspboardID=121&ID=152048

Java语言集成开发环境Eclipse中文教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=158237

NetBeans IDE 55 企业版高级开发教程

http://bbstopsagecom/dispbbsaspboardID=121&ID=159653

Using Enterprise JavaBeans 2

http://bbstopsagecom/dispbbsaspboardID=121&ID=166051

Borland JBuilder Developer's Guide

http://bbstopsagecom/dispbbsaspboardID=121&ID=166294

Eclipse [O'Reilly]

http://bbstopsagecom/dispbbsaspboardID=121&ID=175257

Eclipse精要与高级开发技术

http://bbstopsagecom/dispbbsaspboardID=121&ID=151986

Code Generation in Action

http://bbstopsagecom/dispbbsaspboardID=121&ID=174722

Java 6 3D游戏开发

http://bbstopsagecom/dispbbsaspboardID=121&ID=160251

java

概要

Java包含了一种计算机编程语言和一个平台。

Java编程语言是一种高级语言。由Sun微系统公司(Sun Macrosystem)发布,并作为一种开放的标准进行提供。

Java平台包括了Java虚拟机和Java应用程序接口(API)。

Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。因此,Java非常适合于企业 *** 和Internet环境,现在已成为Internet中更受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。

Java的主要应用有如下几点:

利用浏览器中的Java虚拟机运行于客户端的Applet。

利用本地虚拟机运行的Java应用程序,通常利用Swing或SWT等来编写跨平台的GUI界面系统。

通过编写Servlet/ *** P来提供 *** 服务,运行于 *** 应用程序服务器中。

利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API。

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的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。

Java平台根据API和使用领域,主要分为三种技术

Java SE (旧称J2SE) - Java Platform, Standard Edition, 定位在客户端,主要用于桌面应用软件的编程

Java EE (旧称J2EE) - Java Platform, Enterprise Edition, 定义在服务器端Java2的企业版,主要用于分布式的 *** 程序的开发,如电子商务网站和ERP系统

Java ME (旧称J2ME) - Java Platform, Micro Edition, 主要应用于嵌入式系统开发,如手机和PDA的编程

Java的特色

Java从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java是

是一种软件技术

是一种由美国SUN计算机公司(Sun Microsystems, Inc)所研究而成的语言

是一种为 Internet发展的计算机语言

是一种使网页(Web Page)产生生动活泼画面的语言

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

是一种语言,用以产生「小应用程序(Applet(s))」

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

是一种将安全性(Security)列为之一优先考虑的语言

是一种使用者不需花费很多时间学习的语言

是一种突破用户端机器环境和CPU结构的语言

是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,之一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器 上(LocalMachine)并执行

是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。

是计算机的一种语言

Java起源于80年代的中末期,当时西方有一种很时髦的产品:Active TV,Java就是Sun公饲喂这种产品开发的一种语言,其目标是在小型嵌入式系统上运行。但是由于动态图像压缩标准MPEG却始终未能出台,因而这个时期的Java也就中途夭折了。到了1990年,Sun公司副总裁James Gosling再次提出Java的设计,其目标是希望仿效C和C++那样设计出一种更简单、更有效、更容易使用的跨多种计算机平台(硬件、操作系统等),可移植的通用语言。到了90年代中期,互联网迅速崛起,短短几年得到了巨速的发展,成千上万的计算机,其中有个人的、企业的、 *** 的,公司加入到了互联网上,致使互联网深入到了生活、社会、经济、政治、军事的每一个角落,因此急需开发一种跨平台软件开发工具,这给Java得到了一个极好的发展机遇,1995年Sun公司首次推出Java语言。短短的几年中Java得到了极大的发展,成立互联网开发和应用发展的一个重要工具。

二、Java的某些特点

1.通用性:指的是跨平台、跨 *** 、跨语种和跨时间。

跨平台:指的是Java与计算机平台(硬件、操作系统)无关。

跨 *** :指的是Java与 *** 平台无关,可以穿越多种常用的 *** 类型(平台)。它的结构确切地说是B/S模型(浏览器/服务器模型,亦称Web模型)。B/S模型是一种三层结构的模型:客户端/应用服务器(Web服务器)/数据库服务器。

跨语种:指的是Java的应用软件不存在语言本地化问题,它本身带有语言机制。它主要是通过所谓“国际语言管理”(International Language Management)模块实现的。

跨时间:技术更新和保护投资的方案、产品升级容易,只需编写一个新的模块,替换老模块即可。

2.可移植性:Java的源代码是可移植的,而且对现有的几乎所有操作系统无须修改便能运行,还具有多线程同步、与平台无关的用户接口、内置联网功能、对象会打印功能、出错处理、内存管理等功能。CPU可移植性和虚拟操作系统。

3.支持分布式环境:

1) 分布式对象支持:类似于微软的OLE(对象的链接和嵌入Object Linking and Embedding)。支持面向对象的“继承”特性。

2) 分布式计算环境支持:通过不断扩充的Java *** 类库支持分布式计算环境。Java提供一个URL(统一资源定位器)对象,用以打开并访问网上对象。其方式几乎与访问文件系统几乎完全相同。Java的客户机/服务器模式把运算从服务器分散到客户端。以提高系统执行效率,增加动态可扩充性