为什么要学Java?

如题所述

在 Java 技术诞生后的这五年,Java 变成了大家朗朗上口的名词,种种的说法中,有些是事实,有也一些夸大不实。你可能会想知道:你该不该去学 Java,我给你的答案是肯定的,请听听我的说法。 Java 是什么? 你必须先了解 Java 究竟是什么?当人们提到「Java」,他们指的可能是: Java 程序语言:一个类似 C++ 或 Smalltalk 的对象导向程序语言。学习 Java 程序语言类似学人类语言,都有一套规则和文法。 Java 虚拟机器(JVM):用来执行 Java 程序。JVM 有许多平台的版本,比方说 Linux 和 Windows 版。有了 JVM,Java 程序就可以在不同的平台上执行,也就是所谓的「写一次,到处都可执行」。 Java APIs(指的是函式库的程序设计接口):是一组预先定义好的类别,可以在你的程序中直接使用。这些东西是免费的,功能包含了像是档案存取,网络读写,图形接口等等。 当人们提到「学习 Java」,通常他们指的是 Java 语言和 API。大家可能对 JVM 所知不多,虽然对 JVM 有基本的认识对 Java 的学习是很有帮助的。 对象导向程序设计 对象导向程序设计已经广为接受,凌驾于传统的程序导向程序设计。对象导向程序设计带来许多额外的威力,但对象导向的学习曲线也较陡。如果你已经懂一套对象导向语言,那么你学 Java 就会容易多了。 如果你不了解对象导向程序设计,你有一个漫长的旅程必须经历。以我自己来说,我花了约四年的光阴,才领悟了对象导向的精髓,不过这四年我的学习是蛮随兴的。如果你正在上好老师的课,或正埋首于一堆好书之中,或许可以缩短到几个月就够了。千万别轻忽对象导向观念的学习,因为 Java 语法好学,但是要写出良好的对象导向程序可不容易。 学习Java 的理由中,有些是技术性的,有些则是非技术性的。我先描述两个程序的特色(垃圾搜集和例外处理),然后我告诉你:为什么在程序设计的领域中,Java 几乎是必备的技能。我也会告诉你 Java 开发工具的信息和它们吸引人的售价。 感谢老天,有「垃圾收集」真好! 使用C++,你可能一不小心就写出会当机的程序;如果使用 Java,情况就大不相同了。C++ 程序的头号 bug 是内存配置的失误。C++ 的程序员很辛苦,必须直接配置一块内存,这块内存不用时还必须主动归还。这听起来简单,做起来可不容易,所以 C++ 的程序常常会耗尽内存。 Java 就不同了。虽然你仍需要主动配置内存,但此内存一旦不再使用时就会自动释放,这就称为「垃圾收集(garbage collection)」。垃圾收集机制使得写程序时轻松许多,虽然因此执行时效率稍微变差,但影响可能轻微得你根本感觉不到。 例外处理机制让程序更稳固 不管是什么程序语言,都可以轻易地写出很糟糕的程序,但是使用 Java 想写出很糟糕的程序就不容易了。原因之一是垃圾收集,原因之二是「例外处理机制」。良好的程序员写出来的程序应该在一些意外状况发生时程序依然正常。档案无法开启,怎么办?万一读档读到一半时出问题,怎么办?如果你是用 C++ 或其它语言,你可能会疏于考虑而没进行这些意外状况的处理。你可能会辩白:「我只是在试试看这样写能否行得通,我稍后会回过头来把程序改得更周延」。但结果通常是:程序执行正常后,你又会忙着写新的程序,这么一拖后来就忘了回头处理还不完整的部分。问题终究还是会爆发出来,你终究还是要面对烂摊子。 Java 强迫你在一遇到有可能出问题的地方就要准备好因应之道。Java 的 method 可以丢出例外,用来通知呼叫者程序出状况了,这是相当好的机制。即使你的程序要开启档案,你都必须在程序中写好例外处理方式。 到处都是 Java 到处都可见到 Java,这是一大好处。如果你靠写程序为生,你可能迟早都会接触到 Java。Java 已经渐渐地渗透到各领域,你可以写出 Java servlet,将其挂在 Apache 或其它网页服务器上,你可以写出 Java applet,在网页浏览器上执行。你甚至可以用 Java 写出数据库的 stored procedure,然后安装到 Oracle 8i 上。 我打赌,你身边使用 Java 的同事也会渐渐多起来。1997 年开始,许多大学已经用 Java 取代 C 当作程序设计教学的语言。如此一来,Java 变成了程序员共通的语言。如果学习 Java 所为你带来的唯一好处是方便和同事沟通,那么也值得。 最后,我要提的是:「写一次,到处都可执行」。Java 早期版本(1.0 和 1.1)比较无法完全跨平台,但现在就好多了。如果你想散布一个程序到多个平台,又不想改写大部分的程序,那么 Java 是绝佳的选择。Java 2 现在已经可以在 Linux、许多 Unix、和 Windows 上执行了。 MacOS 9 的 Java 仍在 1.1 时代。然而,Apple 的下一代操作系统 OS X 是以 Unix 为核心,这使得移植软件的过程大大简化了。我不知道 Apple 官方的说法为何,但是在今年三月的时候,我就已经看到 OS X developer release 3 上面执行着 Java 2。我很有自信 Java 2 将可以在 Linux、OS X、和 Windows 上执行,这样已经涵盖了大部分的计算机世界。 Java 免费 Sun 提供 Java 相关的工具,让你可以开发与执行 Java 程序。你无须支付授权费,你也不用花钱买 Java 开发工具。当然,Sun 这么做自有他们的如意算盘,Scott McNealy(Sun 的老板)恨不得能征服世界,但是不管怎样,我们的的确确是不用付钱给任何人就可以享受 Java。 而且,Java 的 API 是珍贵的宝藏,让我们可以轻易地写出功能强大的程序。想写网络程序?已经有 API 了!想连接数据库?已经有 API 了!想写 GUI 程序?已经有 API 了!或者是想做数字影像处理、音乐文件处理、字符串剖析、数字签章?通通有 API 了!身为一个程序员,有这么多好用的 API 真的是再高兴不过的事了,这些 Java API 让我们不用「重新发明轮子」,省却不少功夫。Java 有这么广泛、标准、先进的 API,简直是让 C++ 程序员忌妒死了。C++ 程序员常要花时间学一些 C++ 类别库(比方说 MFC),然后到 Linux 上又得归零学另一套(因为 Linux 上没有 MFC)。一旦你学会了某 Java API,到哪儿都一样不会变动,不用重学。 最后,Java 的信息文件都可从网站上免费取得。如果你有网络而且有空,你可以直接透过网络学习对象导向、Java 语言、以及 Java API。Sun 在网站上放了一大堆很棒的线上教材。如果你习惯看书来学习,市面上有一堆 Java 的书可以参考(比方说,我写的 Learning Java)。 日光浴 Java 比其它语言来得有趣许多。Java 程序语言有许多「防呆装置」让你不会在程序中犯下大错,所以你可以很快地把程序写完,而如果使用其它语言必须要花更多时间。一份有趣的资料显示:用 Java 写程序比用其它语言快了四到十倍。我知道这听起来很不可思议,不过你可以问问周遭懂 Java 的人看看。不用花很多时间找 bug,意味着你可以在海滩上休息更久,意味着你可以接受阳光的日光浴而非「屏幕的日光浴」。用 Java 为你赚进的银两为自己买一副太阳眼镜吧!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-30

