Java(计算机编程语言)

引言:

Java的诞生经历了漫长的岁月,是一场旷日持久的战争。Java的出现,为当时的编程人员提供了很多帮助,解决了不少难题。近几年,学习Java的人数占比很高,许多人都想通过学习编程,当一名程序员,获得一份收入可观的工作。Java在TIOBE(编程语言排行榜)上也是位居前列,因为当时比较火,很多人选择了Java这一门编程语言,都为了实现自己的目标拼搏着,前进着。

下面就来说说Java的发展历程Java的特点


Java帝国的诞生

要说到Java就不得不提及到C语言C++。Java是慢慢从C语言再到C++,在从C++的基础上演变过来的,在Java还没问世之前,C语言就已经统治了20几年。那么我们先了解C语言和C++。


C语言

C语言是1972年诞生的,它是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

特点:广泛性,简洁性,结构完善(贴近硬件,运行极快,效率极高)

用途:操作系统,编译器,数据库,网络系统等。

缺点:数据的封装性弱,语法限制不严格,安全性较差,语言难掌握(要操作指针和内存)。

想了解更多,请前往c语言_百度百科阅读查看。


C++

C++是1982年现世的,他是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

特点:支持数据封装和数据隐藏,支持继承和重用,支持多态性。

用途:图形领域,游戏等。

缺点:比C语言更复杂,更难掌握。

点击C++_百度百科学习更多相关知识。

因为C语言和C++有不好的地方,复杂难掌握,这时就有人提出反抗,想建立一门新的语言,语法有点像C,没有指针,没有内存管理,真正的可移植性,面向对象,类型安全,高质量类库等,反正就是摒弃原来的不足之处,创造一些更有价值的特性,一开始他们认为这是在C++的基础上做了一定的优化,就叫做C++--,考虑到最初的设计理念,偏差太大,后面就改为了Oak,但在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语,Java就在1995年诞生的。细想一下,Java语言的图标就是一杯咖啡形状的logo。

Java为了实现真正的跨平台,他们在每个操作系统之上增加了一个抽象层叫作Java的虚拟机(JVM),所有平台只要安装了JVM,就可以跑Java的程序,实现了真正的可移植性


Java初生

1995年的网页简单而粗糙,缺乏互动性,因为那时互联网刚刚兴起,技术不全面。于是Java的开发团队在浏览器上弄了个小插件,把Java的运行环境放了进去,然后开发了一个图形界面的程序(Applet),让网页美观了许多,当时Applet非常受欢迎,原来粗糙的网页,瞬间有了生机活力,许多程序员都为之感到震惊。这时就有很多人知道了Java这门语言,并加入到了Java的行业。当时有一些C语言大公司的巨头也纷纷来合作(微软,Oracle)。

Bill Gates(比尔·盖茨)说:Java是迄今为止设计的最好的语言。但是,他买完了Java的许可证之后,发现自家的浏览器也支持Applet,想去修改一下Java,想把Java绑死在Windows上赚钱,那么Java就不能实现可移植性了。于是Java就和微软发生了一场战争,逼着微软退出Java领域,后面微软就开发了自己的.net。

1995年~1997年,Java一路发展,用Java的程序员达到了几十万,Java在世界上的地位也是逐渐上升。但是后面除了Applet这一类程序的问世,就没有其他的成就了,当时就有人嘲笑Java除了在网页上弄一弄,就不能干其他的事了。

1998年,Java帝国就从三个方面向外扩张:

Java 2 标准版(J2SE):去占领桌面      (开发桌面应用的程序员,接收不了Java,为了实现Java,还有安装一个虚拟机,而且开发界面不好看)

Java 2 移动版(J2ME):去占领手机        (当时移动还没有兴起,效果并不好)

Java 2 企业版(J2EE):去占领服务器

前两个方面都没有取得成功,这时互联网发展兴起了,他们发现Java就是为了服务器而发明的,它不仅强大,健壮,安全,简单,而且跨平台,可移植性强。他们发现J2EE适合团队开发一些复杂的大型项目,然后他们授权BEA公司(非常早的公司,第一个使用了J2EE的许可证),BEA公司就开发了一款产品叫weblogic,它凭借它的集群功能第一次展示了复杂应用的可扩展性高可用性。把程序员从事务管理,安全管理,权限管理等方面解放出来了,让他们可以去专注业务去开发,这立刻维护了大量程序员的心声,很快Java的程序员突破了数百万

三高:高可用,高性能,高并发。

Java发展

榜样的力量是无穷的,许多的公司也纷纷入场,尤其是IBM(世界上最古老的一家IT信息管理的公司),它在Java疯狂投入,不仅开发了自己的一个应用服务器Websphere,还推出了Eclipse极具魅力的开发平台(Eclipse在早些年极重要的开发平台)。IBM公司利用Java获得了可观的收益,不仅软件,硬件,还有服务器都有不少的发展,将IBM公司也推向了高峰。

他们基于Java开发了巨多的平台,系统,工具:

