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

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



相关推荐

最新投资人名录,含机构联系人方式

提供最新的投资人联系方式,实时更新投资人名录,提供知名投资机构联系方式等,可以到深圳民间金融信息服务平台查看,深圳民间金融信息服务平台,位于深圳前海,依托香港,服务内地,用专业和实力服务资本市场,让真企业遇到真资本,助力企业大发展

2021年03月27日 23:34

write now:每一刻都值得被记录

随着手机应用的发展,现代人的生活已经越来越离不开手机,越来越多人生活和工作都用手机记事,一个好用的记事APP可以帮助你提升你的工作效率和生活质量。除此之外,用手机APP写日记还可以,还给我带来了以下几点改变:1、了解自己写日记,可以让现在的自己了解过去的自己。日记里记录了我们的喜怒哀乐,通过日记里记录的每一个想法,我们可以观察到最真实的自己。2、变得成熟写日记就是给自己回顾过去的机会,看看自己过去过得怎么样。现在翻以前的日记,我就会觉得自己很傻,但是也发现自己成长了。3、学会思考写日记可以让人拥有很强的思考分析能力,因为我们在写日记的时候,经常会不自觉写一些自己的困惑,并且忍不住分析起来,日积月累,我们就有了独立思考的能力。最后,我想说,如果可以,我希望能一直坚持写日记。writenow是我现在在用的日记本,其实它是一个手机记事APP,喜欢它的原因是,它可以上传图片还有视频,看着图片和视频回忆更带感,可以让自己能体会到过去的心情,或者状态。

2020年06月15日 11:53

B站的烦恼:如何平衡“破圈”与“破壁”?

