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

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热干面再香,抵不过租客惠的券香我们两兄弟从15年到深圳就开始经营这家热干面店铺,初来乍到的没什么名气,生意惨淡。我俩就凭那股热血和韧劲坚持了下来,也积攒了一些回头客,但是始终打不开更大的市场。我们在租客网上租的房子,刚好看到租客网推出了租客惠版块,又不收我们的入驻费用,我们就赶紧加入了。之后就有不少附近的人群看到租客惠上的推荐领了优惠券过来,我们的热干面也被更多人尝到了,现在生意越来越好,收入很稳定。我们会不忘初心,把一碗碗热干面做好,把一天天日子过好,挣够了钱回老家盖房子。——租客惠商家,热干面小铺许氏兄弟02这杯咖啡是我安逸的中年况味我曾经是深圳的一名程序员,也曾在无数个日夜里拼命挥洒过汗水,租住在温馨的小公寓里,向着未知的前程奔跑。所幸的是,专业不错的我,通过程序员的工作攒了不少钱。但是年岁渐长,身体也渐渐疲倦,我开始寻求另一种安逸的生活方式。但是深圳这座城市太吸引我了,我还是想要留在这,所以我用身上的积蓄开了这家咖啡馆。从坐在办公室里喝纸杯咖啡,变成了坐在咖啡馆里冲咖啡。但是由于我的直男思维,不懂经营的门道,一开始的生意没什么起色,每日的进账连店租都维持不了。这时我想到了入驻租客惠,果然,不久以后,周围写字楼的白领等人群开始由租客惠关注到我的咖啡馆,我的店铺生意变得有声有色。看着每日的进账流水,我感受到了稳稳的幸福。——租客惠商家,咖啡馆店主李先生03只有渣男才健身?有着创业梦想的我根据自己的特长开了这家健身房,我的理想很丰满,但是现实很骨感,来健身房办卡的寥寥无几,散出去雪花般的单页却很少有顾客愿意进店看看。网络上关于“健身即渣男”的热议不断,我的健身房却冷冷清清。后来想到了利用互联网的方式来提高自己店铺的曝光率,经过多方权衡,我选择了入驻租客惠,不会收取我的入驻费用,平台给予我店铺的曝光机会也多,引流效果很不错。健身需求还是有的嘿嘿,之前是我缺乏有效的宣传途径,相信我的健身房会越做越好。——租客惠商家,健身房店主甘先生04老地方,好地方在深圳读的大学,在校时对烧烤情有独钟,所以毕业后,我庸碌了两年就打起了开烧烤店的主意。于是我把店铺开在了我租住的小区附近,不远处也有个商区,我相信这里的客流量应该还不错,就自信满满的干了起来。我家烧烤的味道是真不错,价格也实惠,所以还是有不少我苦心拉来的回头客照顾我的生意,但是来来回回也就那么几个客人,与我设想的火爆场景相差甚远。这些情况在我入驻租客惠之后就发生了扭转,有许多顾客在浏览租客惠时发现了我这家“宝藏店铺”,拿着优惠券纷纷过来消费。扫桌上的租客惠二维码付款,也省了许多顾客排队结账的烦恼。而且付款秒到账,收款不扣点。真真正正把我这家烧烤的“老地方”变成了“好地方”。——租客惠商家,烧烤店主二丫租客惠的初心就是帮助商家宣传品牌,提升销量,为租客网的广大租客和用户提供一个高性价比的优质生活圈,互利共惠。祝愿所有入驻商家和平台租客悦享品质生活。

2020年08月12日 10:47

租客网利用诚信公正的开放原则合理规范合作方与用户的责任与义务!

