首页 > 知识问答 >新闻内容

Java语言有什么特点?

2020年09月09日 11:41

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2.面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。

3.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

4.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。

5.稳健性

Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。

异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。

6.安全性

Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。

7.可移植性

Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。

Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

8.高性能

Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。

Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。

9.多线程性

Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。

Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。

10.动态性

Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。



相关推荐

租客网:青春就是全情投入,追寻梦想

01深圳,深圳租客:伴随着“隆隆”的轰鸣声,飞机降落在深圳宝安国际机场,我拖着24寸的行李箱,怀揣着我全部的热情在夜色中踏进这座城市。拖着略微疲倦的身体,我走进了新租的房子,干净敞亮的环境让我心情大好,环境虽然陌生,我却适应的很快,收拾完毕就躺在小床上开始安排明天的行程。这是毕业典礼结束的第三天,也是我搬进“新家”的第一天。告别了恋恋不舍的大学时光,我也斗志昂扬的成为了“深漂”的一员,我将在这座城市,用我所学的知识和技能,创造我的一番事业。租客网:青春就是全情投入,追寻梦想02“那么近,那么远”租客:窗外的河畔杨柳在夕阳中随意摆动,湖里的荷花在斜阳下开得正盛,让挤在公交车里的我望的出了神。其实每天下班我都会经过苏堤,但是我从来没有下车去走一走。这苏堤仿佛近在咫尺,却又遥不可及。来杭州三年了,这是个风景如画的城市,也是我辛勤奋斗的战场,所以我没有因为它的美丽而松懈,只是一天比一天刻苦,白日埋头苦干,晚上睡在小小的出租屋里。期盼终有一天,可以气定神闲的漫步在它的美景里。不如就在此刻立下个小目标吧,完成这个月的业绩来苏堤玩一次。租客网:你看着苏堤的时候,它也在温柔的注视你的努力03昨夜雨疏风骤租客:一场突出起来的大雨把我从睡梦中惊醒,我爬起来快速的收衣服,关窗。这间租来的房子条件设施不错,我也一直很注意家居保护,不希望大雨淋坏房东的好屋子。回到床上后我却开始失眠了。想起家里的长辈接连生病,才发现父母、长辈,都正在老去,不禁思绪万千。一个人在外的时候常常觉得时间还早,自己还小,可父母脸上一年比一年深的皱纹就像个惊叹号,这样的雨天不知道他们的老寒腿会不会犯病,等天亮我一定要再打个电话问问,等我升了职,我就租个更大的房子,把他们接过来一起住……租客网:爱像一场大雨,随时淋透你的心房,买张票回家也很快。04“外滩的钟声”租客:来上海七年了,我从一个懵懂的小女孩变成了一位成熟的职场白领,我为上海奉献了七年的青春,随即也迎来了“七年之痒”。在上海没有太大的突破,家里人开始游说我回老家。他们永远认为公务员、老师是顶好的工作。觉得在外面“打工”不是长久之计,该稳定稳定回来成家了,在大城市只能租房住太苦了。其实租房也挺温馨的,我在上海也住着不错的房子,我喜欢大城市能让我不断增长见识的繁华、能不断给我提供进步的机会与资源。此时此刻,看着东方明珠塔,迎着外滩的风,我在心里默念:“我要留下来。”租客网:决定人们生活的,往往是他的选择,加油!租客网见证着无数租客的成长,梦想,追寻,也和你们一样保持初心,一路向前,为广大的用户提供更贴心的服务,更优越的体验。追梦之旅再长,租客网始终与你同在。

2020年07月31日 10:42

考生网:利用网络平台招生,学校如何把自身优势最大化?

