海妖 发表于 2015-1-18 11:36:24

JAVA教程之Java开辟手艺十年的回忆与瞻望仓酷云

其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。  从JDK出生到如今已有11年的工夫了。白云苍狗一刹时。转眼11年已往了,JDK已公布了6个版本。在这11年里出生了有数和Java相干的手艺和尺度。如今让我们进进工夫地道,从头回到1995年,再往返顾一下Java的开展轨迹和汗青变迁。

  1、JDK前传

  在这个天下上,熟习Java汗青的人十分多,假如要问一团体Java是从哪年出生的,大概年夜多半人城市回覆是1995年(这个十分好记,由于微软的Windows95也是在这一年公布的)。但现实上Java早在上个世纪90年月初就入手下手酝酿了。

  1991年4月,Sun公司的JamesGosling向导的绿色企图(GreenProject)入手下手出力开展一种散布式体系布局,使其可以在各类消耗性电子产物上运转。而Green项目组的成员一入手下手利用C++言语来完成这个项目,因为Green项目组的成员都具有C++背景,以是他们起首把眼光锁定了C++编译器,Gosling起首改写了C++编译器,但很快他就感应C++的良多不敷,必要研发一种新的言语Java来替换它,一杯飘喷鼻的咖啡成了它的标记。

  在17个月后,全部体系完成了,这个体系是更注意机顶盒式的操纵体系,不外在事先市场不成熟的情形下,他们的项目没有取得乐成,但Java言语却失掉了Sun总裁McNealy的欣赏。
 
  直至1994年下半年,因为Internet的迅猛开展和举世信息网WWW的疾速增加,第一个环球信息收集扫瞄器Mosaic出生了;此时,产业界对合适在收集异构情况下利用的言语有一种十分急切的需求;GamesGosling决意改动绿色企图的开展偏向,他们对Oak举行了小范围的改革,就如许,Java在1995年的3月23日出生了!Java的出生标记着互联网时期的入手下手,它可以被使用在环球信息收集的平台上编写互动性及强的Applet程序,而1995年的Applet无疑能给人们无量的视觉和脑力震动。我们临时将Java的这段汗青称为Java前传吧。

  实在Java的出生很有那末一股“故意栽花花不开,无意插柳柳成阴”的滋味。就象昔时Unix和它的前身MULTICS体系一样。