随着现代化社会发展,中国居民消费正在发生着前所未有的转变,从注重质量的满足向追求质量的提升、从基本生存型消费向发展品质型消费、从模仿型排浪式消费向个性化多样化消费等一系列消费升级,这也成为租赁经济热潮爆发的必要条件。2017年我国租赁经济市场交易额约为49205亿元,2018年超过了63000亿元,未来三年,我国租赁经济有望保持年均30%以上速度增长,到2020年有望突破10万亿元,参与租赁经济服务提供者人数也将过亿人。信息共享降低了交易成本、物品的共享降低了消费门槛,使得大量潜在的消费需求得以释放。作为租赁市场的新型独角兽租客网是如何看待当今的发展形势呢?作为租赁平台,它又拥有着怎样的发展原则呢?其中“越多人使用的平台越有价值,任何平台都不能闭门造车,也不能固步自封。”就是租客网一直坚持的发展原则。针对所有合作方和潜在合作方,租客网采用“开放才有效率,交流才有结果”的合作态度,让所有租赁信息得到充分的曝光流量,从而带来匹配效果的最大化,帮助合作伙伴整合资源,并且利用租客惠与易推两大超强流量入口提高效率,形成“租客网、租客惠、易推”三大服务流量平台并驾齐驱,通过不同功能的平台服务形成强大的租客生活圈,扮演全方面生活管家角色。租客网为所有签约合作方免费提供专属二级域名、专属隐私号码盾及全民合伙人等服务,帮助合作方全力开拓品牌影响力,提前完成品牌专业化设施配备。针对平台所有用户,租客网坚持“服务不断升级、诚信不断牢固”的服务原则,不断升级平台的公信力,带动更多用户的消费热情与平台的服务粘性。如租客网提供的保姆式管理体系、租客安全等服务。针对房东提供的保姆式管理体系,租客网从发布房源、平台确认、实地审核、确认发布、提前出租等每项环节都有严格的执行措施,既保证了房屋空置期的最大化缩短,也保证了房屋的长期完好性。针对租客提供的租客安全服务,租客网拥有完备的“安全打卡”机制,让租客及家人更有安全感,同时还有定期举行的“租客活动”,有利于扩大租客的社交圈。在租客网提供开放合作服务的同时,平台利用诚信公正的开放原则合理规范合作方与用户的责任与义务,如租客网提供的租客诚信管理档案、房东信用建设体系等,由租客与房东双方互相进行公平公正的评价,利于后续出租合作方进行合作前进行参考。任何人都不可能独立存在社会,每个人都需要自己的社交圈和社会关系。平台也是同样的发展道理,“开放合作、公平公正”是租客网始终奉行的发展战略,只有团结并进,才能推动整个行业乃至社会的良好发展!

2020年06月10日 11:07

SpaceX“太空互联网”即将问世,可覆盖全球

