为什么要学习Java编程?近些年学习Java编程的小伙伴越来越多,难道是单纯的跟风吗?小编郑重其事的告诉你并不是,很多小伙伴参加Java培训是需要交学费的,学习Java培训最终的目的是为了获得更好的就业,甚至说是为了获得高薪就业,那么学习Java编程可以获得高薪就业吗?下面小编从Java介绍开始带领大家进入Java世界。
一、什么是Java
经过了多年的发展,Java早已由一门单纯的计算机编程语言,演变为了一套强大的技术体系。是的,什么是Java,我想技术体系四个字应该是最好的概括了吧。Java设计者们将Java划分为3种结构独立但却彼此依赖的技术体系分支,它们分别对应着不同的规范集合和组件:
JavaSE(标准版),主要活跃在桌面领域,主要包含了JavaAPI组件。
JavaEE(企业版),活跃在企业级领域,除了包含JavaAPI组件外,还扩充有Web组件、事务组件、分布式组件、EJB组件、消息组件等,综合这些技术,开发人员完全可以构建出一个具备高性能、结构严谨的企业级应用,并且JavaEE也是用于构建SOA(面向服务架构)的首选平台。
JavaME(精简版),活跃在嵌入式领域,称之为精简版的原因是,它仅保留了JavaAPI中的部分组件,以及适应设备的一些特有组件。
上面讲到Java技术体系的分支,那既然Java是一种技术体系,我们来看一下组成这种技术体系的技术:
Java编程语言
字节码
JavaAPI,包括JavaAPI类库和来自商业机构以及开源社区的第三方类库
Java虚拟机
很多时候我们只关注了第一点,因为第一点才是和工作切实相关的。
二、Java的优点
Java能获得如此广泛的认可,除了它拥有一门结构严谨、面向对象的编程语言之外,还有许多不可忽视的优点:
1、它摆脱了硬件平台的束缚,实现了“一次编写、到处运行”。
2、它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题。
3、它实现了热点代码检测和运行时编译及优化,这使得Java应用能随着运行时间的增加而获得更高的性能。
4、它有一套完整的应用程序接口,还有无数来自商业机构和开源社区的第三方类库来帮助它实现各种各样的功能。
5、它与身俱来对分布式技术的支持就比较完善。
但是,Java最大的优势和财富还不是以上这些,就像高翔龙老师在《Java虚拟机精讲》中写的,Java真正强大的地方是因为拥有全世界最多的技术拥护者和开源社区支持,他们无时无刻都保持着最充沛的体力与思维,一步一步地驱动着Java技术的走向。
三、JDK和JRE
两个常见的重要概念。其实上面的图中已经划分出了JDK和JRE的范围了。我们对这张图做一个归纳,用我们的语言简单地总结一下什么是JDK和JRE:
1、JDK(JavaDevelopmentKit),是用于支持Java程序开发的最小环境,基本上Java程序设计语言、Java虚拟机、JavaAPI类库这三部分组成了JDK。
2、JRE(JavaRuntimeEnviroment),是支持Java程序运行的标准环境,JavaAPI类库中的JavaSEAPI自己和Java虚拟机这两部分组成了JRE。
四、OpenJDK
前面有讲过,“Java真正强大的地方是因为拥有全世界最多的技术拥护者和开源社区支持,他们无时无刻都保持着最充沛的体力与思维,一步一步地驱动着Java技术的走向”。其实JDK在一开始并不是开源的,但是随着开源运动的蓬勃发展,2006年Sun公司宣布将对Java开放源代码,开源的Java平台开发主要集中在OpenJDK项目上。
OpenJDK中的代码基本上都来自于OracleJDK,属于OracleJDK的一个分支,但是其中去除了一些非开源的组件和代码,替换成了开源的组件和代码,主要是加密和图形的部分。因此用OpenJDK代替OracleJDK可能会有一些的不兼容。
五、JCP和JSR
JCP(JavaCommunityProcess)是一套制定Java技术规范的机制,通过制定和审查JSR(JavaSpecificationRequests)推动Java技术规范的发展。一个已经提交的JSR要想成为最终状态,需要经过正式的公开审查,并由JCP委员会投票决定,最终的JSR会提供一个参考实现,它是免费而且公开源代码的。
JSR并非只由Oracle管理,任何个人都可以注册并参与审查JSR,对于Java语言发展动态感兴趣的人来说,跟踪JSR的动态发展是一条不错的学习途径。在JCP官网#/中可以查看所有的JSR,下面列举几个大家熟悉的JSR:
JSR14,泛型
JSR51,NIO
JSR175,注解
JSR201,枚举以及自动装箱等
JSR221,JDBC4.0API
六、Java虚拟机
最后,轮到这个大哥登场,也是之后文章的主角。为什么Java可以实现所谓的“一次编写,到处运行”,主要是因为虚拟机的存在。Java虚拟机负责Java程序设计语言的安全特性和平台无关性。
Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java语言编译器只需要生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。Java虚拟机使得Java摆脱了具体机器的束缚,使跨越不同平台编写程序成为了可能。
要多提一句,我们现在说的Java虚拟机基本上都是JDK自带的虚拟机HotSpot,这款虚拟机也是目前商用虚拟中市场份额最大的一款虚拟机,可以通过在命令行程序中输入“java-version”来查看。
那其实市面上还有很多别的优秀的虚拟机。Sun公司除了有大名鼎鼎的HotSpot外,还有KVM、SquawkVM、MaxineVM,BEA公司有JRockitVM、IBM公司有J9VM等等。
以上内容是关于Java的详细介绍,如果你也对Java感兴趣,想要学习Java技术开发不妨来达内参加Java培训班免费体验课程。从而确定自己是否适合学习Java编程。
免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!