如今招生宣传和招生推广的门槛越来越高,招生的手段也越来越多,各大学校的招生成为了非常困难的一个事情,而且现在很多学校都是在扩招,但是每一个学校都有自己的优劣势,而且在学生和家长对我们的学校不了解的时候,肯定也是不知道如何进行选择。这个时候就要看学校网络推广方案是如何做的,每一个学校的情况多数家长都是通过网络来了解的,这样才能够为自己的孩子选择到一个优质的学校来合作。如果我们想要提升影响力,让学校吸引到更多的学生,招生的推广方案应该如何去做呢?一,学校简介必须要精准无误。不管我们怎么去做学校网络推广方案,必须要有学校的相应介绍内容,学校简介也是非常关键的,我们肯定也不能忽略掉。原有的学校简介必须要做好调整,必须要突出我们学校的重点和优势,以及教学理念等。当然不同等级的学校肯定这方面的介绍内容侧重点也是不同的,我们必须要知道家长和学生们想要看到什么内容,才能够做好学校的简介。既不能夸大,又必须要有一定的吸引力,这样的简介才能有一个更好的效果。二,网络推广不能只做自己的网站。很多学校可能都认为只要做好了自己的网站,自然就可以吸引到流量。或许对于一些有名气的学校确实是如此,但是如果真的是一些名不见经传的小学校,或者是培训机构,必须要做好学校网络推广方案才行。网络上的推广不可能只是做自己的网站,虽然说自己的网站建设确实很关键,让家长进入到我们的网站可以看到学校的专业性。但是也要和其他的网站或者是平台来合作,这样推广起来更加容易,效果也会更好一些,还可以有效降低我们的推广成本。三,了解好家长和学生的需要很关键。我们在做学校网络推广方案之前,应该要对自己的学生家长有一定的了解,只是简单了解是不够的,必须要知道家长们会在什么样的网站去看推广,什么样的广告才能够吸引到更多的家长和同学。只有知道了我们受众群体的需要,才能够真正做好推广方案,也可以让消费者对我们的学校有更多的了解。相信只要是做好了基础调查,方案内容也都确认好,自然也可以保证推广的整体效果。

2020年06月08日 11:06

物流行业:韵达战略投资德邦,快递快运融合加快

事件:5月24日,韵达股份与德邦股份联合宣布,韵达股份子公司宁波福杉作为战略投资者认购德邦股份非公开发行股票,宁波福杉拟以自有资金和自筹资金认购6.14亿元,认购德邦股份6674万股,交易完成后,将持有德邦股份的股权比例约为6.5%(成为德邦第二大股东),并将向德邦股份委派一名非独立董事。韵达战略入股德邦,协同效应有望显现。本次韵达战略入股德邦,双方有望实现优势互补,强化规模效应。对韵达而言:有望借助德邦完善快运网络布局(目前韵达快运运营主体为韵达运乾物流,韵达上市公司持有其18.99%股权,快运业务未纳入合并报表),提升快运中高端市场运营能力,提升规模效应;对德邦而言:公司近几年重心转向大件快递,有望吸取韵达快递龙头企业经验,加强在快递、快运运营中的效率提升和成本管控;此外德邦此次募资主要用于:转运中心智能设备升级项目和IT信息化系统建设项目,综合实力将进一步提升。快运行业竞争格局分散,行业变革加快。我们测算2019年快运行业市场规模约1万亿,行业CR10约为7%,竞争格局仍较为分散。从收入排名来看,2019年顺丰快运营收126.6亿元,上升至行业第一;德邦快运营收107.5亿元,排名第二,德邦依靠长期的标准化和规范化管理,树立了中高端品牌定位;壹米滴答、安能、百世为代表的加盟快运模式货量规模快速增长;中通快运、跨越、京东快运等新兴快运企业加速追赶。快运行业进入变革加速期,本次韵达与德邦的联盟,有望进一步强化双方在快运市场的竞争力。快递与快运融合,头部快递企业加速迈向综合物流服务商。以顺丰和通达系为代表的头部快递企业在迈向综合物流服务商路上的不断探索,各大快递企业最初基本都选择了快运作为突破口(快运与快递协同性较高,目前百世快运领先,顺丰、中通、韵达快运快速追赶),本次韵达与德邦的联手为行业带来新的变化,头部快递企业未来将加速向综合物流服务商迈进。总体看,此次韵达战略投资德邦有望实现双方业务上的互补(包括市场开拓、网络优化、集中采购等),尤其对于德邦而言,在快运、快递行业竞争加剧背景下,如何借鉴加盟制经验进一步降本增效,值得期待。风险提示:双方合作进展低于预期;宏观经济下滑风险,快运行业增长不及预期;快递行业价格战。

2020年05月27日 13:49