JAVA语言概述

1、什么是计算机语言?

  计算机语言就是:人与计算机交流的方式。

  计算机语言有很多种,如C++、Java、python、PHP等等,人们通过上述不同的语言都可以与计算机交流。我们可以想象计算机是一个会很多方言的中国人,而前面所举例的计算机语言就是中国方言,例如就将C++等于四川话,Java等于东北话等以此类推。这样,我们只要讲中国方言,计算机就能听的懂。如果你使用非计算机语言当做命令指令,就像你对一个不会英语的中国人蹦出一句英语出来,计算机当然就不会明白你要说啥了。

2、计算机语言的发展

  计算机语言也是慢慢发展过来的,可分为三个时代。

  第一代为机器语言,所有的语言就是由0和1组成,不同的0和1组合方式代表不同的意思,其阅读难度比古代的文言文还要难读。

  第二代为汇编语言,主要是为了减轻人们阅读机器语言的痛苦而做的一种改进,这个就像民国时期开始使用的半白话文来减轻阅读文言文的痛苦一样。

  第三代为高级语言,更加的接*人们*常的说话方式。

  在高级语言中又分为面向过程语言与面向对象语言,那么这二者有什么区别呢?

  比如说有一个需求,描述“小明在打篮球”这件事。如果使用面向过成语言编程“小明在打篮球”这件事,它就会把整个过程看做一个整体去编程。但是要将需求更改为“小明在打乒乓球”,或者在以后要引用类似“小明在打篮球”这样的需求的话,面向过程语言就不能说只将“篮球”换成“乒乓球”就行了,而是需要将整个过程再重新写一遍。

  而面向对象语言在这一方面就比较好,面向对象语言在编程的时候是将一个事物单独领出来算作一个对象。例如“小明在打篮球”这件事,面向对象语言会将它拆分成“小明”、“在打”、“篮球”这三个部分。在实现这个需求的时候,面向对象语言会先写三个对象,一个对象是人,一个对象是运动这件事,最后一个对象是物体。然后所要做的就是实例化这三个对象就行了,将对象人实例化为“小明”,对象运动这件事实例化为“在打”,对象物体实例化为“蓝球”。这样,在需求换为“小明在打乒乓球”时只需要将“蓝球”换为“乒乓球”就行。在遇到一些基本上重复的需求就只需要更改变化的部分就行,使得写代码的效率大大增加。

  两者谁好谁差呢?

  只能说各有优劣,面向过程的运行速度要快,但是面向对象能更好的在抽象的层面来分析问题,在程序实现的时候可是重复使用之前的代码。

3、JAVA技术体系*台

  javaSE 标准版

  提供完整的java核心API。

  javaEE 企业版

  主要针对web应用程序开发。

  javaME 小型版

  针对移动端的*台。

  java Card

  支持一些java小程序运行在小内存设备的*台上。

4、java的跨*台性

  要运行Java的程序需要一个JVM的虚拟机,JVM负责将java程序转换成相应系统的指令集,在不同的操作系统上安装JVM,使得同一个java程序可以在不同的*台上可以运行。

5、垃圾回收机制

  java是垃圾自动回收机制,java有一个习题集线程会自动去检测有哪些内存不用了,然后自己将它回收掉。但是缺点会是回收不及时,却不会出错。

  C、C++是由程序员手动输入代码进行回收。回收及时,但有时程序员忘了写回收代码导致出错。

  程序员手动编写代码回收主要是当时内存不是很够,需要及时回收垃圾。随着技术的发展,内存越来越大,自动回收机制与手动回收相比优势更大。

原文地址:https://www.cnblogs.com/fangfangfanga/p/11973292.html