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

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



相关推荐

现代化终端安全管理

混合办公不仅是保持业务持续性的关键,更因其高效灵活、人性化的特点而深受员工的喜爱。同时也对IT部门进行统一终端管理、终端安全和终端保护保护提出了新的挑战。多样化混合办公场景中数以亿计的各类智能设备正通过各种受控或不受控的网络访问企业的数据资产。高效生产力的背后传统企业网络边界正在退出舞台,灵活便捷的远程办公正在成为越来越多人的工作方式选择:微软于2021年3月24日发布的《工作趋势指数报告》显示,73%的受访者希望能够继续拥有灵活的远程办公选择。网络经济大环境下终端安全的重要性已经无需验证,终端安全事故导致的损失往往代价昂贵:全球每年因为终端安全管理不善导致的经济损失高达392万美元[1],其中不乏来自于移动设备遗失导致的损失。令人惊讶的是,全球范围内人们每年会丢失7千万个智能手机[2]!72%的公司已将员工个人设备(BYOD)数据泄露视为首要安全顾虑[3]。伴随着移动和云的便捷和高产力而来的是越来越精细和复杂的攻击,任何漏洞都可能被黑色产业链利用而非法获利。企业须防患于未然,借助现代化的安全平台来进行统一的终端管理,终端安全、持续地为员工进行跨终端生产力赋能。何为“现代化”管理先进理念为魂;现代技术为根对很多IT业界人士来说,“零信任”已经不再是一个陌生的安全模型。一个现代化的终端安全管理平台首先应该遵循“零信任:从不信任,永远验证。”的原则。具体来说就是将所有的资源访问请求都当作是具有潜在威胁的请求。制定条件访问控制策略,进行多因素验证(MFA),甚至无密码验证等。并根据需要,对于每次访问仅授予最小权限或临时权限。例如现在您可以借助将移动设备管理(MDM)和移动应用程序管理(MAM)完美融合的MicrosoftIntune对用户的个人设备进行安全性评估,并将评估结果作为允许访问企业数据和应用等资源的条件,设备在使用弱密码或无密码、系统存在漏洞未修补等安全风险的情况下所有对企业资源的访问将被阻止,直到设备完全满足企业的安全策略。在个人设备上,Intune有助于确保组织数据始终受到保护,并能将组织数据与个人数据隔离开来保护员工的个人隐私。如果员工需要在公共场所使用共享设备或临时访问公司资源,可以通过多重身份验证(MFA)登录企业在云端部署的Windows虚拟桌面(WVD)回到办公环境。除此以外,对于资源访问和服务连接发起设备的IP地址,账号是否存在风险和系统版本等都可以作为信任与否的条件。根据微软的市场趋势调查,90%的公司已经将业务或者基础架构拓展到了云端。员工的很多工作是在云服务和云应用中完成的,例如Office365。无论是企业配发的设备,还是用户自己的设备,都是这些业务的“作业工厂”。实际上95%的组织允许员工在工作场所使用个人设备(BYOD)[3]。这意味着单一针对企业设备的终端管理方案是远远不够的。这就不得不提到云智能,它的引入可以更好的完成端到端的信号传递,将不同终端的信息汇总,并针对安全漏洞给出修复建议,甚至自动化的完成修复工作。以Azure为例,全球有超过9亿的Windows10电脑,1.9亿商用电脑、iOS、安卓移动设备在Intune和ConfigMgr管理下运行[4]。它们之间所共享的海量安全情报,使无论BYOD还是公司设备,都能够在第一时间辨识出可能的攻击行为,发布安全预警或根据“风险预案”从容应对攻击。简单有效的IT管理与运营安全团队的苦恼之一大概就是永远处理不完的风险警报和不可捉摸的安全薄弱环节。如果能有一个可定制的、简单易用的方案,可以按照事件的重要程度进行优先级排序,并作出自动化处理,那么对安全运营来说将是积极有效的变革。我们常说任何IT方案的制定都应该以业务需求为导向。既要对用户的终端设备进行统一的管理和配置,又应该允许其根据业务需要进行灵活多样的定制。疫情期间,一些企业已经通过前文所述的Windows虚拟桌面(WVD)获益良多。WVD允许租户通过多个主机池,来发布其定制好的系统镜像。并创建多重会话进程,使远端用户能够接入共享的资源。而且,用户可以通过反向连接安全地与服务建立连接,因此,永远不需要将任何入站端口保持打开状态。这不仅为终端用户提供了个性化的桌面服务,同时还大大降低了使用云服务的带来的安全风险。因为所有的基础架构都在云端,由IaaS提供商维护,企业IT仅仅需要简单的前期配置,就可以用最小的工作量完成后期的维护。当然,也有一些企业选择了充分利用现有资产,使用自动部署(AutoPilot)这一方案,通过自动化服务,为配备给每一个员工的办公设备完成预配置。使其时刻处于业务可用状态。并在员工第一次拿到电脑开机释放系统的过程中自动注册到Intune,以获得全方位的安全防护。促进IT与安全团队合作如果在您的企业中,IT团队和安全团队是相对独立的,您可能遇到过沟通不畅的情况。终端设备防护的任务往往需要两个团队紧密协作。但传统的管理方式常常导致双方各自为政,无法及时掌握彼此的需求和进度。因此,现代化的平台必须能连通两个团队,使他们能够了解任务的前因后果和进展情况。这本身需要良好的生态链支持。例如:通过将微软旗下的终端防护(MicrosoftDefenderforEndpoint,MDE)和终端管理(MicrosoftEndpointmanager,MEM)整合,可以根据MDE发现的终端漏洞和相应建议。由安全团队创建修复任务,发送到MEM中,再由IT团队查看任务详情,选择执行与否。同时两个团队都能对事件的进展进行追踪,并通过系统进行线上沟通。良好的用户体验用户体验是企业管理改革的风向标。任何忽视用户体验的方案都很难落地,或者代价巨大。混合办公环境下,用户希望在所有的终端上都能有一致的体验。既能够无缝衔接地工作,又能够保护个人的隐私。对没有IT背景的员工来说,用户干预度和使用习惯改变越少的方案,就越容易被接受。当然,能显著提升效率的良性变更,也可以在一定程度上提升用户的好感。例如:简单易操作的设备注册过程,远程推送用户需要的工作app,为用户自动配置邮箱、企业无线网络接入,自动进行系统更新等。对于电脑来说,用户要求移动电脑有快速的启动和响应时间。但实际情况是这些时间往往随着硬件降级(使用机械硬盘而不是固态硬盘)和安全代理的加载而变长。根据统计,使用了Microsoft365现代管理系列功能的移动电脑比未使用时平均减少了30秒的启动时间。电池续航时间也增加为原来的两倍。同时系统崩溃的数量也减少了85%[4]。而这一切都得益于Windows系统的优化和云智能的支持。也许您已经发现,数字化的深刻变革如同一把披荆斩棘的利剑,帮助企业在转型之路上坚定前行。数字资产安全的就绪,仿佛为企业数字化运营架构披上了坚不可摧的的护甲,防患于未然,方能助力企业数字转型之路行稳见远。扫描下方二维码,免费下载白皮书,全面了解现代化企业管理的安全法则:《M365安全白皮书》文章数据来源:[1]2019CostofADataBreachStudyRevealsIncreaseinU.S.HealthcareDataBreachCosts(hipaajournal.com)[2]MDMMarketGrowthinLast5Years–Stats,Facts,andValues|ScalefusionBlog[3]41BYODStatsfor2021[67%ofUsAreDoingIt](techjury.net)[4]ModernmanagementandsecurityprinciplesdrivingourMicrosoftEndpointManagervision-MicrosoftTechCommunity微软智能云全面助力各行各业数字化转型美女与IT兽丨你以为劳动力管理就是人力资源?HR才没那么“肤浅”呢!微软AI入门课程,赋能阿斯利康打造AI医疗新生态!

