IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> JAVA是什么 -> 正文阅读

[PHP知识库]JAVA是什么

自古以来,总会有各种各样的问题伴随着人类。譬如:
我是谁?我从哪里来?我要到哪里去?
当然,这属于哲学的范畴,今天不做这些的探讨,今天要做的是真正的去了解JAVA这门语言。

一、JAVA是什么?

在说JAVA之前,首先给大家普及一下计算机语言。
通常说到计算机语言,很多人想到的可能是五花八门的编程语言:
JAVA、C、PHP等等,其实严格来说这并正确(我也是刚刚百度知道的)。
计算机语言通常分为三类:机器语言、汇编语言和高级语言

  1. 机器语言
    机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。这种指令集,称为机器码,是电脑CPU可以直接解读的数据。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机的机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能再另一种计算机上执行。

    一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。各计算机公司设计生产的计算机,其指令的数量与功能、指令格式、 寻址方式、 数据格式是差别的。从计算机的发展过程可以看到,由于构成计算机的基本硬件发展迅速, 计算机的更新换代很快,这就存在软件如何跟上硬件的问题。 一台新机器推出交付使用时,只有少量 系统软件 (如操作系统等)可提交用户,大量软件是不断充实的,尤其是 应用程序 ,有相当一部分是用户在使用机器时不断产生的。为了缓解新机器的推出致使原有应用程序不能继续使用的问题,各个计算机公司生产的同一系列的计算机时,尽管其硬件实现方法可以不同,但 指令系统 、数据格式、I/O系统等保持相同,因而软件完全兼容。当研制该系列计算机的新型号时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令, 使软件向上兼容,即旧机型上的软件不加修改即可在新机器上运行。

    说到这里大家明白为什么电脑即计算机, 计算机即电脑了吧,原来无论它表现得多么地智能,其 实质也不过是这些二进制代码运算的结果。但是二进制代码使用起来太费劲了,于是后来就在其基础上发展出的 汇编语言,但是汇编依然看起来不直观,于是最终就出现了现代编程所采用的 高级语言。这是计算机编程语言的发展。有了编程语言,按说就可以使这些机器为我所用了。实际还没那么简单。 首先每做一件事,都要重复编一大堆的操作程序,工作量很大。其次,现在咱们都看到了,使用计算机的人,大大多数,都不是计算机专业的,甭说编程了,操作步骤复杂一点都要抵制。 所以,还需要一个操作系统,将复杂的操作留给自己,把简单的操作,呈现给用户。

  2. 汇编语言
    为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码, 而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行(机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。)必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。
  
  汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
  
2. 高级语言

终于到了今天的重点,不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机, 只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

以上三条出处:https://blog.csdn.net/hellojoy/article/details/47044287

JAVA便是高级语言中的一种,相对于机器语言、汇编语言来说,高级语言更接近人类的思维方式,更容易理解和掌握,用高级语言编写程序时,感觉像是学生写作文一样,既能表达准确又不那么吃力。

其实,所有的高级语言最终还是要编译成机器语言,计算机才能读懂和执行。
高级语言与计算机底层的硬件与指令没什么关系,可以很方便地表示数据的运算和程序的控制结构,描述各种算法,容易学习掌握等等。但是,用高级语言编写的程序,编译生成的指令代码比汇编语言编写的程序的代码的要长,执行的速度也慢。

JAVA是一种面向对象的高级语言。说起来JAVA面向对象的特性,不得不说起毕业时老师教我们说的话:面试时候如果对方问起面向对象,你们就说万物皆可对象。这句话…你要说不对吧,也没啥大毛病,要说对吧,又总感觉不太对…

其实面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。

类的实例化可生成对象,一个对象的生命周期包括三个阶段:生成、使用、消除。

当不存在对一个对象的引用时,该对象成为一个无用对象。Java的垃圾收集器自动扫描对象的动态内存区,把没有引用的对象作为垃圾收集起来并释放。当系统内存用尽或调用System.gc( )要求垃圾回收时,垃圾回收线程与系统同步运行。

面向对象的基本特性:

1.封装:

封装性就是尽可能的隐藏对象内部细节,对外形成一道边界,只保留有限的接口和方法与外界进行交互。封装的原则是使对象以外的部分不能随意的访问和操作对象的内部属性,从而避免了外界对对象内部属性的破坏。

可以通过对类的成员设置一定的访问权限,实现类中成员的信息隐藏。
  
private:类中限定为private的成员,只能被这个类本身访问。如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。
default:类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。
protected:类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
public:类中限定为public的成员,可以被所有的类访问。
在这里插入图片描述
这个图片需要保存一下,每次都找半天。

2.继承:

子类的对象拥有父类的全部属性方法,称作子类对父类的继承。

Java中父类可以拥有多个子类,但是子类只能继承一个父类,称为单继承。

继承实现了代码的复用。
Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。
子类不能继承父类中访问权限为private的成员变量和方法。
子类可以重写父类的方法,即命名与父类同名的成员变量。
  Java中通过super来实现对父类成员的访问,super用来引用当前对象的父类。super 的使用有三种情况:

访问父类被隐藏的成员变量,如:super.variable;
调用父类中被重写的方法,如:super.Method([paramlist]),super()调用父类构造方法;
调用父类的构造函数,如:super([paramlist]);

3.多态

对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。

Java的多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。

编译时多态:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。

运行时多态:由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。
4.重载

方法重载是让类以统一的方式处理不同数据类型的手段。
一个类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法。
返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准。
5.重写

子类对父类的方法进行重新编写。如果在子类中的方法与其父类有相同的的方法名、返回类型和参数表,我们说该方法被重写 (Overriding)。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
子类函数的访问修饰权限不能低于父类的。

二、JAVA从哪里来?

20世纪末,硬件领域出现了单片式计算机系统,这种系统价格低廉,立即引起了研究人员的注意,由于C++程序过于复杂和庞大,研究人员开发了一种称为Oak的面向对象语言。这是Java的雏形。

1995年,业界为了使单调的静态网页能够“灵活”起来,急需开发一种程序。这时,Sun公司想起了那个被搁置很久的Oak,并将Oak更名为Java,它语言精简,程序非常小,适合在网络上传输。

1995年5月,Sun公司正式发布JAVA。。从此Java一路披荆斩棘,在经历20多年的发展之后依然长盛不衰,常年雄踞各大编程语言排行榜第一位,这也凸显了其在IT技术领域的绝对统治力。

三、JAVA要往哪里去?

这个问题值得探讨,不过对于我一个什么都需要百度的人来说,就不去深究了。人家都是面向对象开发,而我是面向百度开发…

今天的文又写乱了,虽然大半都是摘抄的(狗头保命),抄着抄着就乱了。
唉,回头有时间再整理吧,趁上班时间敲出来,回家就可以快乐游戏了)

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 09:55:57  更:2021-09-26 09:57:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/27 13:15:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码