首页 > 编程语言 >4.JAVA的特性和优势

4.JAVA的特性和优势

时间:2023-07-29 23:55:51浏览次数:55  
标签:Java 语言 特性 程序 C++ 面向对象 优势 JAVA 多线程

4.JAVA的特性和优势

 跨平台/可移植性

这是Java的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

 安全性

Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。

 面向对象

面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!Java则是完全的面向对象语言。

 简单性

Java就是C++语法的简化版,我们也可以将Java称之为“C++-”。跟我念“C加加减”,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。

 高性能

Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,某些代码甚至接待C++的效率。

因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。

 分布式

Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。

 多线程

多线程的使用可以带来更好的交互响应和实时行为。 Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。

 健壮性

Java是一种健壮的语言,吸收了C/C++
语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。即使Java程序也可能有错误。如果出现某种出乎意料
事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。

总结:一句话:java很好!

但是,并不是说学习了java,以后所有的东西都要用java开发了:某些领域其他语言有更出色的表现,比如,Objective
C和后来的Swift在iOS设备上就有着无可取代的地位。浏览器中的处理几乎完全由JavaScript掌控。Windows程序通常都用C++或C#编写。Java在
务器端编程和跨平台客户端应用领域则很有优势。

只能说,不同的语言之间,平分秋色!


Generated with Mybase Desktop 8.2.13

标签:Java,语言,特性,程序,C++,面向对象,优势,JAVA,多线程
From: https://www.cnblogs.com/01way/p/17590838.html

相关文章

  • JAVA体系结构
    JAVA体系结构JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。在上世纪90年代末互联网上大放异......
  • Java面试题 P16:Redis篇:Redis使用场景-缓存-缓存穿透
    缓存涉及问题:1、缓存三兄弟:穿透击穿雪崩2、双写一致3、持久化4、数据过期策略5、数据淘汰策略如果发生了缓存穿透,击穿,雪崩,该如何解决?1、缓存穿透什么是缓存穿透,当查询一个不存在的数据,查redis中没有,mysql查询也没有,数据也不会直接写入到redis,就导致每次都要请求数据库,......
  • 【Java】使用fastjson进行序列化时出现空指针异常问题研究
    最近在使用fastjson的JSONObject.toJSONString()方法将bean对象转为字符串的时候报如下错误:com.alibaba.fastjson.JSONException:writejavaBeanerror,fastjsonversion1.2.58,classcom.sun.proxy.$Proxy395,fieldName:0 atcom.alibaba.fastjson.serializer.JavaBeanS......
  • Java面试题 P15:Redis篇:面试场景
    Redis内容: 面试题总结: ......
  • chrome 翻译功能 与 禁止/拦截JavaScript Disable JavaScript
    在chrome://settings/content/siteDetails?site=中禁止JavaScript再恢复无法使用翻译功能但是在devtools中DisableJavaScript,再取消选中,可以翻译 ......
  • 学习Java的第9天
    类型转换由于Java是强类型语言,所有要进行有些运算的时候的,需要用到类型转换。运算中,不同类型的数据先转化为同一类型,然后进行运算。强制类型转换自动类型转换publicclassDemo04{publicstaticvoidmain(String[]args){inti=128;doubleb=i;/......
  • Java 多态
    Java多态1.多态方法或对象具有多种形态。是面向对象的三大特征之一,多态是建立在封装、继承基础之上的2.多态的实现:方法的重载中,使用不同的形参调用方法体现出了多态方法的重写中,使用父类或子类的对象调用方法体现出了多态对象的多态:对象的编译类型与运行类型可以不一样......
  • 10道Java基础面试题
    以下是Java基础面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。看看这些面试题你会几道@[toc]1.instanceof关键字的作用instanceof是Java的保留关键字。它的作用是测......
  • 交换变量a,b的值(java)
    方法1:引入中间变量inta=10;intb=20;inttemp=a;a=b;b=temp;System.out.println("a="+a+",b="+b);//a=20,b=10方法2:利用赋值符号=inta=10;intb=20;a=b+(a-(b=a));System.out.println("a="+a+&qu......
  • Java之Stream流的常用API
    Java之Stream流的常用APIStream流常见中间方法名称说明Stream<T>filter(Predicate<?superT>predicate)用于对流中的数据进行过滤Stream<T>limit(longmaxSize)获取前几个元素Stream<T>skip(longn)跳过前几个元素Stream<T>distinct()去除流中重复......