java是目前主流的开发语言,程序员不论是大数据、云计算、web前端、后端开发等都需要从java学起,如果你想计入IT高薪行列,建议学java!关于java难不难的问题,不同的人肯定有不同的看法,掌握了方法,就可以用更有效率的方式进行学习。

java学习内容主要有:

①JAVA编程基础(基础语法、面向对象、和谐特性等)

②WEB应用开发(静态网页制作、Oracle数据库、Java Web开发技术、Linux技术、网站性能与安全、软件工程开发流程、Java Web和谐等)

③企业级框架开发(数据结构与算法、SSH框架、JavaEE和谐等)

④项目实训

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

第2个回答  2016-11-30
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。
Java稳定,应用广泛,一定时期内很难被其他编程语言取代;而许多大型系统都是用java开发,也不可能轻易使用其他语言待遇,所以java的前景应该是稳定而光明的。
第3个回答  2017-11-01
1.Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2,Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。尚学堂的java就讲的不错
3.Java稳定,应用广泛,一定时期内很难被其他编程语言取代;而许多大型系统都是用java开发,也不可能轻易使用其他语言待遇,所以java的前景应该是稳定而光明的。
第4个回答  2021-01-22
Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在三个方面:
1、Java的风格类似于C++,因而C++程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快地掌握Java编程技术。
2、Java摒弃了C++中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。
3、Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。
面向对象的面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
健壮的Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比C++还要严格。类型检查帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C++中最头疼的内存泄漏问题。
安全的Java的安全性可从两个方面得到保证。一方 面,在Java语言里,删除了指针和释放内存等C++功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的安全架构能确保恶意的代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。
解释的Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C++程序是编译执行的,C++程序代码被编译为本地机器指令,然后
与平台无关的
Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。
多线程的Java语言的一个重要特性就是在语言级支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子—就好像单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,如果现在有5个人来做桌子—在程序中开辟5个线程,其中1个人做桌面,另外4个人分别做4个桌子腿,那么这两种方式效率的高低,相信大家都能区分出来。
动态的Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,这是我们采用C++语言进行面向对象程序设计所无法实现的。在C++程序设计过程中,每当在类中增加一个实例变量或一个成员函数后, 引用该类的所有子类都必须重新编译,否则将导致程序崩溃。Java从以下几个方面采取措施来解决这个问题。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来,传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。一个在存储器中生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。 解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。Java还简化了使用一个升级的或全新协议的方法。