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

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



相关推荐

哪种手机备忘录模式好用?

随着人们的生活越来越丰富,工作越来越繁忙,学会记录变得越来越重要。手机备忘录已经成为当下人们日常生活必备的工具之一,学会记录可以让生活变得有条理,让人更从容应对生活,不再忘记重要的事情。好的备忘录有着便捷的记录方式,有利于用户规划好个人时间,高效从容地工作和生活。如果你们经常需要使用备忘录记事,想知道哪种手机备忘录模式好用,不妨去往下看。因为我经常用备忘录记事,对手机备忘录的模式比较熟悉,在手机备忘录模式这块上是比较有发言权的。我自己目前在用的备忘录叫writenow,个人感觉这个app作为备忘录使用,比手机自带的备忘录好用的多,就拿时间提醒功能这块来说体验感相当到位。writenow的时间提醒模式有以下几个亮点:一、多种时间提醒模式1、时间提醒选择writenow的时间提醒功能与手机上自带的备忘有很大的不同,提醒设置的时间可以选择在这之前的时间点,从而作为记事本、日记本使用,用它记录纪念日这些。我自己就是在用writenow记录家人朋友生日日期、跟对象的恋爱纪念日这些,完全不怕记不住家人、对象的生日、纪念日啥的,非常好用。2、重复属性选择writenow在设置时间提醒的时候,设置的提醒可以选择重复与不重复,如果是不重复提醒的话就只是在当天当点提醒完就结束;如果是重复提醒的话,可以选择按天、按周、按月、按年去提醒,非常方便。3、提前提醒选择writenow在设置时间提醒的时候,还可以选择提前提醒,提前提醒的时间选择也是比较多样化的,你可以设置提前几分钟提醒,也可以设置提前几个小时提醒,非常人性化。二、支持无线提醒模式在没有网络的情况下,设置了时间提醒的事情,仍然会在指定的时间自动按时提醒。这也是为什么我比较喜欢用它的原因。另外,这个app还有云端存储功能呢,可以把重要的记录上传云库,不用担心会像其他备忘录那样容易丢失记录。可以说,这个手机备忘录的模式真的很智能,完全可以满足日常生活和工作的各种需求。如果你看完觉得很感兴趣,不妨去下载writenow用用看。希望小编啊少的分享对你们有用!

2020年06月04日 11:26

记事APP未来会取代手写的记事本吗?使用writenow后的反思

随着经济的快速发展,人们的环保意识逐步加强,无纸化办公已然成为一种趋势,而纸张也会慢慢被替代。对此,就有人问,手写的记事本未来会被淘汰吗?答案是不会的,虽然纸张会逐渐被替代,逐步演变成智能录入,也就是电子纸质记事本,但是纸质产品有它的仪式与情怀价值,还是有很多人喜欢看纸质书,用记事本,做手账,所以这两者其实各有各的价值,谁也不可替代谁。但是既然说到电子记事本,小编最近发现了一款记事APP超好用,想强烈推荐给各位同样有在手机上记事习惯的小伙伴,虽然它很冷门,但是却简单又好用啊。这个APP叫WriteNow,中文直译过来就是及时记录,设计看似简单,功能却很齐全,该有的都有了,超级好用。比如,WriteNow在使用的时候,不仅仅是记录文字,还可以上传图片或者视频。就拿我异地恋这件事来说,我个人是比较注重记录整理的,所以我每次见面都会把照片和时间记录起来,等到时间久了再去回看真的是满满的回忆和幸福。这也是为什么我说在用户体验上,WriteNow的设计是相当人性化的。。除此之外,WriteNow有个很智能化的设计,那就是你可以设置时间提醒,而且关闭了APP之后,只要是设置了时间提醒的事情,它都会自动提醒我们!完全是拯救了我这种容易健忘的人,每次当我有重要的事情需要做,我都会用WriteNow去记录和设置提醒,再也没有落下过什么重要事情。而且WriteNow可以设置云端存储,用它记录完全不用担心记录的事情会不见,你可以有选择性的把你想要备份的记录存储起来,特别好。另外,WriteNow还有个贴心设计,那就是快速检索功能,当你记录了很多事情后,完全不用担心找不到自己想要找的,你可以在首页的顶部快速检索框输入你要找的内容,它就会快速查找出你想要的是哪一条记录,非常方便快捷。当然,你也可以选择把你认为比较重要的记录设置置顶,因为WriteNow这个APP是有置顶功能的。总的来说,在所有的记事工具中,个人觉得WriteNow还是比较适合我的,虽然它的设计很简单,但是很好用。最后小编想说,其实笔记电子化也是工具本身的一种进步,而纸质的记事本在使用价值上也有它的不可替代性。所以根据自己的情况去选择自己需要就可以了。关于上文推荐的记事APP,有感兴趣的朋友也可去下载体验,或者到writenow.com官网上进行下载。让我们一起,WriteNow,随时记录精彩时刻。

