JAVA整理——01

Java基本概念

1.1什么是Java?

Java是一门高级编程语言,至于有多高级?那就要看相对于哪门语言,比如汇编语言,用那个语言如果去搞开发,那可真的厉害,比如一个赋值语句,他要求你清楚的知道使用什么寄存器,在什么时间,有没有与其他正在使用寄存器的语句冲突,这些都需要知道,并且代码量相当大,所以在慢慢的过程中,汇编变成了低级语言,c,c++这两门语言相对比较熟悉,但是比如c中,它做控制相当好,但是搞开发不行,同样,Java搞控制这方面比不上c,在c++中,比如一个对象用完了要及时销毁,否则会将程序卡死,但在Java中,他有自带的垃圾处理器,在一般情况下不需要我们自己去操心这件事。最重要的是Java是一个跨平台执行的语言,一次编写到处运行。

1.2Java的优点

  • Java为纯面向对象语言;
  • 平台无关性;
  • Java有很多内置的类库;
  • Java提供了对Web应用开发的支持;
  • 具有较好的安全性(数组边界检测和Bytecode检验等)和健壮性(强类型机制,垃圾回收器,异常处理和安全检查机制等);
  • 去除了c++中难以理解,容易混淆的特性(头文件,指针,结构,单元运算符重载,多重继承等)。

1.3Java与c++的异同

  • Java是解释型语言,c++是编译型语言;

一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。但是解释不需要依赖编译器,它能很好的进行移植。

  • Java为纯面向对象语言;
  • Java中没有指针这一概念;
  • Java不支持多重继承,但是支持实现多个接口;
  • Java提供了垃圾收集器,不需要开发人员去管理内存的分配;
  • Java不支持运算符的重载,c++支持;
  • Java没有预处理器,但是c++支持预处理(头文件);
  • Java不支持默认函数参数,c++支持

默认函数参数是在函数进行声明或者定义时对参数进行的默认赋值,但是两者只能选择其一进行赋值,在调用有默认参数的函数时,在参数进行匹配的时候,要遵循默认的值必须要在实参赋值的位置的右边,(如果从一个位置开始是默认值,那么他的后边所有的参数都将是默认值)

  • Java不支持goto语句,但是作为保留字,c++支持;
  • Java不支持自动强制类型转换,c++支持;
  • Java具有平台无关性;
  • Java提供对注释文档的內建支持;
  • Java包含了一些标准类库,c++则依靠一些非标准的,由其它厂商提供的库。

1.4Java虚拟机

Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。
Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java虚拟机规范定义了一个抽象的——而非实际的——机器或处理器。这个规范描述了一个指令集,一组寄存器,一个堆栈,一个“垃圾堆”,和一个方法区。一旦一个Java虚拟机在给定的平台上运行,任何Java程序(编译之后的程序,称作字节码)都能在这个平台上运行。Java虚拟机(JVM)可以以一次一条指令的方式来解释字节码(把它映射到实际的处理器指令),或者字节码也可以由实际处理器中称作just-in-time的编译器进行进一步的编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值