<br>
Java开创人JamesGosling博士
  二、JDK的少小时代(1995~1998)

  Sun继Green项目后又经由了几年的研讨,终究在1995年5月23日在SunWorld"95上正式公布Java和HotJava扫瞄器。在同年,有良多公司前后取得了Java允许证,如Netscape在1995年8月,Oracle在1995年10月分离取得了Java允许证。Sun在1995年公布第一个Java版本后,于1996年1月公布建立新的营业部门──JavaSoft部,这个部分次要卖力开辟、发卖并撑持基于Java手艺的产物,由AlanBaratz师长教师任总裁。

  在1995年Sun固然推出了Java,但这只是一种言语,而要想开辟庞大的使用程序,必需要有一个的壮大的开辟库撑持还行。因而,Sun在1996年1月23日公布了JDK1.0。这个版本包含了两部分:运转情况(即JRE)和开辟情况(即JDK)。在运转情况中包含了中心API、集成API,用户界面API,公布手艺,Java假造机(JVM)五个部分。而开辟情况还包含了编译Java程序的编译器(即javac)。在JDK1.0时期,JDK除AWT(一种用于开辟图形用户界面的API)外,别的的库其实不完全。

  Sun在推出JDK1.0后,紧随着,Sun在1997年2月18日公布了JDK1.1。JDK1.1相对JDK1.0最年夜的改善就是为JVM增添了JIT(立即编译)编译器。JIT和传统的编译器分歧,传统的编译器是编译一条,运转完后再将其抛弃,而JIT会将常常用到的指令保留在内容中,鄙人次挪用时就不必要再编译了。如许JDK在效力上有了十分年夜的提拔。

  Sun在推出JDK1.1后,接着又推出了数个JDK1.x版本。自从Sun推出Java后,JDK的下载量不休彪升,在1997年,JDK的下载量冲破了220,000,而在1998年,JDK的下载量已凌驾了2,000,000。

  固然在1998年之前,Java被浩瀚的软件企业所接纳,但因为事先硬件情况和JVM的手艺缘故原由,它的使用却很无限。事先Java次要只利用在前真个Applet和一些挪动设备中。但是这其实不即是Java的使用只限于这些范畴。在1998年是Java入手下手迅猛开展的一年。在这一年中Sun公布了JSP/Servlet、EJB标准和将Java分红了J2EE、J2SE和J2ME。标记着Java已吹响了向企业、桌面和挪动3个范畴进军的军号。

  3、JDK的青少年时代(1998~2004)

  到1998年,Java已走过了3个岁首。从JDK1.0到JDK1.1.8。JDK1.x经由了9个小版本的开展,已初具范围。至此,它已走出了摇篮,能够往独闯天下了。

  在1998年12月4日。Sun公布了Java的汗青上最主要的一个JDK版本:JDK1.2。这个版本标记着Java已进进Java2时期。这个时代也是Java飞速开展的时代。

  在Java2时期Sun对Java举行了良多反动性的变更,而这些反动性的变更一向相沿到如今,对Java的开展构成了深远的影响。

  JDK1.2自从被分红了J2EE、J2SE和J2ME三年夜块,失掉了市场的激烈反应。不但云云,JDK1.2还对它的API分红了三年夜类。

  中心API
  由Sun公司制订的基础的API,一切的Java平台都应当供应。这就是我们寻常所说的Java中心类库。

  可选API
  这是Sun为JDK供应的扩大API,这些API因平台的分歧而分歧。

  特别API
  用于满意特别请求的API。如用于JCA和JCE的第三方加密类库。

  Java2除上述的一些改善外,还增添了良多新的特征。个中最吸引眼球确当属Swing了。Swing是Java的另外一个图形库。它不仅有形形色色先辈的组件,并且连组件作风都可抽换。在Swing呈现后,很快就抢了AWT的风头。但Swing并非为代替AWT而存在的,现实上Swing是创建在AWT之上的。就象JFace是创建在SWT之上一样。别的Java2还在多线程、汇合类和非同步类上做了大批的改善。

  从JDK1.2入手下手,Sun以均匀2年一个版本的速率推出新的JDK。在2000年5月8日。Sun对JDK1.2举行了严重晋级。推出了JDK1.3。

  Sun在JDK1.3中一样举行了大批的改善,次要体现在一些类库上(如数学运算、新的TimerAPI等)、在JNDI接口方面增添了一些DNS的撑持、增添了JNI的撑持,这使得Java能够会见当地资本了、撑持XML和利用新的Hotspot假造机取代了传统的假造机。

  在JDK1.3时期,响应的使用程序服务器也失掉了普遍的使用,如第一个不乱版本Tomcat3.x在这一时代失掉了普遍的使用,WebLogic等贸易使用服务器也垂垂被承受。

  工夫如水、性命如歌。转眼到了2002年。Sun在这一年的2月13日公布了JDK汗青上最为成熟的版本:JDK1.4。在进进21世纪以来,已经在.NET平台和Java平台之间产生了一次大张旗鼓的孰优孰劣的论争,Java的次要成绩就是功能。

  因而,此次Sun将次要精神放到了Java的功能上。在JDK1.4中,Sun放言要对Hotspot假造机的锁机制举行了改善,使JDK1.4的功能有了质的奔腾。同时因为Compaq、Fujitsu、SAS、Symbian、IBM等公司的介入,使JDK1.4成为开展最快的一个JDK版本。到JDK1.4为止,我们已可使用Java完成年夜多半的使用了。

  4、JDK的丁壮时代(2004~至今)

  固然从JDK1.4入手下手,Java的功能有了明显的进步,但Java又面对着另外一个成绩,那就是庞大。

  固然Java是纯面向对象言语,但它对一些初级的言语特征(如泛型、加强的for语句)其实不撑持。并且和Java相干的手艺,如EJB2.x,也因为它们的庞大而很少有人问津。大概是Sun意想到了这一点。因而,在2004年10月,Sun公布了我们等候已久的版本:JDK1.5,同时,Sun将JDK1.5更名为J2SE5.0。和JDK1.4分歧,JDK1.4的主题是功能,而J2SE5.0的主题是易用。Sun之以是将版本号1.5改成5.0,就是预示着J2SE5.0较之前的J2SE版本有着很年夜的悔改。

  Sun不但为J2SE5.0增添了诸如泛型、加强的for语句、可变数量参数、正文(Annotations)、主动拆箱(unboxing)和装箱等功效,同时,也更新的企业级标准,如经由过程正文等新特征改良了EJB的庞大性,并推出了EJB3.0标准。同时又针对JSP的前端界面计划而推出了JSF。这个JSF相似于ASP.NET的服务端控件。经由过程它能够很快地创建起庞大的JSP界面。

  到往年岁尾Sun也不屈不挠地推出了J2SE6.0的测试版,估计在2007岁首将推出它的正式版。

  正象J2SE6.0的开辟代号“野马(Mustang)”一样,我们已模糊听到了野马的嘶叫。据Sun讲话人泄漏,J2SE6.0不但在功能、易用性方面失掉了亘古未有的进步,并且还供应了如剧本、全新的API(Swing和AWT等API已被更新)的撑持。并且J2SE6.0是专为Vista而计划的,它在Vista大将会具有更好的功能。在推出J2SE6.0的同时,J2SE7.0项目也已启动。

  在Java开展的十几年的工夫里,履历了有数的风风雨雨。如今Java已成为一种相称成熟的言语了。在这10年的开展中,Java平台吸引了数百万的开辟者,在收集盘算广泛环球的明天,更是有20亿台设备利用了Java手艺。作为Java手艺的基本,J2SE功不成没,让我们希冀J2SE陪伴Java平台一起走好!

  5、JDK各版的公布工夫表