2020年05月25日 16:57

租客网:其实,我们更关心租房质量的宽度和厚度

“一人一居,猫狗双全”被称为现代青年的终极幸福,年轻的租客们的居住观念及消费理念也在不知不觉中发生着变化。我们一起从租金花费和房屋情况中探究年轻租客的生活,是否真如《欢乐颂》与《爱情公寓》那样简单快乐,热闹温暖。新租房收入概况超过40%的同学月收入在¥8000~¥11999约30%的同学月收入在¥5000~¥7999约18%的同学月收入在¥12000~¥15999租房人群的收入和一线城市平均薪资还是很匹配的。这个问题很有趣,如果通勤时间减少半小时,你愿意付多少钱?大部分(44%+11%)人的选择是500元以内,或者不愿搬,毕竟奔跑到地铁是我们每天唯一的运动量了,不能失去它!租房房龄的统计,超过55%的人群居住在10年以上的房子中,20%的人住在5年以内的新房。吃泡面你问我在不在乎健康,租房子你还问我在不在乎房龄?只要保养得当,社区物业好,房龄不是问题。70%的人住在有电梯的房子中。房龄大一些我没意见,但是如果老到没有电梯那是不能忍受的。不是我们懒,主要是为外卖和快递小哥着想,他们很辛苦,当来到1803楼下发现没有电梯的时候他很可能会辞职,我可能会吃不上饭,拿不到快递。44%的人住在朝南的房间中,56%的人住在并不朝南的房间。大家根本不在乎朝向,有一扇大窗就已经很满意了,至于你是看山,看海,还是看社区花园,反正该看太阳的时间都在公司看PPT。如果朝向不好,通风是否良好就变的比较重要,而晒被子就只能靠楼顶或者烘干机了。工作日大家看房的时间分布:18:00~20:00看房人数最多,其余各时间段比较均匀周末大家最喜欢在下午14:00~16:00看房,毕竟12:00刚吃过早饭不同年龄段的人群看房的次数,大家平均只看1.5次房就做决定了!可能大家在看房时也是通过多种渠道同时寻找,实际只看1家就决定签合同的概率应该比较小。不过网络房源信息的完善确实减少了做决策的时间成本,大量的工作可以预先通过网络+电话微信就确认好,避免了多次反复看房。尤其是租客网上租房的青年租客,享受线上实时看房功能,他们在网页端与客户端都可随时看房,使租客在充分了解房源信息,选择心仪房源后,才会花费时间实地看房,使租房过程更加精准,同时大大提高中介对于租客和房东的服务效率,提高房屋租赁的成功率。而且租客网的线上实时看房功能还能让你的爸爸妈妈、七大姑八大姨、兄弟闺蜜也可以在线上看到你的房源,为你即将要租住的小屋出谋划策,给点你听进去或听不进去的建议,毕竟老人们“吃的盐比我们走过得路都多”,“多听老人言,吃亏就不在眼前”。大家平均看完房1天之内就签合同。说得也是,在租客网上租房子,线上看房就跟网购买衣服一样,看准、询价、实地看房、签约,整个过程再也不像娶媳妇那样磨叽困难。60%的人认为租房不会影响生活品质,40%的人则认为租房没有归属感,相比于睡在公园、地铁、天桥,租房让我们的生活质量提升了很多。58%的人对租房的态度是:个人的休闲生活场所,给予足够的安全舒适感32%的人认为:租房只是城市中的暂住地,随时打算更换5.6%的人认为:租房有床能睡觉即可,期望越低,有时幸福感反而越高毕竟,诗人李说:人间不值得。无论以何种形式居住,大家都在用心经营自己的生活。

2020年04月22日 11:44