资讯专栏INFORMATION COLUMN

Java™ 教程(Java技术现象)

haobowd / 2814人阅读

Java技术现象

关于Java技术的讨论似乎无处不在,但究竟是什么呢?下面几节将解释Java技术如何既是一种编程语言又是一种平台,并概述该技术可以为你做什么。

关于Java技术

Java技术既是编程语言又是平台。

Java编程语言

Java编程语言是一种高级语言,可以用以下所有流行语来描述它:

简单的

体系结构中立的

面向对象的

轻便的

分布式的

高性能的

多线程

健壮的

动态的

安全的

前面的每一个流行语都在Java语言环境中得到了解释,这是一篇由James Gosling和Henry McGilton撰写的白皮书。

在Java编程语言中,所有源代码首先用以.java扩展名结尾的纯文本文件编写,然后,这些源文件由javac编译器编译为.class文件,.class文件不包含处理器原生的代码;它包含字节码 — Java虚拟机(Java VM)的机器语言,然后,java启动器工具使用Java虚拟机实例运行应用程序。

因为Java VM可用于许多不同的操作系统,相同的.class文件能够在Microsoft Windows,Solaris™操作系统(Solaris OS),Linux或Mac OS上运行,例如Java SE HotSpot,在运行时执行其他步骤,以提高应用程序的性能。这包括各种任务,例如查找性能瓶颈和重新编译(对原生代码)经常使用的代码段。

通过Java VM,同样的应用程序可以在多个平台上运行。

Java平台

平台是程序运行的硬件或软件环境,我们已经提到了一些最流行的平台,如Microsoft Windows、Linux、Solaris OS和Mac OS。大多数平台可以描述为操作系统和底层硬件的组合,Java平台与大多数其他平台的不同之处在于,它是一个纯软件平台,可以在其他基于硬件的平台上运行。

Java平台有两个组件:

Java虚拟机

Java应用程序编程接口(API)

你已经了解了Java虚拟机,它是Java平台的基础,并移植到各种基于硬件的平台上。

API是现成的软件组件大集合,提供许多有用的功能,它被分组到相关类和接口的库中;这些库称为包。下一节,“Java技术可以做什么?”重点介绍了API提供的一些功能。

API和Java虚拟机将程序与底层硬件隔离开来。

作为独立于平台的环境,Java平台可能比原生代码慢一点,但是,编译器和虚拟机技术的进步使性能接近原生代码,而不会威胁到可移植性。

术语“Java虚拟机”和“JVM”表示Java平台的虚拟机。

Java技术能做什么?

通用的高级Java编程语言是一个强大的软件平台,Java平台的每个完整实现都为你提供以下功能:

开发工具:开发工具提供了编译、运行、监控、调试和记录应用程序所需的一切,作为一名新开发人员,你将使用的主要工具是javac编译器,java启动器和javadoc文档工具。

应用程序编程接口(API):API提供Java编程语言的核心功能,它提供了各种有用的类,可以在你自己的应用程序中使用,它涵盖了从基本对象到网络和安全,XML生成和数据库访问等所有内容,核心API非常庞大;要了解它包含的内容,请参考Java Platform SE8文档。

部署技术:JDK软件提供标准机制,例如Java Web Start软件和Java Plug-In软件,用于将应用程序部署到最终用户。

用户界面工具包:JavaFX,Swing和Java 2D工具包使创建复杂的图形用户界面(GUI)成为可能。

集成库:集成库,例如Java IDL API,JDBC API,Java命名和目录接口(JNDI)API,Java RMI,和Internet上的Java远程方法调用Inter-ORB协议技术(Java RMI-IIOP技术)支持数据库访问和远程对象的操作。

Java技术将如何改变我的生活?

如果你学习Java编程语言,我们不能保证你的名气,财富,甚至一份工作,不过,它可能会使你的程序更好,并且需要比其他语言更少的努力,我们相信Java技术将帮助你完成以下工作:

快速入门:尽管Java编程语言是一种强大的面向对象语言,它很容易学,特别是对于熟悉C或c++的程序员来说。