到如今为止我们已从头走了一遍Java的汗青轨迹。在这一部分,为了有一个整体的熟悉,让我们来看一看Java开展的工夫表。(版本号称号中文名公布日期)

JDK1.1.4Sparkler宝石1997-09-12JDK1.1.5Pumpkin南瓜1997-12-13JDK1.1.6Abigail阿比盖尔--男子名1998-04-24JDK1.1.7Brutus布鲁图--古罗马政治家和将军1998-09-28JDK1.1.8Chelsea切尔西--乡村名1999-04-08J2SE1.2Playground体育场1998-12-04J2SE1.2.1none无1999-03-30J2SE1.2.2Cricket蟋蟀1999-07-08J2SE1.3Kestrel美洲红隼2000-05-08J2SE1.3.1Ladybird瓢虫2001-05-17J2SE1.4.0Merlin灰背隼2002-02-13J2SE1.4.1grasshopper蚱蜢2002-09-16J2SE1.4.2Mantis螳螂2003-06-26J2SE5.0(1.5.0)Tiger山君2004-10J2SE6.0(Beta)Mustang野马2006-04
  从这个表中我们能够看出一个十分成心思的征象,就是JDK的每个版本号都利用一个开辟代号暗示(就是表中的中文名)。并且从JDK1.2.2入手下手,次要版本(如1.3,1.4,5.0)都是以鸟类或哺乳植物来定名的.而它们的bug修改版本(如1.2.2,1.3.1,1.4.2)都是以虫豸定名的。

  6、Java的将来10年

  在2005年的JavaOne开辟者年夜会上,JamesGosling作了题为“Java手艺下一个10年奉献”的演讲。谈到将来Java的开展时,JamesGosling提到了有关Java软件的功能和庞大性成绩。鉴于很多呆板运转着大批历程的实践情形,人们对线程模子投以愈来愈多的存眷。

  跟着人们对桌面使用的请求愈来愈高,体系将变得愈来愈庞大。他指出:“从工程的角度来看,将来10年内我们所面对的最年夜应战就是庞大性成绩,”JamesGosling说,“今朝,我们展开了很多事情以办理使用编程接口、言语和工具中所触及的庞大性成绩。在工具和用户界面(UI)中城市碰到庞大性成绩,Java手艺计划职员必需处置好巨细尺寸调剂和国际化的成绩。”

  在此次年夜会上,JamesGosling还同Java手艺前驱,现任Kleiner,PerkinsCaulfieldandByers合股人的BillJoy师长教师,Sun公司首席迷信家JohnGage师长教师,将来研讨所主任PaulSaffo师长教师,Sun出色工程师GuySteele师长教师和AppliedMindes公司主席及首席手艺官DannyHillis师长教师等一同切磋了会商Java言语的已往和将来开展情形。

  他们以为,Java手艺进步了盘算的“活动性”,就好像泉币的创造进步了商品的活动性一样。无所不在的收集丰厚了每一个人的信息,就好像能够兑换的泉币发生了财产一样。因为夙昔的收集是很慢的,以是盘算被束厄局促在特定的盘算机上,而这类情形将一往不复返了。

  今朝,环球Java开辟职员已凌驾450万,而与之绝对应的是Java社区充斥活气和立异精力,这恰是Java下一个10年加倍昌盛的保证。为了坚持Java的增加和促进Java社区的介入,Sun在JavaOne开辟者年夜会上公布开放Java中心源代码,以勉励更多的人介入到社团举动中来,这是Sun为促进社团开展和保护Java手艺兼容性而迈出的主要一步。

  Sun公司总裁兼首席运营官JonathanSchwartz师长教师指出,来自Java社团和IBM等环球手艺互助同伴两方面的撑持,乃是Java手艺在立异和社会前进上持续发扬主要感化的强无力的标记。手艺开放和社团建立下降了手艺使用的壁垒,其了局是为介入和增加制造了更多的商机,这就构成了代价上千亿美圆的Java家产。

  有良多人以为Java开源后,在浩瀚开辟职员的介入之下,Java会变得加倍壮大。跟着Java和IT业界的干系变得加倍严密,Sun公司也将更简单卖出本人兼容Java优秀的WEB服务器和操纵体系。这个举措将会给软件开辟群体带来新的活气,改良Sun公司的公家抽象,并同时证实Sun能够成为一个开源社会的“良平易近”。

  跟着Java的开源,Java的将来仿佛变得加倍开阔爽朗。在将来,Java的使用局限有大概变得更广。Sun董事长麦克里尼在2006年的JavaOne集会上说,“环球有3/4的人还不克不及接进Internet,这对Java手艺同伴来讲是一个伟大的经济时机。瘦客户机、巨大的传感器和别的Java驱动的小安装,能够匡助我们改良人们的生存。他但愿Java社区经由过程他们的事情可以弥合数字鸿沟”。

  Sun以为,数字媒体将是Java的下一个重点市场,同时,教导和安康将是将来Java开展过程当中的两年夜重点使用范畴。希望Java的将来真能象Sun传播鼓吹的那样,成为我们将来生存的一部分。
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。

