黑马程序员--java简介

来源:互联网 发布:淘宝联盟21号不能提现 编辑:程序博客网 时间:2024/05/20 02:53

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一、Java的诞生

           Java是1995年6月由Sun公司引进到这个世界的革命性编程语言,它被美国的著名杂志《PC Magazine》评为1995年十大优秀科技产品。之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件进行一番改动,耗时费力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,Java编写的软件就能在其上运行。

   Java的出现是源于对独立平台语言的需要,希望这种编程语言能编写出嵌入各种家用电器等设备的芯片上、且易于维护的程序。但是,人们发现当时的编程语言,比如C、C++等都有一个共同的缺点,那就是针对CPU芯片进行编译,这样,一旦电气设备更换了芯片就不能保证程序正确运行,就可能需要修改程序并针对新的芯片重新进行编译。1990年Sun公司成立了由James Gosling领导的开发小组,并致力于开发一种可移植的,跨平台的编程语言,该编程语言能生成正确运行于各操作系统、各种CPU芯片上的代码。他们的精心专研和努力促成了Java的诞生。Java的快速发展得利于Internet和Web的出现,Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来。

二、Java的特点

    Java是目前使用最为广泛的网络编程语言之一。它具有简单、面向对象、与平台无关、解释器、多线程、安全、动态等特点。

    简单:指这门编程语言既易学又好用。不要将简单误解为这门编程语言很干瘪。你可能很赞同这样的观点:英语要比阿拉伯语言易学。但是并不意味着英语就不能表达丰富的内容和深刻的思想,许多获得诺贝尔文学奖的作品都是用英文写的。如果你学习过C++,你会感觉Java很眼熟,因为Java中许多基本语句的语法和C++一样,像常用的循环语句、控制语句和C++几乎一样,但不要误解为Java是C++的增强版,Java和C++是两种不同的编程语言,它们各有各的优势,将会长期并存下去,Java和C++已成为软件开发者应当掌握的编程语言。如果从语言的简单性方面看,Java要比C++简单,C++中有许多容易混淆的概念,过着被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,例如,Java不再有指针的概念。

    向对象:基于对象的编程更符合人的思维方式,使人们更容易编写程序。

    与平台无关:与平台无关是Java的最大优势。其它语言编写的程序面临的一个主要问题是:操作系统的变化。处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。Java的虚拟机成功解决了这一问题,Java编写的程序可以在任何安装了Java虚拟机(JVM)的计算机上正确的运行,Sun公司实现了自己的目标——“一次写成,处处运行”。

    解释器:我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,改代码的运行就和特定的CPU有关。Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行。

    如果把Java的程序比作“汉语”的话,字节码就相当于“世界语”,世界语不和具体的“国家”有关,只要这个“国家”提供了“翻译”,就可以快速的把世界语翻译成本地语言。

   多线程:Java的特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。实际上都多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机的处理器在同一时刻只能执行一个线程,但是处理器可以在不同的线程之间快速的切换,由于处理器速度非常快,远远超过人接收信息的速度,所以给人的感觉好像是多个任务在同事执行。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。

    安全:当准备从网络上下载一个程序时,最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至改程序是一个病毒程序等。当你使用支持Java的浏览器时,你可以放心的运行Java的小应用程序(Java Applet),不必担心病毒的感染和恶意的企图,Java小应用程序将限制在Java运行环境中,不允许它访问计算机的其他部分。

    动态:Java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库,而不像C++那样,每当其类库升级之后,如果想让程序具有新类库提供的功能,就需要修改程序、重新编译。

三.Java的组成与体系

       Java由4方面组成:
       1)Java编程语言
       2)Java文件格式
       3)Java虚拟机(jvm)
       4) Java应用程序接口(Java API)
   体系方面,Java分为三个体系:
       1)JavaSE(J2SE)    (Java2 Platform Standard Edition,java平台标准版)
       2)JavaEE(J2EE)    (Java 2 Platform,Enterprise Edition,java平台企业版)
       3)JavaME(J2ME)   (Java 2 Platform Micro Edition,java平台微型版)

四.Java的发展前景及影响

    自从Sun被甲骨文收购以后,Java的发展前景就变得扑朔迷离起来,很多程序开发者都感到很迷惑。2010年4月9日,被称为Java之父的詹姆斯·高斯林又在个人博客上宣布离开Oracle,这一事件更为Java的前景增加了一层迷雾。但是在进入5月份之后,一切开始变得明朗起来。
     在Oracle的活动发布网站上,连续发布了多个关于Java的推广活动。5月12日,Oracle主要产品负责人Dave Hofert将大谈对JavaSE商业应用的改进和革新。根据宣传资料,在这次演讲中,DaveHofert将提到以下问题:商业版与社区版本之间平台支持的差异。如何获得专家帮助,以帮助企业增强其Java应用。对于旧版本的安全修补问题。可使用的发布工具和更新。6月18、19、20、27日,将分别在赫尔辛基、斯图加特、布达佩斯、伦敦举行Oracle、Sun专家与用户见面会,在见面会上与用户一起探讨Java的发展路线。主要讨论的问题包括Oracle将如何继续投资和改进Java技术,并且还会向用户通报JavaSE、JavaME专家团队的最新消息、JavaFX和JDK7最新的消息,以及OracleBerkeley DB的相关信息。5月3日,已经离开Oracle近一个月的Java之父詹姆斯·高斯林在他的博客上表达了对NetBeans 6.9 和 FX1.3发布的关心。这两个项目最新版本的发布,可以证明Oracle已经开始兑现当初的承诺。詹姆斯·高斯林在其早期的博客中,也透露了不会放弃Java事业,只是需要解决一些与Oracle之间的法律问题。这一切迹象表明,Oracle绝对不会轻易放弃Java这块巨大的蛋糕,并且Oracle也开始逐渐学会了对开源社区的尊重。首先在JDK的商业版本方面,Oracle将会继续深入挖掘Java的商业利益,与其固有产品进行更深入的整合。在社区版本方面,Oracle将与Java开发者一起探讨和研发Java的技术。这里需要特别提到的一个产品是Oracle BerkeleyDB,该产品是Oracle一直支持的一个开源非关系数据库产品,在NoSQL大行其道的今天,如果Oracle能够将BerkeleyDB与Java进行深入整合,将会为Java带来更多的活力和生命。从詹姆斯·高斯林的表现来看,他似乎与Oracle之间已经达成某种谅解,并且有进一步合作的可能性。
      1991年,Sun公司的James Gosling,Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(橡树)软件,他是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,得以研发和发展。由于Oak商标已经被Oak Technology注册,1995年Oak短暂更名为Green,最后更名为Java。Java的得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。很快Java被工业界认可,许多大公司如IBM Microsoft.DEC等购买了Java的使用权,并被美国杂志PC Magazine评为1995年十大优秀科技产品。从此,开始了Java应用的新篇章。
      Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:
       1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
       2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。
       3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。
       4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。


----------------------ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
0 0
原创粉丝点击