编写更少的代码:程序指标(类计数,方法计数等)的比较表明,用Java编程语言编写的程序可以比用C++编写的相同程序小四倍。

编写更好的代码:Java编程语言鼓励良好的编码实践,自动垃圾收集可以帮助你避免内存泄漏,它的面向对象,它的JavaBeans™组件架构,而且它的范围很广,易于扩展的API使你可以重用现有的,测试代码并引入更少的错误。

更快地开发程序:Java编程语言比C++简单,因此,在编写时,你的开发时间可能快两倍,你的程序只需要更少的代码行。

避免平台依赖:你可以通过避免使用其他语言编写的库来保持程序的可移植性。

编写一次,随处运行:因为用Java编程语言编写的应用程序被编译成与机器无关的字节码,所以它们在任何Java平台上都能一致地运行。

更轻松地分发软件:使用Java Web Start软件,用户只需单击鼠标即可启动应用程序,启动时的自动版本检查可确保用户始终使用最新版本的软件,如果有可用更新,Java Web Start软件将自动更新其安装。

上一篇:Java™ 教程(目录) 下一篇:“Hello World !”应用程序

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76428.html

相关文章

  • Java教程(目录)

    Java™ 教程 Java教程是为JDK 8编写的,本页面中描述的示例和实践没有利用在后续版本中引入的改进。 Java教程是希望使用Java编程语言创建应用程序的程序员的实用指南,其中包括数百个完整的工作示例和数十个课程,相关课程组被组织成教程。 覆盖基础知识的路径 这些教程以书籍的形式提供,如Java教程,第六版,前往Amazon.com购买。 入门 介绍Java技术和安装Java开发软件并使用...

    lifesimple 评论0 收藏0
  • 出场率比较高的一道多线程安全面试题

    摘要:程序正常运行,输出了预期容量的大小这是正常运行结果,未发生多线程安全问题,但这是不确定性的,不是每次都会达到正常预期的。另外,像等都有类似多线程安全问题,在多线程并发环境下避免使用这种集合。 这个问题是 Java 程序员面试经常会遇到的吧。 工作一两年的应该都知道 ArrayList 是线程不安全的,要使用线程安全的就使用 Vector,这也是各种 Java 面试宝典里面所提及的,可能...

    xiyang 评论0 收藏0
  • Java开发区块链的三大sdk库

    摘要:是企业与区块链相遇的地方。的框架旨在成为开发区块链解决方案的支柱。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。 如果你想将区块链合并到一个Java项目中,现在我们来看看就是这个细分领域中三个最大的OSS玩家。 好的伙计们,我们都听说过比特币,以太坊或其他加密货币,其中有一些时髦的名字围绕着我们常见的新闻,但我们作为Java开发人员知道如何轻松地与这些区块链技术进行交互吗?以...

    iKcamp 评论0 收藏0
  • Java入门请不要放弃,学习路线以及侧重点分析

    摘要:而面向搜索引擎,就是我们要及时的使用百度谷歌遇到问题无法解决,先别急着放弃,可以去网络寻找答案,你的坑大部分别人都已经走过了,大部分都可以找到合适的解决方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●众多的语言,到底哪一门才是适合我的?●我们为什么要学习Java语言呢...

    mochixuan 评论0 收藏0
  • 4月9日云栖精选夜读 | 神秘的“阿里星”是怎样一群年轻人?

    摘要:点击订阅云栖夜读周刊年,还是阿里巴巴的张勇导演了第一次天猫双,全天的销售额不过万,但已经让大家兴奋不已。【点击订阅云栖夜读周刊】 009年,还是阿里巴巴CFO的张勇导演了第一次天猫双11,全天的销售额不过5000万,但已经让大家兴奋不已。 热点热议 神秘的阿里星是怎样一群年轻人? 作者:技术小能手 发表在:云栖人物志 文一西路969号的阿里巴巴三代工程师 作者:技术小能手 发表在:云栖人...

    phoenixsky 评论0 收藏0

发表评论

0条评论

haobowd

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<