问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA与底层语言的优劣

发布网友 发布时间:2022-04-24 13:58

我来回答

2个回答

热心网友 时间:2023-10-15 10:11

Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。1.面向对象面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的“父亲”,而这些子实体则是汽车的“孩子”。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。2?平台无关性Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。Java的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。3?分布式分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。4?可靠性和安全性Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于C++,但它消除了许多C++不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以*从网络上装载的类只能访问某些文件系统。上述几种机制结合起来,使得Java成为安全的编程语言。5?多线程线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。C和C++采用单线程体系结构,而Java却提供了多线程支持。Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的*。例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。希望对你有帮助!

热心网友 时间:2023-10-15 10:11

确实 最最低层是C写的 其他都是java写的 具体不清楚了
java语言与其他的语言相比有什么优点?

个人觉得优势都是相对的 比如: 1、跨平台性,虽然是很好的优势,可以让JAVA在任何的系统中执行,但是前提是该系统要安装JAVA虚拟机器,这样导致一些JAVA编写的桌面程式无法在一般的使用者(没有安装JAVA虚拟机器的使用者)上使用 2、JAVA的身后是SUN公司,提供及时的API更新,但是过多的版本导致JAVA...

c语言与java哪个难学?

C语言比Java难学。C语言作为一种底层编程语言,其设计哲学是“小而美”,注重程序的性能和效率。因此,C语言具有较低的抽象级别,需要程序员直接管理内存、处理指针等复杂概念。这些概念对于初学者来说往往难以理解,容易造成程序出错。例如,在C语言中,程序员需要手动分配和释放内存,否则可能会...

java语言的八大优点?

Java语言简单是指这门语言既易学有好用。如果你学习过C++语言,你会感觉Java很眼熟,因为Java中许多基本语句的语法和C++一样,像常用的循环语句,控制语句等和C++几乎一样,但不要误解为Java是C++的增强版,Java和C++是两种完全不同的语言,他们各有各的优势,将会长期并存下去,Java语言和C++语言已成为...

java和c++哪个简单(java和c++哪个强大)

从当下的应用来说,也是Java比较受欢迎,Java编程语言市场份额占有20%最多,Java的跨平台性是C语言无法比拟,Java相对C语言来说更为简单好学,Java相对C语言来说应用领域更加广泛,成都北大青鸟认为在全球云计算和移动互联网产业环境,在大数据蓬勃发展的环境下,Java比C更加具有发展前景。java和c语言学那...

高层语言与底层语言的区别

1.低级语言可以通过控制硬件访问来优化效率 越低级的语言月接近底层,即控制硬件访问的能力越强,对硬件资源的利用效率越高。比如说汇编语言能够访问寄存器,而C语言就做不到。通过对寄存器等硬件的访问,我们可以将程序的运行效率优化到最大,而像C这样的高级语言用的最多的是堆栈这样的内存结构,访问速度...

java与其他编程语言的区别在什么地方?

Java具有良好的安全性,可以通过安全沙箱机制限制程序的访问权限,防止恶意代码的攻击。5. 开发效率:Java具有丰富的类库和工具,可以提高开发效率,减少代码量。6. 性能:相对于一些编译型语言,如C++等,Java的性能略有劣势,但是随着硬件的不断升级和Java虚拟机的不断优化,Java的性能也在不断提升。

为什么要选择Java开发,Java开发的优势在哪里

说点通俗的,在开发过程中感受到的优势:1、语法严谨;这是强类型语言都有的优势,所以一般大型项目、安全性要求高的项目,都会用Java,比如,支付、网银、百度的后台程序等;2、底层设计比较合理;你看PHP这几年的版本迭代,一代比一代更新的内容多,其他的语言很多也类似。但Java底层几十年下来,几乎...

java和c的异同(java与c语言的异同)

Java能够进行垃圾收集操作,不需要程序员进行手动删除。在Java语言中,对象不需要进行使用,并且不需要使用内存回收器,只需要使用其标签进行删除即可。北大青鸟云南嘉荟校区官网建议垃圾收集器在后台运行,在空闲时间进行工作,C语言需要进行释放内存资源,这反而增加了程序员的工作负担。Java和c语言的区别C语言...

java编程开发语言与其他编程语言的区别?

这种事情发生在Java的世界里,也发生在其他的语言生态中。同时,我们不会讨论那种有巨大的MVC结构,模板系统或者设计来就是在服务器端渲染html的“全功能”的web框架。有很多理由不这么做,一个就是,我从来没有使用过那种框架,所以我不会评论他们的适用性或“现化化”,二,这个主题就非常复杂,需要...

c语言和java的区别?

2、指针在Java编程中是没有指针的,在使用Java的过程中,能够很好的避免指针出现错误导致系统崩溃的情况。在C语言中,指针的使用是非常重要的,如果指针操作存在问题,编程中会导致错误的产生。3、另一方面,C语言比Java语言更“底层”,因此可以用C编写例如硬件的驱动,而Java却不行。Java和C语言还有个...

语言可以分为底层和上层 java底层是用什么语言写的 语言和言语的区别 语言非语言的不同特点 语言底层 底层开发语言 计算机底层语言 底层编程语言有哪些 语言底层名词解释
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的网页能打开,但是一些要输入帐号密码的网页就打不开了 qqzc发到10690700511 10690700511发送1是干嘛的 ...的学校,他家庭背景没有我好,对学习也没兴趣,家里不同意 我是帮大学同学问的,她现在大学毕业一年了,她男朋友还在高三,我一开始... ...九月读大三了,家里人想让我出国留学,我男朋友在国内, ...很好,二本)我对象高中毕业就不念了,告诉家里之后,家里人不同意怎么... 我和她学历有差距,我是本科,她没上大学,我们感情很好,可是我妈不同意... 女友佳人因为我是2本毕业的就不同意我们来往,要她和我分手 我考上了二本大学,男朋友考上了一本大学。我们还有未来吗?我怕他会... 既然JAVA这么底层,为什么还需要C和C++语言? java底层类是什么 在java中什么是底层数组 java创建对象底层原理是什么,java中的对象到底在内存中是什么,别说什么类的具体实例化 JAVA中的对象在系统底层是怎样的 Java中的底层方法是什么? java的底层函数是C语言还是Linux? java是很底层的语言吗 java底层用什么语言写的 javascript、Java、C++、C的底层编程语言分别是什么? 到底JAVA的底层是什么 java的顶层,底层什么意思 调肉馅子料油怎么做啊 请详细点 包饺子用什么油? 饺子料配方 饺子馅料油的制作方法 怎样制作饺子的汤料 饺子馅用的料油都有什么讲究 金山打字里打苹果的歌名字叫什么?除了金山在哪里可以下载到? 饺子料油的制作方法 请问编程中的 上层 和 底层 是什么意思? 比如有人说 "用JAVA或c#做上层,用汇编或c/c+ ky什么意思网络用语 饭圈里ky是什么意思? ky是什么意思:b站常说的说的ky是什么 ky小鬼什么意思 网络用语 wtf是什么意思?ky是什么意思? 一瓶ky是什么意思 网络用语XDKY啥意思 hhhc是什么意思 这个网络用语什么意思? gky网络用语什么意思 “小鬼”是什么意思? 用ps怎么磨皮美白 在PS里面怎么把人P瘦,变美,变漂亮? ps怎么磨皮美白瘦脸 什么是“云主机”? 云主机包括哪些服务? 云服务器是由什么组成的? 云主机是什么意思嘛? 自虐的详细意思