构建工具:Ant,Maven,Jekins

应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic

Web开发:Struts,Spring,Hibernate,myBatis

开发工具:Eclipse,Netbean,intellij idea,Jbuilder

......

这些工具大部分都是开源的,Java占据了市场的主要地位,微软就开发了自己的.net,但是Java已经不在乎了,因为微软的系统是封闭的,所有的软件都是自家的,开发工具VS(Microsoft Visual Studio),应用服务器(iOS),数据库(SQL Server),你用了.net几乎就绑定上了微软,用微软的一些系统只能运行在Windows的服务器上,这种在高端的市场占有率实在是太低了。

2005年年底,一个新的王国诞生了,他们号称比Java运行效率快5~10倍,他们是谁呢?叫Ruby,它结合PHP体系的优点和Java的优点,特别适合快速的开发一些简单的Web网站,虽然发展很快,但没对Java造成持续性的威胁,因为使用Ruby这个语言,搭建大型商业系统的话还非常的少,除了Ruby之外还有PHP,Python都是适合开发一些不太复杂的Web系统的,但是大型的Web系统都是比较复杂的,属于Java去做的。

2006年:Hadoop(大数据领域) 

Hadoop

2008年:Android(手机端)

安卓

随着移动互联网的爆发,快速普及,安卓(Android)火了,运行在安卓之上的正是Java。Java王国在Google(谷歌)的支持下占领了手机端,完成了当年J2ME所要跨及的领域。

2008年以后,Java迅速发展,占据了大部分服务器端的开发,尤其是一些关键的复杂的系统,绝大多数的手机端以及大部分的大数据领域都是使用的Java,于是乎一个伟大的帝国就这样诞生了。


Java的特性和优势

1. 简单性:

Java简单易学,可以说Java就是C++语法纯净版,没有头文件,没有指针运算,也不用分配内存,而且语法基于C语言,学习起来相对容易。

2. 面向对象:

面向对象是一种程序技术,它将重点放在对象以及对象接口上,它模拟的是用人的思维写程序,所以说人去学习起来就很快。Java中就流传了这样一句话,万物皆对象

3. 可移植性:

可移植性就是跨平台性,这是Java的一个非常重要的优势。Java的代码可以跨平台去移植,不管是Windows,Linux,Mark,还是你的硬件,操作系统运行环境,只要编译一次,到处都运行。

4. 高性能:

Java里面有个叫做即时编译,它可以使某些代码的运行效率接近C++的效率,随着技术一天天的完善,也许有一天会超过C++的效率,这也是可能的,因为现在的硬件越来越强大了。

5. 分布式:

Java还可以写一些分布式的程序,它就是为网络分布式环境所设计的,因为它能够处理一些 TCP/IP 协议的东西。在Java中,通过一个URL,可以访问一些网络上的资源,就跟我们打开本地资源一样,比如:你通过Java获取一些网络上的资源,就相当于在本地上打开了一个我的电脑一样,是非常简单的。Java还支持一些远程的方法进行调用,使得一些程序通过网络去调用方法,也是非常强大的。

6. 动态性:

Java本身是不具有动态性的,但是Java有一个反射机制,通过反射机制,使得Java有了动态性。这一点也是C++无法实现的。

7. 多线程:

Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,能够提供更好的交互性。生活中有很多都是多线程,比如说:一边看书一边听音乐(在原来是不可能实现的,要么听音乐,要么看书,只能做一件事),边上QQ边玩游戏等等,这些都是我们身边多线程的应用。多线程的简单性也是Java成为主流服务器端开发语言的主要原因之一。

8. 安全性,健壮性

Java适合应用于网络上分布式环境。为了实现目标,Java团队在Java的安全性方面投入了很大的精力,使Java可以构建一些防病毒,防篡改的系统。Java吸收了C和C++的优点,而且去掉了一些影响健壮性的东西,比如说:一些指针和内存的管理。Java程序几乎不可能造成计算器的崩溃。Java系统在每次运行的时候都会对内存进行一些简单的检查,确认是否合法,不至于引起一些问题,即使出现了问题,程序也不会崩溃,因为Java了里面有一个异常机制,它可以通过捕获异常来检查程序是否可行。

如果想学习更多,请前往Java(计算机编程语言)_百度百科。


总结

Java为什么能成功?Java的成功除了它具备的一些强大的特性之外,我认为它正好踩中了互联网发展的这个节奏,就好比微软的成功,除了Windows好用之外,它刚好踩中了个人电脑发展的节奏,然后随之发展了起来。Java和微软,它们之所以成功,不仅单单是它们性能强大,还离不开当时天时地利人和的条件

我们学习Java,除了我们自身努力之外,也需要一些机遇,但是我们需要做一个准备,在机遇来临之前,我们要把自己打造成一个合格优秀,足够健壮的程序员。我们需要通过不断地学习来提高自己,从而进步,让自己的人生更有价值。

你可能感兴趣的:(Java(计算机编程语言))