本篇文章4079字,读完约11分钟编者按:本文来自微信公众号“红刊财经”(ID:hkcj2016),作者红刊社,36氪经授权发布。记者|张哲编辑|李壮5月4日前夜,一条献礼青年节的《后浪》视频登上了各大社交媒体平台的“头条”,作为这条视频出品方的哔哩哔哩(BILI.O)次日即收涨5.53%,在此后连续5个交易日内,哔哩哔哩累计上涨15.35%。一时间,《后浪》的成功被视为B站“出圈”的象征,二级市场似乎也为这个逻辑买账。B站正加速破圈,也在加速商业化。在这个过程中B站经历了老用户与资本方的利益纠纷,也经历了圈层价值冲突与暴戾弹幕的袭击。聚集着年轻一代的B站承载了“中国的未来”,而B站的未来在哪里,则取决于其如何把握“破圈”与“破壁”的平衡。《后浪》刷屏,但成功营销≠成功“出圈”从《后浪》视频在各大社交媒体平台刷屏,到自媒体纷纷为视频里的独白“纠偏”,再到《前浪》、《非浪》、《别浪》等反讽式仿版视频的流传,《后浪》作为一场品牌营销无疑是成功的,其效果甚至远超哔哩哔哩自己的预期。有业内评论称,这次营销让B站成功出圈,收获了一批70、80后新用户。但实际上,《后浪》的成功只是让B站的年轻化标签实现了一次大范围的传播,还远未达到出圈效果。虽然近年来B站一直在多元化的道路上试探,其内容主题从早期的动漫、鬼畜、番剧逐渐拓宽到美妆、知识、吃播、搞笑视频,又新增了直播和电竞业务,但目前B站的业务仍以服务Z世代(1995年至2009年间出生的年轻人)为主,70及80后并非B站的目标用户群。对此,上善若水资产董事长侯安扬向《红周刊》记者分析称,“《后浪》这则广告背后能够看出B站的野心,即把哔哩哔哩做成一款大众化的产品,每个人都能在这个平台上找到自己感兴趣的视频内容。只不过这次的推广更多只是让一些此前不知晓B站的人了解到了这个平台,他们可能也会下载,但是用户留存率不会很高,毕竟以B站目前的运营风格来看,高龄用户很难找到与自身兴趣相匹配的内容。B站通过《后浪》做到了‘名声’的出圈,下一步要做的就是继续深耕多元化,以保证各种风格的用户留存。但同时还不能丧失其独特风格,这对B站来说并非易事。”不过在兰慕资产风险控制官周密看来,如果把B站变成一个泯然众人的大直播平台是非常危险的,因为PUGC、UP主们和Z世代是B站运营以来的核心特色,也是其未来发展几十年的核心根基。周密告诉《红周刊》记者,B站维系用户黏性的纽带有三条,克制商业化、维护社区文化和多元内容。若急于商业化、打破社区文化的稳定,对其维系用户黏性是极为不利的。“互联网公司商业化的常规模式是广告、会员收入和抽佣,前两者会影响用户体验,第三者会影响内容生产者体验。哔哩哔哩长期以来都没有大规模商业化,依靠游戏代理收入坚持了多年。虽然亏损严重,但长期以往给用户留下了美誉。近两年,公司逐步放开商业化,但依然很克制,广告还是很少,没有会员也能观看绝大多数内容,这与其他视频平台存在天壤之别。B站在UP主的充电、硬币、直播分成也是业内最少的,甚至自己还会出一部分补贴作为激励计划,虽然不能给UP主们提供很可观的收入,但不至于招致他们不满,UP主在B站更看重的是优质流量。”周密介绍道。不失情怀的货币化?B站“站队”老用户既然要商业化,就难免遭遇资本方与用户之间的“利益纠纷”。不过对于以Z世代核心用户及UP主为核心根基的B站而言,维护用户可能比“恰饭”更重要。《红周刊》记者了解到,在哔哩哔哩4月初与聚划算合作推出的心动挑战混剪大赛中,由于存在榜单评选赛制不透明的问题引发了B站老用户的不满。一位B站老用户向记者表示,由于B站在这次大赛前期存在明显刷票现象,其提榜的视频内容质量明显欠佳,而且B站有很多同人圈老用户与该视频主角的艺人团队发生过较激烈的冲突,这直接导致很多老用户强烈抗议赛制不透明后扬言弃站。“B站要与资本方合作,要实现商业化破圈很正常,但这种混剪大赛本来是激励up主和老用户的圈层文化,如今却由于引进了资本的力量让比赛变了味,这很难不让人质疑B站是不是忘了自己的初心?”在这场“利益纠纷”中,B站很快选择“站队”老用户——其在哔哩哔哩APP中公开承认“当前活动赛制设计确实存在缺陷,导致活动出现投票播放倒挂,活动优质稿件难以展示等问题,严重影响了用户体验,也违背了我们举办活动的初衷”,并更改赛制、下架了相关视频。而B站在4月28日公布的比赛结果中,也确实没有与涉事艺人相关的主题视频入选。在B站的致歉声明下,一条高赞评论道出了B站用户的心声:“小破站(B站别称)要(营造)最好的ACG氛围、最好的up创作;拒绝饭圈化;恰饭可以,烂钱不行。”对此,侯安扬指出,当这种利益纠纷已经发生的时候,哔哩哔哩只能选择老用户。“B站特殊的社区生态本来就是围绕老用户群体建立的,任何平台都不得不在多元化和商业化的过程中面临用户流失的难题,对B站这种用户圈层十分独特的平台而言,控制用户流失更是高难度动作。所以当‘取舍’摆到台面上来的时候,B站只有稳住老用户才能稳住自己的核心根基。"安澜资本高管陈达则向《红周刊》记者表示,资本与用户之间的纷争在互联网时代很常见,而平台需要做的是为用户提供一个可以公平“开撕”的规则框架。“UGC或者PUGC平台都存在利益纠纷的问题,像在斗鱼等平台也存在大V撕大V、大V撕平台的现象,这是商业化必然面对的。所以创建一个良性的竞争机制和嘉奖机制至关重要,一个包容、开放、透明的平台,一个允许在规则框架范围内‘开撕’的平台,老用户最后是不会离开的。”尽管B站在此次“弃站危机”中稳住了老用户,但如何在未来的商业化道路上做到“不失情怀的货币化”,仍是待解的难题。“B站特有的UP主与内容消费用户的良性互动社区生态很好地做到了维系用户黏性,但光有黏性还不够,还要创造出‘主动积极的黏性(proactivestickiness)’。以爱奇艺为例,爱奇艺很多独家内容的黏性往往是被动式的,平台永远要烧钱请大牌、做爆款,而用户需要做的只是被动刷剧。当平台的爆款不够或者隔壁平台爆款更多的时候,平台就失去了用户黏性。而B站需要的是‘主动积极的黏性’,也就是通过反馈机制和激励机制的双重建立(诸如Youtube那样的广告收益分发机制),来满足up主分享、表演、出名、赚钱的基本诉求。显然目前B站对于这种激励机制做得还不够。”陈达补充道。破圈与“破壁”的平衡在过去,常年亏损的B站一直“靠爱发电”维持运营以服务核心用户;而未来,B站走向商业化与多元化的过程中,可能主要靠老用户“靠爱发电”来维护B站的核心壁垒。因此在加速破圈的过程中,哔哩哔哩将面临的最大难题就是如何做到破圈而不“破壁”,在新业务和老用户中找到平衡点。一位B站资深用户告诉《红周刊》记者,他早期使用B站主要浏览的是动漫、鬼畜及日本广播剧类的视频,那时候的B站还是一个二次元小众平台。近年来,B站的内容风格从二次元文化发展到三次元文化,再到现在基本变成一个全品类的视频网站,运营风格和用户环境发生了很大的变化。“我在B站关注了四五百个up主,除了之前因为版权纠纷导致部分up主流失以外,这些up主都在维持日常更新。不管B站因为多元化和商业化发生多大的改变,只要我关注的up主还在更新内容,我就会继续使用B站。”在很多B站老用户看来,圈层文化、优质互动已经成为维系B站与老用户之间感情的重要纽带。2017年,B站通过打造“UP主计划”开启了“去二次元化”战略,内容运营的多元化为B站吸引了大量的新增流量,这在B站去年的业绩报告中有明显的体现。财报显示,哔哩哔哩2019Q4的MAU达到1.3亿,同比增长40%。2019年,B站又开始在多元业务上发力,签约直播网红冯提莫并开拓了电竞直播等业务之后,直播业务收入同比剧增,甚至有超越游戏成为B站第一大业务的趋势。哔哩哔哩2019Q4直播收入5.7亿,同比增长183%,环比增长26%,占营业收入的比重高达28.7%,已经是除游戏外的第二大业务;而游戏业务的收入为8.7亿,同比增速只有22%,环比下滑7个百分点,占营业收入的比重约为43%。虽然直播业务的收入占比日渐起色,但对于B站来说,该业务很可能是一把双刃剑,在带来大量流量的同时,也会在不同层面伤害着公司本身、股东利益、中小UP主和忠诚用户们。周密认为,直播业务战略的发展对B站而言存在三重潜在风险。从财务角度来看,直播业务将显著增大成本压力,有可能拖累刚有起色的盈利水平,导致股价重回低迷时期;从UP主们和核心用户圈层的角度来看,大直播战略容易影响到他们的切身利益和体验,有黏性下降的风险;从商业模式角度来看,直播领域不是一个好的构建竞争壁垒的延展选择,对公司定位也有负面影响。“B站在加速破圈,也在加速商业化,但外界也有多只‘豺狼虎豹’在窥视B站的优质UP主和用户。只是成长必然会迎来阵痛,内容多元化后用户群体日益复杂,相互之间的价值观冲突有加剧之势,暴戾的弹幕逐渐增多,UP主之间互相攻击的现象也在增长,加速商业化自然也会影响用户体验,再加上破圈引起的竞争对手恐慌性攻击,B站的用户黏性是受到了一些损害的,这需要管理层更加谨慎明智的对待,尽量在破圈、商业化和维护用户黏性之间寻找平衡点。”周密进一步分析道。

2020年05月11日 11:47