太空互联网,听上去遥不可及,目前我们生活中用到这类卫星网络的场景很少,而且费用高体验差。以达美航空为例,在飞机上使用基于卫星的互联网每24小时需要16美元,而且速度极慢,整架飞机共享2Mbps网速,大多数乘客宁可忍着也不愿掏这个钱。这个情况或许很快将发生改变,科技狂人马斯克正在行动。就在4月22日,SpaceX在肯尼迪太空中心成功使用可回收的猎鹰9号火箭发射了60个人造卫星进入太空,这已经是SpaceX第八次成功发射卫星了,而且八次之中没有一次失败。SpaceX自2018年以来已8次发射卫星,第二次开始每次发送60颗卫星目前SpaceX公司在太空的卫星已达到了422颗,这个数字超过了美国以外任何国家和卫星公司。猎鹰9号这次发射的另一个最重要意义在于,它已超越阿特拉斯五号火箭,成为美国现役发射次数最多的火箭,而它达成这一目标所用的时间,还不到阿特拉斯五号火箭的一半。SpaceX如此大规模发射卫星的目的,就是要建设“星链”(Starlink)。什么是“星链”?“星链”是一项通过近地轨道卫星群覆盖全球的高速互联网接入服务,真正实现可用、经济、高速的天基互联网。这前八次发射升空的累计422颗卫星只是“星链”计划的开始,SpaceX最初的计划是要在2020年代中期之前在三个轨道上部署接近12000颗卫星:首先在550千米轨道部署约1600颗卫星,然后是在1150千米轨道部署约2800颗波段卫星,最后是在340千米轨道部署约7500颗波段卫星。但SpaceX的野心不止于此,就在2019年十月,SpaceX再次高调宣布“星链”增新计划,并已进入官方审批流程,一旦通过,它将在原有计划的基础上再新增30000颗卫星,即“星链”计划总计将包括42000颗卫星。“星链”示意图SpaceX认为,未来20年,全球将有近半数的网络上天,无信息死角的数字地球将成为现实,“星链”将打造一张覆盖全球的天基自组通信网络,彻底摆脱传统路基通信的区域限制。对于北美、非洲等不少地区来说,由于地广人稀,基站之间平均距离太远,铺设光纤的投入产出比很低,相对东亚人口密集地区来说,北美和非洲并不适合路基光线+基站组网的传统方案。“星链”的成功部署将在大量地区补充或替代过去那种高成本和低可靠性的通信网络,弥补互联网覆盖的漏洞,目前该项目的预期年收入达到300亿美元,如果我们参考传统网络运营商的营收状况,面向全球市场的“星链”一旦完善,每年收入300亿美元可能还只是一个保守的预测。“星链”与我们普通人见面的时间也远比预期的早,4月23日,马斯克在推文中表示,他们会先在3个月内开启内测、然而在6个月内进行公测。马斯克近期推文透露内测和公测时间良好体验与成本控制“星链”相比传统光缆,它最显著的特点就是传播速度快,低延时。“星链”的信号传播速度接近真空中光速每秒30万公里,而光信号在光纤中的传播速度为每秒20万公里。星链不用像远距离光纤通信那样,一段段接起来,可以做到点对点,所以即使是考虑空地往返,“星链”的速度还是更快。“星链”服务的网速怎么样呢?如果你还在拿现在国际航班上的卫星网络作为参考那就错了。SpaceX第一次发射“星链”卫星是在2018年2月22日,当时只发射了两颗试验卫星,它们的设计下行速度是1440Mbps,在测试过程中,测试者在一架飞行的C-12运输机上测到了610Mbps的速度,这个速度是前所未有的,比全美2018年的平均网速(93.98Mbps)快得多,也比新一代铱星对地服务的速度快两个数量级。美国平均网速发射几万个卫星上天,还要构建太空互联网,这不是一件简单的事,肯定要烧很多钱,根据SpaceX的计划“星链”将耗资100亿美元,这个数字多不多?要看和谁比,在2013-2017年,中国光建设4G基站的总投资就达到了8000亿,这样看,100亿美元并不多。不过SpaceX是一个私营公司,100亿美元对马斯克来说还是有压力的,好在他在商业方面取得了巨大进展(过去一年的特斯拉牛气冲天);另一方面,马斯克还考虑让SpaceX上市。不用怀疑,这是一个真正掌握核心科技而且未来发展空间远大于特斯拉的公司,市场将迎来新的投资机会、SpaceX将得到充足资金,各取所需。今年二月的消息,马斯克考虑让SpaceX上市为了降低“星链”的成本,SpaceX几乎在每一个重要环节都做到极致。这其中最值得一提的就是“一箭多星”,这种方式是指的是用一枚运载火箭同时或先后将数颗卫星送入地球轨道的技术,全世界只有少数国家掌握这种技术,中国的长征六号火箭曾一次送20颗卫星上天,创下“一箭20星”的亚洲记录。SpaceX从第二次到第八次发射都是单次携带60个卫星上天,这家公司的航空技术已经比绝大多数国家还要强了。SpaceX未来可能一次携带更多的卫星,因为只有这样才有可能满足上万个的卫星总数。在运载火箭内打包好的60个卫星,批量上天,降低成本在节省成本的措施中,最拉风的要属运载火箭回收技术。当初猎鹰火箭的回收是网络直播的,引起了全世界的关注,火箭降落地面的那一刻仿佛是在播放火箭发射的倒带,平稳的让人难以置信。要知道,单个猎鹰火箭的成本在5000-6000万美元,熟练掌握回收技术代表每次发射卫星都将节约这样一笔费用。SpaceX猎鹰火箭返回地球,运载工具回收,进一步降低成本太空互联网的概念很多人都可以想到,但如果落实,恐怕也只有SpaceX这种拥有顶尖技术的公司才能做到。无论是“一箭多星”还是火箭回收,缺少任何一个关键技术都没法用可行的开支建设出“星链”。SpaceX的太空技术不是一天得来的,研发之路也不是顺风顺水的,就在不远的2016年,SpaceX遭遇了火箭爆炸和第四次回收失败,马斯克甚至被很多人质疑是骗子。在一步步实现梦想的过程中,SpaceX经历过的挫折或许远比我们想象的要多。SpaceX火箭爆炸SpaceX海上回收火箭失败与正在构建的“星链”相比,传统的陆基互联网成本也不低。以中印光缆为例,它跨越青藏高原和喜马拉雅山上千公里的高海拔无人区,连接了成都-拉萨-日喀则-乃维拉-勒克瑙-新德里,虽然新德里和成都之间直线距离不到2600公里,这个光缆长度和其他一些海底光缆相比不算什么,但由于它所通过的地形特殊,未来建设维护成本注定极为昂贵。但如果“星链”成型,新德里到成都之间的直接通讯将没有任何额外成本。“星链”的其他优势还包括:星链是低轨卫星,具备太阳能电推功能,不会成为太空垃圾,一旦丧失动力就会自己掉下来,也不用担心火箭发射污染问题,SpaceX用的是环保火箭。与5G的关系:互补大于竞争说过“星链”的强大竞争力,你可能已经想到了另一个正在崛起的通讯技术,那就是5G。对于中国读者来说,5G如雷贯耳,它似乎被赋予了特殊的意义,它被视作互联网下半场的基石以及日常生活、自动驾驶、人工智能、物联网、工业互联网等场景不可缺少的基础设施。但是SpaceX步步推进,每一步都快于大多数人的预期,马斯克更表示:星链计划将实现个人用户带宽超过1Gbps,接入速率能达到目前家庭宽带的30多倍,这和5G相比已经颇有竞争力。有网友表示:“星链”可能比5G还厉害。毕竟5G全球布局的成本远高于“星链”,而且只能大城市布局,很多人口密度低的小城市都可以用“星链”代替,比5G便宜的多!不过马斯克倒没有说要用“星链”替代传统通信,他只是表达了星链未来可以承担全球互联网一半流量的愿景。对于“星链”来说,要替代4G和5G也是不现实的,但他们之间可以进行非常好的搭配,因为“星链”的优势恰好就是5G的弱点。5G和2G、3G、4G的主要区别在哪里?简单来说就是频率更高、速度更快,但频率越高穿透力就越弱:一个2G基站理论上可以覆盖6-8公里、3G基站覆盖4公里、4G基站覆盖2公里、到了5G只能覆盖几百米甚至更低,考虑到成本,5G基站想达到4G这样的大范围覆盖范围几乎是不可能的。在这种情况下,“星链”对于5G覆盖不到的地方可以提供补充。带来的问题“星链”并不是完美的,对于“星链”的批评主要出现在天文学界,有天文学家表示,“星链”将导致可见卫星的数量将超过可见星的数量,并且它们在光学和无线电波长上的亮度都会严重影响科学观测。国际空间站上看到的“星链”后来,SpaceX表示将尽可能把卫星对科学观测的影响降到最小,他们把一颗卫星做了涂层以减少它的反光率,可是经过观察这个减少的幅度非常小,对天文学界来说远远不够。因为卫星反光主要来自太阳能板,如果把太阳能板也加上涂层,那就彻底收集能量的功能了,这个问题目前看来还找不到解决的有效方法。对美国的意义对美国来说,“星链”具有很大的战略价值,美国企业的卫星占满天空,其他国家可利用的空间轨道资源会越来越少;从产业来看,由于“星链”这种太空互联网的前期投入很大,一旦“星链”成熟,其他公司或其他国家在同类领域几乎不可能与之匹敌,有助于美国强化自己在通信领域的地位。另一方面,“星链”卫星拥有发射全向波束的能力,说简单点就是它也可以对航天器进行遥测,跟踪和控制。所以如果SpaceX和美国军方合作,这个系统可以针对世界上任何地方发射的导弹进行计算、模拟、预测,然后再进行拦截。借助“星链”密集的低空卫星群,美国可以开启上帝模式进行导弹拦截,这会让那些瞄准美国的洲际弹道导弹彻底沦为玩具,虽然这是防御能力的提升,但还是会打破军事平衡,并不是一件好事。从已有的信息看,美国军方显然已经注意到“星链”的价值了,在2019年8月,美国阿拉巴马州2019年度太空与导弹研讨会议上,美国空军将领O'Shaughnessy高度评价了SpaceX的工作,他认为SpaceX公司成功开拓低成本大载荷发射的星链项目具有非凡意义,改变了太空防卫格局。对世界的意义根据SpaceX的官方介绍,“星链”不能直接连接手持设备,但连接“星链”只需要一个披萨盒大小的终端,这个终端带有相控阵天线且可以追踪卫星,终端可以部署在任何能看见天的地方,然后终端再产生一个wifi信号供周边的人使用互联网。“星链”最重要的意义不在一个国家,而在全人类。有了它,人类可以把互联网服务投送到世界上任何一个角落,无论山有多高、路有多远,对于卫星来说都是小事一桩。因此“星链”有助于改善很多国家的信息便捷度,让地球村变得更小,对于落后国家发展经济、提高教育、扩大开放、融入世界都具有举足轻重的意义。

2020年04月28日 01:18