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语言 | 19世纪70年代初问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言。 |
C++ | 在C基础上,1983年贝尔实验室推出了C++。 |
Java | 由Sun公司于1995年5月推出。 |
Python | 由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。 |
Ruby | 在20世纪90年代由日本人松本行弘开发。 |
尽管人们发现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 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。