再见西城 发表于 2015-1-21 10:56:48

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

精灵巫婆 发表于 2015-1-30 05:21:08

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

变相怪杰 发表于 2015-2-6 07:35:31

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

第二个灵魂 发表于 2015-2-15 16:14:05

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

灵魂腐蚀 发表于 2015-2-20 23:42:12

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

简单生活 发表于 2015-3-6 15:47:40

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

海妖 发表于 2015-3-13 04:06:09

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

莫相离 发表于 2015-3-20 11:41:47

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

不帅 发表于 2015-3-23 10:16:32

Java 编程语言的风格十分接近C、C++语言。

小魔女 发表于 2015-3-27 09:08:19

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

若相依 发表于 2015-3-27 12:12:23

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

只想知道 发表于 2015-4-1 18:30:48

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

金色的骷髅 发表于 2015-4-5 20:42:03

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

乐观 发表于 2015-4-9 08:20:15

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

柔情似水 发表于 2015-4-21 10:25:25

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

爱飞 发表于 2015-4-21 23:11:42

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

冷月葬花魂 发表于 2015-6-12 06:27:22

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

深爱那片海 发表于 2015-6-22 00:31:02

是一种突破用户端机器环境和CPU
页: [1]
查看完整版本: JAVA教程之Java开辟手艺十年的回忆与瞻望仓酷云