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

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中的类是根据需要载入的,甚至有些是通过网络获取的。



相关推荐

什么是按揭买房?

所谓按揭是指购房者向开发商购买房屋时,先预付购房款的一部分(一般为30%-50%),其余房价款向银行贷款,而以购房合同项下的房地产及其相关权益抵押给银行做为还贷的保证,并由开发商为购房者作担保的行为。购房者选择按揭买房时,需向提供按揭的银行(贷款行)提供以下资料:1、具有法律效力的身份证明。2、固定经济收入证明。3、经房地产管理部门见证的商品房买卖契约正本。4、贷款行要求的其他文件。银行对购房者提供的资料进行真实性、可靠性、合法性审查。审查合格后,由贷款行、开发商和购房者签订《房地产抵押(按揭)合同》、《楼宇按揭贷款合同》(此合同必须进行公证或律师见证,由此发生的费用由购房者承担)。三方共同去房地产管理部门办理购房贷款抵押(按揭)登记。其中,购房者应提交如下证件:1、房地产管理部门见证的商品房买卖契约正本。2、身份证明复印件。3、依此生效的楼宇按揭贷款合同。4、抵押申请表及抵押合同原件。5、委托他人代为登记的,需提交有效的授权委托书原件。根据《房地产抵押(按揭)合同》、《楼宇按揭贷款合同》规定,购房者必需履行以下义务:1、将房地产抵押登记证明连同契约正本交贷款行执管。2、期房交付后,三个月内办理房屋过户手续,取得《土地使用证》、《房屋权证》和《房屋他项权证》,直接将三证交贷款行保管(此时开发商的担保责任解除)。3、自费为抵押的房产办理保险,保险期不短于按揭期,投保金额不低于抵押物总值,并以贷款行为受益人,将保险单交贷款行持有。4、未经贷款银行书面同意,买房者不能对房产进行出租、出售、拆除、改建、再行抵押或以其他方式处分抵押物。5、每月按时归还本息,逾期则按天数加收罚金。6、结清全部贷款本息、罚金和应负担的各项费用后,会同贷款行向原抵押登记机关办理注销抵押登记,收回《土地使用证》、《房屋权证》及保险单。

2020年05月19日 16:22

Surecomp®为贸易融资API树立新的开放银行标准

导言:4月28日,为银行和企业提供全球贸易融资解决方案的领先企业Surecomp®宣布在沙箱测试环境中向客户开放其应用程序编程接口(API)体系结构,在贸易融资处理和连接的数字化方面树立了新的开放银行标准。  多伦多当地时间4月28日,为银行和企业提供全球贸易融资解决方案的领先企业Surecomp®宣布在沙箱测试环境中向客户开放其应用程序编程接口(API)体系结构,在贸易融资处理和连接的数字化方面树立了新的开放银行标准。  APIsure服务面向全球各地的银行推出,欧洲一些最大的银行已经在使用该服务来实时处理银行担保和信用证。现有客户可以在一个API沙盒中限时免费试用,突显数字化贸易融资在新冠肺炎疫情时期的重要性。  作为公认的行业先驱,Surecomp被各大银行要求引领迈向数字化开放银行贸易融资的进程。APIsure由Surecomp与银行合作设计,可确保最高标准的安全性、合规性、可扩展性、监控和透明度。APIsure提供灵活而敏捷的后台连接,以及一个API管理系统(APM)和API沙箱。APIsure还包括一个开发人员门户,合作伙伴可在此开发应用程序和服务。当前的API能够提高生产力和效率,以及数据分析和可视化服务。未来的开发包括高级风险管理、机器人流程自动化(RPA)、了解客户(KYC)功能和合规性。  作为Surecomp的一家跨地区长期客户,欧洲最大的银行之一已率先采用API为Conpend提供服务。Conpend是Surecomp的金融科技合作伙伴之一,提供贸易融资文件数字化服务。这大大提高了他们的运营效率,同时打破了传统壁垒,缩短了向客户提供贸易融资服务的时间,并减少了纸面交易的风险敞口。  Surecomp数字化副总裁TsafrirAttar解释道:“随着世界领先银行的加入,我们相信我们的开放银行体系结构将改变贸易融资处理的游戏规则。通过为我们的客户提供在安全的沙箱环境中试用API连接的机会,我们很自豪能够树立实时无纸化连接的标准,进而促进贸易融资生态系统中银行、企业和金融科技公司的增长、效率、客户满意度和协作。”

2020年04月28日 10:59

租客网全民合伙人:让你的时间更有价值

租客网全民合伙人:让你的时间更有价值你在工作,你在加班,你在学习,365个相似的日日夜夜,你积极努力,奋发向上,却仍旧焦虑不已,因为你的理想和现实的差距是这样残酷,令你沮丧的只想抱头痛哭。纪录片《人生七年》里,有14位主人公,导演每隔七年对他们进行采访,呈现出他们的一生。弹幕里很多人有感而发:人真的很难改变自己的命运轨迹,基本上出生就已经决定了。但是,总有人不信命。我的朋友小A,入社会3年,25岁就已经年入百万,是朋友圈内公认的成功逆袭的楷模。为什么这么说?因为大家都见过她拼命做业绩的模样:零下十几度的冬天,一个人站在大街上发传单拉客源;谈单的时候被客户发脾气泼冷水,就顶着湿漉漉的头发一路跟着客户赔礼道歉,最后成功签单;甚至有一次出车祸小腿骨折,还坚持把合同送到客户手中,才肯去医院,所有人都觉得她为了工作,几乎连命都不要了!但是小A却说:“这个世界上,总有人比你更努力更拼命,我的这点付出,其实真的算不了什么。”《欢乐颂》里,曲筱绡作为家境最好的女孩,最有资格混吃等死,却还是在过年的时候照样拉着行李箱满世界找生意。小A告诉我们的事实是,比你优秀的人永远比你更努力,而小A的成功,其实并不是取决于努力程度,而是取决于价值判断的能力。那些收入将你远远抛在后面的人,往往并不是比你更努力,也不是比你更聪明,而是他们学会了做价值判断,往正确的方向去努力,无高度和错方向的努力很廉价,真正拉开大多数人差距的是价值判断,在有限的时间里价值最大化。小A正是学会了做正确的价值判断,才知道“平台比能力更重要”,她选择加盟租客网成为全民合伙人,让自己的时间变得更有价值,不限时间空间,不限职业年龄,碎片时间充分利用,可以随时随地推荐房源赚取佣金,“睡”后收入稳定上升,这才是小A成功逆袭的真正秘诀。劝君莫惜金缕衣,劝君惜取少年时。你的人生,就是不断接受刀劈斧削的过程,直到棱角尽失,直到云淡风轻、沉默而平静,你要坚持,你要努力,更要选择正确的价值判断,让自己的人生更有价值!

2020年04月14日 11:58