2021年06月02日 11:23

有哪些实用的出租屋小物件?

冰箱的容量容量是挑选冰箱的首选要素,这个根据人数来决定,如果是在外租房,建议是50升/人。一个人住,50升左右冰箱容量就差不多了,预算足够可以高点。两个人的合租,可以挑选容量在60~100升范围的冰箱,如果做饭比较少,存储的食物不会太多的话,可以考虑60~70升左右。之前我和朋友两个人合租,只有周末做饭,差不多70升就足够了。三个人的合租,可以挑选冰箱容量范围在100~150升左右的,如果需要长期存储食物的话,可以选择150升左右。四个人的合租,可以挑选冰箱容量范围在150~200升左右的,人多的话,建议还是挑选空间大一点的,小型冰箱满足不了。制冷方式冰箱有两种制冷方式,分为直冷式和风冷式。直冷式冰箱:保鲜效果好,价格相对便宜,但是需要定期进行除霜,小型冰箱一般都是直冷风冷式冰箱:自动除霜,但是保湿效果相对差一点,而且价钱相对贵一些。耗电量自己租房,电费需要自己承担,尽量选择耗电量小的。一般小型冰箱耗电量都在0.5度(KWH)/天左右。噪音值噪音值也很重要,出租房如果不大的话,更要注意一点。如果是自己住的单间,冰箱噪声大是会影响睡眠的。冰箱噪音值48分贝即为合格。一般在35左右就有很不错的静音效果。

2020年05月04日 15:24

华为2019年年报:营收8588亿元,同比增长为19.1%

3月31日,华为发布了2019年年报,年报显示,华为2019年营收8588亿元,同比增长19.1%华为轮值董事长徐直军表示:“2019年对华为来说是不平凡的一年,在极为严苛的外部挑战下,全体华为员工团结一致,聚焦为客户创造价值,赢得广大客户和伙伴的尊重和信任,整体经营稳健。”2019年,在运营商业务领域,华为引领5G商用进程,与全球运营商一起设立了5G联合创新中心,持续推动5G商用和应用创新;推出RuralStar系列解决方案,有效解决偏远、边际覆盖难题,累计为超过50个国家和地区的4,000多万偏远区域人口提供移动互联网服务,实现销售收入2,967亿元人民币,同比增长3.8%。企业业务助力行业客户数字化转型,打造数字世界底座。全球已有700多个城市、世界500强企业中的228家,选择华为作为其数字化转型的伙伴;华为首次发布了计算产业战略,致力于成为智能世界的“黑土地”,推出全球最快昇腾910AI处理器及AI训练集群Atlas900,实现销售收入897亿元人民币,同比增长8.6%。消费者业务领域保持稳健增长,智能手机发货量超过2.4亿台,PC、平板、智能穿戴、智慧屏等以消费者为中心的全场景智慧生态布局进一步完善,实现销售收入4,673亿元人民币,同比增长34%。徐直军强调:“面对未来更趋复杂的外部环境,我们唯有持续提升产品和服务的竞争力,聚焦为客户和社会创造更大价值、开放创新,才能抓住行业数字化、智能化的历史机遇,实现持续稳健的发展。”

2020年04月15日 13:28